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.