Category Archives: Uncategorized

Qt goes mobile, gets bling, aims for broader appeal

Here at Qt Developer Days in Munich we’ve heard how Nokia wants to see “Qt everywhere”, and will be supporting Qt on its Maemo operating system and on Symbian, as well as adding specific support for Windows 7 and Mac OS X 10.6, “Snow Leopard”. Qt already works on Microsoft Windows Mobile, and of course on Linux which is where it all started. What about Google Android, Palm WebOS, Apple iPhone? Nothing has been promised, but there is hope that Qt will eventually work on at least some of these other systems.

So is “Qt everywhere” a realistic proposition? Here’s a few impressions from the conference. First, a bit of context. Qt is a C++ framework for cross-platform development. and although bindings for other languages exist, Nokia says it is focused on excellence in C++ rather than working with multiple languages. Developers get the advantages of both native code executables and cross-platform support, and Qt is popular on embedded systems as well as desktops and mobile devices.

Qt is an open source framework which was developed by a company called Trolltech which Nokia acquired in 2008. Its motivation, one assumes, was to simplify development for its own multiple operating systems, especially Maemo and Symbian. Still, it has also taken its responsibilities to the open source community seriously. Qt was originally available either under the GPL, which requires developers to make their own applications available under the GPL as well, or under a commercial license. This limited Qt’s take-up. In March Nokia introduced a third option, the LGPL, which is a more liberal and allows commercial development using the free license. The result, we were told, has been a 250% increase in usage (though how this is defined is uncertain) accompanied by “a small drop in revenue.”

Although the revenue decrease is troubling, it is not a disaster for Nokia whose main business is selling hardware; and if take up continues to increase I’d expect revenue to follow.

Since the Nokia acquisition, Qt has been energetically developed. 2009 has seen the release of a dedicated IDE called Qt Creator. I was interested to see a company that has chosen not to go the Eclipse route for its primary IDE, though there are plug-ins for both Eclipse and Visual Studio. The trolls explained that Eclipse came with too much baggage and they wanted something more perfectly suited to its purpose, a lean approach that is in keeping with the Qt philosophy.

Another important move is the inclusion of Webkit within the framework, the same open source HTML engine that powers Apple’s Safari, Adobe AIR, and the browser in numerous Smartphones. Webkit also comes with a Javascript engine, which Nokia is exploiting in several interesting ways.

The big deal at Qt Developer Days was another new project called Kinetic. This is comprised of four parts:

1. An animation API.

2. A state machine.

3. A graphical effects API.

4. A declarative API, currently called QML (Qt Markup Language), though this may change.

Many of these pieces, though not the last, are already present in Qt 4.6, just released in technical preview. Nokia has not announced a specific date for Kinetic, though there were mutters about “first half of 2010”.

The thinking behind Kinetic is to make it easier to support the graphical effects and transitions that users have come to expect, as well as improving the designer-developer workflow – showing that it is not only Adobe and Microsoft who are thinking about this.

QML is significant for several reasons. It is a JavaScript-like API: we were told that Nokia started out with XML but found it cumbersome, and settled on JavaScript instead. It is designed to work well with visual design tools, and Nokia has one code-named Bauhaus which will be part of Qt Creator. Finally, it allows snippets of JavaScript so that developers can create dynamic user interfaces.

At runtime, QML is rendered by a viewer widget, which can be programmatically controlled in C++ just like other Qt widgets.  

Nokia’s hope is that designers can be persuaded to work directly in the QML designer, enabling free exchange of code between designers and developers. It is a nice idea, though I doubt designers will easily transition from the more comfortable world of Photoshop and Flash. However, even if in the end QML is used more by developers than designers, it does greatly simplify the task of creating a dynamic Qt UI. Note that there is already a visual GUI designer in Qt Creator but this is geared towards static layouts.

Long term, who knows, we may see entire applications written in QML, opening up Qt to a new and broader audience.

You can see the latest Qt roadmap here.

Qt pros and cons

