Last Thursday I tweeted: “I strive to maintain an open mind when nontechnical people talk about the ‘Internet OS’ or ‘Web OS’. Sometimes it's tough.” I got some grumbles by email and I think the subject is worth more discussion. Let me be more specific: Neither the Internet nor the Web is much like an OS. And even if it were, that’d be the wrong way to think about what’s going on right now.

I’ve had this argument before. In March of 2007, Mike Arrington and I shared a stage at a startup event on the Sun campus, and talked about “Web 2.0”. Mike talked about a Web Operating System, I talked about people and information and business. Dan Farber reported ably. I don’t think either of us convinced each other.

I: It’s About People Not Technology · The “Web OS” meme is harmful because it’s about technology. But the Internet’s killer app is people, has always been, will always be. Every single step forward has involved finding new routes and patterns and tools for people to use interacting with other people. No exceptions.

At the level of experience, Web 2.0 is about voices being heard. It used to be that there was a sanctified high priesthood that was licensed to publish: Journalists, novelists, and academics. Everyone else was an outsider, relegated to Letters-to-the-Editor or Speakers’ corner.

Nothing can possibly be more important than the experience of tens of millions of people, formerly outsiders, given a voice and an audience and a chance to join the global conversation.

This has been technically possible since there was an Internet. The crucial change was when Dave Winer and a few others proved that personal micro-publishing was fulfilling and self-supporting, by doing it.

Granted, a majority of people don’t publish—but if the world is even remotely like the population here at Sun, the knowledge that you’re empowered to do so is an attitude-changer.

Also granted, a majority of people who do publish don’t find big audiences. But that doesn’t matter; as Mena Trott was among the first to point out, “Publishing to fifteen people is perfectly OK if they’re the right fifteen people”.

II: It’s About Information Not Technology · Or to use another label, the Long Tail. We’re in a world where we expect a significant amount of the information and inspiration and creativity and criticism and collaboration and stories and pictures and music and movies to come from the many at the edge, not just the few at the center. Yes, there will always be a loud-voiced few at the center, but they’re no longer alone.

The traffic patterns have changed forever and they’re not changing back. Language and its flows are arguably one of the defining characteristics of Homo sapiens. The impact of all this information redirection on who we are and what we do is central. To focus on the technology is to miss the important point.

III: It’s About Business Not Technology · Lots of modern business is all about pumping information. The classic example would be finance; banks are giant information pumps with cash machines at the edges.

Organizations (business, governments, clubs, political parties, religions) who figure out how to surf the new information flow will succeed and prosper; those who push back will be swept away.

And it won’t have anything to do with whether anything’s like an OS or not.

IV: Nobody Uses the OS Anyhow · Suppose the Net or Web were OS-like. So what? Nobody programs to one of those any more. I bet if I asked a survey of 100 high-level professional developers what was the last time they actually coded a Unix or Linux or Win32 system call, I’d get a blank stare.

Everybody I know is, as a matter of principle, working in a higher-level programming environment that goes to great lengths to abstract away the OS: Java, Ruby, Apache-project C with APR, you name it.

V: It’s Platforms That Matter · When it comes to technology, what really matters is the platform you use to build with. Looking at your site from the outside, it’s not obvious to a non-expert (and perhaps not to an expert either) whether you built it with PHP or Rails or Django or JSF or ASP.NET.

But the choice of platform that you build with is incredibly important; in fact, most of the interesting new software innovations in the recent years have been in platform technology that let you build something good in less time with less pain that’s more maintainable.

The experience of building something with Rails is wildly different from that of a Java EE wrangler, which is wildly different still from that of someone in Microsoft-land. A common “Web OS”? Don’t see one.

In another sense, it’s reasonable to consider the Web as a platform; as Dave Winer memorably said “The platform that doesn’t have a vendor.” From the business and end-user and administrator point-of-view, this kind of works; but not from the seats where the people who build the apps sit.

In still another sense, it’s sane to refer to the browser as a platform; it’s certainly where a lot of code gets built. But it’s no more an OS than Gtk or WPF or Aqua is. It’s closest to the user but it’s a small piece of the big system.

The closest you’ll ever get to the essence of the Web-itself-as-platform is in working closely with HTTP and URIs, for example in implementing the Atompub protocol. But most developers working with Atompub will just use a handy library that fits into their Ruby or Java or C# ambiance, hardly even noticing.

VI: And Anyhow, It’s Not Like an OS · The OS is the software that sits between you and the hardware. In practice, it offers a set of brutally stupid and complex services for managing storage and networking and the lowest level of user interaction. It’s difficult and unpleasant to use.

