Monday, June 11, 2007

WWDC 2007: Worst. Keynote. Ever.

Apple turned the world upside down today, and nobody noticed, except me. Well, I guess it was my world that they rattled. I just finished watching The Worst. Keynote. Ever. If, like me, you've been under a rock, you'll want to know that I refer to a presentation given by Steve Jobs at WWDC 2007 on Monday. Oh, to be sure, my deepest fear (licensing the OS X to Palm) was not yet realized but the damage was certainly bad enough. I have been the accidental undoing of my own future, the undoing of Microsoft. My stomach is all knotted up.

Can't Sleep, Clown Will Eat Me

Yeah, I know, it's the middle of the night and I haven't slept well for days. I was trying to help save half a continent from some strange tropical disease that I hadn't heard of a week ago, so I had to put the keynote off until later. Even though I don't regularly use a Macintosh, I really enjoy watching the SteveNotes. He's truly a master of presentation and salesmanship. I wish I could get Ballmer to watch a few of these.

The thing I love most about the WWDC keynotes in particular is how the Wall Street analysts:

  • never seem to quite understand what's important and what's a smokescreen for Steve's Real Plan, nor what the implications might be,

  • don't bother to ask anyone who does know,

  • start whining all over the eager press about the utter insignificance of anything announced by Steve, no matter how earth shaking it happens to be,

  • respond in emotional synchronicity to a bunch of fifteen year old (and emotionally stunted, slightly older) bloggers who failed to get satisfaction from their week-long erections waiting for some mythical hardware product of their wet dreams that never showed up, and then

  • send AAPL stock into a tailspin.

Oooh! I just love the fact that, if I may borrow a phrase from Dr. Evil, "I'm surrounded by frickin' idiots". The kind and good gentleman of the Circus apparently didn't say it, but I will: There's a sucker born every minute. The fact that nobody understands the earthquake that Steve unleashed today might buy me some time to figure out how to respond. But I'm jumping ahead.

Steve's keynotes, you see, are very, very carefully scripted. Sometimes the exact words used by Steve to describe a particular feature, or even by some of the on-stage guests (not all of them) are scripted. Let's start at the end.

Pundits & Bloggers & Analysts! Oh my!

A quick scan of the various Macintosh news, rumors, blogs, and discussion forums reveals an apparent collective disappointment in the keynote. Nothing new! Waaah! We guessed all that! Waaah! Cry babies. Liars, too. Lying damn crybabies. The web was not exactly littered with predictions that Apple would release Safari for Windows, now, was it? No, it was not. I knew it was coming, of course. Many Bothans died to bring me this information. Not.

Hints of a Coming Storm

I had as hard of a time hiding my distress at the recent D conference, as Steve did hiding his glee at his coming and secret NeXT move on the chess board that is your digital future. He could scarcely contain himself when he unleashed the now famous quip, "It's like giving a glass of ice water to somebody in hell" in response to a question about Apple being one of the largest makers of software for Windows, with iTunes and QuickTime. See his scarcely contained excitement here:

Here you can see Jobs grinning like a schoolboy who just made out with Mary Pigtails behind the stage curtain. iTunes is old, old news. He was grinning about his secret plan to hand another glass of ice water to the people in hell: Safari for WIndows.

And One More, "One More Thing"

Now consider the end of the WWDC 2007 keynote address, which, for the first time included not one, but two of Steve's famous signature "and one more thing..." segments.

The first "and one more thing..." announced Safari for Windows. The second announced Apple's initial, careful steps toward a software ecosystem on iPhone, which is "simply" the WebKit engine in iPhone. These are really the same announcement, considering that Safari for Windows makes it easier for non-Macintosh developers to write iPhone compatible web sites and Web 2.0 / AJAX applications. The fact that they were presented as two separate items is a significant clue that Safari for Windows is much, much more than that. But first things first.

Safari, iPhone, Web 2.0 and AJAX

The open source WebKit at the heart of all versions of Safari can render modern "Web 2.0" style AJAX, JavaScript, and HTML powered web applications from web servers in a nicely integrated way. The applications look and to a large degree feel like "native" applications on iPhone. They can even integrate with basic iPhone features, placing calls, sending emails, manipulating media like pictures and so forth on iPhone.

In fact, Scott Forestall, VP iPhone Software for Apple had this to say about it:

"All the standard web pages out there 'just work' on the iPhone."

Standard web pages. That should have been the first clue. It was entirely too subtle for the lizards on Wall Street.

Movie UNIX Arrives. Pundits Fail to Notice. Hollywood Lags Behind Apple.

The pundits and analysts are not software developers and really don't grok WWDC to start with. They don't really know what "Developers Conference" means.

Take Gene Munster of Piper Jaffray, for example. He called the WWDC 2007 keynote speech, "underwhelming." Was he on valium during the keynote?

Did he not notice that Steve Jobs was not promising to deliver "Movie UNIX" aka "The Hollywood Operating System" in October, but actually showing it, live, on stage? It's not just Microsoft that has a lot of "catching up" to do, but Hollywood, too!

Somehow these analysis remain, after decades of pretending they can, unable to understand the layers of abstraction in technology, business, and strategy with respect to the importance of technology platforms and ecosystems. They seem also to have collectively forgotten United States v. Microsoft. Lord knows we bought them enough cocaine and hookers, so perhaps it really is simply forgetfulness, but still, I am surprised. Perhaps all the Wall Street lizards who were around at that time have since struck it rich and retired, leaving young upstarts who get all their "facts" from blogs to run the town. I might be moving a little more of my money overseas, come to think of it. But I digress.

Web Standards Rising, Like Zombies From the Grave

There are no standard web pages, not really. Well, there are some now, but they were quite rare until recently.

Standard web pages don't work in most versions of Internet Explorer. Since we have the overwhelming majority of the web browsers in the market, the vast majority of web pages comply with our bugs and quirks. Web designers often berate and belittle people who champion web standards. Their only supporting argument: "most people run IE, so that, bugs included, is the standard, , and any competing open standards are irrelevant."

In fact, the 2nd most popular browser, FireFox, and some of the other browsers, too, use a rendering engine called Gecko which features a "quirks" mode specifically to help the browser support standards to the extent that it can do so, and also remain bug-for-bug compatible with Microsoft Internet Explorer. We have had those upstarts over a barrel for years. If they support pure web standards, then their browser won't correctly render pages that were coded to work around bugs and other behavior in IE that doesn't comply with open internet standards.

Why Does the #1 Open Source Browser Support IE Bugs?

In fact, most alternative web browsers, including FireFox, intentionally support IE bugs which were designed to allow Microsoft to control web standards, and make it difficult for alternative platforms, like Solaris, Linux and Mac OS X to get much traction on the web. Understanding why that's been the case, and why it about to change, requires knowing a little about the psychology of the typical web user. They don't know much about computers, you see.

It's helpful to understand a few principles about web users.

  • Users don't like it when browsers don't render web pages.

  • Users don't know when the fault lies with the web page or the web browser

  • Users don't know when a page is standards compliant and when it's not, and really don't even know what that means, and furthermore, don't even care what it means

  • Users can replace their web browser, but they can't repair a web page

Therefore, users might try an alternate web browser, out of some curiosity perhaps, but they often give it up if it fails to correctly display even a single web page. They go back to Internet Explorer, which is installed by default on every Windows PC.

By shipping slightly broken implementations of web standards, we can make the web an inferior experience to the desktop, and prevent other platforms from leveraging the web as a "new platform" to attract users away from Microsoft.

At least, we could. Now that FireFox has a 15% share of the browser market, and emboldened by the Safari and Opera commitment to strict compatibility with open web standards, the FireFox team now plans to adopt that approach with the next version of their browser, FireFox 3. Apple wants to hasten this along. In the future, these browsers will only support web pages that code to IE bugs to the extent that they can, without breaking the browser's ability to render a standards compliant page.

The Industry Standard

This is important to Apple, because we work the other side of the coin, too. We at Microsoft call ourselves "the industry standard", so that web designers and systems administrators feel like they don't need to support other browsers. Sometimes they even go so far as to check browser type in their web code, and deny all other browsers! I have no idea why they do that, it's probably copy and paste from some of our old example HTML code or something, but whatever the source, I sure love that. I feel all warm inside when I think about it. Well, I used to.

Browser Market Share, Before iPhone

For the most part, that, coupled with some cleverly brutal and technically illegal anti-competitive practices, has, for the most part, kept the upstarts in their place, as you could see in one of Steve's charts, which looked something like this:

Microsoft Internet Explorer has almost 80% of the browser share. Safari has only 5%, FireFox has almost 15%

Carefully Obfuscated Peek at Browser Share After Safari for Windows

