WEBVTT

00:00.000 --> 00:07.000
Playing with Rujan?

00:07.000 --> 00:08.000
Yeah.

00:08.000 --> 00:12.000
Hello.

00:12.000 --> 00:17.000
Welcome to another exam paper talk.

00:17.000 --> 00:24.000
So, I'm Azjan from Istanbul.

00:24.000 --> 00:37.000
And I'm not actually working on an exam paper or like the centralized communication as my first job.

00:37.000 --> 00:45.000
But I have a story about implementing this feature to Dino.

00:45.000 --> 00:53.000
Yeah. So, just imagine about the year 2005.

00:53.000 --> 01:00.000
Unfortunately, it's a proprietary, but MSM Messenger was king at the time.

01:00.000 --> 01:09.000
But you could use it with pigeon or AMSM free software.

01:09.000 --> 01:21.000
And there was a feature, if you remember, you can see what your friends are listening at that time.

01:21.000 --> 01:31.000
And like, if you see Iron Maiden under someone's name, it's cool.

01:31.000 --> 01:34.000
So, it was the golden era of non-playing.

01:34.000 --> 01:44.000
Like, so many protocols and so many software had support for it.

01:44.000 --> 01:49.000
I mentioned about MSM Messenger because like, it is Istanbul, it was the standard.

01:49.000 --> 01:52.000
But it can change place to place.

01:52.000 --> 02:03.000
But the MSM Messenger was using a proprietary app from Windows, the Windows Media Player.

02:03.000 --> 02:08.000
It can only show what you're playing on Windows Media Player.

02:08.000 --> 02:13.000
So, like, back in my era, there was a thing.

02:13.000 --> 02:18.000
Like, you open a cool song from Windows Media Player, just make it silent.

02:18.000 --> 02:23.000
And you listen your ordinary music from another.

02:23.000 --> 02:28.000
But the thing is, pigeon, AMS and an adium.

02:28.000 --> 02:37.000
Those are like, it's MPP clients, but also they support MSM Messenger at that time.

02:37.000 --> 02:42.000
They had some form of music sharing.

02:42.000 --> 02:45.000
But then, it suddenly disappeared.

02:45.000 --> 02:51.000
Like, the MSM Messenger and similar protocols are gone.

02:51.000 --> 03:00.000
And mostly mobile messenger, the messaging like apps like WhatsApp or telegram, takeover,

03:00.000 --> 03:06.000
like the communication, the instant communication globally.

03:06.000 --> 03:15.000
So, that kind of centralized applications never had, like, such feature.

03:15.000 --> 03:25.000
And the streaming services were popular, still popular, but I'm talking about the time.

03:25.000 --> 03:33.000
And they have, like, I'm aware that Spotify, let's say, have a feature to share it.

03:33.000 --> 03:41.000
But it's within the app. It has no, like, API or connection with some other app.

03:41.000 --> 03:45.000
And it's MPP clients or a proprietary app.

03:45.000 --> 03:50.000
So, within the time, we just forgot about the story.

03:50.000 --> 03:55.000
And it's now a nostalgic thing for most of us.

03:55.000 --> 04:02.000
And I use XMPP with all memo, like, in a daily basis.

04:02.000 --> 04:09.000
It's one of my main communication mediums with my friends.

04:09.000 --> 04:18.000
And a few months ago, I was talking with Alper, a friend of mine from Istanbul,

04:19.000 --> 04:26.000
and we figured out, like, we were just chatting about something else, like buying a CD.

04:26.000 --> 04:31.000
And we figured out that we are listening the same song at the time.

04:31.000 --> 04:34.000
And it was funny.

04:34.000 --> 04:39.000
It's a song from an old Turkish symphonic metal group.

04:39.000 --> 04:42.000
It's a great band, by the way.

04:42.000 --> 04:46.000
And I suddenly remembered about this.

04:46.000 --> 04:53.000
Like, if it was, let's say, 15 or 20 years ago, I would probably know that he's listening that song.

04:53.000 --> 04:56.000
But now it's a coincidence method.

04:56.000 --> 04:59.000
So, here comes the question.

04:59.000 --> 05:09.000
How can I bring this now-playing feature from back in the era to my daily client, like, today?

05:09.000 --> 05:20.000
And before doing a research, I started to contemplate the protocol, like, how can I do this?

05:20.000 --> 05:26.000
Like, yeah, XMPP uses XML and stuff, how can I build it?

05:26.000 --> 05:30.000
And, you know what, the specification already exists?

05:30.000 --> 05:32.000
There is an XCP for that.

05:32.000 --> 05:40.000
It's used to, by the way, I said last updated 2006, but it's last updated this 2020, actually.

05:40.000 --> 05:43.000
But it's just a tag update.

05:43.000 --> 05:48.000
So, for years, it was not updated.

05:48.000 --> 05:50.000
So, I discovered this.

05:50.000 --> 06:01.000
Then, I started the journey, because I'm not professional on XMPP in the protocol.

06:01.000 --> 06:04.000
In the protocol itself, or the clients.

06:04.000 --> 06:12.000
I just had an idea to implement a feature that I love in the client I daily used.

06:12.000 --> 06:16.000
So, first part is discovery.

06:16.000 --> 06:20.000
I know that the protocol exists.

06:20.000 --> 06:23.000
It's the way you two use old.

06:23.000 --> 06:28.000
And I realized that it's very implemented in my daily usage.

06:28.000 --> 06:32.000
I know it's implemented, but it was not supported.

06:32.000 --> 06:35.000
In Dino, it was not supported in conversations.

06:35.000 --> 06:40.000
And it was not supported in my server.

06:40.000 --> 06:45.000
So, the standard defines simple things.

06:45.000 --> 06:56.000
What you're listening to, basically, the track name and the artist, which album, is it from how long the track is like the length.

06:57.000 --> 07:02.000
This was the update in the 2008 by the way.

07:02.000 --> 07:04.000
The rating of the track.

07:04.000 --> 07:13.000
Like, if you have stars on your local thing, you can share it from one to ten.

07:13.000 --> 07:17.000
And much more by the way, like the metadata is huge.

07:17.000 --> 07:24.000
Like the genre composer, performer, lyricist, so many things.

07:25.000 --> 07:27.000
It's build on a widely used standard.

07:27.000 --> 07:30.000
Like the personal event in protocol.

07:30.000 --> 07:33.000
It's basically a pop sub thing.

07:33.000 --> 07:44.000
And almost all extent key key clients have this implementation and using it for status, mood, etc.

07:44.000 --> 07:47.000
So, the protocol part is okay.

07:47.000 --> 07:51.000
Simple, basic.

07:51.000 --> 07:58.000
What the problem is.

07:58.000 --> 08:01.000
There are clients, for example, Pigeon.

08:01.000 --> 08:06.000
It has great support on user too, but it sucks in a memo.

08:06.000 --> 08:11.000
And, you know, we need to make a balance.

08:11.000 --> 08:17.000
I decided to implement it in Dino, but there is another question here.

08:18.000 --> 08:20.000
And here comes the research part.

08:20.000 --> 08:26.000
How do I know what's playing in a system?

08:26.000 --> 08:29.000
My client does not play music.

08:29.000 --> 08:32.000
We play music in certain sources.

08:32.000 --> 08:41.000
Like, 5x, 5x, VLC, Lollipop, M-M-E-P-M-P-D.

08:41.000 --> 08:45.000
So, how can I ask them?

08:45.000 --> 08:54.000
If it was in like a 2005 using Windows, a proprietary box, the API was there.

08:54.000 --> 08:59.000
But we need to implement it in GNU slash Linux.

08:59.000 --> 09:07.000
So, after that I realized, if I play a song from any app.

09:07.000 --> 09:15.000
When you click on the post of your menu, the sound menu on your system,

09:15.000 --> 09:21.000
you will see some controls and the name of the song.

09:21.000 --> 09:29.000
So, it must come from an API or something in the system.

09:29.000 --> 09:35.000
And, I know a friend who is a web developer was worked on it.

09:35.000 --> 09:44.000
So, a client asked them to like some of our users once this controls.

