Monday, July 2, 2007

Screen Saver Adventures

Well, so much for the Great Mac Conversion Saga. I was determined to write a chapter a day, then two weeks went by and nothing showed up. I got distracted. I'll get back to it someday.

What distracted me was another project a lot more fun than the dang Mac. Something I've been thinking about for a year or two, working on for the last couple of weeks, and which is now in beta testing, almost ready to add to my little product line. Steve Jobs asked me to hold off putting it out there so it won't distract from the iPhone release, but I can't wait much longer.

Announcing the TrainPlayer Screen Saver, a pointless device designed to extract money from model railroaders with nothing better to do than stare at idle screens. I can already see the dollars pouring in, tens upon tens of them! Kids will get double birthday bonuses next year!

I've been putting this project off, mostly because I thought it was going to be a huge job, total rewrite of the program, etc. But I came up with a rather simple and elegant approach, with which I am so pleased that I'm submitting an article to CodeGuru about it. It takes months to get these things published, but here's the preview: MFC App to Screen Saver- the Easy Way. Sure to be a classic.

This approach gave me a basic screen saver in about a day, after which I spent two weeks working on "choreography." You can't just fill up the user's screen with some boring static view, it has to dance and be interesting to watch. So there is this scene manager, with three timers going, which causes the scene to zoom in and out periodically, does random changes of the background color, and attempts to keep everything moving smoothly.

Most screen savers disappear at the slightest provocation -- a touch of a key or swipe of the mouse. Turns out this is not a rigid law. While debugging, I found it handy to permit keystrokes to do useful things, and eventually it dawned on me that the user might want the same capability. So this is not your average screen saver. If the train is going off in some loser direction, you can hit a key to back up and throw a switch and go some other way. We push the frontiers, don't we? The Screen Saver: Not Just For Staring Any More.

But enough of this silly blogging. I have bugs to fix.

No comments: