WEBVTT 00:00.000 --> 00:15.000 Welcome to Parola. Parola is an email application, chat app, video conference tool, calendar, 00:15.000 --> 00:20.360 and contacts all wrote into one. Last year he had foster already gave a presentation about 00:20.360 --> 00:25.840 Parola and talking about the motivation of why we're doing this. I'm not going to repeat 00:25.920 --> 00:31.360 that, so I encourage you to watch that video as well. But this time I'm going to talk about 00:31.360 --> 00:36.000 what's new this year. YouTube microphone problem at the conference is first seven minutes of the 00:36.000 --> 00:44.080 audio of a really recorded. It's about me, shortly. I've been working for 25 years as a core 00:44.080 --> 00:50.320 contributor for two Thunderbird. I've been also in the project leadership and I've been 00:50.400 --> 00:55.840 a consultant for many companies from small start-ups all the way to government and everything in 00:55.840 --> 01:00.880 between. And I created an software for them and the experience that I made there, 01:00.880 --> 01:07.360 educated the decisions in Parola. Right now in Europe, everybody's talking about digital 01:07.360 --> 01:12.560 sovereignty. And when it comes to open sauce on the server side, we're in a really good position 01:12.560 --> 01:18.240 there. We have really good offers for mail service, for example, Duffcott, Stahl Ward, 01:18.800 --> 01:25.840 Mox. There's many, many offers and they even better than this commercial solutions. We have 01:25.840 --> 01:31.600 multiple good options for file servers, chat servers, calendar servers. But with this missing is 01:31.600 --> 01:36.560 the integration between them. They all silos, even the applications are all separate. 01:39.120 --> 01:44.400 And this is the problem we're trying to solve with Parola. Parola integrates all these different 01:44.400 --> 01:51.360 services into one coherent user interface, which is open. It allows to connect with everybody with 01:51.360 --> 01:57.040 different forms of communication. And it seems less. It works in the same user interface patterns. 01:57.040 --> 02:02.320 You can easily switch from one form of communication to another without copying pace, without 02:02.320 --> 02:08.080 searching at the same person and for different applications. And we want to innovate. We want to go 02:08.080 --> 02:12.880 beyond what the commercial applications are offering. We want to be better. I would like to give you 02:12.880 --> 02:19.200 a little demo to show you what I'm talking about. This is the email application. We kept it 02:19.200 --> 02:24.000 lean so that you can concentrate on what's essential on the emails that you want to read and the 02:24.000 --> 02:29.440 people. But if you need the power of the application, it is there for you. Fishing is a huge problem. 02:30.080 --> 02:35.920 So if the sender is not in your address book, we're showing the main domain of the email address 02:35.920 --> 02:41.440 clearly and separately. We intentionally not showing the whole email address because they can be 02:41.520 --> 02:47.520 deliberately constituent in a way that people mistake them for something else. So we show only 02:47.520 --> 02:54.320 the main domain because that's the trust anchor. The same year where the URL, we show the whole 02:54.320 --> 02:59.600 URL. But above, we show the main domain because you know what ebay.com is. That is a trust anchor. 02:59.600 --> 03:06.640 And this is what we show. This email pretends to be from MacAfee, but from the domain here, 03:06.640 --> 03:11.760 you can clearly see this is fishing and you can easily get rid of it. So this also helps to protect 03:11.760 --> 03:18.400 companies and organizations from spearfishing. This is another email view. This one shows the list of 03:18.400 --> 03:24.240 emails as columns. This is my favorite one. But we have a number of other views as well because we 03:24.240 --> 03:32.880 want to show the emails in the way that you like it. So this is an email from Will Hardy. 03:33.760 --> 03:38.400 And Will is in my address book. And as I'm reading an email from Will, 03:38.400 --> 03:45.200 location with automatically put the focus on Will. And as I'm moving through the various 03:45.200 --> 03:54.880 applications, Will will be the focus. For example, if I click now on people, I will see the 03:54.880 --> 04:00.320 contact information for Will Hardy on the left. And on the right, I see the contact history 04:00.800 --> 04:05.360 with Will Hardy. And I see the previous emails that I have exchanged with him. And I can 04:05.360 --> 04:11.680 click on one and can read the entire email. So I can see all the interactions that I had 04:12.960 --> 04:19.760 or I can click on John Cab. And again, I see the contact history with John Cab. But I see 04:19.760 --> 04:25.920 not only the emails, I also see the meetings that I had together with him. I also see the files that 04:26.000 --> 04:31.680 exchange with him. For example, via email attachments or chat messages or fileshare. 04:32.480 --> 04:38.160 And the phone call log will also appear here. For example, I can click on the meeting and see it in my 04:38.160 --> 04:44.320 calendar. I can also make a search application white. For example, on the top right, I can type 04:44.320 --> 04:50.000 Android and click on mail. And then it will see the emails that contain Android. And if you want to 04:50.000 --> 04:55.520 find you in the mail search, there's a few mail specific criteria. Or I can click on calendar. 04:55.920 --> 05:01.040 And I see the events that contain Android. In this particular case, it's not in the title, 05:01.040 --> 05:05.920 but it found it in the description. And the same search will apply in every application in the way 05:05.920 --> 05:11.760 that makes sense for that application. Speaking of calendar, say we received an invitation for 05:11.760 --> 05:18.560 an meeting. So we see here the meeting is supposed to happen at 4 o'clock for 30 minutes. In 05:18.560 --> 05:26.720 on the right, I see my own calendar at the time of the meeting invitation. So in Tokwaz, 05:26.720 --> 05:33.200 you see the proposed meeting time 16 hours here. And what I see around is my actual calendar. 05:33.840 --> 05:39.680 So it knows me which appointments that you have at this specific moment. And that allows me to make 05:39.680 --> 05:44.960 a decision whether I can attend, whether I'm free or not. So I have exactly the information that I need 05:44.960 --> 05:51.520 available at this particular moment when I need it. This is one example how bringing multiple 05:51.520 --> 05:57.040 applications together can support you in a way that single applications can't. And on the top right 05:57.040 --> 06:02.640 is a little calendar icon which leads me into my calendar on that day of a proposed meeting time. 06:03.440 --> 06:09.520 So here I see my calendar on the left I see one particular day in detail. And on the right I have 06:09.520 --> 06:15.200 the overview of the month. And there's multiple views so I can select which one I prefer. 06:16.320 --> 06:23.040 There are views for the entire week or for a single day or for four weeks or for the whole month 06:23.040 --> 06:29.360 and full screen as you prefer. And on the right I still see the meeting invitation that we just saw. 06:29.920 --> 06:35.840 And if I want to create a new meeting, I can click on the plus at the top left or I can double click 06:35.840 --> 06:42.640 on a specific time to create a new meeting. So here I add the time and a title. And if it's just 06:42.640 --> 06:48.800 for myself I can say here and I'm done. But I want to make a meeting with somebody else so I'm going 06:48.800 --> 06:55.920 to add a location. And I want to make an online meeting. So I click on online meeting here. 06:56.480 --> 07:00.240 And then because it doesn't make much sense to have an online meeting all by myself, 07:00.960 --> 07:08.000 and I can add attendance here. So I'm going to type John Cap. It's all to completing. 07:08.000 --> 07:14.800 And I'm adding the participants. I could also make this a recurring meeting. For example every week 07:14.800 --> 07:20.400 or every Thursday and Friday or yearly. But in this case this is just a single meeting. 07:21.120 --> 07:30.320 So glad you're on mute. Sorry. Right. Good. So here in the online meeting is the online meeting 07:30.320 --> 07:37.120 provider that is associated with this calendar account. So the calendar is associated with an email address. 07:37.120 --> 07:42.800 The email address is associated with a meeting provider. So in this case it's a cell hosted 07:43.840 --> 07:49.600 where we can offer a video conference system that you can see locally on your premises. 07:49.600 --> 07:54.400 Or it could be open talk. It could be teams. And whatever is associated, 07:54.400 --> 07:58.720 automated pre-selects that. So this is pre-selected. I don't have to do anything. 07:58.720 --> 08:03.840 But I'm going to add a description here. So because we're talking about the roadmap, 08:03.840 --> 08:10.320 I'm making a proposal for the roadmap. And it's HTML. So it's nicely in need informative. 08:10.320 --> 08:16.480 And I click send. So then I'm back in my calendar. I see the summary of the event here on the 08:16.800 --> 08:22.080 right. And it's a link. So I can click on that link. And I'm going to be in the meeting directly 08:22.080 --> 08:27.120 within parula in the meeting conference module of parula. I just have to click on this here. 08:27.520 --> 08:31.440 But what happened? So we're going to go back a little bit and we're going to add it again. 08:32.000 --> 08:36.080 So here in the online meeting you see there's a URL in there. So what has happened when I clicked 08:36.080 --> 08:43.200 send, it went to the online meeting provider. It created conference here. It created an invitation link. 08:43.200 --> 08:47.120 It put the invitation link in the field in the invitation here. And before it sent out the 08:47.120 --> 08:51.360 invitation, it's put the URL in there. So when the invitation goes out there as a real or the 08:51.360 --> 08:55.520 in there, and I didn't have to do anything at all. I just had to click, make it online meeting. That's it. 08:57.520 --> 09:03.440 So I invited two people, John and Pete. That's a Zoom Pete. It's not in my organization. He's 09:03.440 --> 09:09.920 another company. And he's using Thunderbird. So he sees this. This is the invitation. 09:10.720 --> 09:15.440 Thunderbird has supported that foot quite a while. This is the standard. So he can either accept 09:15.440 --> 09:20.720 or decline. If he accepts his ends up in Thunderbird's calendar in his calendar, and Thunderbird 09:20.720 --> 09:27.920 will reply with a confirmation or he can decline. So we switch back to me. This is my view now. 09:27.920 --> 09:33.840 I'm back in the calendar in the event. And I can see Pete has refused to meeting and John Cap 09:33.840 --> 09:39.200 has confirmed. And I can see the checkbox and it has already read the meeting. It has read the 09:39.200 --> 09:45.280 meeting invitations and put the information in my calendar. So what if I want to make a meeting with 09:45.280 --> 09:50.240 20 people, and we need to agree on the meeting time? Have you ever tried to do that by email? 09:51.040 --> 09:55.760 That is not a nice experience. This goes all-trisk across. It's okay. I'll take somebody 09:55.760 --> 10:00.800 to prove something entirely different and nobody knows anymore what's going on. But this is a 10:00.800 --> 10:07.680 very simple case. It can be structured. And in the ITF, there's a working group called Structured 10:07.680 --> 10:17.120 Email, or SML for short, where this data that you can put inside the email, machine-readable 10:17.120 --> 10:22.880 data in a little snippet of Jason. And with this information, the application can understand 10:22.880 --> 10:28.720 what you're trying to do and can help you with this. So we build a use case for this and you can 10:28.720 --> 10:33.520 make many things with this. But one use case is making a meeting time poll. So I'm here in my 10:33.520 --> 10:39.760 composite email composer. I created a new email. And here on the right, I am click this icon and 10:39.760 --> 10:46.480 I say add meeting time poll. So in my composer, I'm now seeing my calendar if I had appointments 10:46.480 --> 10:51.760 here, they would show up here and I can tell select time slots. And these are the time slots 10:51.760 --> 10:59.200 like that proposed for making a meeting. And these proposals are going to appear here on the right. 10:59.440 --> 11:05.120 And I can send this proposals as poll to the recipients. And they're going to see this. 11:05.680 --> 11:12.320 So they see here on the left, the time set up proposed. And for each time, they can vote, yes, 11:12.320 --> 11:18.400 this is good for me, or no, I can do this, or something in between. And here, as they click on each 11:18.400 --> 11:22.960 option on the right, they see their calendar and they see these proposals in the calendar. So there 11:22.960 --> 11:27.840 is a proposal for 16 hours and 18 hours. 16 hours is okay, because I don't have a meeting there. 11:27.840 --> 11:32.720 It's fine. So I click check. There, I'm not free, but then 18 hours is another proposal, 11:32.720 --> 11:37.760 but this is not good for me, because this is after my work time. And I have socker later. So 11:37.760 --> 11:42.880 I don't want to do this. Technically, I could, but I would be really pressed if we had to do this. 11:42.880 --> 11:47.680 I put a sat smiley here. This is not a good option for me. And then all the people can vote. 11:47.680 --> 11:54.000 And there will be a progress bar underneath here, which shows how the other people have voted. 11:54.000 --> 11:58.560 So that I can see, okay, this is the most popular option. The others all like that option. 11:58.560 --> 12:02.560 I should check whether I can make time at this point. And if they choose this, I know why, 12:02.560 --> 12:06.560 because everybody likes this and only I don't like it. So I'll be in peace with it. 12:07.520 --> 12:12.640 I can also click here on the other view calendar, and then I see this in a bigger view in my calendar. 12:13.760 --> 12:19.200 And this way, we can agree on a meeting time without having all this growing back and forth. 12:20.000 --> 12:25.200 But there's another use case. Let's say I want to make a meeting with, I don't know, bron. 12:25.200 --> 12:31.840 He's a very, very busy guy. Sorry for signaling you about it. So I'm going to propose several 12:31.840 --> 12:39.920 options to him that are okay for me, but I don't want to present just a specific time, because he might not 12:39.920 --> 12:46.080 be available. So I want to propose multiple times. So this is the book me use case. Again, 12:46.080 --> 12:51.360 I can select multiple options here from the list. From my calendar, I see where I'm available. 12:51.360 --> 12:55.840 He has 17 hours. I'm not available. So I'm not going to propose that. And I show up here. 12:56.400 --> 13:02.640 And then the recipient would see this view here. He sees these options and he can pick one of them. 13:03.280 --> 13:09.680 So he sees in his calendar again, where he's free, he clicks book. Then he has to confirm it again, 13:10.400 --> 13:15.520 send the request. And then the request goes out to me and I can double check and then the meeting is 13:15.520 --> 13:22.320 booked and we agreed on a time. There's also a poll here. Simple poll. You know, that's maybe 13:22.320 --> 13:29.360 from WhatsApp or signal, whatever you're using. There is just some options where we're going to meet 13:29.360 --> 13:33.600 and Brussels and Dubai. And I can send this to everybody and then they can vote on that. 13:33.600 --> 13:38.400 I didn't manage to finish this in time before fostering to make it nice. There's going to be 13:38.400 --> 13:43.280 progress bars underneath. Do you see how many people voted for watch? I can see who will just 13:43.360 --> 13:52.160 for this so that we can agree on something. So that's SML. Some other thing we work on is the chat 13:52.160 --> 13:59.040 module here. We haven't released this yet because it's not finished. But this is already working so far 13:59.040 --> 14:04.480 as you can see it. This is Matrix. I see my chat channels here. The one-to-one conversations. 14:04.480 --> 14:08.960 I have the conversation here. It happens to be Mauro. That's the real conversation actually 14:08.960 --> 14:16.240 for Mauro. The thumbs up and this is how as far as we got. We hope to finish this week 14:16.240 --> 14:26.000 year. We also want to implement XMPP and if you are the protocols. Meeting module. I read an email 14:26.000 --> 14:34.240 from Mark Hempt and I have this phone number and I click on Meet. I can simply click Call Mark Hempt 14:34.240 --> 14:39.760 and I can ask, okay, do you want to call this? And I can make a phone call directly from 14:39.760 --> 14:43.920 Parrula. It can call normal phones. I would like to demonstrate this to you but I don't have time 14:43.920 --> 14:48.960 during the presentation to actually show this but we can actually call normal phones. So the idea 14:48.960 --> 14:56.000 is to have a simple integration and different forms of communication. I can also start an online meeting. 14:56.000 --> 15:01.120 I click here and this is going to use we have an online meeting. We can offer an online meeting 15:01.200 --> 15:06.720 provider either in the cloud or hosted locally or you can use open talk or something else. 15:07.440 --> 15:14.080 You click start meeting. We can check whether you're pretty or the camera is working and then you 15:14.080 --> 15:18.720 are in the video conference. This is a video conference module. Say hello to Elena. She's our 15:18.720 --> 15:24.880 Yook's designer. She gets the credit for this beautiful application. How it looks like and we have 15:24.880 --> 15:30.320 a video conference like you know it from teams or from other applications that you can switch 15:30.320 --> 15:38.800 different views. A grid. Maybe you can have the views on the side or a full view. You can see 15:38.800 --> 15:44.160 the participants and add participants and so on. This is a video conference. And it works directly 15:44.160 --> 15:49.920 in Parrula. You can share screen and it's completely, you can host this completely on your 15:49.920 --> 15:59.760 on if you want. All this is working on Linux, Mac and Windows. We have working builds on Android 15:59.840 --> 16:04.720 and iOS. We haven't released them yet because they're still things to work on but this is working 16:04.720 --> 16:10.000 across platform between all of these but with the same code base. We have feature parity between 16:10.000 --> 16:15.200 all of these platforms. I don't know any other application which does that not even Microsoft 16:15.200 --> 16:19.360 can do this. They have different applications on each platform with different features. This is 16:19.360 --> 16:25.120 has all the features on your mobile phone as well. And there is a webmail version if you want to 16:25.120 --> 16:30.560 have the same user interface on desktop mobile and on your company and you want to have a webmail 16:30.560 --> 16:34.800 as well. You can have this. This is not open source because if you use this for your cooperation 16:34.800 --> 16:41.440 then you really want to pay us because we need to pay around as well. We are implementing IMF, 16:41.440 --> 16:47.680 JMAP, all the as open protocols, Calduff card, have we implemented this year? We're happy to say 16:47.680 --> 16:53.920 that we implemented JMAP contacts and as far as I know we are the first client ever to implement 16:53.920 --> 17:00.560 JMAP contacts and you standard. The credit for the protocol itself, skills tours, robots, 17:00.560 --> 17:09.520 deponic, who designed the protocol and past mail and they're going to release their JMAP contacts 17:09.520 --> 17:15.360 in a few weeks. The mail team is meanwhile also supports it. We're working on JMAP calendar 17:15.360 --> 17:21.360 to have that as well in hopefully in the next few months and a lot of other protocols as well. 17:24.400 --> 17:30.640 We want to add more use cases for SML, work on chat, files integration to 17:30.640 --> 17:37.200 file sharing with open cloud next cloud. Mobile phone apps hopefully will release this year 17:37.200 --> 17:42.640 encryption and a lot of other cool things. We have already sharing, Pascal talked about how 17:42.640 --> 17:48.160 important it is to be able to access another person's account in my teammates email account or 17:48.160 --> 17:53.360 something that is already supported in the user interface. In both directions I can share with 17:53.360 --> 17:59.280 other people and I can't access theirs. What we need is your help because we're working really, 17:59.280 --> 18:04.080 really, really hard on this but we need your feedback. What is good? What is not good? How this 18:04.080 --> 18:09.520 well this works for you? Please send us bug reports but it's good what is not good and please 18:09.520 --> 18:14.800 spread the word because Microsoft has like 89% market share and if we want to make it then 18:14.800 --> 18:20.240 and that we need to stick together we need to work together so please help spread this word about 18:20.320 --> 18:24.320 this and give us feedback and we're looking forward to what you think about it. 18:33.040 --> 18:39.840 What are you used to make cross-platform possible? What are you using to make cross-platform 18:39.840 --> 18:45.680 possible? This is all written in 1% TypeScript pretty much all new code. 18:46.560 --> 18:54.000 This is the same infrastructure as Thunderbird. By the way this is Kai from Thunderbird. 18:55.600 --> 19:03.040 And same so there's a rendering and a back end as Node.js front and is some Chrome could be 19:03.040 --> 19:14.000 Firefox 2 runs in Firefox as well. So this is an electron and on mobile it's capacitor and on 19:14.000 --> 19:29.200 web it's web. What's the license? The license is EUPL. All the open protocols are 19:29.920 --> 19:35.520 open source the proprietary protocols are not open source so what's not open source is the exchange 19:35.520 --> 19:43.840 protocols the meeting module and the web name but the rest is and then there's MIT libraries and stuff 19:43.840 --> 19:53.280 but are there questions? We have a poll or a selection of meetings. How does some of the 19:53.280 --> 20:00.240 Thunderbird sees that? Good question. What's the fallback if I'm sending a poll to Thunderbird? 20:00.240 --> 20:03.520 What are they going to see? What's the question? Very good question if I've got to mention that. 20:03.520 --> 20:09.280 There's going to be a fallback so you can have alternatives like your hand and HTML and plain 20:09.360 --> 20:16.560 text. This is like one level higher than that. So HTML is fallback. You see this as HTML. 20:16.560 --> 20:21.040 You click on it. You go to a web page and you can make the choice there and if you have the plain 20:21.040 --> 20:26.160 text part you just have a link and you can go there and you can vote still. It's not as seamless but you can 20:26.240 --> 20:40.240 still participate. Yes. The question was, can everything run on premise? Yes. Parola is 20:40.240 --> 20:45.520 100% client site. There is no server-side component whatsoever. It's all running on your computer. 20:45.520 --> 20:51.840 We store the data on your computer only. All the services can be hosted by yourself. 20:51.920 --> 20:57.760 Starboard is a very good option for that because it gives you the calendar in everything. 20:58.800 --> 21:06.640 You can add open cloud next to this and add our video conference solution and then you 21:06.640 --> 21:12.400 have it all running locally. What was it you before, right? Yes, yeah. 21:13.040 --> 21:28.880 With the timeline, that's a lot of data. So it's a full client. He's asking where is the data 21:28.880 --> 21:36.000 stored so we are able to show this contact history. It's a full client in the same way that 21:36.000 --> 21:40.400 Thunderbird or Outlook is. So we fetched down the data, put it in a local database. It's a 21:40.400 --> 21:49.200 SQL-light database and we can make a run for your format. How are you going to make it sustainable 21:49.200 --> 22:01.840 commercially? He's asking how is it commercial, right? We are going to charge money for 22:01.840 --> 22:07.760 these proprietary protocols. So if you use this in a company, you probably want to have a license. 22:07.760 --> 22:17.440 And his question is, where we're based, we're based in Germany and main development is happening 22:17.440 --> 22:27.520 there. Yes, do you consider being a teammate? Sorry? Do you consider being a teammate? 22:28.480 --> 22:32.640 Do you mean a compatible? The question is, can you use Gmail? Yes, you can use Gmail. 22:35.440 --> 22:41.120 Ah, JMA. Sorry, I didn't hear. So are we using JMA? Yes, we are already supporting JMA 22:41.120 --> 22:46.880 for mail, for contacts. We're working on calendar. There's a few bugs that we have to fix, but yeah, 22:46.880 --> 22:49.920 where this is supporting fully supporting JMA. Yes. 22:57.760 --> 23:04.080 I see. How is the email chat and so on configured together? I'm not sure. I completely 23:04.080 --> 23:09.200 understand the question, but there's auto-configuration. So when you set up your email account, 23:09.200 --> 23:14.400 you type your email account. There is an auto-configuration standard that is about to be released. 23:14.400 --> 23:21.280 And the provider can send back in an XML file all the services that this account supports. 23:21.280 --> 23:25.840 You can have the chat account there and all the other accounts. It will automatically 23:25.840 --> 23:29.600 recognize the calendar and all that automatic configures that you just enter your email address 23:29.600 --> 23:34.640 in your password and all you log in with OAuth. And then it configures all that automatically. 23:34.640 --> 23:38.320 Is that the question? Does it answer the question? Sorry, again. 23:40.960 --> 23:46.160 Now, the protocol already exists. Autoconfig is working in Thunderbird since 15 years or something? 23:46.480 --> 23:56.800 The protocol is generic and it's standardized already since a while. Thunderbird supports 23:56.800 --> 24:01.440 only IMF and SIPP in there, but there's other things in there that you can put in there. 24:01.440 --> 24:05.760 And Perula will read this information out and use that. Thunderbird doesn't, but Perula will use this. 24:05.760 --> 24:21.360 I don't support client support, semil support. I do have OIDC, open ID Connect support, 24:22.080 --> 24:23.680 that already should be working. 24:23.680 --> 24:37.200 The end points are also in the autoconfig file. Yes. If you search for my name and autoconfig, 24:37.200 --> 24:38.320 you will find the specification.