Then Steve pulled a fast one. He very meekly suggested that they would like to maybe see their browser share grow and slipped in a quick glimpse at a pie chart showing the Safari market share growing, but the Internet Explorer market share remaining the same. He just removed the FireFox and Other sections to make room for the Safari growth.

However, what Steve expects to happen is much more subtle.

The iPhone Dilemma

Safari is one of the few browsers out there that is very closely standards compliant. Safari users complain about it sometimes because some pages that are designed to work only with Internet Explorer, don't work in Safari.

Those pages won't work on iPhone, either.

Steve presented some interesting numbers. There are about 18 million Safari users today. That number aligns pretty well with the expected number of internet connected Apple Macintosh computers in the world today, as he had earlier mentioned that about 22 million copies of Mac OS X were in use, mostly Tiger and Panther, where users can and do run Safari. The pie chart shows this pool of users to be about 5% of the browser market. That also lines up pretty well with the approximate representation of the Macintosh in the marketplace. It's maybe a little higher than you might expect, but not much. Macintosh enthusiasts have long claimed that, in percentage terms, more Macintosh computers are connected to the internet, Macintosh users use the internet more often, and Macintosh computers stay in service longer. Perhaps that's true in some marginal way that boosts this number by a point.

What's really interesting here is what he didn't say.

WebKit: Tens of Millions of Users Today, Before iPhone Has Even Shipped

Steve didn't mention that Nokia adopted the WebKit, the open source core of Safari, and adapted it to create the S60WebKit, which will be the core of Nokia's new browser on their smart phones, starting with the S60 Release 3 edition of their Symbian OS.

By the way, Symbian S60 phones reached an interesting milestone this spring. At about the same time as Apple reached the 100 million iPods sold milestone, Symbian S60 phones (Editions 1, 2, and 3 total) also reached 100 million units sold. The Safari WebKit based browser on the S60 Edition 3 smart phones has been available to Nokia and its partners since about November of 2005 which implies at least several million phones with this browser have been shipped, even if some S60 Edition 3 phones don't include the browser.

With sales of S60 Edition 3 smart phones at 15 million per quarter in Q1 2007, it would seem fair to say that the WebKit based share of the browser market might also increase from this source, and could potentially double the "Safari" share of the browser marker if nothing else changed.

But oh, yes, there are changes.

Steve mentioned that a half a million FireFox downloads occur each day, and that 1 million iTunes downloads happen each day, too. If Apple can persuade 5% of their iTunes downloaders to use Safari for Windows, they'll add nearly another 18 million Safari users, doubling their market share over today's 5%.

So far we're projecting a 15% market share for Safari by WWDC 2008, and we haven't even accounted for iPhone sales, which could easily add a few more percentage points to browser share for Safari.

All of this is really about the iPhone.

Standards Compliant Web Browsers: Apple's Secret Plan to Save the Internet, and iPhone

As long as Safari is a 2nd class web citizen, Safari users will face web sites that are IE only and lock them out or shunt them off to an inferior web experience. This affects users on the Macintosh to some degree, but those users can install alternate browsers that take a bug-for-bug-compatibility-with-IE strategy, rather than emphasize standards-compliance, like Safari. On the iPhone, users won't have that choice, at least not in the foreseeable future.

Safari for Windows is a bold play to recapture the internet, which we more or less successfully hijacked for a long time. Steve is betting on a combination of standards compliant browsers to build up a large enough market share to boost the efforts of the tiny open source community, and reinforce in turn the efforts of Apple.

At WWDCD 2008, Steve expects to show a graph like this one, where perhaps FireFox has taken a small, probably temporary hit in market share, but begins to enforce the same standards as Safari, and where Safari gains ground from the iPhone, by alliance with the Nokia S60WebKit browser, and where Safari for Windows draws from Microsoft Internet Explorer, too.

Safari on Windows, in combination with Safari on the Macintosh and iPhone, WebKit on Nokia's smart phones, Opera (which is already ACID compliant) and finally, a more rigorously compliant FireFox 3 (which also aims to be compliant with the ACID Test standards test suite) will capture a significant fraction of the browser market, and finally motivate web designers the world over to realize that they need to produce standards-compliant web sites. If those web site owners are alienating 15% to 30% of the browser market, rather than merely 5%, they will undoubtedly begin to insist themselves on standards compliance, and become champions of the cause.

iPhone Development & Saving the Internet

And now, back to the end again for a moment. Shortly before the Wall Street lizards and bloggers unleashed their fury on Jobs, he delivered the coup de grĂ¢ce to Internet Explorer. It's like one of those fan made star wars clips, where a light saber dual leads to someone getting sliced in half, and experiencing a moment of shock and terror before they split in half.

Since the announcement of the iPhone a the MacWorld 2007 developers have been clamoring for a chance to write applications for the iPhone. Those poor sods want to break out of the tiny niche, and write software for Mac OS X that has a chance to sell more than a few tens of dozens of copies.

There are four logical ways that Apple could deliver a software development platform on the iPhone, and they will, eventually, deliver at least three out of four.

  1. J2ME(a platform-independent, but probably sub-standard performance characteristics native client)

  2. iPhone Cocoa Kit ("fully native applications, full client-server ability, etc.")

  3. iPhone DashCode Widget Kit ("mini web / javascript applications, can be client-server")

  4. Web 2.0 + AJAX in Safari ("fully server based web applications")

Apple will deliver these in reverse order, starting with the low hanging fruit, and told developers that they could have applications ready in the 18 days before iPhone ships, give them a quick test, and deploy to their own web infrastructure by the first few days after the iPhone ships. This is true, they can. It's also true that this will give most developers a higher profit margin, lower cost model, and higher quality product experience for their customers, while still delivering applications that look and act like native client applications, because they *are* native client applications -- basically they are Safari plugins at that point.

Even Java Micro Edition might happen someday, hardware performance may need to improve first, and it might depend on demand from large enterprise customers for Java Mobile technology or applications. Nothing about the iPhone strictly prevents it, but the J2ME market right now is a pretty good example of how to get it wrong. Apple is wise to leave this out for now.)

Again, the thing Steve didn't mention is more important than what he did mention.

iPhone Market: Millions of Users before A Single iPhone Ships

Where are those Nokia Symbian WebKit users? By and large, they are not on the web for whatever reason. Nokia's smart phones tend to have tiny, swiveling, tilting, scrunched up web-hostile form factors, so that's part of it. Some of their phones have a decent screen, however, and they've already sold millions of phones that come with WebKit. Perhaps these users don't spend much time on the web because there aren't many applications optimized for use on Phones. Apple's going to force that to change by limiting developer access to the iPhone market initially, to AJAX and Web 2.0.

Developers don't even need to wait for iPhone market to mature. Nokia is creating new potential customers every day, and has been for months, by shipping millions of WebKit enabled phones every quarter.

By delivering the "lowest common denominator" first, in such an elegant simple way, Steve Jobs is handing his developers a new market on a silver platter, a market that already has more application-hungry customers than the entire Macintosh market has ever had, and which will easily double in size this year, even if the iPhone utterly flops. He's handing them Nokia's customers, and all the iTunes using Safari for Windows customers, too, really.

Of course, iPhone won't flop. It will penetrate markets that all the pundits have been saying lay beyond it, due to the presumed "lack" of an SDK. Well, the SDK was right there in front of them, all along. A mere man-month and 600 lines of code later, and a mission critical business application was demoed on stage, live, on an Phone, 18 days before the iPhone ships. It has flick-to-scroll lists, hot-links, touch-to-call ability, pinch-to-resize, and the whole taco right there, carefully hidden in plain sight all along.

iPhone is a Computer, In Your Pocket, in Your Enterprise

iPhone is Apple's first computer that will directly appeal to the Enterprise customer in a way that circumvents all the bean counter's brainwashing we've done for decades. Custom applications, easy to build with open standards, and a major industry partner with substantial market penetration already, Nokia.

And that, my dear blogosphere friends, is why I think this WWDC Keynote was an earthshaking event, cleverly hidden behind the glitz of Core Animation and the iPhone.

The internet will never be the same again.

You would think with the stress I've been under lately that I'd be freaking right the hell out, but I'm strangely calm. We've seen this one coming, after all, since the day that Safari first emerged from Steve's magic lantern. Sadly, we brought it on ourselves, too. It could have been avoided, but we shipped a crap browser for Mac OS X and didn't maintain it. In our hubris, we forced Apple into a desperate corner. The web was rising to be of paramount importance to the general computing experience, and web surfing in Internet Explorer for the Macintosh sucked. We wanted it to suck, and it did suck. Then Apple had to fix it. Without the source code to IE. So they did what software developers do: they wrote some code.

When Safari came out, I knew this day would come. I feel a strange relief.

No comments: