Modern Software Experience

2009-06-24

Microsoft

case study

Microsoft has published a Customer Solutions Case Study about Ancestry.com’s use of Microsoft’s Silverlight. It is interesting both for what it tells and what it does not.

Silverlight

Silverlight is a run-time platform for Rich Internet Applications (RIA) that competes direct with Adobe Flash. Like Flash, the Silverlight run-time is a free browser plug-in with limited availability across computing platforms.

Silverlight is available for major desktop web browsers Firefox, Safari, Opera and Chrome on Windows, as well as for Firefox and Safari on both Windows and MacOS. Linux users have to rely on Moonlight by Project Mono.
Silverlight is additionally available for Microsoft’s own Internet Explorer and a variant for Internet Explorer Mobile is in the works, but it is not available for browsers on Palm OS, iPhone OS, Symbian (Nokia), WebOS or Google Android.

Silverlight versus Flash

The aim of Microsoft’s case studies is to convince you how fantastic Silverlight is and how well it compares to Adobe Flash. The case study quotes Doug Reid, Ancestry.com’s Director of Development, complaining that Ancestry.com’s Flash-based Member Trees had performance challenges and that The technologies that we were using were limited in providing the kind of functionality and performance that we wanted to implement., which is easily misread as stating that Flash is limited in functionality and performance, while the quote is actually about the entire collection of technologies Ancestry.com uses. In this case study, Ancestry.com publicly admits that their technologies were limited in functionality and performance.

cost and logistics

After thus trashing Flash a bit, the case study goes on to note how great Microsoft Silverlight is, mentioning such compelling features as richer graphics and animation, as well as cost and logistics; lacking the necessary expertise, Ancestry.com had to outsource part of their Flash application to a third party, which resulted in delays and expenses.

spin

It is interesting how much spin the case study maintains. It seems to be saying one thing when you read it superficially, yet almost the opposite when you read carefully, think between the lines, and consider what it says.

Silverlight expertise

Superficially, the article seems to imply that Ancestry.com did not need to outsource Silverlight development because it already had Silverlight expertise in-house, but that was obviously not the case. Ancestry.com was not using Silverlight yet and had no experience with Silverlight at all. The case study is Microsoft’s celebration of Ancestry.com switching from Flash to Silverlight.

Moreover, after first suggesting that Silverlight was so much easier for Ancestry.com that they could manage it without outsourcing, the case study goes on to admit that Ancestry engaged with InterKnowlogy, a Microsoft Gold Certified Partner based in Carlsbad, California. Apparently engaging with is less costly and less prone to delays than outsourcing is.

Flash expertise

The case study notes that Ancestry.com had to outsource a portion of the Flash development work because it did not have enough internal expertise. In other words, it did have some experience with Flash already, so it arguably made more sense to nurture that expertise than to start learning a new platform such a Silverlight. Without previous expertise in Silverlight at all, having to outsource to engage with some third party was practically unavoidable.

outsourcing

Another reason why the case study does not state outright that Ancestry.com did not outsource the Silverlight work may be that these cases studies are typically done when a company has called upon Microsoft Consulting Services to guide their development efforts.

mistake

So, when you consider the same statements carefully, the conclusion that Ancestry.com’s switch from Flash to Silverlight was a mistake and that Ancestry.com should have leveraged its growing Flash expertise instead seems almost inevitable. Abandoning Flash while the developers were becoming experienced with it seems a unwarranted destruction of development capital.

outsourcing

Besides, the whole idea that Ancestry suffers delays and costs because it outsourced some of its Flash development is odd to begin with. Ancestry can afford to hire a few extra developers and surely would not have done so if the benefits did not outweigh the cost.

The worrisome aspect is that they outsourced at all, because of what they outsourced. They did not outsource something relatively generic, such as the creation of custom reports for their payroll data. Ancestry.com outsourced the development of a customer-facing core business application.
Surely, once Ancestry.com had made the decision to go with Flash, it made more sense to buy the external company for its Flash expertise than to outsource to it? …unless Ancestry.com was already having second thoughts about that decision, and considering switching to Silverlight instead.

The case study confirms that Ancestry.com was still debating technologies for its web viewer when Microsoft released the first version of Silverlight.

real argument

Microsoft’s real argument in favour of Silverlight is that Silverlight is Windows Presentation Foundation (WPF) for the web, that it allows using the same technologies, even the same code for both desktop and web applications. There are admittedly some differences between the WPF for the desktop and Silverlight for the web, and those differences cannot be ignored, but they are similar and both part of the group of technologies that make up the Microsoft .NET universe. Both are supported by Visual Studio, both can be used with any Microsoft .NET programming language.

The real argument in favour of Silverlight is not having to learn a new language or development environment, but being able to use existing tools and languages instead, and even reuse code tried and tested code from existing projects. As the aim of the case study is not to highlight Ancestry.com’s application, but to convince technology decisions makers that Microsoft Silverlight is a better choice than Adobe Flash, these arguments are repeated throughout it.

one platform

The appeal is obvious. Just one platform, one set of compatible technologies, one tool set, one group of developers to create applications for both the desktop and the web.
With rich desktop functionality for web applications and deep web integration in desktop applications, the boundaries between desktop applications and web applications blur.

Ancestry .NET

Ancestry.com seems to have been sold on Microsoft .NET as its development platform several years ago already. The first publicly visible result of that was Family Tree Maker 2008.

The problem with Family Tree Maker, a product that the case study does not even mention in passing, is that it is not exactly a great argument in favour of Microsoft .NET in the hands of the Ancestry.com developers.

Family Tree Maker 2008 won the GeneAward for Worst Genealogy Product of 2007 with overwhelming ease. Some time after receiving that award, Ancestry.com publicly admitted that Family Tree Maker is slow, defective, incomplete and unstable (see The Family Tree Maker 2008 Service Pack 3 Beta Experience and Family Tree Maker 2009).

Released about a year later, Family Tree Maker 2009 showed so little improvement over the disastrous Family Tree Maker 2008 release that I concluded that it was hard to hold any hope for the future.

However, if I am right in assuming that Ancestry.com decided to obtain Microsoft .NET guidance from Microsoft Consulting Services, there may be hope for it yet. Family Tree Maker 2010 could be a pleasant surprise.

twins

That neither Microsoft nor Ancestry.com is eager to highlight how the Microsoft .NET-based Family Tree Maker 2008 failed so hard that loyal customers switched back to Family Tree Maker 16 is understandable, but it is still odd that it is not mentioned at all. Family Tree Maker is an important part of the overall picture painted here.

Reconsider the basic idea of using the same technologies for both the desktop and the web. Ancestry.com will certainly try to leverage that capability, to develop code once, for use in both Family Tree Maker and Ancestry.com. The practical result for the user may be that Ancestry.com’s desktop application and web site may start looking like twins separated at birth.

links