Joe Maller.com

WWDC 2009 Predictions

There’s been a lot of stuff going on in my life this year, and I haven’t had much time to prepare for WWDC or even really to think about it before getting here. But I’ve posted my predictions for the past handful of years so I jotted some thoughts down on the plane. I haven’t been keeping up with the rumors, so these are quite literaly pulled out of thin air. This is last minute again, I’m posting this from the keynote line. I’ll update with right/wrong and clean up typos after the show.

Snow Leopard

Apple will claim they lied last year they said Snow Leopard would have “no new features.” They’ll probably position it as “this was just too cool not to put in.” What we’ll see will be a radical rethinking of elements of the OS X Interface. The team who built the iPhone UI will have been brought back to the OS group to work their magic on Mac OS. The features may not be ready yet and might not be included in the developer build, but it will be demoed and highly publicized. (just don’t call it leopard skin) Possible strategies include something like “the iPhone was built with the best of Mac OS X, now we’re bringing the best of iPhone back to the Mac.” [wrong, but probably just too early]

The total re-thinking of the window menu bar in the Safari beta and elements of the iLife interface (hopefully the less infuriating subset) will prove to have been a hint of what’s coming. Aside from revamping the appearance and function of interface windows, I expect some sort of real-time text suggestion/correction system similar to the iPhone’s inline typing corrections.

We still won’t get true resolution independence. I really want to run at AppleDisplayScaleFactor 0.8, but it doing so breaks all sorts of little things around the system. [seems right, but we’ll see]

Hardware

New iPhones will be announced and demoed, but they won’t be available for a month or two. A lot of iPhone 3.0 is known already, but one thing we might see is some sort of demonstration where the iPhone becoming an auxiliary input and display device for nearby macs. Sort of like Remote but more functional. [right on iPhones] [wrong on timing]

I’m doubtful about any new hardware, though I wouldn’t be surprised to see a small upgrade to portables coupled with a simplified portable product line. The distinction between MacBook and MacBook Pro has gotten really fuzzy. [right on new iPhones]

Portables will also be acquiring location-awareness through a basic GPS chip. If they don’t, I’ll just repeat this one for the next Apple product announcement and for every subsequent announcement until it comes true. It is insane that any portable computing device doesn’t know where it is. [still wrong, so I’ll be trotting this out again next time]

No tablets or Netbooks. Though everyone will be talking in hushed whispers about their hackintoshes. [right, too easy]

I’d be terrified to bring a hacked-Mac netbook to WWDC, but someone, possibly quite a few, will. I have to leave the conference early this year to attend a wedding, I will be starting a rumor that Apple saw my hacBook and threw me out of Moscone for running Mac OS X on non-apple hardware. [right. I saw many netbooks, though only one guy dumb ballsy enough to run Mac OS X on his]

Jobs is the elephant in the room. Everyone seems to expect some sort of appearance. I don’t think he’ll be here, but if he does appear it will be either via video iChat or there will be a video letter/statement. Either one of those will be an unintentionally hilarious recreation of the 1984 Apple ad. [too much waffling on my part to call this either way]


Multiple RegisterResource directives broken in Leopard

This is sort of a follow up on the old mod_rendezvous article I wrote for O’Reilly. While cleaning up my virtual hosts I discovered a bug in 10.5’s handling of multiple RegisterResource directives in mod_bonjour. This is expanded from a bug report I submitted to Apple (rdar://problem/5628484).

I keep functional mirrors all my development sites in separate Apache Virtual Hosts. Each one then gets it’s own port, which allows me to check them on local networks, in Parallels and, if I want, remotely via IP address.

To advertise two local vhosts over bonjour, something like this in httpd.conf should work:

<IfModule bonjour_module>
RegisterResource "Site 1" / 9001
RegisterResource "Site 2" / 9002
</IfModule>

After restarting Apache (sudo apachectl graceful), local copies of Safari should see the two sites, “Site 1” and “Site 2” in Bonjour bookmark listings. In 10.4, they show up. In 10.5, only “Site 2” shows up. No matter how many directives are included, only the last one will be visible.

I’d love to be wrong about this, but it seems that something broke this function in Leopard.

A faster way of checking Bonjour entries is to open a terminal window and run the following command:

mdns -B _http._tcp

That will show a live updating list of current multicast (Bonjour) entries. Under 10.4, I get the following after adding the above directives to httpd.conf:

16:10:14.517  Add     0 local.     _http._tcp.     Site 1
16:10:14.667  Add     0 local.     _http._tcp.     Site 2

However with 10.5, I get this:

16:12:52.597  Add     1 local.     _http._tcp.     Site 2
16:12:52.598  Add     1 local.     _http._tcp.     Site 2
16:12:52.598  Add     0 local.     _http._tcp.     Site 2

What I’d really love to do is figure out how to register and respond to multiple Bonjour names. That way I could have each vhost be a named host and each staged site accessible at a url like site1.local and site2.local. So far I haven’t had any luck getting that working.