Jaan Tallinn - Engineer Behind Skype
Skype’, without any doubt, has made the world a better place by simplifying the way we communicate on the Internet. CE is extremely proud to have Mr. Jaan Tallinn, the engineer behind Skype.
CE: Hello Jaan, you are an engineer at Skype. Tell us about your job.
Jaan: Hello! My role in Skype is three-fold. First and foremost, I’m responsible for the architecture of what we call SkyLib – a cross-platform library written in C++ that underlies the functionality of Skype on all platforms we have developed clients for – ranging from Microsoft Windows to Sony Mylo, to DECT and wifi phones.
Second, I take great interest and have always been involved in Skype UI and usability design. It’s actually easy for everyone at Skype to be involved in almost any aspect of the product design, as each project or “Skype guild” tends to have an associated Skype multi-chat. Some of those chats have turned into persistent forums that run for years and have even developed their own folklore!
Third aspect of my role is just being one of the first guys who’s still around. This ranges from being a source for “historical information” about why various things at Skype ended up being what they are today, to coaching new engineers, to participating in various “think tanks”, to giving an occasional speech at company events.
CE: How does Skype work?
Jaan: Skype is a piece of software that you can download for free and install on your computer or Windows Mobile device. It can then connect to other Skype users directly over the Internet through something that we call the “Global Index” and this is really the heart of Skype. This means that every computer running Skype can very easily find out who is available on Skype, regardless of their location, and can then connect to them regardless of wherever in the world they are. And there is no central server, the whole thing manages itself dynamically as people come online and go offline. So when you call someone, the computer finds out if that person is online, and if so, a direct connection is made to their computer and the call is connected, establishing a direct voice channel. If the other person is not online, then you can leave them a voicemail that gets stored in our voicemail servers and is delivered when the remote party comes online, or you can also get forwarded to their mobile if they have configured their Skype for this.
One of the cool things about this dynamic connecting that I talked about is that it is very stable and does not degrade when a lot of people come online. With landlines and mobile phones, there are certain times like the New Year's Eve when a lot of people come online and all try to call each other. And so the calls may not be connected at peak times, as the system has only been scaled for “regular” use and it would be very very expensive to build a system that could accommodate peak periods but would otherwise sit idly most of the time. With Skype, the more users we have online, the more stable the whole thing is and your calls always get through.
CE: How would Skype establish connection when a Skype user calls a landline?
Jaan: We are working with a number of connection partners around the world to provide SkypeIn and SkypeOut. To connect SkypeOut calls, we would have to connect to each individual phone network in each of the more than 200 countries. This would be fairly complex to set up and run, but there are companies who do this for us. So that, for example, one company connects to networks in 30 countries and another in 50 and so on. And so when you call a landline, the call goes from your computer to the company who then connects the call to your final destination.
This setup requires a lot of maintenance to ensure the best quality and pricing for our customers. Since we now connect calls in quite big volumes, we can be pretty aggressive in our price negotiations to ensure the best possible prices for our customers. We can pass on the savings with products like Skype Unlimited in North America, and Skype Pro in many other countries, where you pay a fixed price and can then have unlimited calls to landlines. And since we are maintaining a truly global network, we have to do a lot of daily maintenance with our partners to ensure the best quality and stability of the calls.
CE: What did Skype engineers do to ensure that the calls are noise free?
Jaan: Since Skype was launched, it has been known for its high audio and now also video quality, and we continue to invest in this area because we want to remain simply the best.
One of the things that people first notice when getting started on Skype is that it sounds much “clearer” than landline or mobile calls. This is because on the phone system, the voice bandwidth that you can “push through” the system is limited for historic reasons, and so there is a certain “tin can” effect and higher and lower sound frequencies are lost. But on the Internet, we do not have any limits for the quality, and so we can make it sound much clearer.
And yet there are a lot of problems we must solve to ensure optimal quality. One problem is indeed noise, but there are also things like echo (for example when you are using laptop speakers and microphone, there may be what's called “feedback” ), and unstable networks with big packetloss, and may other similar technical challenges. So we continue to do our own basic audio and video research in our laboratories and we have actually some of the top talent in the world in this area working for us. We keep improving our call and video quality with every version, and pay special attention to the “tricky” setups, such as laptop speakers and microphone with background noise. And to make things more complicated, with things like wifi phones Skype must ensure maximum sound quality while running on a processor that has limited processing power. So there are very many interesting technical and research challenges for our teams here.
CE: How are Skype voice calls secure?
Jaan: We want to keep things simple for users. But under the hood, we have some pretty sophisticated security technology running to keep the calls and other communications for users secure. We use things like Public Key Infrastructure, algorithms like RSA and AES and many other industry-standard technologies. All Skype calls and chats are end-to-end encrypted. I'd rather not go into technical details here, but there's a lot more reading available on the security section of Skype.com for those who are interested.
CE: Is Skype protected against Reverse Engineering? If yes, how?
Jaan: ... selle jätaks vastamata.
(I’d rather not answer that)
CE: How does Skype take care of Firewall & NAT?
Jaan: A lot of people these days have secured their home or office networks with firewalls and NAT. This is good, as it helps keep the networks secure. In this modern era of all sorts of spam, malware and viruses going around, there's never too much security. Skype works fine over these channels. If a direct connection cannot be made, then we also have tools for making “reverse” connections from the recipient to the caller, or relaying the calls through third parties. As discussed above, the calls are end-to-end encrypted so there are no security risks here.
For those interested, there is a Network Administrator Guide available in the security section of Skype.com that explains this in more detail and also tells you how to configure and finetune your network so that Skype would work optimally. We have put a lot of effort into making Skype work in all network setups with no configuration, but you can improve call quality by making some small tweaks in your network and making sure you are using a high-quality router and other equipment.
CE: How is Skype’s proprietary protocol different from open standards like H.323, Inter-Asterisk eXchange, or SIP?
Jaan: The main difference is that it's a uniform protocol that works and helps us keep everything running. At the time of starting Skype, we looked at the different options that were available by then, but we didn't find any that fully suited our needs. For all these protocols, there are many implementation details that can quickly get very confusing when you just need to build a simple system that works. So we chose to make our own that would support the unique P2P requirements that we had. And it's working out fine. We'll surely keep seeing a lot of evolvement in the protocol space and we'll look at ways how we can be part of this evolution and discussions.
CE: How does your QA team test Skype?
Jaan: Like crazy! Skype is becoming an increasingly complex ecosystem of software and hardware, and so the QA area keeps evolving. Our main product is the client software on different platforms, and so when releasing new versions, we run complex test suites to make sure that everything remains complatible while some versions also innovate and add new features that are later rolled out elsewhere.
At the same time, we also certify hardware and now also software that you can see in our Extras Gallery. For both hardware and software, we offer vendors test kits as part of our Developers Program. This means that the vendors must first test their solutions against our specifications. And if they are convinced that everything is OK, they send their product for final certification to our labs, where we test it again, and only mark it Certified when it passes all the tests. So when something is marked as Skype Certified, you can be sure that it's not simply a mark but a lot of work has actually gone into this to make sure you get the best possible experience.
CE: How does it feel like to work at Skype?
Jaan: Absolutely great. I couldn't imagine a better place for working and building software. The company has been growing a lot, but the spirit remains great and everyone remains committed to building great software and giving our users the best possible experience. Last year, 2006, was also when we moved to new offices in several countries and continents. So if before we had simply great people and a great product, then now we also have extremely cool facilities to keep building great things for Skype.
The best part of our work is that we keep getting “thanks” from people who say that we have improved their lives all over the world by giving them free global Skype or cheap SkypeOut calls. There may be bumps on the road in your daily work, but as long as you keep in mind that you're doing something really for the benefit of people, you'll remain optimistic and committed.
CE: Thanks for taking out time to talk to CE. What is your message to CEans?
Jaan: I like the name of your site. Skype started exactly because there were a couple of crazy engineers who thought that something like Skype would work, which didn't seem very realistic. But now we have managed to build a healthy business, impact the lives of millions of people and can keep doing what we love – building great software. So this would also be my message, don't be afraid to be a crazy engineer and build something great that will change the world. There are many opportunities out there, you just need to identify the ones that you are best in, and find some other people to work with, and then you don't really have any limits.
CrazyEngineers is thankful to Stephanie Zari of Skype for her efforts in making this Small Talk possible.