Modern Programming

Ye old blog has been quiet because I’ve been occupied the past few days with a fun little project.

You see, every so often Apple releases a new OS version. In this new OS version there’s always all kinds of cool technologies and goodies that makes easier the lives of us software developers. I remember when Apple released Core Data in Mac OS X 10.4 (gory technical documentation here) and what a boon that was for object graph management and being able to work with more complex data structures and files right out of the box instead of having to invent your own management system. Quite a boon. However, we (me and my team) were unable to take advantage of it when it first came out. I’m a commercial software developer and we’re driven by the market… especially what OS version our potential customers are likely to use. Thus if the new technology is only available in some particular OS version we have to wait until that’s our minimum supported OS version. That could take us a couple releases or years before that happens. Thus, we’re always way behind on adopting cutting edge technology.

I totally understand this situation from a market and sales perspective. But as a geek it always pains me because I don’t get to play with the new goodies. 🙂  By the time I get to play with them, I’m way behind the curve. In a sense that’s good because kinks get worked out, maybe Apple has updated the toolbox and filled in the holes. But it’s just not exciting to the geek in me.

Right now I’m working on implementing a new interface for the application I work on. We’re going to have to support Mac OS X 10.4 (Tiger), and that was really paining me because we’re wanting to modernize the look and feel of the app, but so long as we’re tied to 10.4 that really hampers things. Eventually we were able to come up with a strategy to give the 10.4 users one look and feel, but for users of Mac OS X 10.5 (Leopard) and beyond? They’re going to get something really new and snazzy. The cool part is I get to work with some modern technologies, like Core Animation and Core Image. I know that doesn’t mean much to you non-Mac-programmer types. Just know that a lot of the slick stuff about the Mac OS X graphical user interface comes from these. No, I don’t want to get all eye candy just for the sake of eye candy: form must follow function. But it will allow for a much more modern interface and I don’t have to wait another year or two before I can do it.

I’ve been reading documentation, experimenting in a test bed, and working to come up with a good prototype. It’s just been exciting and I haven’t had this much fun programming in a long time. I’m a kid in a candy store! So I’ve just been head-down in it. I’d love to show you what I’ve been doing but I can’t. Sorry. If you want a vague idea, if you’re a Mac user just invoke Front Row. It won’t be exactly like that, but all that behavior and effect? Core Animation, Core Image, Quartz Compositioning, all make that go.

2 thoughts on “Modern Programming

  1. Way above my head.

    I’m old school programing — Floating Point Basic on a TRS-80 from Radio Shack in the 80s. Wished I would have stayed with it but the Air Force didn’t have much in the way of PCs in the early 80s.

    I did a little more with Visual Basic and some currently with VBA for Access but that is about it.

    Maybe one of these days when the kids are out of the house and I have ‘free time’ again…wishful thinking.

Comments are closed.