09:44.000 --> 09:46.000
So, can you implement stuff?

09:46.000 --> 09:51.000
And I asked him, he sent a module that will open network link to me.

09:51.000 --> 10:02.000
And after that, I made a research and there are certain APIs for platforms.

10:02.000 --> 10:13.000
In GNU Linux, BSD, we have D-Bus for interpress communication and Empress under it.

10:13.000 --> 10:17.000
The Android has Mediation API.

10:17.000 --> 10:20.000
Windows has something but we don't care.

10:20.000 --> 10:26.000
And, not surprisingly, my co-S has a private API, so we have no idea.

10:26.000 --> 10:32.000
So, my main targets were Linux, GNU slash Linux and Android.

10:32.000 --> 10:36.000
So, for Dino, I will use D-Bus.

10:36.000 --> 10:39.000
So, this is the standard.

10:39.000 --> 10:42.000
Mediaply removed, interfacing, specification.

10:42.000 --> 10:46.000
And almost every media player speaks it.

10:46.000 --> 10:50.000
Like, VLC, low-epot, everything we said.

10:50.000 --> 10:55.000
Even DRM blotware, like Spotify or whatever.

10:55.000 --> 10:59.000
So, this is basically the flow.

10:59.000 --> 11:07.000
We have players and they registered to a D-Bus session bus.

11:07.000 --> 11:13.000
And they sent the details about the playing track to it.

11:13.000 --> 11:19.000
And we can subscribe to those changes in the system level API.

11:19.000 --> 11:23.000
So, which data we can get?

11:23.000 --> 11:26.000
Basically, everything we need.

11:26.000 --> 11:28.000
It sends the playback status.

11:28.000 --> 11:32.000
Like, is it playing right now or paused or stopped?

11:32.000 --> 11:37.000
The metadata, artist title, album, length and the URL.

11:37.000 --> 11:40.000
And, signals.

11:40.000 --> 11:42.000
They use real-time communication.

11:42.000 --> 11:48.000
Like, if we stop the song, it sends the signal immediately.

11:48.000 --> 11:52.000
So, we don't need anything else.

11:53.000 --> 11:56.000
Empres, tells bots playing.

11:56.000 --> 12:00.000
D-Bus, delivering the notifications in real-time.

12:00.000 --> 12:02.000
And we have all the data.

12:02.000 --> 12:06.000
So, it's time to write the code.

12:06.000 --> 12:10.000
The implementation needs just wiring those.

12:10.000 --> 12:16.000
So, this is the architecture.

12:16.000 --> 12:21.000
We have the path, personally, landing protocol.

12:21.000 --> 12:30.000
And in the XMPP layer, we need to just build a module that uses it.

12:30.000 --> 12:36.000
You know, publish and subscribe.

12:36.000 --> 12:42.000
So, when we receive a tube from D-Bus,

12:42.000 --> 12:47.000
it will notify us and we will publish it to the server, basically.

12:47.000 --> 12:53.000
And when someone publishes their tune, they are playing song in the server.

12:53.000 --> 12:57.000
We will get an notification, because we are a subscriber.

12:57.000 --> 13:00.000
So, we will just show it.

13:01.000 --> 13:05.000
So, we need a few components.

13:05.000 --> 13:11.000
I'm not an experienced, well-experienced, let's say, C developer.

13:11.000 --> 13:18.000
But the code of the code base of D-NOW was like, very stable.

13:18.000 --> 13:22.000
You can find what you need easily.

13:22.000 --> 13:32.000
So, I realized that they have modules for each each, each EP they support.

13:32.000 --> 13:34.000
So, I will tell them one.

13:34.000 --> 13:39.000
And it basically defines the XML scheme.

13:40.000 --> 13:46.000
And this is this scheme from the specification.

13:46.000 --> 13:49.000
And we create the XML stands up.

13:49.000 --> 13:56.000
Then, I wrote a function, publish tune.

13:56.000 --> 14:07.000
If we create a tune object coming from D-Bus, it publishes it.

14:08.000 --> 14:10.000
Receiving is the same.

14:10.000 --> 14:15.000
We do not handle the signals in the EP.

14:15.000 --> 14:21.000
The signals are handled in the system level, in the Empress.

14:21.000 --> 14:31.000
So, if we receive any tune from D-Bus, we just receive it and display it.

14:31.000 --> 14:35.000
I wrote the D-Bus interfaces to publishing.

14:35.000 --> 14:42.000
This was the name space or Empress Mediplayer player.

14:42.000 --> 14:47.000
And then, there is a dot and the app name after it.

14:47.000 --> 14:54.000
So, as you can see, it was supported in the lib D-NOW.

14:54.000 --> 14:59.000
In advance, there was, like, modules from D-Bus.

14:59.000 --> 15:05.000
For example, for login, for system notifications, D-NOW was already using the lib.

15:05.000 --> 15:12.000
So, I just needed to look who people did in the previous implementations.

15:12.000 --> 15:14.000
For example, for the notifications.

15:14.000 --> 15:20.000
And I basically cheated copied from them.

15:20.000 --> 15:25.000
And so, we have a tune manager.

15:25.000 --> 15:29.000
If, to unchanged, it handles it.

15:29.000 --> 15:33.000
There were some three key parts.

15:33.000 --> 15:38.000
Multiple players, what if, like, more than one player is playing.

15:38.000 --> 15:44.000
And I realized that, basically, it's not a, like, it's not a big problem.

15:44.000 --> 15:50.000
Because we already got, like, players in NRA.

15:50.000 --> 15:54.000
So, we can determine which we want to play.

15:54.000 --> 15:57.000
We want to share, basically.

15:57.000 --> 16:02.000
Now, in this implementation I made, I only, like, publish the last one.

16:02.000 --> 16:07.000
But it's working progress.

16:07.000 --> 16:09.000
Rapid changes.

16:09.000 --> 16:16.000
Like, if someone just hopes songs, like, a thousand songs in ten seconds,

16:16.000 --> 16:23.000
it will cause, like, a huge dedos, basically, to the server.

16:23.000 --> 16:27.000
And life cycle, players start crash, whatever.

16:27.000 --> 16:30.000
We need to think about this.

16:30.000 --> 16:33.000
And the biggest problem is my skills, basically.

16:33.000 --> 16:37.000
Because I do not consider myself experienced in C,

16:37.000 --> 16:43.000
and voila, especially, like, the GTJ graphical user interface development.

16:43.000 --> 16:48.000
But I take a few classes to, like, build this project.

16:48.000 --> 16:54.000
And, like, the balancing problem I mentioned is easy to solve.

16:54.000 --> 17:00.000
If you just paid one second and nothing changes, publish it.

17:00.000 --> 17:07.000
So, it really makes difference, basic, basic implementation.

17:07.000 --> 17:13.000
And another problem is, like, I made the implementation,

17:13.000 --> 17:15.000
and the backend was okay.

17:15.000 --> 17:18.000
But where should I display the tune?

17:18.000 --> 17:21.000
It's, it's a huge problem.

17:21.000 --> 17:27.000
Like, I thought to put it in next to the contact list,

17:27.000 --> 17:30.000
but it's, like, a ridiculous place.

17:30.000 --> 17:33.000
As a separate panel, it will be,

17:33.000 --> 17:38.000
problem, because it will be too hidden under the hood.

17:38.000 --> 17:41.000
So, a conversation harder is great.

17:41.000 --> 17:48.000
But as I said before, I was not a super experienced in graphical user interface,

17:48.000 --> 17:51.000
designed in implementation.

17:51.000 --> 17:56.000
So, I checked out the codebase about, like, what I can use.

17:56.000 --> 18:02.000
And I realized that there is an already implemented feature

18:03.000 --> 18:07.000
on the conversation harder about the conversation topic.

18:07.000 --> 18:14.000
And I take that, I can just add the tune there if it's working.

18:14.000 --> 18:19.000
So, the result is pretty much something like this.

18:19.000 --> 18:27.000
The name and the song under it.

18:27.000 --> 18:33.000
And this is the, yeah, it's a little bit small,

