For a long time now, I’ve been wanting to learn various Apple technologies such as Core Data and Bindings. However, it hadn’t been until last week when I finally had a chance to start learning them as well as Image Capture Framework. I came up with an idea that I’m excited about and started work on the project last week. Since I’m supporting OS X 10.4 and later, I can use Cored Data and Bindings (bindings go back to 10.3.9 or so). I always have trouble learning new software stuff if I don’t have a use for it; now that I have a use for it, I learned both technologies in a matter of days. I’m pretty impressed with Core Data. It works well and I haven’t found anything to really dislike about it, yet. Bindings, on the other hand, sounds great in theory, but sometimes just doesn’t work how I want it to work. So, I spend a lot of time trying to jam a square peg in a round hole until I give up and go back to the way I did it before. This isn’t to say that bindings are useless, they’re just not for everything.
On to Image Capture. The sample code made it look easy and scanning was working real well until I tried to muck with the contract, brightness, etc. It appears that none of the settings work (at least with my scanner). So I start poking around and figure out that most scanner apps on my machine are using TWAIN instead of Image Capture. OK, so I wasted another day realizing that Image Capture Framework (for scanners) is broken or I’m not using it right (the sample code produces the same results as my code). TWAIN seems to work OK, until I try to have 2 scanners on my system so that I can detect them. Took me 30 minutes to figure out that the EPSON Perfection 1250 drivers that say that work on Intel Macs aren’t universal binaries, so they work in Rosetta applications, but not native ones. My other scanner, a DocketPORT 465 does have native drivers (that’s one of the reasons I bought it). So my code worked fine, EPSON is just behind the times. On a side note, it’s amazing to me that scanner vendors still are clueless after all these years…they make crappy software and always have.
Anyway, a few more technologies under my belt and it wasn’t all that painful. Stay tuned for my latest product which has managed to get me excited about programming, again!