1 00:00:00,000 --> 00:00:08,760 Welcome to the NGI Zero podcast where we talk to the people who are building the Next Generation 2 00:00:08,760 --> 00:00:09,760 Internet. 3 00:00:09,760 --> 00:00:12,080 Hi, I'm Ronny Lam. 4 00:00:12,080 --> 00:00:13,940 And I'm Tessel Renzenbrink. 5 00:00:13,940 --> 00:00:19,440 We both work for NLnet, a foundation which financially supports people working on free 6 00:00:19,440 --> 00:00:21,760 and open source technologies. 7 00:00:21,760 --> 00:00:23,680 Our guest today is Adrian Georgescu. 8 00:00:23,680 --> 00:00:31,080 He is the founder and CEO of AG Projects, a company committed to open source telecommunications. 9 00:00:31,080 --> 00:00:36,200 For many years Adrian has worked on Sylk Suite, an open source multi-party conference tool. 10 00:00:36,200 --> 00:00:38,640 And before Sylk, there was Blink. 11 00:00:38,640 --> 00:00:41,920 We'll be talking about both these projects today. 12 00:00:41,920 --> 00:00:44,840 Hi Adrian, nice to have you here. 13 00:00:44,840 --> 00:00:46,680 Hello Tessel, hello Ronny. 14 00:00:46,680 --> 00:00:50,040 Thank you for inviting me to this session. 15 00:00:50,040 --> 00:00:56,080 We have devised a list of questions to get to know our guests quickly. 16 00:00:56,080 --> 00:00:59,840 They are three short questions. 17 00:00:59,840 --> 00:01:05,080 So Firefox or Brave web browser? 18 00:01:05,080 --> 00:01:09,520 This is like voting left or right, the outcome is the same. 19 00:01:09,520 --> 00:01:13,120 You didn't answer yet. 20 00:01:13,120 --> 00:01:14,120 Firefox. 21 00:01:14,120 --> 00:01:19,940 Okay, vampires or zombies? 22 00:01:19,940 --> 00:01:24,820 This is the type of, I have a third option, none of them. 23 00:01:24,820 --> 00:01:28,380 Okay, telephone or telegraph? 24 00:01:28,380 --> 00:01:29,620 Blink. 25 00:01:29,620 --> 00:01:32,460 Good, yeah. 26 00:01:32,460 --> 00:01:36,740 So you work on communication systems. 27 00:01:36,740 --> 00:01:41,480 What key issues do you see in this field? 28 00:01:41,480 --> 00:01:50,660 This field has been spawned while internet expanded beyond its original goal, I guess. 29 00:01:50,660 --> 00:01:56,960 There was what we call in our niche the VoIP revolution. 30 00:01:56,960 --> 00:02:02,600 This happened a while ago when the telecommunications market has been liberalized in Western Europe 31 00:02:02,600 --> 00:02:04,660 and beyond. 32 00:02:05,420 --> 00:02:12,020 Internet connections became fast enough to accommodate real-time communications and that's 33 00:02:12,020 --> 00:02:25,380 when internet started to grow beyond the e-commerce and email and messaging systems to what we 34 00:02:25,380 --> 00:02:29,180 have today, these video conferencing applications. 35 00:02:29,180 --> 00:02:36,060 Actually it was Voice over IP, the first real-time application that emerged to be ported from 36 00:02:36,060 --> 00:02:43,500 the old telecom network to the internet and this VoIP revolution, I was part of it and 37 00:02:43,500 --> 00:02:53,400 it helped me discover my own success by riding this wave. 38 00:02:53,400 --> 00:02:57,140 So I was early and I had the luck to have a good mentor. 39 00:02:57,140 --> 00:03:03,580 That is Henry Sinnreich, who was perceived in the community as the godfather of Voice 40 00:03:03,580 --> 00:03:10,620 over IP because he was instrumental in funding the first open source projects related to 41 00:03:10,620 --> 00:03:13,980 Voice over IP worldwide. 42 00:03:13,980 --> 00:03:20,500 I got to know this part of the industry, the emerging industry, very early on and I was 43 00:03:20,500 --> 00:03:30,860 part of those first creators that made Voice over IP work based on internet principles, 44 00:03:30,860 --> 00:03:39,060 which is something I would like to mention because internet was built based on certain 45 00:03:39,060 --> 00:03:48,560 principles, one of them being the end-to-end principle, which means that the network should 46 00:03:48,600 --> 00:03:57,080 be kept as simple as possible and servers should be doing the least amount of work possible 47 00:03:57,080 --> 00:04:03,720 and most of the work and the application should be developed in endpoints, the network being 48 00:04:03,720 --> 00:04:09,120 a transparent carrier for whatever the applications in the endpoints are meant or supposed to 49 00:04:09,120 --> 00:04:10,720 do. 50 00:04:10,720 --> 00:04:15,640 And this end-to-end principle was embedded into the products of mine and other companies 51 00:04:15,720 --> 00:04:20,480 who stuck to this principle as opposed to others who tried to do the opposite, putting 52 00:04:20,480 --> 00:04:26,840 a lot of functionality in the network and letting the end user with very little choices 53 00:04:26,840 --> 00:04:31,720 and no transparency to what happens in the central part of the internet. 54 00:04:31,720 --> 00:04:39,240 So how does Sylk contribute to addressing those issues? 55 00:04:39,240 --> 00:04:47,240 When the end-to-end principle was such that email is the best example of a software that 56 00:04:47,240 --> 00:04:52,480 its principles are today, you can verify that the principles applied during email are still 57 00:04:52,480 --> 00:04:57,540 valid today because we're still using emails after so many years. 58 00:04:57,540 --> 00:05:05,240 When Voice over IP became an issue, the way to make it interoperable and making a standard 59 00:05:05,240 --> 00:05:09,240 so that everyone can implement solutions that talk to each other. 60 00:05:09,240 --> 00:05:18,880 The IETF, the Internet Engineering Task Force, created a working group which eventually led 61 00:05:18,880 --> 00:05:24,800 to the creation of this protocol called SIP, which stands for Session Initiation Protocol, 62 00:05:24,800 --> 00:05:30,400 which was basically copying from the success of email and HTTP. 63 00:05:30,400 --> 00:05:36,540 It is a simple protocol to develop around. 64 00:05:36,540 --> 00:05:41,960 It could be reusing the existing email and HTTP models. 65 00:05:41,960 --> 00:05:45,160 It was a predictable success and it is a success. 66 00:05:45,160 --> 00:05:50,120 SIP protocol is being embedded into any telecommunication backbone there is in the world. 67 00:05:50,120 --> 00:05:55,080 Any cable operator uses SIP protocol at the base, though they don't advertise it as such. 68 00:05:55,080 --> 00:06:01,560 The protocol was and still is a success, but less for the end users who don't get the immediate 69 00:06:01,560 --> 00:06:07,080 benefits of using SIP because they are being offered services by companies like cable operators, 70 00:06:07,080 --> 00:06:13,680 fiber providers, and they are given an address typically in the form of a phone number. 71 00:06:13,680 --> 00:06:17,880 They are not told that they are using SIP and they can't even make use of all the features 72 00:06:17,880 --> 00:06:22,920 of the SIP protocol because of the business aspect of using this. 73 00:06:22,920 --> 00:06:29,800 The companies just replaced telephony in place of letting SIP being used for what is originally 74 00:06:29,800 --> 00:06:35,800 designed for any type of session, including video, presence, chat, file transfers, any 75 00:06:35,800 --> 00:06:39,360 type of real-time communications between end users. 76 00:06:39,360 --> 00:06:46,040 Today we see still telephony being as the main application and our company, since we 77 00:06:46,520 --> 00:06:54,360 started, we were dedicated to make SIP a success the way the protocol is envisaged, meaning for 78 00:06:54,360 --> 00:07:02,600 applications beyond VoIP and we're the first company that being committed to that we really 79 00:07:02,600 --> 00:07:10,200 implemented most, if not all, the specifications from the IETF related to establishing sessions 80 00:07:10,200 --> 00:07:19,240 beyond VoIP, namely chat, messaging, file transfer, conferencing, video calls, and we 81 00:07:19,240 --> 00:07:24,520 had this very early on when nobody could even use them because of lack of deployments, lack 82 00:07:24,520 --> 00:07:26,120 of bandwidth, lack of everything. 83 00:07:26,120 --> 00:07:36,200 However, the software, when IETF proposes ideas and working groups are drafting plans and 84 00:07:36,200 --> 00:07:38,520 specifications and standards. 85 00:07:38,520 --> 00:07:46,440 It's always usable and useful to have an implementation to prove or disprove the attempted 86 00:07:46,440 --> 00:07:52,360 tracks and we were one of the companies who were instrumental in proving that some ideas 87 00:07:52,360 --> 00:07:59,720 were good and others were wrong, being involved close into the standardization and by means of 88 00:07:59,720 --> 00:08:04,200 creating software that implemented those specifications very early on while actually 89 00:08:04,200 --> 00:08:05,720 developing those specifications. 90 00:08:06,680 --> 00:08:12,280 Sylk is actually the second generation of software our company worked on. 91 00:08:12,280 --> 00:08:14,920 Initially it was Blink, which was a pure SIP client. 92 00:08:14,920 --> 00:08:16,120 There was SIP and nothing else. 93 00:08:17,400 --> 00:08:19,720 SIP protocol became complicated. 94 00:08:19,720 --> 00:08:24,360 Other things were necessary to do things that the protocol alone could not do. 95 00:08:24,360 --> 00:08:29,720 So other protocols emerged like there was an ecosystem around SIP and things were created 96 00:08:29,800 --> 00:08:37,640 around SIP to help SIP achieve the deliverables that were initially aimed for could not be 97 00:08:38,200 --> 00:08:44,120 achieved because there was more work required and more parts and other protocols were necessary 98 00:08:44,120 --> 00:08:45,560 to complete a picture. 99 00:08:45,560 --> 00:08:52,200 And Blink was a pure SIP client doing everything SIP and then the limitations of the SIP protocol 100 00:08:52,200 --> 00:08:55,640 started to appear while more complex applications started to emerge. 101 00:08:55,720 --> 00:09:00,600 For instance, this video conference we have right now practically is not possible to do 102 00:09:00,600 --> 00:09:07,400 in SIP because SIP has no primitives that can allow you to develop multi-party conferencing, 103 00:09:07,400 --> 00:09:08,680 not in a way that makes sense. 104 00:09:09,720 --> 00:09:18,360 So SIP stopped short at a point where video became successful and people started to adopt 105 00:09:19,720 --> 00:09:22,520 video calls, especially in video conferencing format. 106 00:09:23,240 --> 00:09:29,080 SIP stopped at end-to-end, peer-to-peer, one-to-one calls and beyond that, 107 00:09:30,040 --> 00:09:32,600 standardization didn't help but rather the opposite. 108 00:09:33,560 --> 00:09:38,760 So the end result was that there was no SIP implementation doing video conferencing, 109 00:09:38,760 --> 00:09:42,840 multi-party anywhere that made any sense at all technically and otherwise. 110 00:09:43,960 --> 00:09:50,920 And the alternative was provided by the web working groups which were not inside IETF but 111 00:09:51,000 --> 00:09:59,240 other people that leveraged the success of the web basically completed what SIP was missing, 112 00:09:59,240 --> 00:10:08,040 which is WebRTC, which added real-time media to web browsers and basically it became suddenly easy, 113 00:10:08,040 --> 00:10:13,160 not by standards but by adoption of certain pieces of code to make video conferencing possible 114 00:10:13,160 --> 00:10:18,760 in a web browser, which was not possible in a SIP protocol using the tools and the standards 115 00:10:18,760 --> 00:10:20,840 available were simply not doable. 116 00:10:21,560 --> 00:10:28,280 So Sylk came to join together these two worlds whereby SIP protocol can be used for what it does 117 00:10:28,280 --> 00:10:35,240 best, namely addressing in the form of an email address and using your own domain, you can have 118 00:10:35,240 --> 00:10:40,840 an identity which makes sense, a user@domain and then connect it to all the media that people 119 00:10:40,840 --> 00:10:48,120 may need, namely voice over IP, video, chat, but also the missing part, multi-party video 120 00:10:48,120 --> 00:10:50,440 conferencing, how do you do that with a SIP client? 121 00:10:51,480 --> 00:10:58,280 Well you can't, however, as I said, Sylk is supposed to be interoperable and for all the 122 00:10:58,280 --> 00:11:06,600 new features it's using WebRTC and for compatibility purposes it's using SIP protocols so you are 123 00:11:06,600 --> 00:11:12,120 always reachable in the best way that the client can support while negotiating a session with 124 00:11:12,120 --> 00:11:17,960 anyone that may call you on that address using SIP protocol and while using the same application 125 00:11:17,960 --> 00:11:24,520 like Sylk you can of course enjoy features particular to it, namely multi-party conferencing 126 00:11:24,520 --> 00:11:31,560 which is always, how do you say, locked to your, how do you say, not vendor but solution, there is 127 00:11:31,560 --> 00:11:37,080 no interoperable multi-party video conferencing solution that I know of so if you're on Zoom 128 00:11:37,080 --> 00:11:42,680 there is no way to join with another client, there is no way to, because there is no standard, 129 00:11:43,560 --> 00:11:48,920 standards became too complicated, too many people got involved and it ended up that video party 130 00:11:48,920 --> 00:11:55,880 multi-party conferencing it's not something standard... standardisable, so we ended up with 131 00:11:56,440 --> 00:12:02,440 multitude, a plethora of solutions to allow the users to do this and no standard way of 132 00:12:02,440 --> 00:12:10,440 interconnecting between them. Sylk is doing the same as it's not a weakness we could fix, it's 133 00:12:10,440 --> 00:12:16,680 inheriting the same model whereby you can start a video conference inside Sylk with other participants 134 00:12:17,320 --> 00:12:21,480 and then if you want to make a regular session one-to-one you can do it with anyone that supports 135 00:12:21,480 --> 00:12:28,440 SIP protocol worldwide with other solutions that implement SIP protocol and this is where they are 136 00:12:28,440 --> 00:12:36,200 alike or not alike the solutions. Blink is design-wise it's an application based on the 137 00:12:37,320 --> 00:12:44,840 you could say legacy paradigm. Web development changed the way interfaces look like a lot 138 00:12:45,480 --> 00:12:52,760 in the past you had different operating systems with user interfaces that looked in a certain way 139 00:12:52,760 --> 00:12:57,400 now you see a sort of standardization whereby all the application looked the same in a webish way 140 00:12:58,440 --> 00:13:06,360 in Blink it's a standard legacy type of software whereby we used standard desktop 141 00:13:06,360 --> 00:13:11,320 development and standard the widget set that is present on the natively on each computer 142 00:13:12,040 --> 00:13:19,080 so Blink is an interface that looks native on each desktop you use whether it's Linux or Mac 143 00:13:19,080 --> 00:13:25,640 or Windows whereas Sylk it's a cross-platform product based on these new principles of the web 144 00:13:25,640 --> 00:13:31,160 development so it looks the same everywhere but doesn't look native anywhere so this is the 145 00:13:32,760 --> 00:13:40,680 world we live in today. It's interesting to hear what you're saying is that the telephone 146 00:13:40,680 --> 00:13:49,560 companies are selling us telephone connections when actually they are going over SIP already 147 00:13:49,560 --> 00:13:56,920 for decades. 100% yes only SIP they don't advertise it but it's whenever you make a phone call from 148 00:13:56,920 --> 00:14:03,800 your telephone it's in the server side it's a SIP server and your phone is a SIP device restricted 149 00:14:03,880 --> 00:14:10,840 to do only on audio call. When I listen to your story I think you really made 150 00:14:12,280 --> 00:14:22,360 WebRTC and SIP work together they go yeah hand in hand so to say 151 00:14:25,320 --> 00:14:31,560 do you know any... are you the first are there any other applications that do it this well? 152 00:14:33,800 --> 00:14:41,080 With Blink definitely there was no we were the best and still are the I don't know about any 153 00:14:41,080 --> 00:14:46,440 other SIP client that aimed so high and achieved so much especially with the help of NLnet and 154 00:14:46,440 --> 00:14:55,880 other sponsors in the past. The real problem in my field of work meaning if you want to have a 155 00:14:55,880 --> 00:15:01,000 business and live from the fruits of your labor it's very hard because you compete with 156 00:15:01,400 --> 00:15:07,160 big companies that offer a free service that does what your software does but the question comes 157 00:15:07,160 --> 00:15:12,280 how do you live if Google gives you an alternative to make VoIP calls and Apple does the same and 158 00:15:12,840 --> 00:15:16,840 WhatsApp and all these companies that have thousands of developers and gives you something 159 00:15:16,840 --> 00:15:22,280 for free I'm not even sure why is there an expectation that any small company can be 160 00:15:22,280 --> 00:15:29,960 successful of doing the same with a few people in terms of revenues or success as a business 161 00:15:31,000 --> 00:15:38,760 I don't know how we wouldn't be successful had we just tried to monetize this SIP clients or 162 00:15:38,760 --> 00:15:43,240 Sylk clients because you compete with big names that offer a similar product which 163 00:15:44,840 --> 00:15:50,360 is properly maintained over years they have a lot of engineering support for it so it's a lost 164 00:15:50,360 --> 00:15:55,960 battle in the sense of trying to make money with something which is free. However knowing this 165 00:15:55,960 --> 00:16:02,440 again my company was able to position itself in a way that was able to maintain over time competing 166 00:16:02,440 --> 00:16:09,560 in this sense with large companies that have infinite resources between codes for this end 167 00:16:09,560 --> 00:16:16,840 user applications while having revenue from a different source same as us. Our company AG 168 00:16:16,840 --> 00:16:23,800 projects our source of revenue is maintenance that we do for telecom operators we also develop the 169 00:16:23,800 --> 00:16:29,880 server side for all these things that in the case of SIP you have a client but there is a server 170 00:16:29,880 --> 00:16:35,080 as well and these servers is a product that companies are ready to pay for and they have a 171 00:16:35,080 --> 00:16:40,760 budget for it and they have a maintenance budget for it and this is how our company was able to 172 00:16:40,760 --> 00:16:50,440 survive over time in order to build this for the end user free SIP clients like Blink and Sylk 173 00:16:50,600 --> 00:16:56,680 Again that development effort is huge because it's very complicated most of the internet 174 00:16:56,680 --> 00:17:02,680 is involved when you build such a client there are so many subparts and moving parts under 175 00:17:02,680 --> 00:17:08,920 the hood that you really have to be very knowledgeable and need to have people with 176 00:17:08,920 --> 00:17:14,680 the right experience to make it work as opposed to a simple application doing one little task 177 00:17:15,560 --> 00:17:21,480 If you look in under the hood of a complex application that does real-time communication 178 00:17:21,480 --> 00:17:28,120 its complex. So these people are hard to find and of course not cheap to build in the end such a 179 00:17:28,120 --> 00:17:34,920 software. We could do it because we had alternative sources of income and even so with those was not 180 00:17:34,920 --> 00:17:41,080 enough. Meaning that the effort is so high that without the help of NLnet and others alike, it 181 00:17:41,080 --> 00:17:48,040 is not possible to maintain and develop further a software that even after 14 years still works 182 00:17:48,040 --> 00:17:54,600 properly and it's up to date and still downloaded and used and validated by anyone who tries to use 183 00:17:54,600 --> 00:18:00,360 it has only good things to say about it. So this is a long-term effort that we're able with the help 184 00:18:00,360 --> 00:18:09,000 of NLnet in principle because they were the main sponsors over the years. And then my company during 185 00:18:09,000 --> 00:18:15,880 the idle financing was carrying forwards and continuing to maintain things over time so that 186 00:18:19,080 --> 00:18:24,280 things keep working and it's not just a dead project in a trench somewhere like many projects 187 00:18:24,280 --> 00:18:29,480 end up. After a short period of funding they just disappear and they just vanish because of lack of 188 00:18:29,480 --> 00:18:36,040 adoption or lack of support or lack of passion of somebody who maintains them. We did this long-term 189 00:18:36,040 --> 00:18:45,560 support and I'm proud of this personally. When I traveled back to my first office - it was last week - 190 00:18:46,200 --> 00:18:53,480 I found an old laptop, Del Inspiron laptop running Windows somewhere in a drawer. I picked it up and 191 00:18:53,480 --> 00:19:01,240 i tried to use it. It was from 2011 still worked I started it but I could not do anything with it. I 192 00:19:01,240 --> 00:19:07,080 could not read my emails, could not browse the internet. Everything was incompatible but I 193 00:19:07,080 --> 00:19:13,480 started Blink and I called my mother and it still worked. So this tells you something about the tools 194 00:19:13,480 --> 00:19:19,480 that IETF standardized and the way we do things that they are, how do you say, not timeless but 195 00:19:19,480 --> 00:19:28,360 resist long time. And this is one of the things that I'm very proud of that after so many years 196 00:19:28,360 --> 00:19:35,560 it still serves its purpose. I think this also taps into another question that I would have, 197 00:19:37,160 --> 00:19:44,120 and this is not only related to the VoIP world but also to email, 198 00:19:45,640 --> 00:19:57,080 how is it possible to be a sustainable software company with open source software in this 199 00:19:57,080 --> 00:20:04,520 world of Big Tech. Like you said there are those those Big Tech companies they have a 200 00:20:05,240 --> 00:20:14,920 whole lot of developers, they have a lot of money and it's up to you with, well, less developers, less 201 00:20:14,920 --> 00:20:27,080 money to draw the competition. So how do you make it sustainable? Is that only by 202 00:20:27,080 --> 00:20:36,520 other revenue sources? Is that only possible with grants? Well in my case the 203 00:20:36,520 --> 00:20:44,040 grants were not enough. And my company income dedicated for this part was also not enough. So 204 00:20:44,040 --> 00:20:49,880 somehow in my case I can definitely say that without both I could not have, for instance, just 205 00:20:49,880 --> 00:20:57,000 with NLnet I would not have been able to pull it off. It's just too much cost and there are unforeseen 206 00:20:57,800 --> 00:21:03,480 you know R&D is such that it's hard to predict the outcome. And you have to explore things that 207 00:21:03,480 --> 00:21:09,480 may have never been done before. And then you don't know how long it takes. So you may make a plan but 208 00:21:09,480 --> 00:21:17,960 you just run into unknown and then if you don't have resources, you basically lose all the investment 209 00:21:17,960 --> 00:21:26,280 at that point. So it's very hard with just one source of income it's definitely a big 210 00:21:26,280 --> 00:21:34,040 risk. With two it's better. The more you have... We had even a third source of income. We put one of 211 00:21:34,120 --> 00:21:40,600 the apps in the Mac app store where we asked money for it. Though there was a free version available 212 00:21:40,600 --> 00:21:48,360 for those who bothered to download the software from dangerous places like an website. 213 00:21:51,080 --> 00:21:55,800 This is something that it's so strange people yeah prefer to download it from the Apple store 214 00:21:55,800 --> 00:22:01,000 because it's more safe and pay for it because they think it's better but it's the same software. 215 00:22:01,640 --> 00:22:08,600 That helped but not much as well so the self revenues were never large enough to matter in 216 00:22:08,600 --> 00:22:16,200 the great scheme of things. Were too minimal to matter. But still everything adds up. So in the end 217 00:22:16,200 --> 00:22:21,240 because there is this persistent usage and the number of downloads is constant or growing or 218 00:22:21,240 --> 00:22:29,080 people buy it or you see there is constant demand for it. So when you see that and if you spend time 219 00:22:29,080 --> 00:22:34,760 doing it, you'll maintain it because it's your baby, so you don't want to see it dead. But that's of 220 00:22:34,760 --> 00:22:40,200 course because also I like what I do. A lot of people just follow the funding available without 221 00:22:40,200 --> 00:22:46,520 caring much about the outcome. And of course this matters. If you like what you do and if you really 222 00:22:46,520 --> 00:22:53,000 would do it even without the funding, for instance. It's different if it's a hobby or it's... So it 223 00:22:53,000 --> 00:22:58,280 depends on the person and the developer whether they can complement all these restrictions 224 00:22:58,280 --> 00:23:06,920 that appear. What general advice would you have for other open source 225 00:23:07,720 --> 00:23:16,360 companies to build a sustainable model? Well, that's like claiming I know what I'm doing. 226 00:23:16,360 --> 00:23:21,320 Business-wise I never had any clues. So I just follow my instincts. I don't have business plans, 227 00:23:22,760 --> 00:23:27,080 loans and my company was always cash flow positive and nobody taught me 228 00:23:27,080 --> 00:23:32,920 how to do it so I don't know how to give advice to other people because I have no plan I just 229 00:23:32,920 --> 00:23:39,080 use my instincts my instinct seems to be working and then that's very hard to answer questions. 230 00:23:41,480 --> 00:23:44,280 Well yeah, well, that's also honest. I mean 231 00:23:46,440 --> 00:23:55,000 yeah, maybe your instincts are good. Well they are as it as it turns out. But do understand correctly 232 00:23:55,000 --> 00:24:02,600 that the fact that Sylk is still alive is basically because you are so dedicated to it, 233 00:24:02,600 --> 00:24:12,040 that you will just continue to keep it... Yes, as long as I can I will. However, a 234 00:24:12,040 --> 00:24:17,560 little observation, this is actually Blink you should ask about because that's the old one. Let's 235 00:24:17,560 --> 00:24:24,760 say the old, the first one. Which is the pure SIP client. Sylk is very fresh, new and up to date with 236 00:24:24,760 --> 00:24:31,080 everything. Mobile and everything. So far from being over with it, it's like at the beginning of... 237 00:24:31,880 --> 00:24:39,400 it's still in its infancy in terms of usage and the growth and adoption. So the real issue 238 00:24:39,400 --> 00:24:44,680 is Blink because some people may say that it's an obsolete piece of software which I totally disagree 239 00:24:44,680 --> 00:24:51,080 with. Just because, you know, it's like the cars today. They all suck. You want a nice looking car, 240 00:24:51,080 --> 00:24:58,280 that feels like a car you look for an older car that was a car. Today the 241 00:24:59,080 --> 00:25:03,480 principles of building cars have changed to the point of building an iPad and putting wheels 242 00:25:03,480 --> 00:25:11,080 around it. But that's not the car. That's something else. Same with everything. Beauty matters and 243 00:25:11,080 --> 00:25:18,600 classic things properly done never die. So we think Blink is the same and we try to maintain 244 00:25:18,600 --> 00:25:24,840 it very pure in sense of coding and the libraries and everything we use. It's still a 245 00:25:24,840 --> 00:25:31,080 a piece of software that made sense in 2009 and makes sense today if you start inspecting the code. 246 00:25:31,720 --> 00:25:36,280 So the code is written in such a way that is timeless. And as long as the 247 00:25:38,120 --> 00:25:43,800 support for the operating systems do not vanish, meaning in the end is based upon a programming 248 00:25:43,800 --> 00:25:48,440 language that of course may become obsolete over time, there's nothing you can do about that one for 249 00:25:48,440 --> 00:25:56,600 instance. But still the building blocks are pretty well alive and kicking. So there is no way that 250 00:25:56,600 --> 00:26:04,760 there is any obstacle in the near-term in the sense of survivability. And then the features 251 00:26:04,760 --> 00:26:11,480 matter. You try to be on par with the big boys which you can't because simply lack of funding 252 00:26:11,480 --> 00:26:17,160 and engineers and so forth. However things got so good that in the end a lot of features built 253 00:26:17,160 --> 00:26:23,160 nowadays are just not necessary and some companies just innovate for the sake of doing something 254 00:26:23,160 --> 00:26:28,120 though they shouldn't. So in this sense we don't have this problem. When we reach a level of 255 00:26:29,080 --> 00:26:36,920 maturity that we we like then we just keep it working without aiming to you know change it 256 00:26:36,920 --> 00:26:44,520 unnecessarily. So we leached we reached a level of maturity that requires conservation and 257 00:26:44,520 --> 00:26:50,360 incremental updates rather than completely retweaking, rechanging, changing everything. So 258 00:26:50,360 --> 00:26:54,600 we're very happy because it's comfortable to maintain something that makes sense, is beautiful, 259 00:26:54,600 --> 00:27:01,080 works fine you just add a few things. It's a pleasure, pleasureful work. And this is Blink. So 260 00:27:01,080 --> 00:27:07,000 it's a legacy piece of software that we keep it up to date in perfect shape. And thanks to 261 00:27:07,000 --> 00:27:12,600 NLnet we can bring it back to Windows. Because of lack of resources and lack of 262 00:27:12,600 --> 00:27:16,760 developers that over time we lost, there was a Windows version but at some point there was 263 00:27:16,760 --> 00:27:22,040 not anymore because we just couldn't do it. We didn't have the people and the time to maintain 264 00:27:22,040 --> 00:27:30,360 that part, that version. And we will be able to do this fall to bring Blink back to Windows 265 00:27:30,360 --> 00:27:36,600 because now it's available for Mac and Linux only. And with the help of NLnet we will be able to 266 00:27:36,600 --> 00:27:41,720 make it cross-platform truly again like it originally was for all three major desktop 267 00:27:41,720 --> 00:27:50,360 platforms. And again it's hard to know how to monetize this especially on Windows, I don't know 268 00:27:51,000 --> 00:27:56,680 if it's possible. And the goal also of NLnet is to allow for the software to be distributed purely 269 00:27:56,680 --> 00:28:01,720 in open source form and it's a condition of funding so I don't aim or plan to monetize 270 00:28:01,720 --> 00:28:11,000 necessarily Blink for Windows. So I don't know where it goes with this monetization of open 271 00:28:11,000 --> 00:28:17,800 source it's a difficult story. Again our story works because we have server side software that 272 00:28:17,800 --> 00:28:25,000 we monetize which indirectly funds the client side. And the client side helps as a marketing tool 273 00:28:25,000 --> 00:28:30,040 if - this could be an advice - whenever you leave, you give something for free, you can... 274 00:28:31,320 --> 00:28:37,560 In my company making free software that you publish it's like doing a marketing activity. 275 00:28:37,560 --> 00:28:41,720 People know you're knowledgeable in that area, so it's like a business card that 276 00:28:42,840 --> 00:28:47,960 people know and then when they need a solution for the server side they don't say: "but Adrian 277 00:28:47,960 --> 00:28:52,840 what do you know to do in this area?" They all know that I know because our software stands 278 00:28:53,480 --> 00:29:03,160 proof for the claims. How about the community behind Sylk is it only you as your company 279 00:29:03,160 --> 00:29:11,720 working on it? Is there an active community behind it? Right, there is a community but I 280 00:29:11,720 --> 00:29:17,880 wouldn't say developers. I mean the contributions can be seen on Github. We publish the software 281 00:29:17,880 --> 00:29:25,240 and all the patches. The authors that contributed over time. But the external contributions are 282 00:29:25,240 --> 00:29:31,800 a minimum to the level of patches and small changes. The heavy lifting still belongs to our company and 283 00:29:31,880 --> 00:29:35,960 developers dedicated full time for it. Because as I said, it's a complex task, 284 00:29:36,840 --> 00:29:43,000 takes time and it's... you need the proper individuals to even attempt to make a change to a software 285 00:29:43,000 --> 00:29:51,000 that is very complex. So in reality it's only our company developing it. And people using it may 286 00:29:51,000 --> 00:29:57,720 find, you know, little improvements, helping with translations and things that are marginal, in terms 287 00:29:57,720 --> 00:30:03,400 of there are no new functions that are very seldom happened or almost none that people added a 288 00:30:03,400 --> 00:30:09,640 feature but they did provide the fixes and things that we embedded back into the software 289 00:30:10,520 --> 00:30:17,240 with corrections and things that were discovered by end users. So the community really when I... 290 00:30:18,280 --> 00:30:25,320 To answer your question, the community in our case would be the SIP community. And the server side, 291 00:30:25,320 --> 00:30:31,240 which is related to OpenSIPS project, which is the server side of things. In order to make a SIP 292 00:30:31,240 --> 00:30:38,760 client or also webRTC client you need the correspondent server part. And without having 293 00:30:38,760 --> 00:30:46,120 that properly, how do you say, properly in place, you will fail to build a client because it's not just 294 00:30:46,120 --> 00:30:50,760 reading a spec and writing some software. You need a working server that would answer to all the 295 00:30:50,760 --> 00:30:58,200 requests your application is sending. And without having the server side ready and properly working, 296 00:30:58,200 --> 00:31:03,320 you cannot attempt to build a client. And actually this is the reason why our client works, because 297 00:31:03,320 --> 00:31:10,120 before even attempting to build a client, we had the server working properly. So everything we build 298 00:31:10,120 --> 00:31:15,720 in the client we could test accordingly and correct and fix. Whereas without having the 299 00:31:15,800 --> 00:31:20,680 counterpart, the server side, you cannot do it. Because it's impossible to just 300 00:31:21,720 --> 00:31:28,200 do it blindly with no actual proof it works. You need a server. Now in case this community 301 00:31:28,760 --> 00:31:35,320 of OpenSIPS goes back to the first open source project related to voice over IP. 302 00:31:36,120 --> 00:31:44,120 It was a project spawned by Fraunhofer Institute in Berlin. It was called SIP Express Router at the 303 00:31:44,120 --> 00:31:52,920 origin. And Fraunhofer Institute had director at the time who was looking for new ideas. That's 304 00:31:52,920 --> 00:32:00,040 back in time when Telecom was being contemplated being moved over the internet. And 305 00:32:00,040 --> 00:32:03,960 there were no standards… well, there were standards but there were no implementations, actually. 306 00:32:04,920 --> 00:32:10,840 Not in the open source domain. There were companies implementing standards but those were the old 307 00:32:10,840 --> 00:32:17,000 Telecom companies like Ericsson, Siemens and nothing in the open source domain and Fraunhofer 308 00:32:17,000 --> 00:32:25,640 Institute allocated a budget for developing the first SIP server in open source model. The director 309 00:32:27,080 --> 00:32:37,480 was a person of Romanian origins. And then he contacted his old friends in Bucharest and for 310 00:32:37,480 --> 00:32:45,960 this reason alone this project ended up full of Romanians. That's why I was also sort of around 311 00:32:45,960 --> 00:32:56,360 there perhaps. So Henry Sinnreich the mentor of this SIP Express Router project. Well actually, he helped 312 00:32:56,360 --> 00:33:03,480 guide the Fraunhofer ideas where to actually direct their development and R&D. So Henry was 313 00:33:03,480 --> 00:33:09,320 basically giving the clues. Then Fraunhofer spawned this software called SIP Express Router which, then, 314 00:33:10,520 --> 00:33:15,960 there were spin-offs, commercial ones, that took this software and made implementations 315 00:33:16,520 --> 00:33:22,600 in the market with it. Several companies did it. It became a success and it became the reference 316 00:33:22,600 --> 00:33:29,880 implementation of any operator that has SIP. Maybe they don't like to show it but I'm sure 317 00:33:29,880 --> 00:33:34,200 the developers and the people supporting can tell you: ‘Like yeah, of course, we still run 318 00:33:34,200 --> 00:33:41,720 SIP Express Router’, or a variant of it. Though they don't want to say too much about it. So the project 319 00:33:41,720 --> 00:33:48,680 emerged to be a success and this success helped also indirectly Blink. Because this community 320 00:33:49,320 --> 00:33:56,840 was present in many places at conferences, exhibitions and this ecosystem helped SIP 321 00:33:56,840 --> 00:34:03,720 protocol become obviously successful as well. And implicitly Blink and other software we 322 00:34:03,720 --> 00:34:10,440 created over time was present there and people knew us and then the community helped. That we 323 00:34:10,440 --> 00:34:18,040 all... all the companies present in this ecosystem benefited, including mine. So there was a 324 00:34:18,040 --> 00:34:25,800 complementary function in this ecosystem rather than competition. So Blink has no competition. I 325 00:34:25,800 --> 00:34:30,440 don't know any SIP client that can attempt to claim they have the same feature set. There are 326 00:34:30,440 --> 00:34:36,280 SIP clients but typically VoIP only or maybe they add another feature. But ours has all the features 327 00:34:36,280 --> 00:34:42,360 from the IETF working group. So it's the only one that has, or claims, to have the IETF working group 328 00:34:42,360 --> 00:34:52,520 stamp on. We did everything they standardized with SIP in the client. What besides working on 329 00:34:52,520 --> 00:34:59,560 the Windows client, what are the next steps for your project? Well, right now in the 330 00:34:59,560 --> 00:35:05,400 past couple of months, to attempt to actually do a Windows client, we had to 331 00:35:06,280 --> 00:35:11,720 bring the software up to date with the latest things that are today the dependencies on 332 00:35:11,720 --> 00:35:19,000 every computer. Over time they get modernized and you get to another version, namely QT framework 333 00:35:19,000 --> 00:35:24,520 which is the building block for Blink Qt which is the Linux and Windows version of Blink. 334 00:35:26,040 --> 00:35:32,200 This changed a lot so we had to basically redo a lot of the GUI elements. We had to 335 00:35:33,080 --> 00:35:38,840 basically port all the code that was originally written on Qt, I don't know, when we started this was 336 00:35:38,840 --> 00:35:45,960 Qt2 and now we are at Qt6. And there's a lot of work and heavy lifting to keep up with these changes. 337 00:35:45,960 --> 00:35:52,440 So, that was eating a lot of effort and we spent three months doing this. And now the software... just, 338 00:35:52,440 --> 00:35:57,720 we plan to make the first release, still on Linux. But we have all the 339 00:35:59,960 --> 00:36:08,120 code ported so it's compatible with Qt6. And then aim to have the building for Windows 340 00:36:08,120 --> 00:36:12,680 becomes possible. Because otherwise it wouldn't be. We could not just take the old code and make 341 00:36:12,680 --> 00:36:19,240 a build for windows. So plans after we do this, we're not there yet so we still 342 00:36:20,040 --> 00:36:26,680 work and we are still aiming for doing the Windows release. So this is the immediate things we're 343 00:36:27,560 --> 00:36:33,320 involved with. And I don't aim to dare where to go after that. Because I have my hands full already 344 00:36:34,280 --> 00:36:43,640 with this. So first step is to do the last release of Qt5 version which is still available on most 345 00:36:43,640 --> 00:36:52,360 Linux systems. But this year all new linux versions will have Qt6 as the default. So then immediately 346 00:36:52,360 --> 00:37:00,760 after we wrap with the old Qt5 legacy, we will almost be ready to go to the release for Qt6. Qt6 itself 347 00:37:00,760 --> 00:37:05,480 is not really ready to be released properly. It lacks skins for different operating systems, you 348 00:37:05,480 --> 00:37:12,680 have less flexibility in terms of, how do you say, it's a new thing but it's a future proof thing. 349 00:37:12,680 --> 00:37:19,880 Or well as future proof as you can make things for the next couple of years. So Qt6 is not really 350 00:37:19,880 --> 00:37:26,280 ready to be production ready but probably end of the year, next year it will be the de facto 351 00:37:27,000 --> 00:37:32,440 user interface widget block there is. So our software aims to be ready for it while we do 352 00:37:32,440 --> 00:37:40,200 this iteration. So when we do the Windows build, we will also have the Linux and the first incarnation 353 00:37:40,200 --> 00:37:49,320 of Mac based on this tool set. Because Blink had a different Mac source code, written differently. And 354 00:37:49,320 --> 00:37:55,080 with Qt now you can be really cross platform for all three operating systems. So you have the 355 00:37:55,080 --> 00:38:00,840 same code base on Linux, Mac and Windows. Whereas in the past we had Linux and Windows with the 356 00:38:00,840 --> 00:38:11,400 Blink Qt version and Mac had another version. And still has it which I'm afraid it will 357 00:38:11,400 --> 00:38:18,920 reach end of the line because of the conditions imposed by Apple. This is one of the things we 358 00:38:18,920 --> 00:38:24,200 are also battling with these ecosystems controlled by these large companies. They force you to 359 00:38:25,080 --> 00:38:30,600 make choices or to give up on traces based on their own interest. And suddenly you hit the wall, 360 00:38:30,600 --> 00:38:34,680 your software is not allowed in the App Store anymore because you cannot be compliant because 361 00:38:34,680 --> 00:38:40,920 of reasons outside of your control. And I suspect the same will happen to the Blink Cocoa version 362 00:38:40,920 --> 00:38:47,560 at some point. Apple store will simply not allow it because the lack of support for Python language 363 00:38:47,560 --> 00:38:52,760 and the fact that the developers don't want to use it anymore in Mac, the Apple developers, I mean. 364 00:38:53,080 --> 00:39:00,680 They force you to basically dump your software because you can't fix the whole Apple libraries 365 00:39:00,680 --> 00:39:06,120 which are closed source that don't support various things anymore. And suddenly you update your 366 00:39:06,120 --> 00:39:11,960 computer and your software is dead. And there is no documentation at all and if you discover what the 367 00:39:11,960 --> 00:39:19,080 problem is, you have no support from Apple about it. They don't care and they force you to migrate 368 00:39:19,160 --> 00:39:24,920 in a different direction. Whereas the Qt seems to be going into the right direction, they have 369 00:39:24,920 --> 00:39:30,840 proper support on all platforms. So in the end probably Blink will be one version on all three 370 00:39:31,480 --> 00:39:36,200 operating systems. Now we still have two of them as I said. There is a Blink Qt version and 371 00:39:36,200 --> 00:39:43,080 a Blink Cocoa we call the native macOS incarnation of Blink. And Linux and Windows 372 00:39:43,080 --> 00:39:51,800 version based on a different widget set the Blink the Qt framework. Any considerations for 373 00:39:51,800 --> 00:39:59,240 iOS or Android clients or is that world already full of SIP clients? 374 00:39:59,880 --> 00:40:07,560 Well we did it, Sylk is a SIP client for both. Sylk as a client works on Apple and Android phones 375 00:40:07,560 --> 00:40:15,000 alike. So Sylk is not just a desktop solution but a mobile as well. And this is again where we 376 00:40:15,720 --> 00:40:21,400 stopped with Blink, in the sense of mobile developments, because it was a no-go because of 377 00:40:21,400 --> 00:40:28,760 the choice of the programming language namely Python. Python is not supported on 378 00:40:28,760 --> 00:40:35,000 mobiles. There is no Python anything on mobiles so basically it's not possible. It was not possible 379 00:40:35,080 --> 00:40:40,600 after starting the original desktop version to move towards mobile at the same software because 380 00:40:41,640 --> 00:40:47,640 it's impossible. And this is where, again, Sylk took a different approach and used the 381 00:40:48,680 --> 00:40:54,440 ools and the programming languages that were, how to say, properly supported in both sides, 382 00:40:56,440 --> 00:40:57,960 meaning Android and Apple. 383 00:40:58,440 --> 00:41:08,280 There is a React framework that is able to help developers to build once for both. So using this 384 00:41:08,280 --> 00:41:17,320 I built the Sylk Android version the Sylk iOS version and they still work fine. They are okay 385 00:41:17,320 --> 00:41:23,480 with their feature set which is less limited than well a WhatsApp or... But again it's with the amount 386 00:41:23,480 --> 00:41:31,640 of people and funding we did pretty well so far. It's an application that works and you can have 387 00:41:31,640 --> 00:41:37,960 features like replicated messages across multiple devices both desktop and mobile encryption end-to- 388 00:41:37,960 --> 00:41:45,080 end. A lot of good features that are hard to find in a similar project. And video conferencing from 389 00:41:45,080 --> 00:41:51,240 mobile and desktop with the limitations that are in the software. We're not perfect. But it's a 390 00:41:51,240 --> 00:41:56,360 perfectly workable solution for small groups. And you have the source code for everything and it's 391 00:41:56,360 --> 00:42:01,560 no surprise there. It's easy to inspect it, audit it, and you know what it does. As opposed to using 392 00:42:01,560 --> 00:42:07,560 other solutions that are black boxes and you don't know what happens to your data. Interesting and 393 00:42:09,960 --> 00:42:18,760 a recommendation, I think, for small groups to move to a private and and safe platform. 394 00:42:19,720 --> 00:42:28,120 Right. Yeah, which is probably a good bridge to a more general question. Because you have 395 00:42:28,920 --> 00:42:36,760 shown multiple ways in which there's actually a really beautiful standard and beautiful 396 00:42:36,760 --> 00:42:42,040 implementations but the the surrounding stuff of people wanting to commercialize it, or own it, or 397 00:42:42,840 --> 00:42:48,680 make it proprietary software, make it actually... take the good stuff and make it worse. 398 00:42:50,920 --> 00:42:57,480 Do you have any hopes, do you see any any ways, that this is going to take a different turn now? 399 00:42:57,480 --> 00:43:05,960 That either users or Big Tech are… I'm not sure. I'm a bit pessimistic because 400 00:43:06,680 --> 00:43:13,160 one of the issues we see is that a few players can decide overnight to change direction in ways 401 00:43:13,160 --> 00:43:20,040 that you you cannot do from your level. So we're all using this similar platforms that have similar 402 00:43:21,080 --> 00:43:29,640 interests. These cloud providers namely Google, Apple, all these people that we rely on them for 403 00:43:29,640 --> 00:43:37,640 our computers to run at all nowadays. They force upon us various changes that at the developer 404 00:43:37,640 --> 00:43:44,520 level you cannot change them. You have to go one, two levels up where policies are being made and 405 00:43:45,320 --> 00:43:51,960 carefully analyzed to see if it makes sense or not to do things that are being imposed on many of us 406 00:43:52,920 --> 00:44:01,960 One of the issues that I consider harmful is the misuse of secure identities today. We all claim 407 00:44:01,960 --> 00:44:07,080 we want that and there is a need for encryption but after all is said and done we end up with… 408 00:44:07,800 --> 00:44:14,120 the outcome is that for the end user suddenly it has, how do you say, is being just tracked all over 409 00:44:14,120 --> 00:44:21,240 the place. And while encryption is a good thing a lot of things don't have…. shouldn't even be encrypted. 410 00:44:22,040 --> 00:44:26,840 If I want to broadcast news, I don't need to have an encrypted session to, I don't know, a 411 00:44:26,840 --> 00:44:34,520 newspaper where they just, I don't know, just share the same information. And by imposing these TLS 412 00:44:34,520 --> 00:44:41,080 certificates everywhere, it becomes a nuisance to surf the web. All these certificates introduce a 413 00:44:41,080 --> 00:44:46,760 level of, they say security, but in the end, for the end user, ends up not being able to surf websites 414 00:44:46,760 --> 00:44:53,240 which are too old, they don't have the right certificate, and all these pop-ups that show up 415 00:44:53,240 --> 00:44:59,640 on your computer with things that nobody understands. I have to, you know, it's just... they're meant to 416 00:44:59,640 --> 00:45:05,960 scare you, so you just always go for their choice, to do their stuff, accept their conditions. 417 00:45:06,920 --> 00:45:12,760 And the people are slaves to this technology that is being controlled by few large players. And in 418 00:45:12,760 --> 00:45:21,080 this sense I don't know how people at my level can change it. We did make the internet run but 419 00:45:21,080 --> 00:45:27,400 now, once it runs, it's being taken over and hijacked by interests that are very high. And I don't know 420 00:45:28,200 --> 00:45:33,640 if we have the stamina to go there and fight. Because it's, I don't know, it's a pretty big 421 00:45:33,640 --> 00:45:42,040 battle and at my level I can't fight it because of lack of resources. But maybe to to add a little 422 00:45:42,040 --> 00:45:49,000 glimpse of hope in there. I do get the impression that people are getting more aware of the problems 423 00:45:49,000 --> 00:45:55,960 that it brings. And people in general and also governments and that there is already for a while 424 00:45:55,960 --> 00:46:03,080 people are pushing back... There is of course people look for alternatives as far as they can. And they 425 00:46:03,080 --> 00:46:07,720 do look and they do find alternatives. And we are such an alternative when it comes to real-time 426 00:46:07,800 --> 00:46:14,760 communications. But it's still confined to the developer type of persons. People who are 427 00:46:14,760 --> 00:46:20,040 aware because we marketed around SIP but nobody knows about SIP. People use a phone, they 428 00:46:20,040 --> 00:46:26,840 don't even know about technical things. Then if you try to make it something that is user-friendly 429 00:46:26,840 --> 00:46:34,040 - between quotes -suddenly it gets lost into the amalgam of other, similar solutions with small 430 00:46:34,040 --> 00:46:40,200 descriptions that nobody knows what they do and how. For that, then again, you make a client which 431 00:46:40,200 --> 00:46:44,600 doesn't... in the end looks the same like others. At least when you download it, or look at 432 00:46:44,600 --> 00:46:51,480 description. You can't tell what's the difference and then then they have better marketing. So you're 433 00:46:51,480 --> 00:46:58,200 lost there in trying to be normal, let's say, you get lost. Trying to become an expert in a certain 434 00:46:58,280 --> 00:47:05,320 area works but then your audience is confined to the experts in your ecosystem or, I don't know, 435 00:47:05,320 --> 00:47:11,640 people who are very tech-savvy and they say" 'Yes I want to have a SIP client where I understand my 436 00:47:11,640 --> 00:47:15,800 data, how it works.' But then again the other people you are calling, they don't care about this. 437 00:47:16,360 --> 00:47:21,240 They have WhatsApp and they don't want to change that even with telegram or other things. They just 438 00:47:21,240 --> 00:47:27,160 have WhatsApp and for them it’s the end. It's too complex already. So I don't know how to 439 00:47:28,360 --> 00:47:32,920 herd people in a certain direction when it comes to open source or open standards. It all makes 440 00:47:32,920 --> 00:47:37,800 sense but the adoption is forced by the default app installed on your phone when you buy it. 441 00:47:38,840 --> 00:47:44,520 So that's hard to fight, right? If you have a pre-installed application on a device you buy. 442 00:47:44,520 --> 00:47:50,040 And a billion people buy the same, then which application do you think people will use? Mine? 443 00:47:50,040 --> 00:47:56,920 No. So in this sense, I don't know, it's an uphill battle which is hard hard to win. Unless a third 444 00:47:56,920 --> 00:48:04,040 party comes with a different ecosystem, different mobile phone, different choices for software. But 445 00:48:04,040 --> 00:48:09,960 now you have none. You have Apple ecosystem and Google Android. And there is no other mobile 446 00:48:10,920 --> 00:48:17,400 phone provider even or operating system that is worthwhile noticing out there. So how can you change 447 00:48:17,400 --> 00:48:26,600 this. I can't change this. You can change it maybe. How would you do it. Well, again, to try to keep a 448 00:48:26,920 --> 00:48:33,720 bit of a glimpse of hope here. One thing I find very important is... The worst thing in the world 449 00:48:33,720 --> 00:48:38,760 is if you see a horrible problem and there is just you see no solution to it whatsoever. No 450 00:48:38,760 --> 00:48:44,680 no road to walk, no perspective that you can take… There are and I don't want to take the 451 00:48:44,680 --> 00:48:50,280 optimism... No, no, but that's where I'm going. It's like, people like you who are building 452 00:48:50,280 --> 00:48:57,960 this stuff, even indeed when it's really hard to get it out there because of this unequal playing 453 00:48:57,960 --> 00:49:03,880 field. For me, what gives me hope, is the fact that at least it's there, you 454 00:49:03,880 --> 00:49:09,880 know. If somebody comes to the realization this is no longer what I want, then there is a your 455 00:49:10,440 --> 00:49:16,040 projects but there's a whole host of stuff out there, that they can go to... 456 00:49:16,760 --> 00:49:22,200 Right, so it's good, as you mentioned, it is it's good to be optimistic. 457 00:49:22,920 --> 00:49:28,840 Don't take my pessimism... I'm looking specifically at my capabilities and my limitations. So I know 458 00:49:28,840 --> 00:49:35,800 how much I can do. And then of course, knowing how far you might want to go but you can't, you feel 459 00:49:35,800 --> 00:49:41,560 a bit frustrated. But of course, it's just a personal feeling it shouldn't be contagious. 460 00:49:41,560 --> 00:49:49,560 Well, I from our part, think that you are doing an awful lot actually to contribute to 461 00:49:50,920 --> 00:49:57,320 making this better, this problem… to addressing these issues. So maybe from your 462 00:49:57,320 --> 00:50:04,200 perspective, it's a bit negative but from my perspective you are doing an awful lot. So 463 00:50:04,200 --> 00:50:10,360 thank you for that. Yeah well, it's a compliment, thank you very much. And maybe on that note, 464 00:50:12,520 --> 00:50:17,640 if the people who are listening to this podcast, if you.. What could they do to bring 465 00:50:18,280 --> 00:50:28,440 Blink and Sylk further. I think that the software stands for itself. And if you want 466 00:50:28,440 --> 00:50:34,680 to communicate over, let's say, you want something that works over time - look at email - you can have 467 00:50:34,680 --> 00:50:42,440 the same address for email as for Sylk. And because it's based on a standard you probably 468 00:50:42,440 --> 00:50:48,840 will still use it in 20 years. And I think this is, I’ll say, an advantage that many have missed, 469 00:50:49,640 --> 00:50:56,840 or nobody has emphasized enough. So but then again, it's what do you do if your phone 470 00:50:56,840 --> 00:51:02,200 number becomes your identifier. You know, you start the WhatsApp and it's your phone number. 471 00:51:02,920 --> 00:51:07,800 Where is your address, where is…? And then you're stuck with that and you can't even move your 472 00:51:07,800 --> 00:51:12,360 WhatsApp to another phone without great pain. And you're stuck in that ecosystem. With SIP you have 473 00:51:12,360 --> 00:51:18,760 the flexibility to have many devices. And you have this feature called parallel forking which is 474 00:51:19,400 --> 00:51:24,520 well SIP invented the fact that you can get called and accept the call in different places, at any 475 00:51:24,520 --> 00:51:32,440 moment. This was a SIP invention this parallel forking feature. This appeared later, 476 00:51:32,440 --> 00:51:39,880 much later, in WhatsApp on Telegram and other apps. But before you could not even do this. SIP 477 00:51:39,880 --> 00:51:47,080 protocol is the one that made it, actually, deployed it the first time. And they copied from it and there 478 00:51:47,080 --> 00:51:52,120 are a lot of things that SIP did right. And other did wrong, like with the video conferencing. So 479 00:51:52,600 --> 00:51:59,480 yeah, it's it's good to have alternatives. And then the problem is that all these alternatives 480 00:51:59,480 --> 00:52:07,160 had a lot... a short lifespan. And ours, we hope, it still has energy to go forward. And it did so far, 481 00:52:07,160 --> 00:52:13,560 for many years. And this is something that is important... I don't want to change my 482 00:52:13,560 --> 00:52:19,720 company programming language every six months. It's terrible. Same for communications, I don't want to 483 00:52:19,720 --> 00:52:24,840 look for another set of tools every… And SIP is portable in the sense, if you have a... 484 00:52:25,640 --> 00:52:30,840 Blink, again, is not the only one you can put your address into another client. This alone gives you 485 00:52:30,840 --> 00:52:36,360 some sort of... how do you say, as an end user it gives you the freedom to use another 486 00:52:36,360 --> 00:52:42,360 software if you want. And you're not obliged to use... you have the coupling between the address 487 00:52:42,360 --> 00:52:46,920 and the client, it’s the same like your email address, yeah, you can put it in any email client on Windows 488 00:52:46,920 --> 00:52:53,400 or on your mobile it still works, right? This philosophy doesn't exist outside our ecosystem. 489 00:52:53,400 --> 00:52:59,400 What do you mean you take your address put it in another vendor’s SIP client and then you can call 490 00:52:59,400 --> 00:53:05,240 again with the same things? This is only in SIP possible and because of this ecosystem made it 491 00:53:05,240 --> 00:53:10,440 possible. The rest don't let you do that. If you have your WhatsApp identity you're not gonna 492 00:53:10,440 --> 00:53:15,880 run away with that anywhere else. They force you to just... all your contact list is stuck there. 493 00:53:16,520 --> 00:53:21,160 And of course, there are ways to import/export but there is no way to call a WhatsApp user from a SIP 494 00:53:21,160 --> 00:53:27,320 account. So they all close their islands and they have their user base... And it is actually the only 495 00:53:27,320 --> 00:53:33,640 way to cross this borders is by using SIP protocol, in reality. Anywhere there is any kind of 496 00:53:33,640 --> 00:53:40,760 interconnection between whatever islands, closed islands of... they may even use SIP internally or 497 00:53:40,920 --> 00:53:46,520 not, doesn't matter, the border is always SIP. To get the audio call or a video call carried across. 498 00:53:47,400 --> 00:53:53,960 So again, SIP is omnipresent, a good choice, and is being adopted quite a lot. 499 00:53:54,520 --> 00:54:02,120 But it's not advertised as such. So SIP it is a winner in this battlefield. But it's an invisible 500 00:54:02,120 --> 00:54:08,440 player, nobody knows about it. But it is there, as a building block, as a client, as a server, 501 00:54:09,000 --> 00:54:17,560 as an interconnect path between two islands of different solutions that need to interoperate 502 00:54:17,560 --> 00:54:26,760 with each other. So in this sense SIP did win the battle. But it is not deployed as such inside 503 00:54:27,720 --> 00:54:33,960 WhatsApp. Actually Apple themselves used SIP. I don't know today anymore but they had a SIP 504 00:54:33,960 --> 00:54:39,320 client. They had face time running SIP. When the program crashed, you got a SIP dump out of it. 505 00:54:40,200 --> 00:54:45,960 They didn't say they used SIP until people saw the softer crashing. But you see, SIP is adopted. 506 00:54:45,960 --> 00:54:53,320 But then it's obfuscated by whomever is using it,tries to cover and hide it. So in this sense 507 00:54:53,320 --> 00:54:58,360 SIP is the winner. People try to say that we don't use it but we know… 508 00:54:58,360 --> 00:55:10,920 Well thank you very much for for unhiding SIP and showing it to us and giving it a... shining a little bit of light on it. Because it obviously deserves that. 509 00:55:12,360 --> 00:55:19,960 Ronny, do you have any more questions? Well I think not, technically, because this was 510 00:55:20,040 --> 00:55:27,800 a masterclass in SIP maybe. Yeah very interesting. 511 00:55:28,600 --> 00:55:36,520 You also said multiple times that you were helped by the NGI funding 512 00:55:37,160 --> 00:55:43,480 and that you could not do your work without the NGI funding. So yeah, we had a question there but 513 00:55:44,200 --> 00:55:51,640 you answered that one already. But maybe, how would... what advice would you have for 514 00:55:51,640 --> 00:56:00,840 other people who are considering applying for NGI funding? Well advice, I don't have advice, but the 515 00:56:00,840 --> 00:56:07,000 reality is that a lot of funding is lost because, how do you say, no follow up and - but whose fault 516 00:56:07,000 --> 00:56:11,880 is it. I mean you may have a good idea but how to monetize it, how to survive after initial 517 00:56:11,880 --> 00:56:19,080 implementation. It's a problem for everyone. Advice... I remember starting my business. I was in amsterdam 518 00:56:19,080 --> 00:56:27,720 with the KvK, the chamber of commerce, and there was this seminar about startups. And there was this 519 00:56:27,720 --> 00:56:34,280 lady presenting and said like: 'You are all starting entrepreneurs' - and there are like probably a hundred 520 00:56:34,280 --> 00:56:41,240 of us there - 'do you know how many of you will still be doing what you came here for, and your 521 00:56:41,400 --> 00:56:46,920 business. And over one year time, how many of you will be still here?’ Or, no it was three years time. 522 00:56:46,920 --> 00:56:53,720 And everyone said like, well, maybe 50 percent. In the end the lady said: ‘Only three of you will still 523 00:56:53,720 --> 00:57:00,440 be doing what you aimed to do that you are here for today.’ Three out of a hundred and everyone booed 524 00:57:00,440 --> 00:57:07,880 and everyone said: ‘No way, our ideas are the best and we will be successful.’ And you need that to 525 00:57:07,960 --> 00:57:15,080 start. But then the reality is said a lot of things just don't have a future. They start but 526 00:57:15,080 --> 00:57:24,760 they don't go too far. And then advice? How can you give advice in this direction? It's 527 00:57:25,640 --> 00:57:31,480 a roller coaster. You have to observe… You have, first of all, to not just do things in a 528 00:57:31,480 --> 00:57:39,080 vacuum. You have to find an ecosystem, where, how do you say, you're not alone. And to be 529 00:57:39,080 --> 00:57:43,560 observed means there are others like you. So you cannot just be alone with the best solution in a 530 00:57:43,560 --> 00:57:50,840 place where nobody else is. Because you'll not get noticed or… So whatever you do, try to find a 531 00:57:50,840 --> 00:57:55,960 place where you have more people like you. And go there and try to see if there is a place for what 532 00:57:55,960 --> 00:58:01,960 your idea is trying to achieve. So don't be alone, go find your community. Find the people 533 00:58:02,760 --> 00:58:11,480 that are related to your field and try to get in there early. And especially if it's a growing 534 00:58:11,480 --> 00:58:17,320 trend it's good to be there early. And then even if you're late it's still not bad. But try to find 535 00:58:17,320 --> 00:58:24,200 a community where your solution fits. And try to start from there. Because funding alone will 536 00:58:24,200 --> 00:58:34,760 not solve your problems, long-term. Yeah, well thank you. That's good advice. Okay well, from 537 00:58:34,760 --> 00:58:40,600 our side I would say I'd like to say: thank you very much for this conversation. Thank you 538 00:58:40,600 --> 00:58:44,040 for inviting me to this session. 539 00:58:54,200 --> 00:58:54,920 end