I was impressed that attendance here has increased – from around 500 last year to around 700 – despite the economy. Those developers I spoke to seemed to like Qt, praising the way it self-manages memory, though some find the model-view aspect too complex and apparently this is to be improved. Nokia’s stewardship and openness is appreciated and the Qt roadmap generally liked, though there is concern that its understandable focus on mobile may leave the desktop under-served.

Cross-platform capability is increasingly important, and for those who want the performance and capability of C++ along with really good Linux support – important for embedded use – Qt is a strong contender. The focus on mobile is right, not only because of Nokia’s own needs, but because demand for Smartphone apps can only increase.

Integrating with Webkit is a smart move, opening up possibilities for hybrid web/desktop applications and giving Windows developers an alternative to embedded IE with all its quirks.

The open source aspect is another strength. This is now a good selling point if you developing for certain governments (the UK is one such) or other organisations that have a bias towards open source.

That said, talk of Qt everywhere is premature. The mobile space is fractured, and without iPhone, WebOS or Android Nokia cannot claim to have a universal solution. Nor has anyone else; but I’m just back from Adobe MAX where we heard about wider support for the Flash runtime. Then again, few choose between C++ or Flash; Adobe’s runtime is pretty much off the map for attendees here.

Qt is well-established in its niche, and is in good hands. I will be interested to see whether Nokia is successful in broadening its appeal.

Incidentally, if you can get to San Francisco you can still catch Qt Developer Days as it is running there from November 2nd-4th.

Book review: Web 2.0 Architectures

This is an excellent read, though it was not what I expected from the title. It is written by three people who are always forthright, sharp and insightful, and who live on the Web: James Governor, Dion Hinchcliffe and Duane Nickull. Nickull works for Adobe, and the book labelled as part of the Adobe Developer Library, but don’t let that put you off if you are a Java guy, or a PHP developer, or a Microsoft Platform person: this is about concepts and patterns, not specific products.

So why was it not what I expected? Well, I thought it might focus on the challenge of developing highly distributed applications, looking at what it takes to make such applications reliable, performant and scalable. I know even from my own dabblings that decisions about where to locate different pieces of logic and handling things such as authentication, transactions and security are tough problems with which many of us need help. However, this title rarely descends to that level of detail – though it is a little unpredictable in that respect. The authors do find space, for example, for several pages on common mistakes in designing web forms, reflecting I imagine their level of frustration at how often they encounter them. Inconsistent, yes; but forgivable.

What you do find is detailed and often brilliant attention to the definition of terms. What is architecture? What is a model? What is a pattern? What is a Mashup? What is a Rich Internet Application? What is Service Oriented Architecture? What is a Reference Architecture? And of course, What is Web 2.0? These discussions are pithy, illustrated with real-world examples, and convey the authors’ enthusiasm for the new era which is now upon us.

As you read the early chapters you feel that this is all leading up to something big. That’s correct, but again it might not be what you expect. In fact, this feels like an introduction to a much longer book that is yet to be written, a fault which can only be excused by the idea that it is you, not they, that have the task of writing it.

Here’s a short extract from a section called The Timeless Way of Building Software: Inspiration for the next generation of Web Software:

Take a look at some of the great web software, such as Google’s search page, Flickr, or Delicious. They all have that unique yet unhurried grace that comes from perfect ease and natural balance. But what do they have in common exactly? They are beautiful, ordered and harmonious. But especially, and what strikes to the heart, is that they live. They are the perfect blend of logic and emotion, of the machine and the human experience, intrinsically intertwined and symbiotically embracing each other.

If you find this excessively rhapsodic you will probably not like this book. Note the title though: this is a Web 2.0 book as well as an architecture book; and a couple of pages on from the above quote we learn the significance of that:

…this timeless way of software architecture represents a more complete reconceptualization of what we thought we knew. We can give this place, where common sense and logic collide with humanity and society, a name.

We call that place Web 2.0.

And that is pretty much how it ends.

Overall it’s a great read, written I suspect in haste, accounting for the odd sloppy phrase or two, but always fluent and enjoyable. Recommended for those who are thoughtful about what it means to do software today.

View on Amazon.com: Web 2.0 Architectures: What entrepreneurs and information architects need to know

View on Amazon.co.uk: Web 2.0 Architectures: What entrepreneurs and information architects need to know

Hands On with Google Chrome Frame

Google Chrome Frame is an interesting twist in the browser wars. Web developers can now add a tag to a page that forces Internet Explorer to render it using an embedded version of Chrome:

<meta http-equiv="X-UA-Compatible" content="chrome=1">

The concept is not so different from Mozilla’s Screaming Monkey, which replaces the IE JavaScript engine with its own, except that Chrome Frame has its own HTML renderer as well. The idea is that web developers need no longer be constrained to HTML features which IE supports. IE users do not need to change their browser; just install the plug-in.

The question though: why bother? Why not just ask users to install Chrome itself and use it to browse your site? Chrome on Windows is a great piece of work, and I use it regularly, whereas there’s something odd about using one browser embedded within another.

I suppose there is some small subset of users who have to use IE at work for compatibility with some application, but are allowed to install plug-ins; or others who are brave enough to install an add-in, but feel somehow more comfortable sticking with the default and official Windows web browser.

Still, I’m not sure that there are many users in that category. It also turns out that the Chrome Frame concept has some problems, as I discovered when I tried it out. Note that this is an “early-stage release”, so some things can be expected not to work. Even so, some of the issues cast doubt on whether this a sensible approach. The problem area is integration. For example, when Chrome Frame is active, should the browser announce itself as IE, or as Chrome? When you click a link, should it open in Chrome Frame, or in native IE? When you have a plug-in installed in IE, would you expect it to work in Chrome Frame as well?

The answers currently are that the browser still announces itself as IE, though chromeframe is added to the User-Agent header. Links open by default in IE even if Chrome Frame is active, and plug-ins like Adobe Flash do not work in Chrome Frame even if they are installed in IE. Overall, if you want a page to run well in Chrome Frame, you really need to code for it specifically. In other words, IE+Chrome Frame is yet another browser variation to worry about.

Fortunately, Chrome Frame only kicks in when activated by the tag above, or forced by prefixing the URL with cf; and if users do the latter, they should expect trouble. When I tried it, I had a disappointing experience visiting Adobe.com in Chrome Frame, even though Flash was installed and up-to-date. I’ve included the right-click menu to show that this is Chrome Frame:

 

Gmail also has problems, probably because it is delivering markup designed for IE:

Of course Chrome Frame is not intended to be used like this; but it does demonstrate the challenges that exist if you decide to target Chrome Frame. In compensation, you get the HTML 5 goodness and fast JavaScript that Google has in its browser.

This feels like a last resort. I doubt network admins will welcome Chrome Frame, since it does undermine one of the reasons for using IE: that the system browser is kept up-to-date by Microsoft with security patches using Windows update or Windows Server Update Services. I’m not tempted to keep it installed myself.

The opposite approach strikes me as better, where other browsers emulate IE by embedding it, as in IE Tab for Firefox.

Still, while I’m sceptical of the technical merits of Chrome Frame, it is a great PR move. It puts pressure on Microsoft to implement more HTML 5 features and speed up its Javascript engine, or risk the embarrassment of sites which require IE users either to switch browsers, or to suffer this add-in.

Update: see also Browser Soup and Chrome Frame by Mozilla’s Mitchell Baker, who does a good job of explaining why this is a bad idea – though bear in mind that she works for a competitor.

Microsoft, Moonlight and open source

I was surprised by the announcement that Silverlight is being ported to Intel’s Moblin Linux, which I’ve already reported both here and on The Register. It feels like a u-turn from Microsoft, which had previously stated that while it would build Silverlight for both Windows and Mac, Linux support was to be done by Novell. This is from the 2007 press release:

Microsoft will work with Novell Inc. to deliver Silverlight support for Linux, called Moonlight, and based on the project started on mono-project.com … Microsoft is committed to ensuring that organizations have the best tools and resources to begin building Silverlight-based solutions with the broadest possible reach. The decision to work with Novell to offer Silverlight support for the Linux platform is in direct response to customer feedback, and both companies are optimistic about the impact this extended partnership will have in the industry.

Now, given that Microsoft has long expressed an intention to bring Silverlight to mobile devices, and that many mobile devices run some variety of Linux, you can argue that the Moblin announcement is merely in line with that strategy. This is what Brian Goldfarb told me – that the Intel deal is in the “mobile device” category, and therefore distinct from the work with Mono.

That said, if you look at the specs for something like Dell’s Mini 10v with Moblin – 1.6Ghz Atom CPU, 160GB hard drive, 1GB RAM, 10.1" 1024×600 display – it really has more in common with a traditional laptop than with, say, a mobile phone. Further, I’m getting the impression that this will be a full Silverlight 3.0 implementation, not a cut-down version like Flash Lite, complete with the Silverlight version of the .NET Framework.

If Microsoft had announced this kind of deal in the early days of Silverlight, it would have have been encouraging for open source advocates. Even though this Silverlight for Moblin is not an open source project, it extends support for a key Microsoft technology to Linux users. Silverlight developers may well prefer that the same code will be running on Moblin as on Windows or Mac, subject to whatever has to be done to make the port work.

Unfortunately at this point the announcement is having an opposite effect, casting doubt on Microsoft’s ability to work with open source partners. The impression is that Mono was a useful means of ticking the Linux box for Silverlight’s launch – though the version which includes .NET is still not complete – but that when it really wants to support a Linux OS, Microsoft is quick to find another route.

It is stating the obvious to say that the open source community is wary of Microsoft. Everything the company does is eyed with suspicion. Microsoft’s official support for Moonlight, along with great work from people like John Lam who works on IronRuby, was beginning to soften some of that hostility. Miguel de Icaza, leader of the Mono project, has been a great bridgebuilder between Microsoft and the open source community – so much so, that Richard Stallman recently called him “basically a traitor to the free software community”. Stallman has done his cause no credit with this remark. “I think we officially hit a new low here”, says OS news.

A terrible moment then for Microsoft to snub Moonlight by doing its own thing with Intel for Silverlight on Linux. What was even more striking is that the company seemingly had no idea of the impact of its announcement, and that it might be a sensitive matter, and apparently did nothing to prepare the Mono team in advance for the obvious questions that would be asked.

What is more important – that Silverlight works smoothly on Moblin, or Microsoft’s relationship with the open source community?

Microsoft’s Office Web Apps enter technical preview

I’ve been writing recently about Desktop Applications versus Web Applications, so as you would expect I have a keen interest in Microsoft’s Office Web Applications, which enter technical preview today.

First, a few facts:

  • The Office Web Apps are Excel, Word, PowerPoint and OneNote
  • You will be able to view, create and edit documents in IE, Firefox and Safari, running on Windows, Mac or Linux.
  • The current technical preview is read-only for Word, and OneNote is not yet supported. Excel and PowerPoint support create and edit.
  • There are three ways to use Office Web Apps. Consumers are expected to use the free (ad-supported) Windows Live offering, where documents are stored on SkyDrive. Businesses can choose between Microsoft Online, which is a subscription offering, or on-premise hosting using SharePoint 2010. The free SharePoint services will be sufficient. You need a volume license for Office.
  • The Office Web Apps are essentially HTML apps. Silverlight is not required, but gives enhanced viewing with zoom and pan where available.
  • There is no offline functionality as such, unlike Google Apps. Of course you can save a document locally.
  • Office 2010 will let you load and save directly from SkyDrive, just as you can today with Office and SharePoint.
  • Office Web Apps will let you view old-style Office 2003 formats (.doc, .xls etc), but if you edit and save, they are saved in 2007 format (.docx, .xlsx etc).
  • You will be able to embed PowerPoint documents into other web sites, just like SlideShare, but not Word or Excel.
  • The paid-for variants add features including auditing, document history, backup and restore – in essence, SharePoint features.
  • Office Web Apps will be released at the same time as Office 2010. Full beta before the end of 2009, release before the end of June 2010.

I spoke to product manager Chris Adams. Some cynics, I said, are suspicious that Microsoft might deliberately hobble the web apps in order to preserve the advantage of the desktop apps. His response:

By hobbling them, we wouldn’t be enabling that scenario of that anywhere working, anywhere flexibility, by making it a bad experience. We’re focused on making the right functionality that we believe our customers want available through the web applications. There’s sometimes the view that Microsoft is making web apps available as a competitive response and we’re going to be difficult round about licensing because we need to maintain the Office “cash cow” business. We see web apps not only supporting better productivity experiences for our existing customers, but it also opens up the Office experience and Office brand for millions of new users worldwide.

I also asked about the developer angle and whether there will be an API for Office Web Apps. The answer is that SharePoint is the API, enhanced in SharePoint 2010 with Word Services, Visio Services and Access Services to complement the existing Excel Services. The further implication is that the API for Windows Live Office Web Apps will be weak. There are engineering differences between the Windows Live apps and SharePoint; Windows Live is not just hosted SharePoint. This also explains why the Technical Preview is less far advanced than you might expect; according to Adams, it is more advanced on SharePoint at the moment. Adams added that:

For the first release we’re focused on a great end-user experience, the document fidelity and providing as rich an experience as we possibly can. There is a developer story round about Office running on a server, it’s just not necessarily the web apps, it’s provided for SharePoint services.

The full details will be given at the SharePoint conference in October 2009.

How sinful is Windows?

Anyone who has benefited from the open source movement – which I guess is anyone who uses the Internet – should respect the Free Software Foundation for its efforts in championing the cause. Linux, Apache, PHP: all shining examples of how the community working alongside (not against) the software industry can create software of amazing value.

Speaking for myself, this site runs on WordPress, Apache, Linux and MySQL. There are proprietary alternatives, but they cost more and in some cases work less well. I also run a Linux server in my office, and boot into Linux on my laptop – though less often since Windows 7 arrived.

It is this latter point that seems to have spooked the FSF, which has launched an ill-conceived attack on both Windows 7 and proprietary software in general. There’s even a website dedicated to the sinfulness of Windows.

Unfortunately the campaign is both misdirected and poorly executed. The open letter tends toward hysteria and not all its points stand up to scrutiny.

Like its plans to include DRM restrictions with Windows Vista, Microsoft’s continued attacks against the security, privacy and freedom of your organization, are no mistake.

Well, the protected media path does exist, but I’m not clear how this has impacted organizations using Vista; Microsoft says it is inactive when non-DRM media is played, and I have no reason to disbelieve this.

There are significant privacy issues for users today, but are they Windows-related? I’d suggest that it is the Internet that is more significant here, and Google more than Microsoft that is the threat. Switching to Linux will not change that.

With its most recent actions, it further threatens computing standards by polluting and perverting the OpenDocument standard with its own XML-based file format.

This one is odd: Microsoft’s Open XML is not part of the OpenDocument standard, though in some respects it competes with it. Thus, it cannot be polluting or perverting it, though it could make it less pervasive.

With this and other misleading points the FSF weakens its case and makes it less likely to be taken seriously.

Leaving that aside though, would it pay organizations to abandon Windows, Office and/or OS X in favour of Linux? It might in some cases; but I’ve spent enough time with Linux and open source software to realise that it is not the best solution to every problem.

Vista and its poor reputation has been a gift to those offering alternatives, including Apple as well as free software advocates, and that is about to change as Windows 7 launches. Not that Windows 7 is perfect; but it is a job well done.

That said, we need the free software movement, and we need the likes of Linux and OpenOffice.org, if only to be a restraining influence to the high prices and proprietary lock-in which the big software companies – whatever they may say – like to impose. There is some truth in what the FSF claims – but not enough to make this an effective campaign.

