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.