Skip to main content

The dumbing down of operating systems

Yesterday's announcement of the Apple iPad -- basically an iPhone with a larger screen and no camera -- ushered in a new era for OS design. That is, an OS that was originally designed for a phone (the "iPhone OS", which is itself a stripped down version of Mac OS X), is now being ported over to larger, much more capable devices. I have no doubt that the iPhone OS will be very successful on the iPad. It would not surprise me to see it running on laptops and desktops in the near future. This simplified OS eliminates most of the complexity that makes people hate computers: the quagmire of configuration options, keeping up with upgrades, and of course the constant battle against viruses and malware. When I first saw the iPad, I immediately recognized that this is going to be the perfect computer for "non-computer users", like my dear mother-in-law, who pretty much only uses her Windows PC to read email and surf the web. (I'm not sure she's ever saved a file to the hard drive.) But it's also going to be the perfect computer for those of us who just want something that works. Like the original Macintosh, the iPad raises the bar of user-centric computer system design. It is elegant in its minimalism and simplicity.

Still, this trend of dumbing down the OS raises some interesting questions. The iPad OS lacks many features that operating systems have had for decades: multitasking, an open application API and development tools, multiple protection domains -- heck, it doesn't even have a proper filesystem. Arguably, it is this lack of features that makes the iPhone and iPad platforms so attractive to application developers and users alike. This trend suggests very strongly that the feature-rich, complex OSs that we love so much are going to look too baroque, top-heavy, and expensive to survive in a field where the "OS" is little more than GUI gloss over a pretty basic system. (Something tells me that in a few years we're going to get iPad OS v2.0 which builds in some of these "advanced" features that date back to the 1960's.)

Basically, what I'm saying is that the iPad would appear to make most current OS research irrelevant. Discuss.

(Update: Check out this petition that claims that the iPad's DRM is "endangering freedom." I'm not sure I'd go that far, but an interesting perspective nonetheless.)


  1. Wow...CS nerd snipe. :)

    Consider that perhaps you're projecting preconceived notions of what a computer is onto the iPad. Maybe it shouldn't be thought of as your desktop but rather as a special-purpose device. Your car is in many ways just as much of a computer system, with processors, software, etc., but you don't bemoan the irrelevance of OS advancement just because you don't know how to context-switch your car. ;)

    OS research is still very much relevant, but which parts are relevant where is very much dependent on context. With cloud computing and the increased use of shared infrastructure, parts of the computing world are going back to a time-sharing-ish world instead of a one-PC-per-person world. In that world, resource sharing, isolation, etc., topics one usually thinks of when one thinks about an "operating system," are still very apropos even if they seem less so in battery life-conscious single-application devices.

    I would also note that people seem to get too caught up in focusing on the operating system. Any system is a chain of tools and agents that stretches from the mental model of the programmer, to the compiler tools, to the computing and user environment, to the OS, and down to the hardware. There's no commandment that says certain properties have to be enforced at certain levels in all situations. Certain things we think of the OS as doing can often just as easily be accomplished (or accomplished with a different set of tradeoffs) somewhere else, e.g., the compiler toolchain. Apple chose a route where safety is maintained not only by the OS but by a limited API and a by-hand vetting process. For their environment, maybe that works. In others it might not.

  2. The Web browser is now the OS. This is a good thing - it means that we have yet another chance to reinvent everything from the ground up!

  3. Nice analogy of ipad OS: regular OS::automatic transmission : manual transmission

  4. Well I agree with what is said above. I was really interested in buying a iPad but now a tablet with no multi tasking seems useless. While I need a tablet mainly for internet, email and reading books, I still might want to use it for more now and then.

    As for Cloud OSs, I am working on software that enable cloud computing (distributed services managers, virtualization), but I wouldnt want all my data and OS to go to a cloud..I prefer to carry it around on my laptop...

  5. Not only is the iPad a dumbed down mac. But to a lesser extent so is Windows 7. Windows 7 does the same thing as Vista but uses less resources. This was the first Operating System made by Microsoft that that used less resources than the one before it. It seems that we have reached a point that the hardware has topped out at what people do the most. The next innovations will occur in network speeds. Because by going network centric is the only way content can be controlled. Steve Jobs sees the future and he is taking the control of it out of our hands.


Post a Comment

Popular posts from this blog

Why I'm leaving Harvard

The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in my career, and one that I have spent a tremendous amount of time mulling over the last few months.

Rather than let rumors spread about the reasons for my move, I think I should be pretty direct in explaining my thinking here.

I should say first of all that I'm not leaving because of any problems with Harvard. On the contrary, I love Harvard, and will miss it a lot. The computer science faculty are absolutely top-notch, and the students are the best a professor could ever hope to work with. It is a fantastic environment, very supportive, and full of great people. They were crazy enough to give me tenure, and I feel no small pang of guilt for leaving now. I joined Harvard because it offered the opportunity to make a big impact on a great department at an important school, and I have no regrets about my decision to go there eight years ago. But m…

Rewriting a large production system in Go

My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go. I say "almost" because one component of the system -- a library for transcoding between image formats -- works perfectly well in C++, so we decided to leave it as-is. But the rest of the system is 100% Go, not just wrappers to existing modules in C++ or another language. It's been a fun experience and I thought I'd share some lessons learned.

Why rewrite?

The first question we must answer is why we considered a rewrite in the first place. When we started this project, we adopted an existing C++ based system, which had been developed over the course of a couple of years by two of our sister teams at Google. It's a good system and does its job remarkably well. However, it has been used in several different projects with vastly different goals, leading to a nontrivial accretion of cruft. Over time, it became apparent that for us to continue to innovate rapidly wo…

Running a software team at Google

I'm often asked what my job is like at Google since I left academia. I guess going from tenured professor to software engineer sounds like a big step down. Job titles aside, I'm much happier and more productive in my new role than I was in the 8 years at Harvard, though there are actually a lot of similarities between being a professor and running a software team.

I lead a team at Google's Seattle office which is responsible for a range of projects in the mobile web performance area (for more background on my team's work see my earlier blog post on the topic). One of our projects is the recently-announced data compression proxy support in Chrome Mobile. We also work on the PageSpeed suite of technologies, specifically focusing on mobile web optimization, as well as a bunch of other cool stuff that I can't talk about just yet.

My official job title is just "software engineer," which is the most common (and coveted) role at Google. (I say "coveted&quo…