Well, the Apple Worldwide Developers Conference keynote for 2007 has come and gone, and some interesting info has come out.
Mac OS X
First and foremost, this WWDC was clearly centered on the upcoming Mac OS X v10.5 (”Leopard”), as it should be. From what I’ve seen, Apple has been doing a great job at cleaning up the Mac OS X user experience and adding some nice user-interface improvements.
One of the most interesting new features are what Apple calls “Stacks“, which are really just a re-implementation of a UI concept they toyed with (but never actually released) in the mid-1990’s called “Piles“. Basically, it allows you to throw a bunch of associated files and folders together in a loosely grouped virtual pile, easily accessed from within the Finder. It’s nice to see Apple burrowing through its long history of user interface research and implementing it.
Quick Look seems like a no-brainer to me, and I’m a bit surprised it’s taken this long (though in some cases you could already see previews of certain media types from within the Finder by using Get Info).
The improvements to the Finder look nice, though quite honestly I don’t see much practical benefit to Cover Flow (I barely saw a purpose when Apple implemented the same interface in iTunes). It seems like a horribly slow - but flashy, I guess - way to dig through your files.
I have to admit, though, I do like the added polish that Mac OS X is getting. While they are unlikely to result in any actual usability improvements, the slightly transparent menu bar and reflective Dock shelf do look nice. What will help usability, I think, is the apparent decision to decide on a single window chrome appearance and stick with it (how far this will go remains to be seen - will Apple’s pro-level apps, such as Logic, take on the same consistency?).
Either way, it sounds like it may be death to brushed metal, and not a moment too soon.
Improvements to the Finder sidebar will make it easier to access files on other computers or over a network (even remotely, if you are using .Mac). Very cool. I doubt I’ll use it often, but it will certainly be a nice option.
A lot of the keynote was spent reviewing already announced changed, such as Mac OS X’s virtual desktop feature “Spaces” and goofy new iChat functionality. The former will be a great boon to window management on the Mac while the latter will demo well but be ultimately useless. Time Machine still looks cool and useful.
Safari for Windows
Completely out of the blue, Apple announced that they are porting Safari over to Windows. I’m not entirely sure what the purpose of this is, though it’s clearly a shot across Microsoft’s bow, especially now when Firefox is already putting the squeeze on Internet Explorer’s market-share.
While I’m uncertain as to the motive behind this move, anything that helps prevent Microsoft from lording over web standards is fine with me.
Anyhow, a beta is already available.
iPhone
I don’t know whether I should laugh or cry.
The eagerly-awaited iPhone is about to land with a June 29th release and one of the biggest questions in the Mac developer community has been whether or not Apple would open it up to 3rd parties. Early on, statements by Steve Jobs have indicated that they would not. Jobs even went on record as saying that they didn’t want errant 3rd party applications crashing AT&T/Cingular’s network:
“You need it to work when you need it to work. Cingular doesn’t want to see their West Coast network go down because some application messed up.”
Of course, anyone who knows anything knows that this explanation is a load of BS, and that if an errant client side application can crash the entire AT&T/Cingular cellular network they have a lot more to worry about than piggy 3rd party software. It becomes even more absurd when you realize that many cell phones on the market now already support 3rd party software.
Anyhow, months have passed and there has been a lot of complaining from within the developer community (myself included) about this huge Apple misstep. The real reason Apple opted not to provide a way for developers to access the iPhone is, obviously, because AT&T/Cingular are deathly worried that someone will create a killer VOIP app and find a way to make phone calls for free. The iPhone’s 802.11 “wi-fi” support makes this a real possibility, especially as open hot-spots become more common.
But, really, is it the developer community’s fault that a fully-functional iPhone SDK puts pressure on AT&T/Cingular’s business model? Is it the customer’s fault? No on both counts. If AT&T/Cingular didn’t suck so damn much, maybe people wouldn’t be so inclined to route around them in the first place.
Rumblings and rumors had it that during WWDC Apple would offer a mea culpa, provide a nice iPhone SDK and earn the adulation of anyone and everyone who had an itch that Apple itself could not scratch (which, Apple worship included, means a lot of people). I even had plans of writing a nice little “with that out of the way, I can begin drooling over the iPhone now” weblog entry today.
So, what happened?
Apple copped out.
During the keynote, Jobs announced that “no SDK” would be required to write software for the iPhone - that you could write remotely hosted web-applications (using XHTML, Javascript, etc) that would run under Safari with some added hooks to help integrate them into the iPhone user interface. In other words, if you’re lucky, you might be able to re-implement the kind of functionality found in Mac OS X Dashboard widgets.
This leaves all sorts of questions unanswered: What if the network is down - will there be a way to store code locally so that it can be used offline?
How will this work, running applications over AT&T/Cingular’s lousy EDGE network? I can’t imagine that it would be very fun. Will they be introducing a reasonably priced unlimited data plan, or continue reaming the consumer with their current plans?
Of course, this completely undercuts developers. As a web developer myself, there are entire classes of software that just can’t be implemented using XHTML and Javascript. I hate to think of someone trying to write an SSH client using AJAX, for example. Don’t even bother writing a game more exciting than, say, Solitaire.
That VOIP application I referred to above? Count that out - which, of course, is the entire point.
Ultimately, it’s the consumer (and the developers who cater to them) who have to do without.