Wednesday, 4 July 2007

Why is Apple porting its browser to Windows? To take over the world, of course.

There are so many interesting things going on in the industry that it's frustrating, because I don't have time to write about them all.

Jerry Yang is now in charge at Yahoo, which in my opinion means a lot because a founder is often much more willing to revisit old assumptions and make radical changes than is someone who came in after the fact. (I know the stereotype is that founders resist change, but I've found that the exact opposite is often true, especially if the founder is moving up after spending time lower in the management chain.)

Google bought Grand Central, which underlines their interest in providing client software for mobile phones. It's a significant change for Google because up to now they have focused mostly on providing mobile versions of their existing web apps, like Maps. Grand Central is different; it's a call management system that embeds Google deeply in the life of a mobile user. It implies a much tighter relationship between Google and the user than most other Google products, and it's not something that you can easily monetize through advertising -- which makes me wonder whether Google is planning to run it standalone or integrate it into something bigger.

But the strangest recent development was Apple's decision to port its Safari web browser to Windows.

It is not easy to port a browser to a new platform. There's a huge amount of programming involved -- to do the actual port, to debug it, and to maintain and upgrade the code as people identify small incompatibilities and ask for new features. I lived through PalmSource's effort to get a good browser for Palm OS, and talked with the Be veterans about their browser work. The quick summary: it's a huge pain in the butt.

What's Apple hoping to get? The engineers at Apple who are spending their time on Safari for Windows could be creating new features for the iPhone, or helping to finish the next version of Mac OS X. Although Apple is rich enough to hire a lot of engineers, the supply of really good ones is limited, so Apple's definitely paying a price to do the port. And for what? To get people to use an alternate browser, you have to give it away for free. So there's no immediate benefit to doing the port.

A lot of Apple enthusiast sites have asked what's going on, but I'm not persuaded by most of the answers they came up with. For example, a site called Apple Matters gave four possible motivations: for bragging rights, to show Windows users what it's like to use a Mac, to give iPhone website developers a tool to test their sites, and to get revenue from search referrals to Yahoo and Google (link).

Apple Matters seems like a very good site, and to give them credit, even they were skeptical about some of the possible explanations. None of them work for me. Apple doesn't need more bragging rights, a browser is a very awkward way to show off the Mac UI, iPhone developers can buy an iPhone to test their sites, and the search referral fees from Yahoo and Google can't be all that big or everyone would be writing browsers.

I think the motivation runs deeper. It turns out that Apple didn't just port the browser to Windows; it ported the browser, the underlying Web rendering engine, and the Mac OS X programming frameworks that the browser relies on. In other words, Apple ported an entire OS layer onto Windows, and the browser is riding on top of that (link).

Now that's interesting. Apple is backing into the cross-platform OS layer business. Maybe the OS layer is just a convenient way to do the browser port. Or maybe the browser is just a trojan horse to get the OS layer on a lot more systems.

Add to this situation Apple's other recent strange announcement -- that it's "enabling" iPhone applications development by supporting Ajax web software on the iPhone. The problem with Ajax/Web2 applications is that they rely on a constant network connection in order to work. They're just thin clients to a server on the Web. Considering the iPhone's lack of true 3G connection speed, and AT&T/Cingular's well-documented data coverage limitations, Ajax-style development is about the worst thing you could do on the iPhone. What the developers wanted was the ability to create native Mac OS X applications, and Apple blew them off.

Why piss off the developers, and why put such a huge handicap on people supporting your critical new product?

Maybe the iPhone is so screwed up internally that it can't support third party apps. Sure, and maybe Apple wants to port Safari to Windows just for ego.

If you want a single idea that explains both actions, it's this: Apple realizes that in the long term, the development platform that matters is not the OS on the hardware, but the software layer that the web apps run on (I believe that; you can read more here). Apple realizes that this layer will eventually become good enough to displace native personal computer apps. Web apps then become both an opportunity and a challenge for Apple. The opportunity is that they're a way to take down Microsoft. The challenge is that the same process that obsoletes Windows obsoletes other PC operating systems, including Mac OS.

This makes it vital for Apple to create its own Web apps layer, so it can control its own destiny and increase its power. That goal would be so important that Apple would be willing to handicap iPhone apps development in the short term in order to make developers focus on the web apps platform in the long term.

If that's Apple's thinking, then the next thing to watch for will be Apple gradually adding more features to its OS layer, in the guise of browser APIs and feature enhancements. Those features will be deployed at the same time on the Mac, the iPhone, and Windows Safari. And Apple will start evangelizing web app developers to use them.

The war to come. This could set up a brutal competition in software layers, between Adobe Apollo, Microsoft Silverlight, Sun's revised Java, Firefox's platform, and Apple. Google fits in there somewhere as well, but it's not clear if they'll try to create their own platform or work with several other players.

I think this is where the most interesting action's going to be in applications development in the next few years. Stay tuned.

No comments:

Post a Comment