I’ve used several and even contributed in a small way to one or two. Neither the Internet nor the Web are anything like one in any important way. Thank goodness.


Comment feed for ongoing:Comments feed

From: Ishak Kang (Jun 03 2008, at 22:05)

First of all, thanks for writing an insightful and approachable blog entry about this meme. I appreciate your attribution to Dave Winer and Mena Trott and their contributions to the democratization that is Web 2.0. This mis-identification of WebOS never bothered me until you point out its semantic flaws. But, I think that for too long, we have considered the Internet to be a network of computers not a network of things. (I understand your assertion that the Internet is about people and relationships) I think that the WebOS argument is more valid when we consider the massive shift from it consisting exclusively of PCs to now, mobile devices, and soon, tvs, light switches, thermostats, and as Bruce Sterling would argue, shoes. Don't we need an OS to manage this Internet of Things? Or, do we just need a better browser. (blatant plug: ISO/IEC 24752) Thanks.


From: Dustin (Jun 03 2008, at 22:06)

I don't disagree with what you've say, but I think you're still missing the Internet OS that's sneaking up on us.

The internet can now take care of storage for me, through S3 and competitors. The platform I'm building my apps with should fiddle with the details, but the internet acts as the OS and data-store.

Same deal with computing power, through EC2 and ilk.

You seem to be saying that a lot of other things the internet enables are more important then this OS. You may be right, but the OS is still growing there underneath. And I think what we have now will just be the tip of the iceberg.


From: John Cowan (Jun 03 2008, at 22:35)

I often write code in Perl that's pretty close to the syscall level.

And as for handy libraries, "the deepest divide in programming is between those who are content with an API and those who demand to see the bits on the wire" (John Cowan, adapting Tim Bray), and you'd be surprised (though you shouldn't be) just how many of the latter there actually are in the wild.

But I agree: the Web is not an OS.

(I finally found your original at , BTW.)


From: James Aylett (Jun 04 2008, at 02:39)

I wonder if you surveyed 100 high-level professional developers working on systems that either had lots of users or a high requirement for availability, how many work pretty close to the OS layer for at least some of their time. My bet: more than either of us would expect.

And you think that it's a *good* thing that when building (say) a web app you tend to not think about the underlying OS? That means you have multiple layers between you and it; in the best case, that's another few manuals you have to read. It'd be a bit like building a web app without understanding how HTTP is being used between the user agent and server.

No, hang on...


From: skizmo (Jun 04 2008, at 05:17)

"IV: Nobody Uses the OS Anyhow"

The content of this section is the most stupidest piece of text I have ever read. I personally think that you totally lost a grip on reality.


From: dude (Jun 04 2008, at 05:48)

If you relax your definition of 'operating system' to something more like "the basic tool that enables you to do things/get things done" then the web can be a lot like an OS.

Eg, I never open an email client or a newsreader, they're web-only applications.

So the web can be a 'platform' in the same way an OS can and just because we aren't talking about system calls doesn't meant it's not similar from a conceptual level.


From: Nick Carr (Jun 04 2008, at 06:05)

I don't know, Tim. It seems to me that calling people a "killer app" is as much a stretch as speaking of a "web OS." They're both metaphors that don't want to be analyzed too closely.


From: Sean Santry (Jun 04 2008, at 06:54)

I think the key is that non-technical people have a non-technical understanding of what an OS is and when they say "Web OS", they're using a technical term in a very non-technical way.

Such non-technical people have a slightly better understanding than my grandfather, who confuses Microsoft Office with Microsoft Windows. My grandfather doesn't really understand that the OS is distinct from the applications he runs on it.

But the non-technical "Web OS" meme pushers understand that

* the OS is separate from the applications

* the OS is what _enables_ those applications to run

So if the OS is simply "what enables me to run applications", then the web is "what enables me to run all those cool applications, like Facebook and Twitter, and Blogger, where I publish my visionary musings about the future of technology."

To that sort of non-technical person, the web is _just like_ an OS. They may not understand preemptive multitasking, or demand paging, or processor scheduling, but they don't need to. They're speaking at a different level of abstraction, not to mention metaphorically.


From: Adam Bachman (Jun 04 2008, at 06:56)

"But the Internet’s killer app is people, has always been, will always be."

Everything's killer app is people. It's all, *all*, about relationships.

In my first career I was working as a youth pastor and my number one mistake was thinking that my program director position was about directing programs (wrong).

Job #2 - tech support for a big three cellphone company: It's really not about the cell phones, it's about the angry people who bring them to you.

Job #3 - software developer: it's not about the tools and the processes, it's about making something people want (i.e., Paul Graham may be right).

Why is environmental concern important? Why is it good to pay attention to politics? Why are we (the USA) screwing up so bad diplomatically? You've got the idea.


From: Dare Obasanjo (Jun 04 2008, at 07:12)

One of the difficult things about the "Web OS" discussion is that different people mean different things when they use the term. I wrote about this a while back at

When someone says Web OS/Internet OS/Cloud OS they could mean Web sites made up to look like PC desktops (YouOS, Live Mesh's Web desktop), they could mean platforms for building Web apps (EC2 + S3, Google App Engine) or they could just mean Web sites that have turned into platforms for other Web apps (e.g. Facebook).

All of these analogies are are valid in some ways and invalid in others. The key point is that the dynamics of the *nix wars or the Microsoft desktop era isn't going to repeat itself on the Web.


From: matt that (Jun 04 2008, at 07:42)

"The OS is the software that sits between you and the hardware. In practice, it offers a set of brutally stupid and complex services for managing storage and networking and the lowest level of user interaction. It’s difficult and unpleasant to use."


Many people today, very many of them developers would consider these statements to very accurately define the Internet, and the Internet as an OS. I think perhaps you are too quickly dismissing the picture that becomes apparent at such scales as The Internet.

I would agree with those many aforementioned people, as I am a developer, that using your own words best, the Internet can be described accurately as: Software that sits between you and the hardware offering a set of brutally stupid, and complex services, for managing storage, and networking.

This last bit reminding that your clarification of "and the lowest level of user interaction" is nothing more than that same discussion of scale. :)


From: David Magda (Jun 04 2008, at 08:09)

I'm sure there are various definitions, but I'm guessing that a lot of people might be thinking something along the lines of:


The "OS" only matters in that it's an API to code to. S3, Google, SimpleDB, etc. are simply libraries like libxml, BerkleyDB, zlib, libjpeg, SQLite, libexif, etc. are.

So, SimpleDB:BerkleyDB and REST:POSIX/VFS. The local operating system abstracted the hardware, and the Internet/Web OS abstracts "the cloud". They are simply tools that allow us to get the job done.

In the past, Windows/Mac/Unix/DOS application writers would do the following (not necessarily in the order listed): define the problem, think about the solution, choose a language, look at available libraries and frameworks so you're not re-inventing the wheel for functionality. For Internet- and "web"-based applications this is no different. It's just that instead of reading and writing data via the VFS, you're using HTTP/REST.

If someone tries to make it more complicated than that, they're probably trying to sell something. :)


From: Matt Ammerman (Jun 04 2008, at 08:25)

@ Justin: Based on your examples, and in the context of the overarching analogy comparing computing on the Internet with personal hardware computing, I would tend to label the Internet as the data bus rather than an OS. S3 may be the disk, and some form of cloud computing service of choice may be the CPU(s), but the underlying transport mechanism is the Internet. That's why I think the statement that the Internet is not an OS is accurate.

To further the analogy with some food for thought - common Web 2.0 services we know as 'mashup engines' are really driver abstraction layers, aren't they? They provide APIs to services acting as hardware components and bring them across the bus (Internet) into common platforms for developers.

Pretty cool stuff.


From: eh (Jun 04 2008, at 08:35)

This is really a discussion about bullshit and bullshitting.

You can't analyze what Mike Arrington said because he confused so many terms and ideas that he didn't really say anything.

If he's actually going to have a boner for the technology (the protocols, file formats, licenses, language implementations, tools, standards, APIs, SDKs, etc etc etc) instead of users, people and communities, that would greatly simplify things because then you could actually know what you're really talking about. But his ideas ("Web 2.0", "Web OS") and ideas of people like him are so nebulous and ill-defined that it's like trying to wrestle with mud. We don't even know what we're debating here, do we?


From: Clydicus (Jun 04 2008, at 08:50)

I think you are splitting hairs on a level that most people aren't interested in understanding. Most of the time, when people talk about "the web as an OS", they are talking about the web as a platform, and you seem to agree with that characterization.

Up until now, business and consumers have had a critical decision to make: what OS to run? Their choice of OS had impact on the application they would be using, what hardware they would be able to use, etc.

"The web as a platform" means that choosing an OS isn't quite so important. Doesn't matter what OS you have, so long as you can access the web. That is the shift that people are observing. Whether or not "the web as an OS" is a technically accurate use of the computer science term "operating system"...whatever...who cares. You're over thinking this.


From: Marcus (Jun 04 2008, at 09:18)

As I sit here, remot edebugging the depths of an embedded OS kernel for a timing issue probably related to the swap that happens when you try to acquire a semaphore, I couldn't agree more with Tim about the scary and complex part.


From: Jeremy Zawodny (Jun 04 2008, at 09:22)

There is No Web OS:



From: John Kemp (Jun 04 2008, at 13:34)

No "Web OS", but perhaps a "Cloud" OS -


From: mattflo (Jun 04 2008, at 13:57)

I haven't been following the WebOS chatter much at all. What you said about platforms is helpful. I think the best way to think about what the web offers application developers and users alike is that it is more like a shell not an OS.


From: Deepak (Jun 04 2008, at 15:47)

Aren't we talking semantics here? When people talk about Web OS' I cringe cause I consider the framework that makes the web tick to be the germs of an "OS", the part you call a platform. Most people call something running on top of this the WebOS and that, IMO is just a service running on the web.

The point is that the web is one giant global platform, in theory, which we can program on and for and what we call it is somewhat immaterial.


From: JulesLt (Jun 04 2008, at 17:09)

A good post, although I'd agree with some of the comments that the real problem is that Mike Arrington is so vague in what he says that refuting it is almost impossible, in that you have to decide your own definition of what he means in order to refute it . . . but I digress.

On the subject of no one you know coding to the OS - I realise that's meant in the same spirit as Jobs 'No one reads anymore' quote (or Douglas Adams great 'No one was poor. At least no one worth mentioning anyway' line) - but I do think that may be more down to the problem space you're working in. I work in the web app space myself too, but I do think there are interesting problems being solved in native software, and smart interesting people working on them - it doesn't pay to be dismissive of whole areas.

I realise this isn't entirely related to the original point, but rich clients are another part of the Web 2.0 meme, and another place the WebOS fantasists seem to lack a good grasp of the technology - I'm as impressed as anyone else with what people have managed to do using Ajax, or implementing something like CoverFlow in Flash, Slideshare, etc, and I've played around with demos of CSS3 animations and HTML5 canvas . . . but my conclusion is that all of them like to eat CPU - great on battery life.

(And also that ECMAScript/ActionScript/JavaScript doesn't seem that great for developing complex applications, but I would guess that going forward, we will see more tools like GWT. After all, few people write in Java byte code, or directly call drawing primitives).


From: Jens Alfke (Jun 07 2008, at 13:42)

Jesus, Tim, why the gratuitous bashing of operating systems? All that proves is that you live in an echo-chamber where everyone around you codes the same type of thing you do; and you then extrapolate that to the rest of the world. In reality I'd guess the split is probably something like 50:50, especially if you count the game and cellphone industries.

Your comments about OS programming being low-level and brutal are pretty far out-of-date too. I can't speak for all platforms, but the Cocoa APIs on Mac OS X are extremely powerful and high-level; I've used a number of Web APIs (Rails, TurboGears, PHP...) and while they have some advantages, they're ultimately constrained by the tiny little bottleneck of IBM-3270 style request/response interaction with the client. _That's_ what I'd call low-level.


From: Jonas Bofjäll (Jun 08 2008, at 04:02)

I've never really understood the people who say "forget the hardware, operating system and applications, everyone will do everything on the web in the future". That's always struck me as a scenario where you _really_ want to build web browsers. Not only is there going to be a lot of them, there will be great business interests behind specifying the platform everyone's supposedly on.


From: Mark Hughes (Jun 09 2008, at 14:59)

Almost all Mac OS X developers code down to the OS level, because A) it's faster and more powerful, and B) the Cocoa APIs are powerful and pleasant to use. B enables us to take advantage of A.

In Java, I would never code anywhere near the OS level, because the Java low-level APIs, to the extent they even exist, are crap. Unbearably bad. Java is totally inadequate for anything but high-level app development; that's often a useful space, but it means many apps are hard or impossible to build in Java, and Java apps lose a lot of features.

The "Web OS" is useful for apps where the data is on the network, requires minimal manipulation for display and use, and doesn't require any system functionality. A photo gallery is a good webapp. A photo editor is a bad webapp. A photo booth is an impossible webapp.

You need to get out of the dark satanic Java mills (lucrative though they are) and go take a walk around good platforms for a while.


author · Dad · software · colophon · rights
picture of the day
June 03, 2008
· Technology (77 fragments)
· · Internet (103 more)
· · Web (385 more)
· The World (107 fragments)
· · Life Online (263 more)
· Business (106 fragments)
· · Internet (99 more)

By .

I am an employee
of, but
the opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.