WWDC Prelude

WWDC starts tomorrow, and I’m here in San Francisco for the show. Not clear at all how much reporting I’ll be able to produce during the week (the technical sessions are all covered by NDA, for example), but we’ll see.

So let’s fire off some night-before predictions about what we’ll see announced for Leopard. Note: These are all based solely on my own speculation. Further Note: My prognosticatory track record is rather spotty. Please, no wagering.

  • Dramatically improved Spotlight — Spotlight, as it exists in 10.4, pretty much totally stinks. The user interface stinks, performance stinks, and it’s buggy as hell.

  • The most significant UI overhaul since 10.0 — I’m not saying it’s going to be a complete visual re-imaging like the transition from Mac OS 9 to 10.0, but in terms of the incremental refinements to Aqua that we’ve seen with each new revision to Mac OS X, I think 10.5 will be the most dramatic. It’s time to zig now that Microsoft is zagging with Vista. They’re going to try to make Vista look as out-of-fashion and goofy and childish as possible. (A lot of the things Apple has already moved away from in Aqua have been goofy, ugly, and childish, frankly — how about those stripes in 10.0 and 10.1?)

  • No Standard Tabbed Document Windows — A lot of developers want this, simply because a lot of developers are adding tabbed document windows to their apps. Because there is no standard system-supplied UI for document-window tabs, every developer has to implement their own — and the results vary wildly. However, there’s only one Apple app that uses tabbed document windows: Safari. I hope I’m wrong on this one.

  • No tabbed windows for the Finder or iChat — See above.

  • New alert sounds — The old ones are stale, mostly unchanged since 10.0.

  • Widgets on the desktop, and some fancy new Dashboard APIs — An attempt to blow away the competing widget implementations from Windows Vista and Yahoo (née Konfabulator). Oh, and I’m guessing Apple will finally release their long-rumored Dashcode widget IDE.