One thing I’ve wanted for a while is for my computing experience to be identical no matter which machine I go to. My bookmarks would be identical, my browser history, cookies, etc. And that’s just the browser. When I set up, say, an RSS reader (like Akregator, the best Linux reader), I want it to pull down my list of subscribed feeds and a list of which posts I’ve already read.
Of course this all starts to sound very much like a bad attempt to think about new problems with old technologies — like my favorite old standby, namely the early clothes dryers. My friend Seth tells me that the earliest patents in this direction were for devices that automatically pulled clothes out of a washbasin and hung them up to dry; it took rather longer for someone to come up with the idea of a rotating heated drum. If I find a citation for one of these early patents, I’ll post it here.
In any case, hoping for machines to copy down all of our data from one location to another sounds insufficiently webby. If I want shared bookmarks, something like the seamless del.icio.us Firefox integration is closer to the mark. If I want shared RSS content, Google Reader is probably what I want.
But as I wrote in response to Adam Rosi-Kessel’s Google Reader exultations, I don’t believe that we should be planning for all-web-all-the-time. We should plan for a wifi-type world, where connections can fall away and everything still works fine.
The more fundamental reason to want this is that Centralization Is Bad. I have nightmares of what would happen if, say, Google’s machines blew up, or a few key routers (like MAE-East and MAE-West) were destroyed. We simply can’t be relying on central servers for everything.
The Internet is supposed to be radically decentralized, and in many important ways — technologically and philosophically — it is. To me, radical decentralization of news coverage is more important by far than decentralization of wiring, and we certainly have the former. Wifi and its ilk certainly count as radically decentralized wiring, so we have that too. What we should be aiming for is decentralized computing. In part this is because it’s safer: I want a world where 99% of the computers and wires in the world can blow up, and the remaining 1% can still talk to each other just fine. (If DNS disappeared right now, I’m pretty sure we’d all be screwed. This is frightening.)
But in larger part, we want decentralization because it’s more efficient. We have hundreds of millions of computers, each of which is something like a million times as powerful as the average computer from the late 70’s. Most of that computing power is going to waste. How full is the average hard drive? An efficient system would use all that available disk. So it just seems like a waste to turn all our computing power back over to centralized servers; it’s a return to the mainframe era.
That’s why I’d like to see a hybrid model: lots of computationally intensive JavaScript on everyone’s devices, thereby making good use of CPU; lots of caches of everything on local disk (which would require some slight advances in Ajax); networking that expects to fail and does so gracefully; and centralization only as much as is necessary to keep all the machines in sync.
Years ago a friend commented that Groove seemed like overkill, inasmuch as a set of open-source tools available then could do 90% of the same job for free. Of course open-source tools lack Groove’s polish, but I still agree with my friend. I’d prefer to see a world where we weren’t all relying on Google to keep our information in sync; instead we’d let hackers develop backend tools based on something like OpenSSH, sending our data around in the background while our applications are blissfully unaware that there’s a network behind them. This is what radical decentralization means: it means giving people the tools to do things that only corporations used to be able to do.
All of this, ironically, was intended to announce my discovery (at Adam’s prompting) of Google Browser Sync, which will soon be keeping Firefox in sync on all my machines. The growth of the GoogleMind continues.
Note that Google Browser Sync is only available for Firefox. This is, I think, a bit of evidence in favor of Paul Graham’s provocative claim that Microsoft is dead. Microsoft, of course, is not dead. It is highly profitable. It will be highly profitable for years to come. People (Don Dodge, for instance) have misunderstood Graham’s claim, which is mostly because Graham’s own language was inflammatory and the topic itself is so. The best synopsis of his claim is in his essay:
But it’s gone now. I can sense that. No one is even afraid of Microsoft anymore. They still make a lot of money—so does IBM, for that matter. But they’re not dangerous.
Microsoft is dead in the same way that IBM is dead. Which seems to me largely correct. The web is the thing. The web has been the thing for years. It’s probably too early to say that Microsoft has lost the battle for the web, but it’s getting there. Firefox, of course, doesn’t have IE’s market share, but that has to be measured against IE’s presence on every single Windows box in the world. If you want to get a measure of how IE will be doing in a couple years, you should probably look at what web developers prefer to build on. My own informal surveying suggests that IE just isn’t a factor. People test against it because they have to, but Firefox and Safari are what they want to build on.
And open source is quietly taking over. PHP, Perl, Python, and Ruby are the languages of the web now; MySQL is the preferred database backend. Lots of companies still install Exchange servers, of course, but IMAP and POP are where the world is moving. I’d like to see a rigorous look at the numbers on these things, because I am of course talking out of my hat. But I’d have to assume that open standards like JavaScript or PHP are waxing while proprietary technologies like ASP are waning. One good way to measure ascendancy would be to look at job postings requiring expertise in various technologies — say, MySQL versus Oracle, Perl or Python or Ruby versus ASP, IMAP versus Exchange, Apache versus IIS, LDAP versus Active Directory, Bind versus Windows DNS, etc., etc. The largest companies probably still install Exchange or Notes and get expensive support contracts, but I’d have to assume that small-to-medium-sized companies are moving to open standards. For one thing it’s cheaper. For another it avoids lock-in. For a third they’re better technologies.
Don Dodge misunderstands Paul Graham, and he has the numbers to argue his point. He’s not wrong. He’s just arguing the wrong thing. Thought leaders aren’t behind Microsoft anymore. The web is the thing, and Microsoft is a slowly receding force on the web. The world is moving to open-source technologies like Perl and Apache, and moving to open standards like IMAP, JavaScript, or PDF (did you know that Adobe is moving to make PDF an ISO-approved standard?). Whether or not people are aware of it, more and more of their everyday computing experience is conducted using technologies over which Microsoft has no control. Microsoft is fighting against commodity software, just as IBM fought against commodity hardware. Both fights will end the same way.