Whither the Platform?
Computing platforms seem like they’re losing relevance. Not the concept of a platform, but rather the individuality of all the different platforms themselves. Mac versus Windows. Web versus desktop. Firefox versus Safari. It matters less and less as people way smarter than I am continue to abstract and homogenize and standardize and virtualize and whatever-the-fuck else they’re doing to make it easier for developers to stop worrying about platform dependencies and just write good software.
This post is going to be a sort of marker in time for me. In a year or two, I’ll come back and re-read it and see how wrong I was and be glad that I was wrong because the actual trajectory was so much better than I predicted.
Hello. I’m a Mac and a PC
I’m pretty behind the technological times considering my profession. I’m still running Tiger on a 3-year-old 12" PowerBook G4. It was the last Apple laptop released on IBM’s PowerPC architecture, just before they made the switch to Intel. And the big deal about an Intel chip in a Mac was the ability to run Windows or Linux or any other OS built on the x86 architecture.
I never really saw this in action until James Foster’s recent talk on MagLev and Seaside. During his presentation, he was concurrently running OS X, Windows XP, and Ubuntu Linux, all while running his gigantic Smalltalk web framework and swapping between all of them with keystrokes courtesy of Spaces on OS X. This stunned me. I don’t know why — it’s not really that new — but I just wasn’t acquainted with virtualization and how effing sweet it is.
So now you can run any OS you want to on Apple hardware. That’s incredible — and unfortunate for everyone else, because Apple is never going to license OS X to anyone ever.1
But to be fair, there’s now Cocotron,
an open source project which aims to implement a cross-platform Objective-C API similar to that described by Apple Inc.’s Cocoa documentation. Uh…right. I think that means that Cocoa developers will soon be able to port their OS X apps to Windows by selecting a new target in Xcode and clicking a button. That sounds nice. The FileMagnet guys wrote all about it.
The Web without the Browser
Microsoft just announced Azure, an enormous cloud computing infrastructure. Google has catalogued 94% of historical human knowledge and 21% of future human knowledge, the latter of which they intend to hold for ransom. 37signals is the envy of every small business in the United States.
Web apps are huge. The only thing huger is the amount of hyperbole I’ll use in this post.
What happened to the rich-client desktop application? Well, nothing, really. Adobe is still releasing new versions of Creative Suite, Microsoft is still doing something or other with Office and Outlook, and those Cocotron boys aren’t porting several hundred thousand lines of Objective-C for nothing.
More interesting, though, are “site-specific browsers” like Fluid that enable you to run a web application on your desktop. Coupled with offline storage (such as that specified in the HTML 5 draft [slated for release in two thousand twenty-fucking-two]) and high-speed connections, you might not be able to tell the difference between rich-client and web applications in a few years.
I like Fluid’s tagline: your web browser is for web browsing. Not coincidentally, it leads into my next topic:
The Web without That Browser
I’ve railed on IE enough. Every browser manufacturer today is trying its hardest to comply with standards and sell its product on features, performance, stability, security, interface, and all the other aspects over which it has control (rather than the alternative of trying to control the Web, which is just silly).
Front-end libraries like Prototype and jQuery are taking most all of the pain of cross-platform web UI development. The W3C is doing…whatever it’s doing. I’m personally trying to evangelize best practices to other designers and developers in my area.
I sincerely believe that by 2010, web app development will be as painless as it ever will be. For what it’s worth.
Back to the Future
I’ve created an iCal event to remind me to read this post again in exactly two years. If blogs are still relevant, I will most certainly post my findings.
By the way: Happy Birthday Patrick!