home · projects · papers · blog · gallery · contact
anil madhavapeddy // anil.recoil.org

MacOS X - great user experience, crappy developer experience

05 August 2004   |   Anil Madhavapeddy   |   tags:   |   all posts

I really love using MacOS X as a desktop machine; I've used it since the early days on my G4 Powerbooks and it's nice to see it coming along in leaps and bounds.

Unfortunately, every time I try to hack apps on it, it seems like a big icky mess. I've mainly done QuickTime hacking, and the APIs seem to date back literally decades, with the main documentation consisting of irritatingly out-of-date sample code on the Apple website, of which some only compiles on MacOS 9.

A good point in case is their API to grab images from Firewire cameras, such as my iSight (for doing SpotCode detection). Flicking through Apple docs, one finds the Sequence Grabber API, but profiling on that turns out to do a large amount of data copying that makes meaningful real-time image detection really hard. Instead, the answers from the very helpful chaps at the QuickTime-API mailing list suggest accessing the video digitizer codec directly, and then mapping using custom OpenGL extensions to avoid copying to texture memory.

It's a neat solution, but impossible to see from the Apple documentation; luckily Daniel Heckenberg wrote the seeSaw example which does illustrate some of these concepts nicely, along with an informative paper on the subject. It's not all bad news on the MacOS X front of course - their UNIX support is really good, and looks set to continue to improve with Tiger! All I really need is a Cocoa/OCaml bridge to silence my complaints ...

blog comments powered by Disqus