18:33.000 --> 18:38.000
but you can find this slide in the description of this talk,

18:38.000 --> 18:40.000
there is a link.

18:40.000 --> 18:44.000
And basically, from Lollipop,

18:44.000 --> 18:48.000
where we play to your friend's screen,

18:48.000 --> 18:55.000
the Lollipop publishes the song's name and details to the debas.

18:55.000 --> 19:00.000
The debas sends a signal to Dino.

19:00.000 --> 19:05.000
Dino subscribes, but yeah, Dino waits for a second.

19:05.000 --> 19:12.000
If it's not changing, it builds an XML and publish it.

19:12.000 --> 19:15.000
Viapap to the XMPP server.

19:15.000 --> 19:21.000
My friends, clients, subscribe to the notifications.

19:21.000 --> 19:23.000
So, get it.

19:23.000 --> 19:29.000
And parse the data, update the conversation harder.

19:29.000 --> 19:32.000
So, basically this.

19:32.000 --> 19:39.000
And after you pause the music, the debas notifies it again.

19:39.000 --> 19:44.000
And the protocol is simple by the way.

19:44.000 --> 19:48.000
You just publish an empty tune and it means like your stuff.

19:48.000 --> 19:56.000
So, it publishes an empty tune and it's clear.

19:56.000 --> 20:00.000
So, the contribution part.

20:00.000 --> 20:03.000
I want to make it usable for everyone.

20:03.000 --> 20:06.000
Because that's matters on that way.

20:06.000 --> 20:11.000
And I open the pull request on Dino's gift of account.

20:11.000 --> 20:15.000
And the reason you are about it, it's very new.

20:15.000 --> 20:22.000
It's still not merged, but one day it will be wrongly.

20:22.000 --> 20:29.000
And the present, like where we are now, about the implementation.

20:29.000 --> 20:32.000
So, now this is the compatibility chart.

20:32.000 --> 20:36.000
And I need to mention a friend here.

20:36.000 --> 20:43.000
Because I never used Monaco's and I had no idea about like the status of it.

20:43.000 --> 20:49.000
But I'm looking for the name, aren't probably a friend.

20:49.000 --> 20:56.000
Just like reached me out of XMPP and said, like I really liked your topic.

20:56.000 --> 21:03.000
And I was working the same thing on Monaco's chat to implement it in Android.

21:03.000 --> 21:06.000
So, maybe you want to try it.

21:06.000 --> 21:09.000
And yesterday, like you wrote it.

21:09.000 --> 21:11.000
So, I added Monaco's there.

21:11.000 --> 21:15.000
Monaco's is a fork of conversations.

21:15.000 --> 21:17.000
Android XMPP clients.

21:17.000 --> 21:20.000
And it works perfect.

21:20.000 --> 21:25.000
So, I was trying to like, how do I like do a demo here?

21:25.000 --> 21:31.000
Like should I use a virtual machine and run Dino there and something?

21:31.000 --> 21:34.000
And it's all my problem as well.

21:34.000 --> 21:39.000
So, see has built-in user tune.

21:39.000 --> 21:43.000
But do not support on a movie well.

21:43.000 --> 21:48.000
Gajim has user tune while uploading, not natively.

21:48.000 --> 21:52.000
But has full-on demo support.

21:52.000 --> 21:55.000
Conversations has no user tune, but Monaco's has Monaco's.

21:55.000 --> 22:00.000
Use the same codebase with conversations.

22:00.000 --> 22:03.000
So, maybe it can be like backport.

22:04.000 --> 22:09.000
And Monaco, one of my friends is using that.

22:09.000 --> 22:12.000
It's the client for the iOS.

22:12.000 --> 22:18.000
And it has no support which I'm not surprised.

22:18.000 --> 22:21.000
So, yeah.

22:21.000 --> 22:26.000
Why it was not supported in new clients basically?

22:26.000 --> 22:30.000
Because in mobile API is a restrictive.

22:30.000 --> 22:33.000
Like, I tried Monaco's.

22:33.000 --> 22:40.000
And it requires like a notification access permission.

22:40.000 --> 22:44.000
And to give that permission, you need to like say,

