Friday, February 6, 2009

The Personal Computer Revolution

I was recently asked what my programming philosophy was and it got me thinking. In a nutshell, my philosophy is that, when at its best, the personal computer represents a revolution in how we do things rather than a mere evolution.

A lot of programmers of my generation fell into a trap. They adapted existing paradigms to the personal computer rather than rethink the idea to fit the new paradigm that the computer represented. For me the classic example is Monopoly. Monopoly is a simulation of the world of high finance created for the board game paradigm. Programmers set out to adapt the board game for play on the computer, but to me that was missing the whole point. Why have the computer simulate a simulation designed for another technology? It seemed to me that what you really wanted to do was to rethink a simulation of the world of high finance in terms of the computer paradigm.

My favorite example of this is TiVo. When it became clear that the VCR could be replaced by a basic computer and hard drive, someone needed to create a software interface. Most programmers set out to recreate the familiar VCR, only on a computer. But the programmers who created TiVo took a different approach. They started over from scratch, re-imagining TV as if the VCR had never existed. They asked themselves, "In my wildest dreams what would I want a computer/TV to be able to do?" And in so doing they fundamentally changed the way we watch TV.

I really admire what they did with TiVo. My philosophy has always included a willingness to start over from scratch--to think big--to re-imagine how an existing task can be done on a personal computer. For me this is what makes computers exciting.

This is why SkyTools can't be easily pigeon-holed as a "planner" or "planetarium" or "star charting" program. It's for the same reason TiVo isn't a mere "VCR" program. The "planner" has its roots in the early days of computing when you logged into a large mainframe on a remote terminal and printed out your data on wide sheets of paper that you picked up at the computer center. The Planetarium is a projector that recreates the sky on the ceiling. It is used primarily to educate people about the sky and its motions. And of course a paper star chart is like a road map of the sky.

While there are similarities, SkyTools is more than a representation of these things on a computer. No, it's a suite of software tools designed to help people observe at the telescope. That's why I call it Observing Software.

Thursday, January 8, 2009

Success

Nightmare number 1: large numbers of SkyTools 3 CD/DVD packages are ordered costing big bucks. But I made a huge mistake in the installer or I forgot to include some important data file. I am deluged by upset customers.

Nightmare number 2: nobody likes it and large numbers of people want to return it for a refund.

I am happy to report that neither of these scenarios came to pass. I did come across some relatively minor problems, but I had an update ready before the first copies were even shipped, and with our new automatic update system the updates went very smoothly. As with any large complex program suddenly having hundreds of people using it is bound to uncover bugs that had been missed by the much smaller test team. To the enormous credit of the test team only a relatively few issues have been reported and none of them were major. I expect to release another update this weekend.

Perhaps the most complex task in SkyTools 3 was the new Synchronization feature. This feature is among the first things people who are upgrading from SkyTools 2 are going to use, as it allows them to transfer their SkyTools 2 telescopes, observing lists, etc. for use with SkyTools 3. We first tested this with the beta team over a year ago and it broke in about a dozen different ways, seemingly in a unique way for each team member. I had them send me their SkyTools 2 data, one by one, and for each I tracked the problem down.

When we started the Real Time testing in February we added more testers. Again, many of the new testers had an issue importing their SkyTools 2 data. Again, I had them send me their SkyTools 2 data, one by one, and for each I tracked the problem down.

When we started the Pro Edition testing in September we added 20 more testers. Once again, many of them had an issue importing their SkyTools 2 data. I had them send me their SkyTools 2 data, one by one, and for each I tracked the problem down. This time there was a new twist: SkyTools 3 started having trouble syncing to itself. In all this testing only one function worked flawlessly almost from the start: the import of SkyTools 2 observing logs. So guess what broke in the release version?

Several people reported that none of their log entries for planets imported properly. I tried it myself (for the 300th time) and sure enough my planet logs were missing. They were working before... solving this mystery is my project for later today. Fortunately, once the problem is resolved people will merely have to perform the import again. There should be little inconvenience.

The reception to SkyTools 3 has been overwhelmingly positive, which is very satisfying. The following comment in particular regarding the new imaging features brought a big smile to my face:
I'm sending you a copy of the Rosette Nebula (NGC 2237) image I captured on 1-1-2009. It has a SNL of 15 and I used your Exposure Calculator to determine the proper exposure settings needed to capture it. The image came out far better than if I used my stock exposure settings of 4xLRGB @ 600s. So far all the images I've taken that use the SkyTools3 recommended exposure settings have come out very nicely. I know it took as a lot of hard work to model everything needed to make your exposure calculator work so well. The calculator alone is worth the price of the software and as far as I know no other commercial software package has one.
Whew!