Well, it’s about a week after the conference, and time to make notes about what I did at summer camp. There may be some things from the conference that I won’t be able to talk about, and I want to let you know about that right up front. I don’t want to screw up my non-disclosure agreement.
The big news mostly came on Monday. We got showed Tiger, and Apple has put up quite a bit of information about it already. Take a look at their site and see what they have to say. There was also the announcement of the 30″ LCD, which even thought it had been leaked before the conference still inspired many a case of hardware lust.
For me, there were a few important things. The first is that QuickDraw will be deprecated. This is probably the biggest thing for software houses, but it’s not a huge hurry—while the APIs are being deprecated, they’ll probably continue to work for the next few years, but there will be no further improvements planned for QuickDraw. It’s served us well for over twenty years, but it’s time to move on.
The replacement is Quartz 2D (aka Core Graphics). Apple has been hard at work on improving the performance of Quartz 2D, especially by way of hardware acceleration using the capabilities of modern graphics cards. In most cases, Quartz 2D is going to provide performance similar to QuickDraw at worst, and better in many cases. I think the best part is that we’ll be able to see more performance improvements over time, thanks to CoreImage, which would be a tough thing to do with QuickDraw without breaking a ton of applications. (Remember the QD hardware acceleration that was around for a while in the mid-90s?)
I think the change to Quartz 2D is going to be a good thing for me in the long run. I already understand the concepts behind Quartz 2D, since it’s very similar to Display PostScript. And I know PostScript pretty darned well. Also, I think a lot of my clients will (hopefully) decide they need to spend some time on converting away from QuickDraw so they’re not trying to play catch-up at the last minute, as many did with getting their applications ported to Carbon.
Then again, these are companies that have proven that they’re capable of putting things off until their hand is forced. I guess time will tell.
The other thing that strikes me is that there are a lot of technologies that are going to require Cocoa knowledge. Of the new technologies introduced at the conference, about ¾ of them only had Cocoa bindings. I think the time has finally come for me to spend some time learning both Cocoa and Objective-C, and from talking to people at the conference, I’m not going to be the only developer studying up during the next year.
Here’s a quick recap of the new technologies:
- Spotlight: Hey cool. I might actually be able to find things on my hard drive without resorting to grep.
- iChat AV: I can see why people like this, but for me, meh. I still haven’t set up the iSight they gave us at WWDC last year.
- RSS support in Safari is one of the features I’m jazzed about as a user. I currently use NetNewsWire Lite, and while it’s darned handy, there are some problems bopping back and forth between that and Safari, so having my RSS reader integrated might be a good thing. Then again, I keep thinking that the right answer is to write my own aggregator that would just put everything on a web-page the way I want.
- Dashboard: Hey! We’ve got DAs again! But now they’re written in JavaScript.
- Automator: This is cooler than seeing Eggplant last year. I’ve always liked the promise of having system-wide scripting, but with AppleScript, many applications either didn’t have complete dictionaries or had buggy implementations. I’m hoping Automator will push more applications developers into improving their scripting support.
- I know nothing about VoiceOver. I apparently missed those sessions during the conference.
- The more applications offer .Mac syncing, the more useful my Mac will be. I’m hoping I get a little work along these lines, but I suspect I won’t have any.
- Enhanced Unix Support: The biggest news seems to be that command-line utilities like cp will now support resource forks on HFS+ drives. Dig it!
- XCode 2.0 is looking more and more like the compiler to use, especially for new projects. I’m still mostly using CodeWarrior, since I’ve got a ton of legacy projects that use it, but with the improvements mentioned about Mach-O application load times without prebinding, I’m thinking that XCode will be ever more useful. Plus they’re making the new technologies easier to get at from XCode, so unless Metrowerks has some rocking big feature announcements for CodeWarrior 10, I think they’re in trouble.
- 64-bit support will be nice for applications that need to address huge amounts of memory. My worry is that some vendors will think that this means their application can leak for much longer without it being a problem.
- Spotlight APIs are going to be a place where a lot of development happens. Any application that tores its data in a proprietary format can ship a plugin (seperately from the app) which can make those documents searchable by spotlight. I don’t know of any application vendors who are jumping at this yet, but I wouldn’t be surprised to see some work appearing before too much longer. Plus there are going to need to be plugins written for applications that are no longer supported.
- Core Image is pretty darned spiffy. Not only does the architecture allow for hardware acceleration, but it allows for Image Unit plugins. Think Photoshop filters in real time, on both still images and video. Woot!
- H.264 is the compression that allows for the new iChat AV stuff. It’s not something I paid any attention to.
There are all these technologies that are available on the Mac, but many of them will be hard to replicate on Windows. You’d think that Apple moving ahead like this would be a Good Thing, but I find myself wondering what it’s going to mean for application vendors. It’s quite possible that many of them will end up working on a lowest-common-denominator version of their cross-platform applications. That is, they’ll only implement features that they can easily do on both Mac and Windows. That would not only mean less work for me, but would also mean that these companies will be facing a risk of a more agile competitor eating their lunch, which means they may not be able to afford my help in the long run. That’s something I’m going to have to continue to think about.
Looking at the long-term, I think the biggest question is that I need to consider whether I want to spend the next few years helping out the slower-moving companies, and reaping the rewards of helping to update older applications, or whether I’m ready to become one of those more agile competitors. I don’t think I’m ready yet, but if I want to go down that path, I’m going to need to start learning now. Then again, if I want to help other people, that learning will be valuable, too. Guess it’s time to crack open the books.