Several days ago, Michael Arrington at TechCrunch wrote an effusive article about the importance of The new Google Chrome browser. Specifically, Arrington made the claim that Chrome was the new Web operating system. Arrington was attacked by several people who not only disagreed with the notion, but attacked him for being an idiot because, in essence, an OS is something that has drivers and talks to hardware. The argument was that Arrington is not a techie and revealed his tech idiocy by making such a dumb statement.
Well I am a techie, and as I see it, Arrington is more right than wrong and his attackers are being pedantic, narrow, and silly.
Arrington’s critics are really making a language argument. It is a bit like saying you can’t call the file surface in a windowing operating systems a “desktop” because a desk is a thing that you sit at that is made out of wood, metal, or some such material. Clearly a computer does not have an actual “desktop”.
Silly, right?
Here’s the thing. The *meaning* of OS has changed from what it used to mean in the minds of users and even techies. Human language is a living thing, and terms grow, or shrink over time to match the needs and characteristics of the tools and the environment.
The term "operating system" long ago evolved beyond the narrow scope that is being defined by Arrington’s critics. Today most people think of an OS as being an environment that applications run in and that provides a bunch of end user services. In the early days of computing, operating systems were much more limited.
In fact in the early days application developers rarely even interacted with the OS. Programming languages had built-in functions for things like writing to disk, or to the printer or screen, and so it was the job of the programming language to support those functions by interfacing to the OS which provided access to the actual hardware through drivers. For the application writer, this was the unseen magic under the hood.
Today application writers write directly to the OS, and the programming language is just expected not to get in the way. And so a more intuitive definition of the operating system in today’s world would probably be the collection of services that an application sits on top of that enable that application.
And so, in the Internet age, the concept of a cloud OS or web OS being something that makes an emergent class of applications possible seems totally reasonable to me.
Now some of you will think I am reversing my position from yesterday. I am not. I do not think Chrome matters to me as a developer for the next year or two because it will have tiny market share and I don’t think supporting any of its special features will drive user adoption for my product in the near term.
But that said, the idea of something that does not operate at the driver level as being a new “OS” is a totally reasonable concept. In my mind the web browser has been heading this way for a long time, and so I am not so sure Chrome is the level of revelation that Michael is suggesting. But his basic framework is most certainly reasonable.
Wednesday, September 3, 2008
Subscribe to:
Post Comments (Atom)

