Thursday, March 12, 2009

March 17th

Yes. I noticed. There's a big event on March 17th. I've been heads down today trying to get caught up on my work backlog and also produce another chapter of Learn Cocoa before Dave gets mad at me, but I did notice.

I've sort of known it was coming. Not exactly this — I didn't get a tip off or anything — but Apple stopped seeding beta versions of the iPhone OS a while back, so I'm sure I'm not the only one who was expecting some kind of announcement. Whether it would be iPhone OS 2.5, or 3.0, or something else, I didn't know, but it was obvious something was brewing at 1 Infinite Loop. Lack of information coming out of Cupertino rarely means lack of work going on, and I would argue that it's probably just the opposite.

So, how do I feel about it? Honestly, nothing. A vague announcement doesn't do me very much good. I've got a wishlist and guesses, like others, but I don't have enough information to even have much of an opinion at this point.

I am, however, pretty sure that 3.0 is not going to invalidate everything we already know about iPhone development. Much of the stuff we're doing on the iPhone is relatively unchanged from NeXTSTEP. A surprising amount of NeXTSTEP applications can still be compiled to run as Mac applications. Yeah, there will be a few bumps in the road, but mostly 3.0 will be backward compatible with what we're doing now. There will likely and hopefully be cool new stuff for us to use, but it will follow the same design patterns we've been using all along, unless Apple fired a whole lot of people without the press getting wind of it.

So, if you've bought our book, don't worry - the information in there is not going to become obsolete on March 17th, 2009. Most of what's in there will still work and the conceptual information is unlikely to change, and we will definitely update the source code to work under 3.0 as soon as we get our hands on the new version of the SDK. I can't tell you what the new stuff is, so I can't tell you how or if we'll address it in the book. That's a decision for March 18, or at least for later in the day on March 17.

For now, keep moving forward. Keep learning and keep coding. I guarantee you Apple will be making things better for both the end user and for us and your efforts will not be wasted.

An Afterthought: One thing that does occur to me is that WWDC 2009 just became a heck of a lot more important to attend. I just wish they'd announce the date. Maybe on the 17th?


Eric Busch said...

What I'm hoping is that nothing is changed or deleted that's already there but rather that they just add some things, maybe we finally get push notification? Maybe we can change our icon dynamically?

I expect the smaller things like that.

Jeff LaMarche said...

Apple rarely holds a "special event" for "smaller things like that" - there will be at least one big new chunk of functionality. If it were going to be little things or just improvements to performance, they'd have announced it to developers rather than going through the press.

That's my bet, at least. But I'd like to see push services too..

Eric Busch said...

Originally, I thought this was going to be the same as the software event. If this is an event strictly based around iPhone 3.0 then yes there will probably be some fairly big changes. But how many of those changes will see their way to the SDK? The more freedom we get the happier we all are :)

Jeff LaMarche said...

Heh, well, I long ago trying to guess what Apple would do. I'm just going to sit back and wait for the 17th.

Eric Busch said...

Luckily we don't have to wait very long for the 17th, my worry is the wait after the 17th if these new features are fairly big. Here's another interesting article on it:

Tom said...

I think there is likely to be a reasonable number of changes in the SDK. Apple has always done this with the Mac OS X SDK's, however rather than just drop functionality we'll probably all encounter numerous "Deprecated" messages as we update our code to use newer more efficient stuff.

I'm personally holding out for Distributed Objects to be implemented.