See also Alan Zeichick’s remarks.

Nokia’s Windows Booklet 3G – Anything but Apple?

There are several interesting things about Nokia’s just-announced Booklet 3G. One is the battery life: Nokia claims “up to 12 hours of battery life”, which is an immediate selling point among transatlantic travellers and the like.

Another is that it runs Windows. I guess after the announcement of Microsoft Office Mobile for Nokia devices earlier this month it should not be a huge surprise; but I admit there was a time when I thought Nokia would never release a Windows device.

I am sorry in some ways that this is not a Tablet running Maemo, a variety of Linux as seen on the Nokia N810 and others; I’m also sorry that Nokia is not experimenting with a Windows 7 Tablet, which would be suitable for a device of this size (10 inch screen) and make it more convenient for some operations; but I guess the company is playing safe by providing a keyboard; I’m also not convinced that Windows 7 is good enough yet for touch-only users.

The third point to note is that Booklet 3G ties in with Ovi Services: music, maps, cloud storage, app store, and more.

Why is Nokia partnering with Microsoft? I guess this is a vote of confidence in Windows 7, for a start. But I also guess that Nokia is badly rattled by Apple, whose iPhone is eating into Nokia’s Smartphone sales, and that partnering with Microsoft, unthinkable when Windows Mobile was the enemy, now makes sense.

Let me add: if Apple does release a Tablet in the near future, Booklet 3G is also likely to suffer.

Technorati Tags: ,,,,

Running Vista Movie Maker in Windows 7

As time allows, I’m upgrading various machines to Windows 7 using the RTM bits and will be blogging points of interest.

One of them is Movie Maker. As I previously noted, the Windows 7 Movie Maker (which is a separate download as part of the “Live Essentials”, and currently in beta, is a disappointment compared to the version in Vista.

Following a tip here, I tried copying the Movie Maker folder from Vista to Windows 7. To my surprise, it seems to work fine (though I have not tested all the features). The screenshot shows the Windows Vista version in front, and the cut-down Windows 7 version behind; you can run them side by side.

The reason for my surprise is that many applications require registration of COM components or other setup magic before they will run (though see update below).

If in fact the Vista version works, what are the implications? Has Microsoft actually tweaked Windows 7 so that Vista Movie Maker will run? If so, that’s odd since the in-place upgrade actually removes it. And why is Microsoft making us install a beta as part of Live Experience, if the old one works OK and would at least tide us over?

Those who do not want to risk the Vista version can download a proper installer for Movie Maker 2.6 here.

Update: according to this post you do also have to register some DLLs to get full functionality – a batch file is provided.

Technorati Tags: ,,

Adobe’s secret plans for the iPhone – but still no Flash (updated)

Last week I spoke to Adobe’s Erik Larson, director of product management for Acrobat.com. Acrobat.com is a conferencing and document collaboration site which is built almost entirely in Flash. Apple does not allow Flash on the iPhone, so my ears pricked up when I heard Larson promise iPhone support for Acrobat.com from the Autumn.

We’ll be adding mobile access via smartphones, so the iPhone, Blackberry, Nokia, and Windows Mobile. You’ll be able to access your documents, share them with other people, and do some other interesting things that we’ll talk about later this year.

said Larson. Naturally I asked him to expand on this promise. Will Apple be allowing the Flash plug-in in iPhone Safari, or is this some other approach?

You will be able to access and do work from your iPhone using Acrobat.com. It’s more than just the Acrobat.com access, it’s pretty interesting. It will be an application. You won’t have to go to your web browser. Beyond that, I don’t want to spill the beans.

said Larson.

I speculated earlier that this meant bringing Flash in some form to the iPhone, for example as a runtime outside the browser. In his comment though, Larson says that is not the case. A shame, since many developers would welcome the opportunity to deploy AIR applications to the device, for example, even it if meant going via Apple’s App Store.

Unfortunately this also means that the iPhone access will be somewhat less than what I would describe as “do work from your iPhone using Acrobat.com”. Larson said on Twitter:

You will be able to access, share and manage docs…plus a little nifty-ness I can’t tell you about…but no editing at first.

That’s a substantial advantage for the HTML/JavaScript based suites like Google Docs and Zoho, for iPhone users.

Post updated in the light of his comments.

Technorati Tags: ,,,,,

Friendly to users, hostile to competition: get ready for more app stores

Jane is sitting at her computer doing her accounts with a spreadsheet. Hmm, this is tricky, she thinks. I wonder if there’s some software that would help? She clicks the App Market link, types in Accounts, and sees a dozen accounting applications. She checks out the prices, users ratings and reviews, selects Whizzo Accounts, and clicks Buy now. The app immediately downloads and installs, charging the credit card already registered with the service. Moments later, she starts the application and gets on with her work.

Why doesn’t it work like this today? Well, it does on the iPhone, with amazing success. Sun’s Jonathan Schwartz thinks the same concept will work for Java:

How will it work? Candidate applications will be submitted via a simple web site, evaluated by Sun for safety and content, then presented under free or fee terms to the broad Java audience via our update mechanism. Over time, developers will bid for position on our storefront, and the relationships won’t be exclusive (as they have been for search). As with other app stores, Sun will charge for distribution – but unlike other app stores, whose audiences are tiny, measured in the millions or tens of millions, ours will have what we estimate to be approximately a billion users. That’s clearly a lot of traffic, and will position the Java App Store as having just about the world’s largest audience.

The key here is that Sun supplies the standard Java runtime for Windows, and has also managed to get its Java update utility installed on millions of computers. There is the potential for seamless access to an online application store that could deliver a business model for Java at last.

Schwartz builds his case by reference to the success, in his terms, of the toolbar bundling deals Sun has made and which I detest (it’s foistware):

An aspiring search company (again, you can figure out who) outbid our first partner to place their toolbar in front of Java users (this time, limited to the US only) . . . The revenues to Sun were also getting big enough for us to think about building a more formal business around Java’s distribution power – to make it available to the entire Java community, not simply one or two search companies on yearly contracts.

Sun isn’t the only company thinking along these lines. Adobe also has a Marketplace; it’s currently free for publishers and lacks any payment support, but I’d imagine the company is looking hard at how this could become a source of revenue, particularly when it comes to AIR, the desktop runtime. Phase one is building the platform; phase two is making it more profitable.

What about Microsoft? Why isn’t an application store built into Windows? Actually it is, or was: Windows Marketplace is on the Start menu and was so unsuccessful that Microsoft has abandoned it:

Windows Marketplace has transitioned from an ecommerce site to a reference site. You will find links to sites such as Microsoft Store, Windows Vista® Compatibility Center, and other destinations with cool and compatible software, hardware and devices that support Microsoft® platforms.

The Microsoft Store is for Microsoft applications only. However, the company is having another go at the concept for mobile applications.

Why did Windows Marketplace fail, whereas the iPhone App Store is a wild success? Good question; and on the face of it a remarkable blunder. You would have thought that a competent application store built into Windows could not really fail. I’m guessing that the reason is a mixture of poor implementation, nervousness about anti-trust complaints, and concern about upsetting partners such as retailers and third-party developers.

Microsoft also operates Xbox Live lets you buy arcade games and older titles, but not the latest blockbuster releases, presumably because retailer support is too important to threaten.

Convenience always wins though, and I’m expecting more activity on this front from Apple, Microsoft, Sun, Adobe, and maybe others such as Amazon. Mobile vendors are clambering on board too. But these other efforts will not have the iPhone App Store killer feature: exclusivity. Unless you hack your device, the App Store is the only choice for both users and vendors. This puts too much power in the hands of Apple, and there are already complaints from 3rd party developers. Most other platforms will not be able to achieve this, though games consoles might.

That said, it is possible that a sufficiently compelling online store could dominate on a particular platform, whether Windows, Java or Adobe AIR. If so, I guess we’ll see the iPhone experience repeated elsewhere: great for usability, bad for competition.