21 comments:
You are partially right in that the Operating system will become invisible or has become invisible to most Applications.
Will we ever get to true thin client computing with the Browser being displayed on a dumb terminal and all the intelligence stored on the cloud. You probably will be right in that happening.
In a few years or less you will carry a device similar to an Iphone whch wil dock to a keyboard mouse and monitor and provide everything you have currently through the cloud, over a Wireless network. You will then walk out hop into your car/get to work and dock back in out there and continue where you left of and while not docked you would use the device to do everything you would be doing without the keyboard/mouse/monitor just on a smaller scale plus have voice services along with the data services.
In that context what you say will become more appropriate and apparent as you are only looking at the various applications and not the OS it maybe channeling through to get what it needs.
I agree that it's a language thing. But I also think we should hold on to our current definition of OS and let the browser be a browser.
There are lots of other frameworks which do not insist on calling themselves OSes (e.g. JAVA?)
Fair enough, but it is certainly not idiotic to have the debate. There are potentially reasonable arguments for not changing the language, though I do think that things like device drivers are going to be so low level and irrelevant that the application environment is going to be whats important, regardless of what we call it.
Right on, Hank. This is just the internet fully realizing itself. I've argued with Windows desktop programmers (wdp's) for years about this and have come to the conclusion that it's a classic Black Swan issue, but just for the wdp's only...Everybody else expects this change, and won't be taken off guard by it.
MSFT's definition of an OS? An exclusive license that allows computer manufacturers to sell the latest hunk of plastic.
I still don't like how web companies are at the mercy of 3rd party browsers and never-implemented standards for their e-commerce.
a) You're right: the browser is the OS.
b) It'll be interesting to see when this goes beyond semantics: new desktop machines that boot into the browser. There's no "close" button in the corner, because there is nothing else on the machine.
hi hank - the link underlying "attacked him" isn't correct - delete "http://draft.blogger.com/"
Can it boot up is the question?
Well, it's open source right? Then it's only matter of time before "Chrome" can be distributed on a CD and boot up with the PC.
I bought google at 240 and told numerous people that the day will come when everyone will be sick of the "Google OS" cd's/dvd's that they get in the mail for free...remember the AOL Cd's? Lets just hope Googles execution over the long term is better than AOL's.
A computer's virtual desktop is a metaphor for a real desktop.
The argument that a browser is an OS would imply that the browser is a metaphor for a computer OS. Applications are written for the web browsing experience.
I think that's a valid point, but the metaphor breaks down when you consider all the other wonderful things that your real OS does that browsers do not.
Also, attaching OS to the browsing experience isn't necessarily a positive connotation. A web application written for IE may not run in Firefox or Webkit.
Web apps are important, but so are traditional apps, at least for the time being. On my computer, I use IM, Office and iTunes on a daily basis. Heck, I even have a non-browser app for Twitter, so that's an example of technology going the other way -- a web app moving to the desktop. At least for now, the class of software that includes Windows, Linux and the Mac OS remains very important -- important enough to need a name. That name has traditionally been "operating system," and I don't see any reason to change that.
You can't win an argument based on semantics. Forget the idea of an OS facilitating the addressing of hardware through drivers. The OS is essentially a system for managing the availability of limited resources across applications. In this context, a browser is just another application, albeit a very flexible one. It basically can morph into many types of applications all within its sandbox. The only resources available to the browser application are the ones alloted to it by the operating system. It has no control over the storage space, memory, CPU processing available to it.
There is certainly a lot you can do with javascript and HTML as the many varied services have proven, but there are certainly limitations to it as well. The languages used were built primarily to support a UI-based application with business logic running remotely on some server. This introduces limitations in what a browser-based application can and cannot do well. The single-threaded processing of most browsers (sans Chrome) do not bode well for many types of OS-based applications. Even in Chrome, an application is running in a SINGLE tab so it still faces these limitations. With Chrome, you can avoid having other applications in the browser cause issues with yours. Again - this is because you cannot handle resource loading within a browser - that's what the OS is doing for you. Even the Chrome solution depends heavily on the concept that processes (an OS controlled concept) run independently of each other.
These are just a few of the difference - I'm sure if you sat down a bit and thought about it, there would be plenty of tangible differences.
the *point* man,
Actually, your view of what an OS is is not informed by history but current circumstance. CP/M for example back in the 70's, did none of the things you are talking about and it was still an operating system. In many embedded devices there are "operating systems" that do very limited things. The words are just words describing what we happen to want to describe. The fact that there are operating systems that do what you describe does not mean that is the definition of operating systems, any more than the fact that a pair of pants is black means all pants must be black. And in this case, whether you like it or not, in the public's mind, the definition of OS is going to change.
Let's take your line of thinking a step farther. If you can define what you thinkan OS is in the public's view - then you can certainly call anything you want "an OS". Your argument is circular.
In the context of Mike's A. blog post, he implicitly compared it to Microsoft's OS which would be Windows / Vista. That is the definition which I was using as a comparison. If Mike A. compared something to a calculator, I wouldn't bring up the definition of an abacus, would you?
In any case, I find it strange that his blog post has disappeared from TechCrunch and your link no longer works. Too much heat?
Chrome is not trying to be the operating system, it's trying to get out of its way. By using a shared-nothing separate process for each tab and plugin, it's letting the Kernel and libc do the job they were designed to do.
Most modern browsers (especially FF3) are trying to do an operating system's job — scheduling logically independent processes, micro-managing memory allocations, mapping virtual memory, providing an internal windowing system, providing an internal GUI scripting system.
Chrome does none of these things. It parries them off to the real operating system, where they belong.
And all this talk of cloud computing is in the clouds! How many times have these supposedly reliable systems (Amazon, google code, etc) gone down for hours at a time leaving all their users data-less. Local storage is both nescessary and important... and what about backups? I have 10GB account with a cloud computer which I want to back up.. but my DSL line only supports a couple hundred Kbs so it would take days to backup a remote service like this.
If you claim that the definition of OS is going to change, but to what? The simplest definition of an OS is that it is the interface between the hardware and the applications. Things like windows are not the OS, they are the UI which are applications sat atop the OS.
Operting system is the master application that runs all other smaller applications which facilitate the user to do things. Print a Document, Draw a picture, Send an email , Play a game, Build a website or play a movie. All these applications used to be non-browser applications in the past. Now then, you can do all these in a Browser window. Browser is fast becoming one Master Application that does everything from your breakfast to Rocket Launch. In that sense, I appreciate the idea of describing the Browser as Operating System.
I don't agree with your linguistic argument, mostly because there isn't a consensus (yet) on whether the term "OS" can refer to web browsers, whereas words like "save" and "cool" are universally understood (assuming we all speak "urban" english).
I think that discussing metaphoric exclamations don't really have a whole lot of value other than that of personal entertainment, but I do agree with the criticism towards the recent trend of "subjective journalism".
I would like to point out that there is a term called "Operating Environment". Now discuss substance. Thank You.
(I was going to call the direction this discussion took "ironic", given what the post was all about, but that would have caused another discussion about semantics...)
Why doesn't anyone talk about the OS being the new browser?
You can run aan operating system without a browser, but no browser without an operating system. At least not as long as you have something like fitting firmware running on the device.
A page who calls itself "techcrunch" should just try to keep the definitions as straight as necessary. And please, no, thanks, no discussions about firmware.
I don't find the assumption of an browser becoming an "OS" in the future....maybe near future!
Right now, it sounds kind of dumb, but Mr. Han ain't no fool, and has experience on the field.
That doesn't assure anything, by the way, but Google has started something we can't deny, but as blasdelf said on an earlier post:
"Most modern browsers (especially FF3) are trying to do an operating system's job — scheduling logically independent processes, micro-managing memory allocations, mapping virtual memory, providing an internal windowing system, providing an internal GUI scripting system.
Chrome does none of these things. It parries them off to the real operating system, where they belong."
Might not be this version of Chrome...but could come sooner than later.
Post a Comment