Adrian Georgescu on how Sylk makes for smooth video conferencing

Sylk Suite would not have been possible for a small company like AG Projects until open source code sharing allowed a small team to replace an army of engineers and NGI financing allowed Adrian Georgescu to dedicate time to his innovation. Adrian explains more.

Usage of video conferencing applications has exploded recently due to the recent limits imposed upon face-to-face meetings due to New Coronavirus – how has Sylk held up?

During the lockdowns, it has been pretty stressful for many and we saw more people using Sylk to make multiparty video calls. Sylk is easy to use, just share the URL, which is handy when inviting people to your video conference for the first time. People like it, because it’s frictionless, they don’t have to sign-in or create an account, unless they want to use the application on a daily basis.

Sylk Suite, consisting of a server and a client, was originally designed to support rooms for up to ten participants and now this limit is being stretched. We’ve been encouraged by feedback on the need for more features and about existing functionality. It gave us a boost of confidence, it meant that we were not wasting our time. But beyond our own capabilities, we really needed extra funding and help to fix limitations in third-party solutions like support for Apple’s Safari web browser, I’ll go into more detail on that later.

What’s your background?

I was born in the old country, Romania. I’m an engineer and after graduating from Bucharest Polytechnic Institute, I moved to the Netherlands where I started my career by working for innovative Internet and telecom companies. In 2001 I founded my own company AG Projects. I was lucky to have been mentored by Henry Sinnreich, who taught me about the original Internet philosophy of a network of networks, which was designed to run applications in the end points. This philosophy is always a winner, proven by the fact that we are still here today, and still innovating.

Explain more about the original intent of the Internet

The Internet was supposed to be simple, apps were supposed to run at the edge of the Internet not inside the core. Every client (e.g. a person making a call) is also a server for others; and the roles simply interchange in the opposite direction.

Because of commercial pressure however, server functions started to migrate to the core of the network. E-commerce gave the Internet a boost in terms of usage, so that merchants could be reachable. These commercial services changed the dynamic so that end-users were only acting as the client, never a server. Which leads to the questions of who is running the server, what are their incentives, who is paying for the costs? When the Internet had only a commercial aspect, it did not matter, the functions could best run where there was a cost benefit, but today the landscape has changed.

Sylk video conference runs inside an Internet browser – is that new?

Commercialisation of the Internet, which was initially a tool for academics, was made possible through the invention of Internet web browsers. This was a revolution and we are seeing a new revolution today, for real time communications. Five years ago, it was impossible to do real time communication in a browser. Two years ago WebRTC – real time communications in a web browser – started to become technically possible and pleasant to work with at the same time.

Sylk Client functions on most developed browsers; Chrome, Firefox, Opera, Brave. But not so well on Safari web browser, because Apple decided not to support an interoperable video codec called ‘VP9’ which evolved out of Google. These modern web browsers provide capabilities for real time communications, by accessing your microphone and camera, a technology that only emerged a few years ago. W3C and IETF worked together to create specifications that are used in Sylk Suite.

How does Sylk work?

Behind the curtains, Sylk Server uses the SIP protocol, which allows for end points to discover each other and connect over the Internet in real time. Standardising Session Initiation Protocol (SIP), was a revolutionary idea, because prior to that, real time interaction was only possible over the phone networks. SIP functions the same way as an email address – but email is asynchronous – it is fast but not real time. You ‘fire and forget’, you ‘store and forward’, hop by hop.

The public telephone networks adopted SIP protocol. The business model of phone calls and pay-per-minute charged the end customers via a public switch telephone network (PSTN). The end points were still the old telephones and the ‘last mile’ old technology of phone numbers was still being used, but inside the network, everything had changed. SIP was invisible, network operators made money, but the end users could not benefit from the new features. The old phone handset was a dumb device; there was no way to make new applications for it. The web browsers, changed this, but back to this later.

Skype, by using proprietary technology allowing the end user to make peer-to-peer, decentralised, high quality wide-band audio calls, exploited the innovation of SIP. The original version was based on the Internet philosophy, there were no dedicated servers, every client was acting as a server for other users. Initially, video was not really used, because the Internet bandwidth was insufficient.

Microsoft’s acquisition of Skype changed the inherent privacy aspect and instead of distributed clients, today all traffic runs through Microsoft dedicated servers. The harvesting of metadata such as user location and patterns of connections is exploited for both commercial and political purposes. As with Facebook and Google, by using Microsoft’s service, end-users must agree to share their data, without knowing how or why Microsoft would use it; and such blanket data acquisition is seldom used for the benefit of the end-users. There were concerns over privacy and people wanted to retain control over their data, but due to technical limitations and availability of similar software, implementing real time communications was never easy, users had little to no choice. Our choice was to reverse this trend and go back to the roots.

How did your small company take on the tech giants?

Up until a few years ago, it was not possible for companies like AG Projects to make changes to the status quo of online communications, due to lack of generic software libraries and additional funding. This came within reach a few years ago – small teams of software developers could develop solutions that in the past were only possible by an army of engineers with a lot of funding. Open source development made it possible to share code, one can download and reuse code and reduce the development costs using this methodology.

If you plan to use Sylk frequently, you can download the Sylk Client app that works rock solid on desktop operating systems like Linux, Mac and Windows. A web page is more ephemeral – you can get lost if you have a lot of tabs open. The fact that Sylk Suite is open source means that, for those who are interested, you can download and run the server side yourself and you can inspect the code. You can see that there is no secret behaviour, no metadata or media interception and no data relay to third parties occur. You are welcome to consult our code and contribute to it!

How did NGI support the development of Sylk?

We received NGI support through NLnet/NGI Zero when the server solution had already existed for a few years with SIP audio, chat and file-transfer conferencing support. With the funding, we added the support for modern web browsers, video conferencing and screen sharing elements, making it possible to integrate all media inside a web browser-based solution.

In the case of small companies like ours, external funding is dearly needed, as most of the services are provided free to the end-users and the software has an open source license. It’s pretty difficult to monetise such solutions. Commercial competitors provide a free service through funding from the monetised data or they are subsidised by other activities or by capital raised with specific goals.

Without NGI-type funding, with no expectation of a direct return on investment but, rather a drive to see the Internet philosophy being implemented, this then subsequently parlays into business opportunities. It is a chicken and egg situation.  We started working with NLnet Foundation prior to NGI but there were funding limitations and I was subsidising the development of Sylk with income from my own business, AG Projects. NGI allowed us to develop at a faster, business pace. I could focus more on Sylk Suite, both the servers and the client, we hired an extra employee and we could achieve what was not possible before.

I had the chance to meet the NGI community at FOSDEM 2020 in February this year. I interacted with other similar-minded people; it was useful to see the whole ecosystem. Given the right people with the right understanding of tech and privacy I get a sense of convergence. We can do great things together!

What next for Sylk Suite?

Our current focus is to build the mobile experience. Sylk today is perceived to be a desktop application and we are working hard on the mobile version. Without a mobile presence, it is hard to claim a place on today’s ecosystem of mature and highly adopted solutions. This is now work in progress and we are fortunate that the NGI funding continues. We will have Sylk Mobile application running on iOS and Android by the end of August 2020. We hope that this will help us thrive as a business. Wish us luck!

For more information about Adrian Georgescu and AG Projects, see: ag-projects.com

Twitter: @agprojects