22:44.000 --> 22:50.000
I know it's super dangerous, but I trust this app for three times or something.

22:50.000 --> 22:53.000
So, it's hard to implement.

22:53.000 --> 22:56.000
And it's about priorities basically.

22:57.000 --> 23:01.000
If you develop like a new example P.C. client,

23:01.000 --> 23:04.000
you usually focus on core features,

23:04.000 --> 23:09.000
like phone calls, maybe or encryption.

23:09.000 --> 23:12.000
But it's not a core functionality.

23:12.000 --> 23:15.000
It's just a nice to have feature.

23:15.000 --> 23:17.000
Some people don't know about the P.C.

23:17.000 --> 23:19.000
handle idea.

23:19.000 --> 23:20.000
And time has changed.

23:20.000 --> 23:24.000
We are not looking for it anymore.

23:25.000 --> 23:29.000
On the server side, every modern server supports it.

23:29.000 --> 23:35.000
But since public servers can restrict some issues,

23:35.000 --> 23:38.000
they may have different configurations.

23:38.000 --> 23:43.000
I tried on zero or seven F, but the E on the demo.

23:43.000 --> 23:46.000
But I need to check the demo before my talk.

23:46.000 --> 23:49.000
Like, 20 minutes ago, the server was not accessible.

23:49.000 --> 23:53.000
So, I created new accounts on x.im.

23:53.000 --> 23:55.000
And it's supported as well.

23:55.000 --> 23:59.000
But I have problems in 5222.de.

23:59.000 --> 24:01.000
It can differ.

24:01.000 --> 24:03.000
So, the next steps.

24:03.000 --> 24:07.000
First, I really want to get some P.R. merged in Dino.

24:07.000 --> 24:11.000
And it needs some improvements.

24:11.000 --> 24:17.000
For example, now, even though I publish like the album and your

24:17.000 --> 24:22.000
L details, if available, in the UI, you cannot see them.

24:22.000 --> 24:26.000
It needs, like, if you click on the tune,

24:26.000 --> 24:30.000
maybe, like, a modular pop-up with more details.

24:30.000 --> 24:31.000
I don't know.

24:31.000 --> 24:33.000
And also, I want app selection.

24:33.000 --> 24:37.000
Now, it publishes whatever you play.

24:37.000 --> 24:43.000
But I need, I want to, like, restrict only publish VLC

24:43.000 --> 24:46.000
or only publish these certain apps.

24:47.000 --> 24:49.000
Conversations will be my next target.

24:49.000 --> 24:52.000
I will try to backport from monocos.

24:52.000 --> 24:55.000
Because it's really well implemented.

24:55.000 --> 25:00.000
Encourage of the class implement is not what I can do,

25:00.000 --> 25:04.000
but maybe they see and do it.

25:04.000 --> 25:07.000
And the main purpose of this talk is actually,

25:07.000 --> 25:09.000
encourage people to use and contribute,

25:09.000 --> 25:12.000
for example, because I was not a professional.

25:12.000 --> 25:16.000
I was just an ordinary software developer who uses

25:16.000 --> 25:18.000
XMPP in a daily basis.

25:18.000 --> 25:21.000
And now, I made a contribution.

25:21.000 --> 25:24.000
And it was not so hard than I think.

25:24.000 --> 25:27.000
So, this was the thing.

25:27.000 --> 25:30.000
And you can try it yourself.

25:30.000 --> 25:35.000
Just clone my repo on Dino.

25:35.000 --> 25:39.000
And build-ups, it will work.

25:40.000 --> 25:47.000
So, before that, I can, like, do a demo if you want.

25:47.000 --> 25:54.000
So, if I have.

25:54.000 --> 25:59.000
So, this is my Dino build.

25:59.000 --> 26:04.000
And in the menu, sorry, it's Turkish.

26:04.000 --> 26:08.000
I'm using it, but you'll understand.

26:08.000 --> 26:12.000
In the settings, there is a new entry.

26:12.000 --> 26:17.000
Below, it translates as publish what I'm listening.

26:17.000 --> 26:25.000
And if you open it, it will publish your tune, your play.

26:25.000 --> 26:30.000
And I'm using monocos on the mobile side.

26:30.000 --> 26:34.000
If we have, like, the internet.

26:34.000 --> 26:40.000
Okay.

26:40.000 --> 26:45.000
So, if you start playing any song in your form,

26:45.000 --> 26:51.000
for the copyright purposes, I will not play it loudly.

26:51.000 --> 26:58.000
But enjoy the silence.

26:58.000 --> 27:00.000
It will just show up.

27:00.000 --> 27:11.000
Yeah.

27:11.000 --> 27:12.000
Yeah.

27:12.000 --> 27:16.000
So, let's bring it back.

27:16.000 --> 27:18.000
It was being enjoyed.

27:18.000 --> 27:20.000
It can bring joy again.

27:20.000 --> 27:24.000
Thank you for listening.

27:24.000 --> 27:28.000
If you have questions, I can try to answer.

27:28.000 --> 27:32.000
Those are my communication.

27:32.000 --> 27:36.000
Stuff my email, my SNPP, and my GNOWPGG,

27:36.000 --> 27:39.000
and my under maintenance website.

27:39.000 --> 27:41.000
Thank you for listening.

27:41.000 --> 27:44.000
Do we have time for you?

27:44.000 --> 27:49.000
Any questions?

27:49.000 --> 27:51.000
Okay.

27:52.000 --> 28:01.000
One question.

28:01.000 --> 28:03.000
Any little bit louder, please.

28:03.000 --> 28:09.000
The door is open.

28:09.000 --> 28:15.000
Now, in this implementation, it's probably will.

28:16.000 --> 28:21.000
The question is, if you are watching a movie, like in VLC,

28:21.000 --> 28:26.000
will it show up in the, you know, yes, it will.

28:26.000 --> 28:32.000
Because now we don't have filter, like if some app publishes to Empress,

28:32.000 --> 28:34.000
we will like publish it.

28:34.000 --> 28:37.000
Because it's basically a POC.

28:37.000 --> 28:44.000
But the next step I'm working on is like filtering the apps that publish the songs.

28:44.000 --> 28:47.000
For example, you are listening on Lodipop.

28:47.000 --> 28:48.000
Let's say.

28:48.000 --> 28:53.000
It will only publishes the songs details from Lodipop.

28:53.000 --> 28:57.000
And the other one is, I tried monocles, as I mentioned.

28:57.000 --> 28:59.000
In monocles, there is a feature.

28:59.000 --> 29:03.000
I had no, like, it wasn't come to my mind.

29:03.000 --> 29:05.000
But it's a great feature.

29:05.000 --> 29:07.000
You can limit the length.

29:07.000 --> 29:12.000
Like if it's length is less than, let's say, 90 seconds.

29:13.000 --> 29:14.000
It just ignores it.

29:14.000 --> 29:20.000
It can probably be, like, a little video from MasterDone or maybe a sound recording.

29:20.000 --> 29:22.000
So now it's not.

29:22.000 --> 29:24.000
So privacy, like, focus.

29:24.000 --> 29:26.000
But yeah, I know about this.

29:26.000 --> 29:28.000
And I really need to implement it.

29:28.000 --> 29:33.000
But this talk, like, at the date of this talk,

29:33.000 --> 29:36.000
this is the information for now.

29:36.000 --> 29:39.000
But within a few weeks, fingers crossed.

29:39.000 --> 29:40.000
Yeah.

29:41.000 --> 29:42.000
Okay.

29:42.000 --> 29:43.000
Thank you.

29:49.000 --> 29:52.000
So we have the bonfire for excellent.

30:11.000 --> 30:12.000
I don't know.

30:12.000 --> 30:13.000
Okay.

30:13.000 --> 30:14.000
Maybe.

30:14.000 --> 30:18.000
But I have this, like, I was in this tent, like, before the talk.

30:18.000 --> 30:25.000
And we have a chat, like, they said, you can join to the release.

30:25.000 --> 30:26.000
Yeah.

30:26.000 --> 30:29.000
Please, please.

