May 19, 2011

Microsoft, Skype, and Delphi

As you certainly know Microsoft last week announced the acquisition of Skype, one of the largest of the company history. An analysis from the developer's point of view, considering that the Skype for Windows is written in Delphi.

As you certainly know Microsoft last week announced the acquisition of Skype, one of the largest of the company history. In fact, they paid 8.5 billion dollars for the world-known virtual phone company. Now I don't want to get into the financial details, nor comment about the price (quite high, from what I can see, but possibly good to position Microsoft beyond its traditional business).

What I'm mostly interested, instead, is to focus on a detail, but not a minor one. The Skype client for Windows, by large and far their most successful and commonly used one, is written in Delphi. One could wonder is a Delphi application is worth 8 billions, how much Delphi should be worth... but that would be a just a little misleading! It is certainly a good ad for Delphi, hope Embarcadero marketing can piggy-back on it.

Using Delphi was a good for Skype?

From the developer perspective, the real and valuable point is to try to figure out how much the decision to use Delphi was a good one for Skype in the first place, if it contributed to the product success and the company success, and what if they had picked a different development tool. I think the answer to this question highlights some of the most positive features of Delphi for ISVs who want to make the distribution of their applications easy.

The fact you don't need a run time environment (such a Java or .NET) makes the distribution of a Delphi program significantly simpler than a C# or Java application. Also, it makes it possible to support a larger number of Windows versions from a single executable. Now the Skype download is quite large, but it used to be smaller in the early days, when bandwidth was more limited. Still, not requiring dozens when not hundreds of Megabytes of libraries makes it smaller than most managed applications. Beside not needing libraries, there are also no COM component or other libraries requiring a specific configuration on Windows, again making the deployment and installation quite simple.

On a different side, although I don't know much about the internals of Skype, Delphi high quality Windows application integration, the support for multiple socket libraries and sets of visual controls, can help to create the next Skype clone easier than other non-managed development tools, like Microsoft Visual C++.

Skype and Delphi

So, I think Delphi contributed to the success of Skype, altough it is hard to say how much. Now can Skype contribute to the success of Delphi? Possibly... don't you want to use a tool which could let you create an 8 billon company? Jokes apart, letting everyone know that the Skype client for Windows is written in Delphi is a rather good way to push the Embarcadero development tool. But it is not alone, see the for quite a few other applications written in Delphi.




Microsoft, Skype, and Delphi 

I would doubt that Embarcadero's marketing team would try to 
use this for mass advertising, they haven't made any(from my 
knowledge) video in which to show some shiny sparks and HOW 
PRODUCTIVE is Delphi, i.e. how to make a simple tabbed web 
browser in under 5 minutes with Delphi -- extremely simple 
and easy even for a beginner.
Even the "application showcase" is screwed up in terms of 
navigating(no scrollbars, the grid does not always 
automatically scroll...).

Anyhu' this are just a few "issues" that I have with EMB'S 
Comment by Dorin Duminica [] on May 19, 21:34

Microsoft, Skype, and Delphi 

I think the most important thing that Skype can
contribute to Delphi is beyond the strict technical
aspect. Of course Skype relied on Delphi and that was
an important item of it's success. But a smart "good
marketing" + "good UX" combination is key today to
succeed, and that's something Delphi needs to learn.
A marketing strategy is more than the typical "2x1"
promotions, it involves inserting the product into new
markets for example. And UX is more than the better
RAD product you can offer, it involves an clean, easy
and fast way to purchase it.
In any case, there are a lot of new technical items
that will give Delphi new life, such as "64-bit",
"x-plat", the "prism" influence, the "ksdev"
influence... I'm very confident that they should give
Delphi new horizons and a new opportunities to insert
into the market in a more important way, but again
that depends a lot on how the product is marketed.
IMHO, big changes need to be performed in that field
too, a big lesson Skype and other successful products
can teach to Delphi.
Comment by Javier Santo Domingo [] on May 19, 21:42

Microsoft, Skype, and Delphi 

As far as I know Skype uses:

TRichView from
ICE from 
TNT controls (maybe TMS Software owns them now days)
Comment by MihaelaMJ [] on May 20, 03:40

Microsoft, Skype, and Delphi 

 MS will no doubt roll out a .Net client for Skype. 

Since the .Net framework has been included in various Windows releases 
for quite some time, the idea of having to download libraries hundreds 
of megs in size is a red herring.  In fact, it wouldn't surprise me to see 
future versions of Windows include the MS Skype client by default, just as 
Windows includes IE as a default web browser.

The existing Delphi client will likely be kept as an available download for 
older platforms, such as Win95, XP (pre SP3), W2K, etc.

Kevin P.
Comment by Kevin P [] on May 20, 03:58

Microsoft, Skype, and Delphi 


