Welcome!

Silverlight Authors: Michael Sheehan, Hovhannes Avoyan, Yeshim Deniz, Maureen O'Gara, Mark O'Neill

Related Topics: AJAX & REA, .NET

AJAX & REA: Article

The Next Battle for the Desktop

The computer desktop has become the high ground from which empires are built

The computer desktop today is what the television was to people in the 1980s. It’s the single most important channel for consumer entertainment and information. The computer desktop – as was the case with newspapers before there was radio and radio before there was television – has become the high ground from which empires are built.

The computer desktop today is what the television was to people in the 1980s. It’s the single most important channel for consumer entertainment and information.

If you agree with that statement, then it's no leap of faith that it's the computer desktop on which consumers are best engaged. The computer desktop – as was the case with newspapers before there was radio and radio before there was television – has become the high ground from which empires are built.

While dominance of the desktop has been maintained for the last decade or more by Microsoft, which at one point represented 95% of the desktops used by all consumers, the future is less certain. Platforms such as Apple’s Mac OS X and desktop Linux are slowly gaining ground and eroding the once dominate position held by Microsoft’s Windows. Within the next 10 years, dominance by type of operating system will be evenly distributed among Windows, Macintosh and Linux. There will be no clear winner and competition for the hearts and minds of consumers and developers alike will be fierce – making today’s competition pale in comparison.  

In the end however, it will not be a single operating system that prevails. In the end it will be desktop runtimes that become the most important platforms for engaging consumers. Desktop runtimes are to the desktop operating systems what cable TV was to the TV networks: it's a unstoppable evolutionary improvement which will subtly, but indelibly, change how we interact with the dominant mechanism of media.

A desktop runtime is a platform that provides a consistent runtime environment regardless of the underlying operating system. The Java Platform, Standard Edition (Java SE) is the best known and currently the dominant player in this arena, but Java’s lead is at best tenuous. Java’s real strength has been on the server side, not in the consumer driven desktop. Due to past performance issues, Java has a stink about it when it comes to the desktop. A stink that will undermine attempts by Sun Microsystems to bring the platform back to the desktop.

Introducing: "Desktop 2.0"

Instead a new crop of portable desktop platforms has arisen, which some have called Desktop 2.0. Examples of Desktop 2.0 technologies – at least the first entrants in this technology sector – include Google Desktop, Yahoo Widgets, Adobe AIR, Mozilla Prism, Google Gears, and Curl Nitro (note I’m employed by Curl). These platforms attempt to provide an execution and development environment that is largely indifferent to the idiosyncrasies, and therefore differentiators, found in desktop operating systems. Using Adobe AIR, Yahoo Widgets, or Curl Nitro, for example, developers can write applications that will look and feel exactly the same on all desktop operating systems. 

In the future, people will talk about desktop runtime platforms as if they were the only aspect of the home and work computer that really matters. The era when desktop operating systems dominate the technology landscape is coming to a close. The desktop runtimes will dominate the show and the company that wins the desktop runtime War will become a commercial juggernaut that will influence desktop computing software and hardware for the next couple of decades.
 
Curl, Inc. recognizes this shift from operating system to desktop runtime which is why it introduced Curl Nitro this week. I believe that Adobe, Google, Yahoo! and Microsoft also recognize this sweeping change which is evidenced by recent product announcements and launches.  In 2005, Yahoo!, ahead of everyone else, purchased Konfabulator, a cross-platform runtime focused primarily on small tightly focused applications called widgets.  Google followed suit with Google Gadgets and most recently Google Gears.  Adobe launched AIR which provides a consistent programming environment and look and feel across Windows, Mac OS X, and soon Linux. 

Mozilla has announced Prism, which allows you to develop web applications that reside on the desktop.  Curl, a successful RIA platform in the enterprise, has announced Curl Nitro – a RIA desktop platform also portable across Windows, Mac OS X, and Linux desktops.

All of these efforts are aimed at creating a platform that is operating system agnostic. All of these product are battling for the future of the desktop and the future of the primary consumer channel for the next two decades. The future of desktop computing does not lie in the hands of Microsoft Windows, Mac OS, or Linux. The future lies in desktop runtime platforms such as Yahoo! Widgets, Google Gadgets, Adobe AIR, and Curl Nitro. 

But the influence of these desktop runtimes may not end with the desktop. Already we are seeing evidence that these new operating system agnostic platforms are being adopted by the mobile phone market. As smartphones become more popular (e.g. iPhone, Nokia N95, BlackBerry, etc.) they are starting to support runtime environments that are also operating system agnostic. In the most recent news Nokia has announced that it will support Silverlight.  

From Desktop to Smartphone?

Desktop runtimes are already extending beyond their primary target platform, the desktop, to the Fourth Screen – smart phones. The desktop runtime platform that has the strongest platform may also succeed in the mobile market, but that is not a forgone conclusion. Just as Windows today dominates the desktop while Symbian dominates the mobile platform, we could see a separation of platforms for the next twenty years. The mobile market, which will one day usurp the desktop just as the desktop has usurped the television, has an unclear future – it's too early to make predictions about the type of platforms that will dominate the Fourth Screen.

The desktop – the Third Screen – however, is playing out pretty clearly. Windows continues to lose market share to Mac OS X and Linux, while desktop runtimes such as Adobe AIR, Google Gears, and Curl Nitro are becoming the darlings of software development industry.

Within the next 10 years developers will identify themselves not by the language or the operating system on which they work, but by the cross-platform desktop runtime they know and prefer. What will make the runtime battle for the desktop most interesting is that consumers do not have to choose one desktop runtime over another.  Desktop runtimes like Adobe AIR, Google Gears, Yahoo! Widgets, and Curl Nitro can all be deployed on the desktop simultaneously. The choice of which runtime to use can be made after purchasing computers. That’s a very different competitive ecosystem than what exists today for desktop operating systems where you must choose up front which platform you want to the exclusion of other platforms.

The choices for desktop runtimes will be more flexible and will largely be driven by the type of applications rather than the type of platform. It’s likely that desktop computers will eventually ship with two or three different runtimes and that consumers will be more or less ignorant of which one they are using. What will determine the success of one desktop runtime over others will be the execution and development environment. Desktop runtimes that provide the most processing power, speed of execution, and security will dominate. In this scenario the end-user is no longer the customer, it's independent software developers and Integrated Software Vendors that are of primary importance. It’s the developers who will choose the platform on which they create cross-platform applications – the consumer will be largely ignorant of the choices made.  With the exception of download and install differences, the applications will look the same to end-users.

The Future
 
The question at this point is, “which is the best platform on which to bet the future?”  In terms of ubiquity, none of the options have an advantage. Adobe AIR is brand new and is not yet widely deployed.  Yahoo! Widgets has the strongest lead but applications developed for that platform and other widget engines have been focused on consumer widgets with limited utility (e.g. music player, clock, etc.). 

Mozilla Prism – assuming it becomes part of the Mozilla Firefox distribution – could dominate, but the technology is still browser-constrained and needs refinement and better tooling.  If it comes down to performance then it’s likely that off-line AJAX solutions such as Prism and Google Gears are unlikely to dominate – AJAX has had a great ride but its performance limitations are becoming obvious. 

Adobe AIR provides better performance than AJAX but it’s not nearly as performant as native applications and it provides no advantages over other platforms in terms of security – in fact it's less secure than other desktop runtimes.  Curl Nitro provides the best performance and security, but it's a technology that is not as well known as other options and is challenged with building a grassroots following, something that Adobe AIR, Mozilla Prism and Yahoo! Widgets already have a head start on.  The best technology does not always win – often it's left to superior marketing and developer mindshare. 
 
This column appears exclusively at SYS-CON.com. Copyright © 2008 Richard Monson-Haefel.
(This copyright notice supersedes the one auto-generated at the foot of this page.)

More Stories By Richard Monson-Haefel

Richard Monson-Haefel, an award-winning author and technical analyst, owns Richard Monson-Haefel Consulting. Formerly he was VP of Developer Relations at Curl Inc. and before that a Senior Analyst at The Burton Group. He was the lead architect of OpenEJB, an open source EJB container used in Apache Geronimo, a member of the JCP Executive Committee, member of JCP EJB expert groups, and an industry analyst for Burton Group researching enterprise computing, open source, and Rich Internet Application (RIA) development.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Gary Byatt 05/08/08 02:33:43 PM EDT

Certainly the Mac is making progress against Windows. People are happier with the less fiddly OS, they care less about OS compatibility than businesses does. Windows is still like a 1970’s car, for enthusiasts that like to fiddle around under the hood. User friendly OS will gain most traction in the home environment and now almost every family has more than one computer those are big numbers. So I agree that OS share is likely to spread. Consequently cross platform runtimes will become more popular, but they are nothing new, basic interpreters have been around as long as many people working in this industry have lived.
Conceptually the CLR has an edge over the VM. Flavours of CLR will eventually dominate, because they allow specialisation of programming using different languages and that is necessary to bring down development time and costs. Importantly those CLR should also support mobile devices to reduce the costs of developing itinerant computational behaviour. Users have hosts, they don’t want to know some computational behaviour only works on this or that bit or kit, or that they can’t access it here or there. A nice advance I am looking for from a dev environment is its ability to take CLR targeted code and reframe it using a chosen language. That will really accelerate development. As for browsers, they offer a subset of the functionality of a CLR and will be subsumed.

Janelle Kozyra 05/08/08 12:32:28 PM EDT

Great article, but a few comments. If the computer desktop is the new TV, then Google is the most popular channel, and Google's search results is the programming.

I think it's impossible to predict the future. And it's very possible computer desktops will be eclipsed by some technology we can't imagine today. Who would've thought 20 years ago, we could be using line of business apps on our telephones? But that's exactly what's happening today with the iPhone and Windows Mobile 6.1.

Regarding your question on which platform is best to bet the future, the answer is simple: The ones that are built on open standards. In 2008, that means HTML, CSS, JavaScript, XML, SQL, and most importantly, IP and HTTP. Adobe and Microsoft's RIA platforms are beautiful, but in my view they're largely, if not totally, proprietary. I'm sure that they'll achieve some level of critical mass, but I don't see them becoming dominant because no IT shop is going to commit to these platforms when open standards are available.

When the company I work for (Alpha Software, a Web application database tools vendor) recently had to make this exact decision and bet on the future that our development tools should target, we chose AJAX. Given the reaction of our customer base, we made the right call.

michael 04/23/08 08:14:30 PM EDT

what are "Google Awards"? :-)