I could have called this article “How you can tell that most columnists have never run Linux.” Fact is, I’m pretty interested in Chrome OS and the lack of understanding people seem to have about this project is rather disconcerting, as it shows a lack of understanding about Linux as a whole.
First, Linux is not NeXTstep. NeXT was a private company, creating end-to-end solutions much like (read: exactly like) Apple does today. Mac OS X is not NeXTstep but a lot of similarities remain: the dock, Objective-C, and much of the underlying system internals. It is important to note that NeXTstep was a privately funded project based on the work done on BSD; source was tightly controlled and just as much of a guarded secret as the source to Windows 7 or OS X. That’s why it’s rock solid.
Linux does not enjoy this same history of closed and focused development. Coding for Linux (as an entire desktop environment) is really more of a playground for developers. If you want to contribute to the kernel or system-level technologies, the opportunity is there. If you want to contribute to an existing, mature project, go for it. If your dream is to start something from scratch, all you have to do is fire up vim. This creates a lot of segmentation and splintering of the development community, which is great for exploring ideas, but there is no central point where all of these ideas come back together into one, single project. A lot of the work is wasted on a lot people. Most ideas and innovations probably don’t ever make it to my desktop. I’m sure they make it somewhere, but where that is is largely unpredictable.
Open source development is not really suited for creating a computing environment for the masses. It’s great at creating one for people like me, but not so much my grandmother. Ubuntu has made great strides in creating an honest rival to Windows and Mac OS X. Installed and configured, it’s every bit as usable as either other solution, provided you don’t want to change your hardware around or use anything too crazy (like an iPod or MIDI equipment). Gnome and KDE have done wonderful things for usability (and let’s not forget XFCE, who should really get more love imo) but the desktop environment and windowing system (which is what Google has created) is only a start toward usability.
As an open source project, you don’t have money to throw at problems, which is sometimes what it takes to solve them. You don’t have one guy in charge who can say, “no, absolutely not,” because the developers can just fork the code and leave your project. There’s no real glue or cohesion in the Linux world and it makes for a wonderfully rich and vibrant experience to those who want to run it, but a very frustrating experience for people who have no idea what a kernel even is.
Aside from these usability issues, Linux faces many hurdles on the road to widespread adoption, not the least of which is support from corporate entities. These problems are pretty big.
First, you have to face the fact that application developers like Adobe are never, ever going to port their suite to Linux. I’m pretty sure their basic attitude is “fuck Linux,” and honestly I don’t blame them. I’m not the first person to bring up Adobe’s lack of Linux love and I certainly won’t be the last, but let’s face it: what’s in it for them? Absolutely nothing. If Adobe ported even just Photoshop and Illustrator to Linux all of the users who would be interested in this are going to splinter into one of two groups. The first group will be the people who say Adobe is the devil because it won’t open source Photoshop or even the Flash plugin and they will continue about their business with GIMP and Inkscape, basically unaffected. The other group will just pirate it. If they sold any copies of Photoshop for Linux, it would be to schools. No professional firm is going to drop their Mac Pros in the trash in favor of a bunch of Linux workstations - not for Photoshop or anything else. Schools who want to teach Photoshop but save money on Windows could benefit sharply. Beyond that, the only people clamoring for this are either Linux enthusiasts who don’t need Adobe products and don’t really understand the problem and freelancing designer/developers who prefer Linux for development and are tired of booting into Windows to use one tool.
Then you have the driver issue. Again, I don’t really think hardware vendors care at all about the Linux community as a general rule. They’ve already got Windows and Mac OS X to contend with - why add a third to the mix? It’s not hard to imagine an executive looking at a report on the cost of developing and maintaining another set of drivers, then saying, “Fuck that,” and throwing the report in the trash.
Why? Why ignore a segment of the market? Because the FOSS guys will make it work anyway. Look at ndiswrapper, which wraps Windows drivers in a nice little shell and translates system calls back and forth between Windowsland and Linuxland so that people can use their WiFi cards in Linux. It’s a dirty hack of a solution, but it does work. So why bother?
So, there’s the state of Linux. I feel a little bad outlining all of these shortcomings without defending Linux a bit but these are really big problems if your goal is widespread adoption. Linux works great for me but I’m not afraid of a config file or man page. I love the terminal. I like to tinker with it and try new things out. I’m also never going to have something like Compiz without it.
Now, what is Google doing with this code base? Honestly, probably not a whole lot. From their announcement, it doesn’t sound like they’re doing much more than fullscreening their browser, which is running in a sandbox. My guess is that they’ve probably taken the Chrome code base and extended the windowing capabilities to create a desktop. The distribution will probably boot into a basic task bar and desktop, maybe with a few widgets and whatnot. I’m sure it’ll be pretty and blue and fast, since it won’t really be much more than a super glorified web browser with a lot of neat features.
In all reality, there are probably a few more things going on here. Google’s going to work very hard to improve boot time and probably hopes to get it under ten seconds, a goal Ubuntu shares. It’s also probably going to create a Gears-like mechanism to make the transition from desktop to internet more transparent. Data will be cached locally so that the Internet isn’t required for you to retrieve a document or email. Desktop icons will replace the standard bookmarks list, like what Chrome can do now. Google’s good at thinking outside the box and I’m sure there will be a few more nifty enhancements like that, most of which will likely be built into the window manager (and already exist in some incarnation or other).
Even though this isn’t really comparable to making OS X out of NeXTstep, there’s still a lot of work to be done. I’ve spent a long time thinking about what their goal with this could be. How is this financially viable? With Android, their stated goal was to get more people online more of the time by enabling handset makers to create smartphones that did more, while spending less on R&D. With Chrome OS, as Fake Steve Jobs said, I’ve never heard of anyone saying, “Wow, I’d really like to get on the Internet, but I can’t find an OS to use!”
Then it dawned on me - this isn’t being created for the end user. It’s being created for the developers out there. It’s supposed to be sort of a challenge to create web apps that are rich enough to replace desktop-based versions of the same things. Chrome OS isn’t going to ship with OpenOffice or GIMP - developers are expected to create online replacements for them over the next year. Many of these projects will be funded through a combination of AdSense and pay-for-more tiered plans. That gets more people looking at ads more often, which is good for Google.
There’s more, though. Google only really cares about two things: AdSense and indexing everything (as it relates to AdSense). Google would index your breakfast if it could…and if you start keeping track of your diet in the cloud, it can. I don’t personally have a problem with this. I don’t put much about my personal life online and anything that I do put up I do so with the understanding that it’s out there. It’s public. How public doesn’t matter at that point. If you don’t want your data in the cloud, stop letting it evaporate.
I have a few hopes for this project beyond seeing some compelling examples of web applications emerge. The main one is that Google will be able to put enough pressure on (or throw enough money at) hardware vendors to create native Linux drivers. They’ll have to have some cooperation as it stands to ship this on any netbooks and make any claims about compatibility.
Chrome OS, in my opinion, isn’t going to be a threat to anyone or anything overnight. They’re trying to create an entire paradigm shift in the way we think about computing that is not fueled by the consumer’s best interests, but by their own. I like desktop applications. I prefer Mail.app to Gmail’s interface. Google Documents, while useful, does not replace Word or Pages or even OOo Writer. Many other people will feel the same way and it’s honestly going to take a new generation of end users growing up in a world where desktop applications haven’t ever been the only way to do something. Kids who think about Photoshop Express before a desktop app. By then, Apple and Microsoft will have created their own innovations within this space. Sure, the idea is a game changer, but not the actual product.
Anyway, there’s my long, unorganized ranting argument for why Chrome OS isn’t the next OS X, isn’t a Windows killer, and isn’t going to assimilate your computer into the Borg. It’s basically just a kind of neat window manager built around the Internet. So contain yourselves. This is hardly as exciting as you all want it to be.