OS as platform

Posted by rhelmer on 08 Jul 2008 at 01:00 am | Tagged as: apple, microsoft, releng, ubuntu

I’ve been thinking a lot about the role of operating systems lately. Why is there no operating system vendor that focuses on being a platform for applications, rather than trying to compete directly in the application space?

Maybe this is a naive question, but it really makes application developer’s lives a huge pain to have to compete with platform vendors all the time, and it’s surprising to me that the market puts up with it. It also brings up the whole “core competency” argument, can one company really do two fairly specialized things well?

These are who I consider to be the top-tier OS vendors:

  • Microsoft Windows
  • Apple Mac OS X
  • Ubuntu Linux

Why don’t any of them provide just the base OS + gotta-have applications (editor, email, web), and give the ISVs the ability to:

  • register new applications in a central catalog
  • deliver updates to specific applications
  • send crash data back to the vendor

This would allow the OS vendor to focus on the core OS functionality, and provide means to the users to select applications that suited their needs (shipping preinstalled with the top editor, email and web clients, of course). Having formal reviewers as well as user ratings would be a great way to promote good and trustworthy applications.

I don’t anticipate any of these top-tier OS vendors focusing on this space, although for different reasons.

Microsoft is particularly adept at watching application vendor’s innovations and making functional facsimiles (some say “Worse is Better” versions). For example “Word Perfect”, “Lotus 123″, and “Netscape”. Once they’ve decided to commit serious developer time though they tend to slowly overwhelm and overtake the slice of the market that they target. I think that the convenience of a single vendor is what people like, and I guess dominating the stack is one way to control the pipeline.

Prior to OS X, Apple seemed to avoid this (with the notable exception of Claris) but since has embarked on Office competitors, and it’s own web browser (Safari/WebKit). Maybe this is a copy out of the Windows playbook, but it seems just as likely that it’s a bid to control the full user experience, which is very Apple.

Ubuntu comes closest to my ideal, but still insists on packaging everything themselves, and doesn’t do a 1:1 mapping for bug and crash reports. They have their own build, their own crash reporting system, etc.

Why can’t I log into an interface for each of these vendors, register my latest release, and let them handle updating the user catalog, advertising updates to existing users, and a means to funnel back crash reports?

If history is any guide, OS vendors will continue to oscillate between focusing on their core competency (providing an interface between the bare metal and the human) and trying to take over the full application stack flavor of the week. There’s just too much money and power on the table when you control the whole thing for people to leave it alone.

12 Responses to “OS as platform”

  1. on 08 Jul 2008 at 2:37 am Fowl

    The reason is ease of use – get a new computer and now you have to make thousand of choices about what applications to use. It’s is much easier to have a “good enough” collection that you can augment.

    A lot of the criticism about Windows (when compared to OSX) is the lack of bundled apps. Microsoft, of course, is restricted in what they can include in Windows.

    Incidentally, Microsoft provides a free crash reporting collection service called WinQual. (although their catalog and update services are pitiful )

    The app store for iPhone provides the services you describe – but apple is even more the “benevolent” gatekeeper there.

  2. on 08 Jul 2008 at 2:58 am Screwtape

    I think a central OS-vendor-run, ISV-maintained software repository would be unlikely to work for a number of reasons:

    1. Because the OS vendor runs the central repository, they bear some responsibility for what appears there – if not legally, then in the minds of consumers who try and use the thing – so they really need to check out every application offered and make sure it’s both benign and vaguely useful.

    2. Any reasonably popular OS would have a large number of applications available for it – large enough to overwhelm any one organisation’s reviewing capabilities. Sure, addons.mozilla.org has manual reviewing and a lot of addons, but imagine if you had to review every single Windows application ever developed? Practically impossible! So either the OS vendor has a huge backlog of applications (which discourages ISVs), or they charge a ‘reviewing fee’ (which discourages ISVs and makes Slashdot yell), or they lower their reviewing standards and hit issue #1 above.

    3. Producing professional, reliable distribution packages for a piece of software is a difficult thing, depending on both the code being packaged and the platform it’s being packaged for, and many, many ISVs mess up. Of the handful of commercially-distributed Linux applications I’ve seen, approximately zero have been properly packaged: the very best are generally packaged as RPMs with software that automatically configures itself at first run (Hello, VMware!); the worst are multi-megabyte opaque shell-scripts that you’re told to blindly run with Administrator priviledges with no hope of undo (Hello, JVM!)

    You mention the phrase ‘core competency’, in the context of OS vendors trying to write both operating systems and the software that runs on them. For Linux, at least, the ‘core competency’ argument runs the opposite direction: if you want a piece of third-party software packaged to run on a particular OS, would you prefer the work to be done by the ISV, who knows just enough about each OS to get their code running, or done by the OS vendor who has already ported thousands of other applications and already has a good idea how the system is supposed to work?

  3. on 08 Jul 2008 at 4:24 am Vasily Anonimov

    At least ubuntu devs want to use shared system libs for applications, not Fx/Tb/etc bundled stuff.

  4. on 08 Jul 2008 at 4:54 am Colin Walters

    Because few people want to download 20 applications from 20 different web pages after installing their OS. They want something that works.

    If you don’t like one or two of them, you’re always free to remove them and install others.

    Overall too, very few application creators have Mozilla’s level of infrastructure for Firefox. They don’t want to have to run their own crash servers, update servers etc.

  5. on 08 Jul 2008 at 5:39 am Joseph

    Ubuntu has the Parner repository: https://help.ubuntu.com/community/Repositories/Ubuntu#Adding Canonical Partner Repositories

    It’s not as easy as one might wish, but it’s there. I’m sure they’d be willing to talk to ISV’s about ISV needs.

  6. on 08 Jul 2008 at 7:48 am James Justin Harrell

    I don’t think I’ve ever seen anyone link Microsoft to the “worse is better” approach. The idea is to get your product out first in order to start grabbing users and developers before the competitors. A closed source imitation doesn’t fit that at all.

  7. on 08 Jul 2008 at 8:20 am VanillaMozilla

    Good points if you are advocating an ideal. I think the answer is pretty simple, though. Microsoft is driven by profits. Selling all applications is more profitable than selling some applications. The others are driven by the need to compete with Microsoft. And by profits.

  8. on 08 Jul 2008 at 8:49 am Robert Kaiser

    ubunto is no OS vendor, it’s merely one (and not even the biggest) of a hoard of distributors who package the Linux OS kernel along with a growing selection of applications. And Linux users seem to love that they have easy, central installation points for applications, like openSUSE’s YaST, RedHat’s yum, Debian’s apt-get and others.

  9. on 08 Jul 2008 at 11:27 am alex.r.

    To build a very good platform you need a very intimate knowledge of its eventual users — you need to know what’s needed to build a good application.

    I think most OS vendors just want to make use of that knowledge that would otherwise go to waste.

  10. on 09 Jul 2008 at 12:38 am Wladimir Palant

    Yes, most users expect the OS to work “out of the box” – that’s one important reason. The other (something that Linux had to learn the hard way) is that a bunch of inconsistent applications all made by different vendors with different ideas about how a user interface should work just doesn’t make a good working environment. Microsoft and Apple do a pretty good job providing a consistent user experience for all applications shipping with the OS, Ubuntu (and other Linux distributors) not so much.

  11. on 11 Jul 2008 at 1:14 am James

    Linux distributions at least are all about integration. For example, Debian is shipping iceweasel on top of xulrunner, which means they’ve got one less copy of gecko kicking around the archive. Having each ISV do their own thing kind of defeats the purpose of having a distro in the first place IMHO. Others agree with you: http://redmonk.com/sogrady/2007/06/28/google-and-the-future-of-package-management/ http://azure.humbug.org.au/~aj/blog/2007/05/03

    Having said that, with the move towards single-purpose VMs there are some distros like Conary that are made for the appliance model of just running one thing, but I suspect that’s not what you’re talking about. Eg http://redmonk.com/sogrady/2006/11/10/do-operating-systems-matter-part-2-the-appliance-question/ http://redmonk.com/sogrady/2008/02/12/bitrock-application-installation-in-a-networked-world/


  12. [...] this blog post about the OS as a platform I recalled a gripe I often have when installing software on Linux… the lack of a common [...]

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply