Friday, June 15, 2007

Interesting, Yet Disappointing: Part I

I've got quite a bit to say about the WWDC Keynote, so I'm going to break up my commentary into several articles. The first one, A Gigapixel of Irony was a bit of digging I did into the gigapixel image of the Library of Congress that Steve used during his 64-bit demo. As it turns out, the image was actually created by a photographer who does all of his work on Windows. As I concluded in that article, it seems a wee bit ironic to me that the image used to show off the power of 64-bit Macs wasn't actually created on one.

This article will cover some of my more general observations about the keynote (and related info gleaned from Apple's site). I'll follow that up with a few more random observations that aren't really all that relevant, but I thought were interesting nonetheless.

[Update: It's up.]

Next, I'll post a commentary that briefly touches on each of the ten Leopard features demonstrated in the keynote. Finally, I'll go into three areas in more depth: the "sweet" iPhone SDK, Safari for Windows, and the "New" Finder.


Overall, I thought that this keynote was a bit disappointing. We really didn't see much in the way of the "Top Secret" features that were promised last year. The few things that qualify as new are really more of incremental improvements, as opposed to the actually new features that were presented last year (Time Machine and Core Animation, in particular). The biggest one is, in my mind, Stacks. I'll talk about this in my forthcoming article on the Leopard Finder.

Here are some other random observations, in no particular order:


Let's begin by covering one thing that I forgot to mention back in my WWDC 2007 Predictions article. It's something that I first talked about in my write-up of Macworld 2007 keynote.

But, what I think is even more surprising is that there does not appear to be support for Mac OS X Server and "push" support. If Apple wants business customers to replace their Blackberries with iPhones (not an unreasonable assumption, given that Steve directly contrasted the iPhone with a RIM smartphone, and given the iPhone's price), they need to allow those customers to integrate with their own mail servers (as they currently do using software from RIM). A law firm is not exactly going to be sending out their emails from a address (unless they're from Nigeria with untold millions, I suppose). Apple even has the foundations in place for this, inasmuch that they already have industry-class hardware and software (Xserves and Mac OS X Server) that can (and do) run enterprise mail services. All they need is a new module in Leopard Server, and they've got a platform to compete directly with RIM, and a great opportunity to get a Mac into the door of corporate data center. A company that never considered Macs might be motivated to do so when a senior executive insists on replacing his "ancient" Blackberry with a shiny new iPhone.

So this one's officially on my prediction list for Leopard. You heard it here first, unless someone else has said it, at which point you heard it here sometime after that.

We didn't see any public announcement about it (it's times like this that I really miss being at WWDC and being able to ask Apple engineers things), but I did notice a little tidbit on one of the Leopard Server pages:

Mail services

For fast email access while on the go, Leopard Server supports IMAP IDLE to notify Leopard users immediately when new email arrives.



Being the curious type, I took a look at the contents of the Mac Safari 3 installer before installing it (using the excellent utility Pacifist). Surprisingly, the beta of Safari 3 overwrites your existing version of Safari. That's right; if you install the beta, you lose the supported version of your browser.

Now, to be fair, the installer does archive your existing version of Safari prior to the new installation, and Apple does provide an uninstaller that restores your original Safari. However, while the beta is installed, you have no way to access the original version.

This is a terrible, terrible idea, and has the capability to cause some other system problems as well. Because parts of Safari (particularly something called WebKit) are used in other application (like Mail or Dashboard), installing the beta might adversely impact them as well.

MacFixIt (the premiere Mac troubleshooting site), is, rather predictably, filled with horror stories of the beta breaking all kinds of widgets and other apps.

Installing a beta version of an OS (i.e., doing what a bunch of developers at WWDC are doing to their laptops this week) is one thing, and users should expect things to not work correctly. After all, that's what a beta is. However, installing a beta version of a single application should not affect the entire system.

This is particularly frustrating because Safari already has a mechanism in place to install a standalone version that doesn't impact the system. It's part of WebKit the aforementioned Open Source project that is the foundation of Safari. If you download a beta version of WebKit, you get a version to play with that is entirely self-contained.

I'm going to play around with the Safari 3 beta and see if I can make a standalone version, based on the WebKit install. I'll let you know if I get anything working.

Interesting aside: the archiving and restoring of your original Safari is handled in a rather ad-hoc manner by a series of shell and perl scripts. Most of it is written in shell, but there is also one perl script. However, the script is very straightforward (consisting of a single foreach loop), and I don't understand why they bothered writing it in perl. Or, put another way, I don't understand why they bothered writing the other scripts in shell; there isn't a reason to mix the two. The only reason I can come up with is that this installer was put together rather quickly by several different people, or at least was copied and pasted from work by various people.

This highlights one of the standing problems with Mac OS X, which is the lack of a proper package management system. I'll write an article in the future on what this means (something else for my todo list!), but in short a package manager is a program that tracks what files get installed by what application. Mac OS X doesn't have a very powerful package manager, so developers are forced to manually perform the kinds of housekeeping that the Safari beta installer does. There is a new PackageMaker (part of Apple's Installer application) coming in Leopard, and although I can't talk about in detail, it does start to fix some of these shortcomings.


Back in September, Apple released a version of their Software Update application for Windows. At the time, it seemed a bit odd to me, since the only software they had on Windows were iTunes and QuickTime, and both already had their own built-in updating mechanisms. So I couldn't figure out why they were bothering to port Software Update.

However, now that Safari is out, it makes a bit more sense. iTunes has its own updating mechanism built-in to the Mac version, so the Windows port would have gotten it "for free", so to speak. QuickTime on Windows long predates iTunes, and it's had its own updating mechanism on Windows for years.

However, Safari doesn't have any updating mechanism built-in, since it makes use of Mac OS X's Software Update. So, if you are going to port Safari to Windows, you need to write a new updating mechanism for it. And if you need to do that, you might as well save some work and just port your entire Software Update application, and then use it for the rest of your Windows software as well.

So that's evidence, to me at least, that the Windows version of Safari has been in the works (or at least in the planning stages) since at least August of last year. (Software Update for Windows was released in September 2006.)

An aside, which started off as a footnote and became too long:

As a Computer Scientist, I dislike applications having their own built-in updating mechanism. From a technical point of view, it makes sense for there to be a central updating mechanism shared by the whole system. In fact, this is what many Linux systems do. However, this brings in all sorts of political issues. For example, how does the OS vendor (say Apple) decide which third parties get to show up in Software Update? The vendor has to make that decision, since they need to put the updates on their server. But, once they do that, is there any guarantee, implicit or explicit, about the quality of that update? Is the vendor then expected to test the third party software to ensure that is works correctly?

One solution to this is to have each company create their own software updating mechanism. So Microsoft has one program that updates all of its software, Adobe has one that does all of its software, etc. This is now what Apple is doing on Windows. However, they still have the built-in functionality in several of their applications. For instance, each of the iLife apps will independently tell you about updates. From a Computer Science point of view, this duplication of effort is a terrible idea, since it creates additional software that doesn't really serve any useful purpose. In addition to wasting man-hours doing the same thing over and over again, we have the problem of dealing with bugs.

Remember MoAB Madness Part 1? We talked about how all software has bugs, period. Death, taxes, and bugs in software. So the more software you have, the more bugs there are. And if you get two people to write different pieces of software that do the same thing (in this case update a program), you have more of an opportunity for bugs.

It's also aesthetically unpleasing. And that has to count for something, right?


Steve talked about how 67% of the 22 million Mac OS X users are using Tiger. I'd be curious how many of those users bought a new Mac that already had Tiger installed, versus how many of those actually went out and purchased Tiger to upgrade from Panther.

In some ways, this figure is the critical number when it comes to OS adoption rates. Think of it this way: it says less about how compelling your OS is if people "upgrade" by buying a new computer, rather than "upgrading" by actually going out and buying an upgrade. This is the classic problem that Microsoft has; comparatively few people actually purchase new versions of Windows to install on their old PCs. This means that it's very hard to grow the installed base of your new OS (i.e., Vista) at a higher rate than the rate of new computer sales.

So, my question boils down to this: how many of the 67% of users running Tiger are simply due to the fact that the Mac has become increasingly popular in the last 26 months (the amount of time that Tiger has been out), resulting in a higher rate of new Mac purchases, which just so happen to have Tiger installed.

This is significant because developers can't make use of the new features of an OS (e.g., Core Animation in Leopard) if there aren't a large number of people using it. And if a majority of the 22 million Mac users have shown a propensity to shell out $129 for an OS upgrade in the past, it makes it more likely that they will do so again in the future. And if that's the case, then we will likely see a faster adoption of Leopard-only features.

The other option is that Apple needs to continue to increase the rate of growth of the Mac, which is also fine by me.


A little more market share math:

At 1:07 in to the keynote, Steve talks about Safari's market share, and he tells us that there are 18.6 million Safari users. That's presumably counting all versions of Safari. Let's see what kind of market share that is.

Now, the oldest release of Mac OS X capable of running Safari is Jaguar (10.2), which could run Safari 1.0.

Earlier in the keynote, Steve told us that 90% of the 22 million Macs are running either Tiger or Panther, with the remaining 10% running something older. He didn't break that 10% down, but let's be unrealistic for the sake of being generous to Safari's market share, and say that all of those computers are running 10.1 or earlier, so they can't run Safari at all.

90% of 22 million is 19.8 million. So, 18.6/19.8 = 94% of Mac users are using Safari.

This isn't too surprising given that Safari is the only browser that ships by default on Mac OS X, but I'm still a bit surprised by how high this figure is. Recall that Internet Explorer shares the same status on Windows, and yet Firefox has considerably more than 6% market share. Although I suppose that Firefox doesn't have the same security advantages over Safari on the Mac as it does against Internet Explorer on Windows, and thus there is less motivation to use it.


And a final thought on market share numbers:

When Steve talked about growing Safari's market share, he showed a pie chart with the percent shares of Internet Explorer, Firefox, and Safari. This starts at about 1:07:15 or so.

There is a 78% slice for IE, a 15% slice for Firefox, a 5% slice next to it for Safari, and then a 2% slice for "other".

Then, when he says "well, we dream big, we would love for Safari's market share to grow substantially", the chart changes to only show Safari and IE (and drops the text showing the numerical percentages). But here's the thing. The IE slice doesn't change in shape at all. All that happens is that the Safari slice subsumes the Firefox slice and the "other" slice.

In other words, in Steve's vision, he sees IE's market share remaining the same, and Safari replacing Firefox and other assorted minor browsers.

Now, this can't actually be what Steve wants, but I found it rather strange that he would choose to present it in this way.


It's interesting how Apple is breaking down the versions of Safari 3.

Steve explicitly said (at 1:12:45 in to the keynote) that there will be "three different versions of Safari 3. One that runs on Leopard, one that runs on XP, and Vista".

Counting the Vista version and the XP version as separate releases is a bit odd. By this logic, there should be four releases, since Tiger and Leopard should be counted separately.

Or is this a subtle hint that the final version of Safari 3 won't be available for Tiger?

[2 minutes later]

As it turns out, the Safari download page only lists two versions, not three1. One for the Mac, and one for Windows (XP or Vista).

Not sure what to make of this.


Although I'm not much of a gamer myself, I'm always happy to see more games on the Mac. So it was welcome news to see that EA is porting several of their A-list titles, even if Bing Gordon's (the exec from EA with the pretty cool title of Chief Creative Officer) jokes fell a bit flat.

I assume that EA's games will be Intel only, since doing a port to Intel Macs is trivial compared to a complete Mac port. And given the fact that Apple is now only selling Intel machines, I can't see EA doing that extra work. There isn't any specific mention of system requirements on the EA site, so we don't know for sure, but I won't be surprised when they do announce it.

Another nail in the coffin for us PPC lovers.

Death lies on her like an untimely frost [u]pon the sweetest flower of all the field.2

Or something.

It's also not an auspicious sign that EA misspells the name of the platform on their press release. The call it "Apple MAC OS X", rather than "Mac OS X". Yes, this truly is a minor nit to pick, but I somehow think that this sums up the situation well.


That's it for this post. Next, I'll put up the remainder of my random thoughts on the keynote.

  1. OK, technically there are three options, but only because one of them is a bundle of Safari and QuickTime for Windows. 
  2. Romeo and Juliet, Act IV, scene v3 
  3. We started out like Romeo and Juliet, but it ended up in tragedy. Episode 8F22 Bart's Friend Falls in Love 

No comments: