Platform Wars - What's happening to the Web?
The Web is replacing the PC as the place where we communicate, work and play. An epic battle is underway over who will control this new platform.
Click here to download a copy of the "Platform Wars" whitepaper in PDF format (1.06MB).
The text of the whitepaper is reproduced below.
Paul Caplin,
founder of Caplin Systems
Where does software run? Next time you write a letter in Microsoft Word, plot a route in Google Maps, or download a movie from the Apple iTunes store, remember that where and how each of those actions actually takes place will determine the fate of some of the world’s largest enterprises.
Once upon a time, the answer to the question “where does it run?” was mainly about hardware. Was the application executing on a mainframe? A minicomputer? A desktop computer? Whichever it was, the software was usually anchored to that machine and to its manufacturer. It was seldom easy to run a program written for one kind of machine on another.
The hardware was the “platform” on which the software relied, and firms such as IBM that controlled such a platform enjoyed great power in the marketplace.
Of course, computer hardware requires an operating system – a software framework that manages its operation and provides applications with the services they need. But in the early days, the operating system was just a part of the computer, built in by the manufacturer.
In the early 1980s, everything changed. With exceptional agility and technical vision, Microsoft introduced the idea of the operating system as a platform in its own right, and in doing so launched the PC revolution. As mainframes faded away, and everything became a PC, it didn’t matter whether your PC was an IBM, a Dell, or an HP. They all ran the Microsoft operating system, and the same application could now run on all of them.
The result: computer hardware became a commodity, and the operating system itself was the platform. And Microsoft became, for a while, the world’s most valuable corporation. Now a new revolution is now doing to operating systems what operating systems did to hardware 25 years ago.
The rise of the RIA
The Web browser was originally conceived as a tool for viewing and cross-referencing documents. It grew with explosive speed into a means of accessing content of all kinds. Now it is evolving into a universal place to run applications, independent of the underlying operating system and hardware.
Open any browser today and within seconds you can be working on a text document or spreadsheet, sending emails, playing music, watching videos - in fact doing most of the things you might have done on a PC yesterday. And you can do this anywhere, without installing any applications, and with all your data securely stored in the Cloud.
Of course, the browser you are using might well be running on a PC. But equally it might be running on a Mac, a netbook, a mobile phone, a TV, an iPad, or just about anything else with a microprocessor in it. It doesn't matter anymore. Once you start working in a browser, the brand of operating system is suddenly no more important than the brand of microprocessor. And the whole concept of a desktop operating system monopoly starts to look very twentieth-century.
Applications that run in a browser rather than on an operating system are called Rich Internet Applications, or RIAs. In the coming decade, the grand prizes in the software world will go to those that can dominate the new landscape that RIAs are creating.
Four firms are locked in an increasingly brutal struggle to achieve this. They are Microsoft, Apple, Google and, slightly surprisingly, Adobe.
The candidates
The potential for running applications (or things close to applications) in the browser was apparent from the first days of the Web, and various competing technologies emerged early on to make this possible. Only three of these achieved any widespread success.
The first was Java, a language developed by Sun Microsystems which made it possible to write “applets” – encapsulated applications that could be embedded in a Web page and run in a secure container called a sandbox. Applets require a proprietary browser plug-in.
The second was DHTML, or Dynamic HTML, which is the automation of Web pages using a browser-based language called JavaScript (confusingly, nothing to do with Java). Originally introduced by Netscape, then almost universally copied, it is now a public standard, built into virtually all browsers.
And finally came Flash, a technology created by Macromedia (now part of Adobe) that allowed browsers to display complex animated graphics. Flash is widely used for online games and entertainment, and for adding visual excitement to web pages. Like Java, it runs in a sandbox and requires a plug-in.
In recent years, all these technologies have either been superseded or have evolved into more powerful forms.
Java applets looked like a winner for a while, but lost popularity with the collapse of Sun Microsystems and the unreliability and inconsistency of the Java plug-in. They are now seldom used for serious Web-based applications. (Java is still widely used to build conventional “heavy” installed applications.)
DHTML evolved into a more powerful form called Ajax, which stands for “Asynchronous JavaScript and XML” and essentially adds the ability to create full-blown applications rather than just interactive web pages. These applications are delivered in exactly the same way as Web pages, but can do most of the things a desktop application can do. With the advent of new standards such as HTML5, further advances have taken place and it is now common to refer to applications that run native in the browser simply as Web applications (or sometimes “native Web applications,” to distinguish them from solutions requiring browser plug-ins).
Flash has been augmented by a new layer called Flex, specifically designed by Adobe for business applications. Flex cleverly exploits the presence of the Flash plug-in in nearly all browsers to provide a platform for business RIAs. In concept and design it is closely modelled on Web applications, but with added graphical animation capabilities. Adobe initially marketed Flex as a separate brand from Flash, but has now changed its mind and is simply calling the whole thing Flash.
And there is a new entrant: Silverlight, from Microsoft. This is a more-or-less direct response to Flex, and aims to provide similar capabilities but based on Microsoft languages and development tools.
There are other RIA-like technologies, such as ActiveX, GWT, Java FX and Curl, but these are not serious contenders. The coming battle is a three-way fight is between Web applications, Flash and Silverlight.
Battle lines
It would be convenient if the three software giants of the early 21st century – Microsoft, Google and Apple – lined up neatly with the three competing technologies. But it is not that simple.
Microsoft, of course, is a big proponent of Silverlight, and is therefore anti-Flash. It has also been slow to enter the native Web race, since Web applications naturally challenge its dominance of the desktop. But now that it has finally lost its monopoly in the browser marketplace, it is competing and innovating with more enthusiasm, as evidenced by its newest browsers and initiatives such as Office Online.
Apple is currently having huge success with a new platform of its own, the revolutionary multi-touch environment that it offers on the iPhone, iPod and iPad. This does not compete with RIAs, but instead cleverly integrates the Web into a new, proprietary and hugely successful family of personal computing devices. Apple is pro-Web, and firmly opposed to Adobe’s Flash, which it regards as a temporary and unnecessary distraction[1]. It is safe to assume that it is also opposed to Silverlight, for the same reasons.
Google, meanwhile, has always strongly favoured native Web technology, and has used it extensively to create offerings such as Gmail, Google Maps and Google Docs. It has used Flash technology from time to time to achieve things that would be difficult by other means, but has tended to move away from this when possible. A prime example of this is the forthcoming migration of Google’s YouTube service away from Flash to Web technology.
Then there’s Adobe. Traditionally an application vendor, Adobe used Flash (which it obtained via its acquisition of Macromedia) to sneak into the platform game via the back door. This was not at all well received by Microsoft and Apple, each of which once had a warm relationship with Adobe as a supplier of applications that ran on their platforms, but now increasingly see it as a competitor to be stopped.
Microsoft and Google have long been locked in combat over the Web as a platform, with Google rolling out a stream of Web applications that replaced more and more of what people have traditionally done on PCs, while Microsoft retaliated with a series of browsers that were strikingly bad at running Web applications.
The shooting starts
Things started to heat up when, frustrated by the poor performance of Microsoft’s browsers, and wanting to control its own platform, Google released a browser of its own. Google Chrome runs Web applications many times faster and more reliably than Microsoft’s browsers, and has rapidly gained market share. Google then announced that it was building an operating system around it, targeted primarily at netbooks.
Around the same time it became clear that Adobe was getting traction with its Flex enhancements to Flash, and might actually succeed in transforming itself into a serious platform player. Microsoft was the first to respond to this, with the announcement of Silverlight – essentially a “Flex killer” based on Microsoft technologies.
Apple also reacted aggressively against Adobe, by refusing to support the Flash plug-in at all on its handheld devices. It was initially cagey about why it was doing this, citing (dubious) performance issues, but it has become clear that Apple is simply determined to stop Adobe in its tracks. This was a very bold move, and many commentators initially predicted that it would backfire and damage sales of the iPhone. In fact, Apple’s confidence paid off, and the loser has been Adobe, with Web designers starting to move away from the use of Flash on websites because it does not work on the iPhone and iPad.
Adobe cleverly countered by adding an option to its Flash Builder development suite allowing developers to create both a native Flash app and a native iPhone app at the same time, thus covering all the bases. Apple waited until the Adobe was on the point of releasing this before announcing that it simply would not allow software created with it to be run on its devices.
This – understandably – infuriated Adobe, and the relationship between the two firms now appears to be approaching open warfare[2]. Apple CEO Steve Jobs recently posted a surprisingly candid open letter explaining exactly why he regards Flash and Flex as a bad thing[3].
At the same time, what used to be an intimate alliance between Apple and Google abruptly disintegrated into a noisy public battle between Jobs and Google CEO Eric Schmidt, following Schmidt’s sudden resignation from Apple’s board of directors. The trigger for this was Jobs’s increasing fury at various Google initiatives that compete directly with Apple, particularly the Android phone – allegedly described recently by Jobs as an attempt by Google to “kill the iPhone”[4]. As a result, not only is Apple now getting friendlier with its old enemy Microsoft (it is rumoured be discussing replacing Google with Microsoft’s rival Bing search engine on the iPhone) but Google has retaliated by cosying up to Adobe, and recently announced that it is building support for Flash directly into the Chrome browser. There have even been rumours of Google buying Adobe.
The platform wars have started, and there are going to be casualties.
What about the technology?
Let’s put politics aside for a moment. Which of the rival technologies is best?
As with most highly competitive areas of innovation, there is a lot of religious fervour among the adherents of each. But actually – despite the passions aroused – it is a hard call to make.
Native Web applications have a fundamental appeal. They have a huge development community behind them, are guaranteed to keep advancing for the foreseeable future, and (unlike plug-in-based RIAs) integrate well with other Web content. It is tempting to agree with Steve Jobs[5] that this is the way that RIAs ought to be: a standard, integrated part of the Web, rather than a proprietary bolt-on.
On the other hand, Web applications currently have three significant drawbacks, which together have created the opportunity for the plug-in technologies to emerge. Firstly, they tend to provide lower developer productivity, since they have evolved in a messier fashion and the development tools are less advanced. Secondly, they are weaker in the areas of vector graphics and animation (although the new HTML5 standard goes a long way towards redressing this). And thirdly, they can exhibit poorer performance, particularly in older browsers.
The issue of graphics and animation is the least important, because all the competing technologies already perform well enough in this area for most business applications, and because the differences between the RIA technologies in this area are fast disappearing.
Performance is also not a decisive issue. Web applications are usually slower than plug-in-based ones in the oldest browsers, but on the other hand they are often faster than them in newer browsers. Further, the performance of all three technologies is now adequate for most business purposes. At Caplin Systems, for example, we have achieved excellent results with all of them for high-frequency trading, among the most demanding of all business applications.
That leaves developer productivity, the one area in which real points are being won and lost. Realising that the development tools available for Web applications were lagging behind those generally provided for desktop application development, Adobe and Microsoft have used their integrated development environments as a key competitive weapon. In this area, however, it appears that Microsoft has a major advantage, since Silverlight builds on the long-established strengths of its Visual Studio, while many reviews of Adobe’s Flash Builder have been lukewarm or highly critical[6].
Meanwhile, many firms are racing to bridge the gap for native Web development, and it is likely that in developer productivity too, the differences between the technologies will narrow rather than widen over time.
Taking sides
What conclusions can we draw from all of this, and what is the likely outcome of the battle?
No one has yet made money out of betting against the Web, and the long-term success of native Web applications seems certain. There are no fundamental flaws in the Web approach that could prevent it from delivering (in time) all the functionality, performance and ease of development that any of the other technologies can offer. Web technology also benefits from the enthusiastic backing of Google, Apple and a vast army of smaller suppliers. These things being the case, it seems likely that Web applications will eventually emerge as the technology of choice for most RIAs.
But the key word is “eventually.” In the meantime, Silverlight offers an attractive solution for developers looking for a familiar and powerful platform that can be easily deployed over the Internet. The immense strength of Microsoft, together with its legion of loyal developers, are probably enough to guarantee a role for Silverlight in the medium term.
It is difficult to be so sanguine about Flash. Flash/Flex was a handy fix during a relatively brief period when Web application technology was immature and Silverlight was not yet present on most PCs. But Silverlight is rapidly gaining ground – it is now installed on roughly half of all PCs, according to most estimates[7] – and Web technology is advancing in leaps and bounds.
Adobe has no clear competitive advantage against these two giants. The Web is more open, more standard and far more certain to prosper; and Silverlight offers all the benefits of Microsoft’s decades of success in building application development tools. While vulnerable to game-changing advances such as Google, Microsoft has a virtually unbroken record of crushing firms that innovate successfully within its domain, and Adobe’s plug-in technology appears to fall firmly into this category.
The advent of HTML5 will undoubtedly lead to a loss of market share for Flash as a way of creating exciting graphics on Web pages, particularly if (as is likely) Apple continues its enthusiasm for HTML5 and its ban on Flash. At the same time, the migration of YouTube and similar sites away from Flash will break its hold over streaming video delivery.
Adobe argues that the integration of Flash with its Creative Suite products makes for better user experience design. But this argument is tenuous at best: many of the world’s best applications were designed without the benefit of such integration.
So while Adobe has enjoyed a burst of success with its Flex initiative, this looks like being a short-lived phenomenon. It does not have a defensible position, and is likely to lose ground rapidly as Web technology matures on the one hand, and Silverlight penetration increases on the other. It is likely that over the next few years, Flash will be relegated to the same category as Java applets: once ubiquitous, now superseded.
Winners and losers
Managers making decisions about RIA technology need to consider many factors. Key among these are the questions of what is happening in the software industry, which technologies are likely still to be around in a few years time, and which technologies are going to benefit from the best and widest support. These are the particular questions that this paper has tried to address.
The factors described above suggest that native Web technology, while lagging slightly at the moment, is the most certain winner in the long term. It is capable of offering all that the others offer, in a more integrated and natural way, and has by far the biggest constituency behind it. In reality, all of the software giants other than Adobe support native Web technology – whatever else they may offer.
Silverlight suffers from not being part of the browser, and therefore being harder to integrate with other Web assets. It is far from universally installed, especially in large corporate environments, but is gaining ground fast. It is likely to do well in the medium term as a relatively quick and easy way of delivering complex applications over the Internet. It will, however, have to contend with fierce opposition from Microsoft’s competitors, particularly Apple and Google.
Flash is currently popular, since it is already present in almost all browsers and allows the construction of attractive applications with fairly high developer productivity. But once Web technology and Silverlight penetration have advanced a little further, Flash is likely to lose ground rapidly, with little to offer that the others do not do better.
At present, none of the three serious candidates for RIA delivery has a decisive advantage. But looking ahead, we can predict three things with reasonable confidence: that there will be Web applications in abundance; that Silverlight will maintain a respectable presence for some time to come; and that it is a brave technologist who places a long-term bet on Flash.
How should these conclusions influence your RIA decision, and what other factors should you take into account? A forthcoming Caplin white paper entitled “Which Web?” will address these questions.
Footnotes
[1] Steve Jobs comments on Flash http://www.apple.com/hotnews/thoughts-on-flash/
[2]
Apple vs. Adobe:
Apple Slaps Developers In The Face: http://theflashblog.com/?p=1888
Adobe Employee: Go Screw Yourself, Apple: http://mashable.com/2010/04/09/apple-adobe-flash-ban/
The Apple-Adobe War Escalates: http://mashable.com/2010/04/08/apple-adobe-flash-compiler/
Steve Jobs Is Not Happy With Google, Adobe: http://mashable.com/2010/02/01/steve-jobs-google-adobe/
[3] See Steve Jobs comments on Flash above
[4]
Apple vs. Google
Apple to battle with Google for mobile ads:
Battle lines drawn in Apple-Google warfare: http://www.theregister.co.uk/2010/03/15/apple_google_talent_tussle/
[5] See Steve Jobs comments on Flash above
[6]
Criticism of Adobe Flash Builder:
http://daniel.cohen.net/blog/2010/04/flash-builder-fail-flex-run-time-resources-374/
http://www.selikoff.net/2010/04/01/review-of-flexflash-builder-4-defective-by-design/
[7]
Silverlight penetration:
http://www.statowl.com/silverlight.php
http://riastats.com