I have some doubts Microsoft, will turn Skype into a 
.NET application, at least in the short run. Yes, they 
might add it to Windows by default, and in fact all 
standard applications that ship with Windows are 
Windows executables, not .NET apps. You mention IE, is 
it a managed app?

As for the download, truly new versions of the OS have 
.NET; but most likely in an older release (so you have 
to download it again, for example in Vista) or a 
previous release requiring some significant amount of 
patching. Still dozen of MB. Try get a release version 
of Windows 7 and install a .NET app using the latest 
version of the framework...
Comment by Marco Cantu [] on May 20, 07:00

Microsoft, Skype, and Delphi 

Skype internals are interesting, the code is heavily 
obfuscated, and many techniques are employed to make 
reverse engineering very difficult. Surely something 
you can't do in Java or .NET easily. Will MS be 
interested in keep such kind of secrecy (or maybe US 
DoD is behind the acquisition? ;-) ? Anyway not 
everything is Skype is written with Delphi, and IMHO 
MS will force a Skype rewrite with its own tools as 
soon as possible (probably killing it meanwhile...)
Comment by Luigi D. Sandon [Skype internals] on May 20, 08:43

Microsoft, Skype, and Delphi 

 This is bad for Delphi, since in a year or two I will
not be able to say to anyone that Skype was built with
Delphi since it will go .NET
Comment by Авра [] on May 20, 13:18

Microsoft, Skype, and Delphi 

Here's an interesting rapresentation of the "social 
universe", where Skype is "the" giant planet:

Nice to know Delphi still plays a paramount role, here. 

BTW, is there a "search" function on Embarcadero 
"application showcase" ? Seems useless to me,  otherwise 
Comment by Angelo Biolcati Rinaldi [] on May 20, 15:01

Microsoft, Skype, and Delphi 

 I love Delphi, but come on people, stop using Skype
as THE example for Delphi. Skype is NOT written in Delphi.
The Skype audio and video codecs are written in c++.
All the libraries are written in c++. All the
networking is written in c++. That's why it's cross
platform for mac, linux, and windows.
They made a thin QT wrapper over their dlls for linux.
They made a thin ObjC/Cocoa wrapper over their dlls
for Mac. And they made a thin Delphi VCL wrapper over
their dlls for windows. The windows version is maybe
5% Delphi code, just used for scrollboxes and buttons.
I can't quickly give links of proof, but 5 minutes of
google-ing will give you job postings and api
references to the c++ core libraries.

Comment by brad [] on May 20, 17:29

Microsoft, Skype, and Delphi 

 Microsoft will not rewrite Skype in .Net. In fact 
look at how long it took for them to rewrite Office 
in .Net. However, they will very likely not write new 
versions of Skype in Delphi. Shortly, the Delphi 
version of Skype will probably be as irrelevant as 
the Delphi version of XNews newsreader.

For now though, it would be good for Delphi 
enthusiasts to play up the fact that Delphi was used 
to build an 8 billion dollar app. Make hay while the 
sun shines.
Comment by John Jacobson on May 20, 17:41

Microsoft, Skype, and Delphi 

I wonder why MS have not paid about 100 thousand
dollars on the acquisition of Delphi after having paid
8.5 billion dollars on the acquisition of Skype. :)
Comment by Serg [] on May 21, 06:28

Microsoft, Skype, and Delphi 

Although the .NET framework is installed on the newer 
Windows distros, I think that the average person will 
begin to lose their appetite for MS Skype when they're 
having to deal with large .NET framework updates.

Many of the IT pros and lay people I spoken with about 
the MS acquisition are apprehensive and don't want to 
see the product change significantly from its current 
implementation.  MS would do well to leave it as a 
Delphi-based app - it works - it's popular - it got that 
way largely because of the Delphi technology approach.
Comment by Doug Filteau [] on May 23, 13:27

Microsoft, Skype, and Delphi 

Why did they buy Skype for a whopping $8.5 billion?

Don't they know Skype is freely available from net?

Big corporates are going dumber and dumber, day by day....
Comment by DllsPwr on March 6, 10:52

Microsoft, Skype, and Delphi 

 Skype is only a small percentage of Delphi. As it was 
already pointed out, the real work is done by stuff 
written in C++. 
Comment by Leo on June 26, 02:01

Microsoft, Skype, and Delphi 

For all the naysayers here, check out the latest
version from Microsoft,  It still contains
a DVCLAL resource, indicating it was likely built with
the Professional SKU of some version of Delphi.  The
PACKAGEINFO resource is also telling.  Wonder if
someone with enough Delphi compiler knowledge could
determine the version of Delphi used?  Not that it
matters, but I'd be curious to know.
Comment by JonRobertson on March 24, 22:30

Post Your Comment

Click here for posting your feedback to this blog.

There are currently 0 pending (unapproved) messages.