Tuesday, December 18, 2007

Meet the Nightly Observing List Generator

The new Nightly Observing List Generator finally exists outside of my imagination and has had it's tires kicked around by the test team. It is exhilarating and a bit scary to bring a new feature to life, particularly when I've been thinking about it for a long time. There's just no telling how it's going to work out ahead of time. It's sort of like having children. You do your best and see what happens as they take on a life of their own.

Sometimes things go badly. It may turn out that all the pieces aren't yet in place to really make it work, or that some unexpected development has left the whole idea lame and unworkable. Sometimes I just can't make it all come together to my satisfaction.

But most of the time a new idea soars. I try my best to let it do that, allowing for major changes and redesigns right up to the last minute. Having a sound design going in is very important, but I've found that the best tools evolve in ways that I can't imagine ahead of time. I see it as my job to let them do so. I simply try to hang on for the ride and when we land see where it all ended up. And here we are...


All-in-all I'm very happy with it and the test team is all thumbs up! Most of the concerns I had going in have been worked around to my satisfaction and there were some pretty cool developments along the way. One of my favorites is in the Shallow Sky auto-generated list. Among other things it looks for any fast-moving minor planets that may be visible that night. Another really cool one is in the Interesting Stars feature. As part of its function it looks for eclipsing variable stars with deep eclipses and only lists those that are predicted to be in eclipse that night. Very cool.

Another thing I really like is the ability to prune the list to a small set of randomly selected objects. I enjoy knowing that every time I create an auto-generated list of NGC/IC objects it will give me a unique set of targets for that night. There are so many galaxies and clusters available in my 18-inch. It's like closing my eyes and putting my finger on the atlas to pick my targets. Who knows what I'll find there. Yet with this tool I can be assured that the object will be a reasonably good target that is appropriate for my telescope.

Perhaps the most useful auto-generated list is the one that spawned the idea in the first place: the Showpieces listing. I've already used it myself when I had to be at a star party with very little time to prepare. Recommended targets included the setting moon, Mars, comet 17P Holmes, several nice double stars, and a good assortment of deep sky objects of various types. Planning doesn't get any easier than that!

Monday, November 12, 2007

The Last Piece

For some time now we've been testing/developing the new Database Power Search on a tab-by-tab basis. Last week I released the new Comets search tab to the test group, and the week before that it was the new Asteroid search. Together they should provide a very interesting tool for mining the databases. For instance, you can filter by asteroid type, such as "Aten" or "Apollo" or "Damacloid." Classifying asteroids and Trans Neptunian Objects by the orbit type is one of the cooler things I've added under the hood, and it's been fun trying to make the most if it. The comet search will be useful for finding out which comet your Grandma saw in the summer of '32 or to look for comets with similar orbits. But of course paramount is always the intelligent selection of observing targets. To aid with that I have added a new Visual Detectability filter and for double stars there is a new Splittability filter. These filters rely on the models I developed to predict the visibility of an object in the eyepiece, and how difficult it will be to split a given pair. Visual observers can use these filters to find "difficult pairs" or "easy" deep sky objects based on their inputs such as date, location and instrument.

At first glance the new DPS looks a lot like the old one, but it soon becomes apparent that it's been supersized. I've tried to make small improvements across the board that together add up to something a lot more powerful.

With the DPS done except for a few bug fixes, over the weekend I took up the last piece of the Standard Edition of ST3. I originally called it the Observing List Generator then decided it was an Observing List Wizard. The thing has been evolving so quickly that naming it was a waste of time. It's been part of the Database Power Search, a separate tool, and as late as last night I was considering an entire new tab on the planner for it!

One way or another by the end of this week it is going to exist outside of my imagination. I think you will all like it. Basically it allows you to quickly create a list of objects to observe on a specific night. The gold standard all along has been that it's 4:00 PM and there's a public star party tonight and you are in charge of having something to show people. "SkyTools, help! I'm in a hurry. Just give me a list!" It does more than that, but this particular application has been the driving force behind the tool. Wish me luck!

Now a word about where we are at: after this last tool is released to the testers I'll still have a lot of loose ends to tie up. There are some bugs that still need fixing and a lot of little things that need smoothing over or to be brought up to par with the rest of the program. So my plan is to call a hiatus for the test group for the month of December. I'll go about getting everything finalized and after the first of the year we will have a real beta test. That should not take long. I will also get the Real Time tool ready and we will start a new test as soon as possible, perhaps even concurrently with the other test. When that's done I want to meet with interested imagers and together we will finalize the imaging features for the Pro Edition. The good news is that SkyTools is like a big pyramid and all this stuff is that little part at the top. So I am hopeful we will see a release early next spring.

Monday, October 15, 2007

Crazyness

I've been waiting to have some sort of progress milestone to report, but it's been so long that I felt I had to write something.

How are things going with SkyTools 3? Great! Um... Terribly! I suppose it's the usual combination of the two. The testing end has gone very well, and I am very happy with the program. But this is taking way longer than I had hoped. I mean, it's just plain embarrassing.

I have done this sort of combined development/testing before and it has worked very well. Not only do I fix bugs but I use the feedback from the test group to help me find the rough edges and polish things up. Sometimes I even get inspired and make sweeping changes or add unplanned functionality. This is something that a software engineer under the thumb of management and up against a deadline would not typically be able to do. That's usually a good thing for me, at least from the standpoint of producing the highest quality software possible, which is something that is very important to me. But I'm finding that as SkyTools becomes more and more complex that it is becoming more and more time consuming for me to make sweeping changes. When in the past a major rewrite or unplanned feature might have cost me a few days to a week, this time around it's taking a lot longer.

I have spent the last few weeks redoing the Database Power Search. It started innocently enough: I just needed to work in the new visual detection difficulty filter. That would take a day or two at most. But then I started to realize how much more this tool could and should be doing. Now that dialogs can be larger than 640x480 I had the screen space to make this thing really powerful. Not only that, but I realized that if I split the "Deep Sky" search tab into two tabs (Galactic and Extragalactic) I'd have even more room to add functionality. So first it was this, and then that, and then one more little thing, and all the while the beta test has more or less come to a halt. Like I said, it's embarrassing!

But I keep reminding myself of one thing: a year from now few people will remember the delays. What they will remember is that really cool Database Power Search tool that finally truly lives up to it's name.

Thursday, August 23, 2007

That Syncing Feeling

Unfortunately things have bogged down. I could blame it on the kid's school starting, Mrs. Skyhound going back to work, various appointments, etc. But the real problem is that the new Sync feature is, well... out of sync.

The Sync feature allows the user to synchronize their data between two computers. The main point of this is so we can easily move our observing preparations onto our laptop to take into the field, and then easily move the results, such as log entries, back to our desktop. It's a sort of non-destructive backup/restore process, that seamlessly merges the data on one computer into the data on another without losing anything in the process.

Unfortunately, doing that is a huge pain in the ass. Actually, since we are talking about multiple databases here: observing lists, images, logs, notes, telescopes, locations, charts, observers, object notes, web links, etc., it's more like a huge pain in the ass times 50.

I originally did the groundwork for this code last fall. In the meantime, I dramatically underestimated how much of it had been completed back then. Not only that, but changes I have made since have to be folded in and it's been a bit like folding bowling balls into a soufflé. Worse yet, I discovered that I had cheated last fall and much of the code didn't really do what I wanted it to do.

** Sigh **

So while the beta test team is hopefully enjoying some time away from SkyTools I am working hard trying to get, well... back in sync.

Thursday, August 9, 2007

The Campground Commute

The Skyhound kids wanted to go camping again before school started, but the Mrs. and I were too busy for a long trip away from home. So we hit on the idea of camping in our own forest here in the Sacramento Mountains. After all, people come from a long way to camp here so why shouldn't we? So we pitched our tent at a local campground less than 0.8 miles away from home! I spent several days commuting to work from the camp site.

I've been hunkered down for the last few days trying to get the next test version ready. The backup and restore functions are finished and they successfully restored my own SkyTools 2 files, which was no small feat. In addition there have been a lot of minor fixes.

The hitch is that I have finally decided to dump the InstallShield installer. Those people are nothing but money grubbers anyhow. Their business model is designed to milk large corporations of significant sums of money. I am not a large cooperation with large sums of money. I wish I had never given them any of mine in the first place; their installer has been nothing but trouble from the start. What really ticks me off is the way they lured me in with what appeared to be a fully functional program, but hidden deep inside were intentional limitations meant to make me pony up more money for a more sophisticated version.

So the next task is to create a new install script using the NSIS installer. But I'm too burned out to start the process... I miss the tent! It kept me from working too much. Time for a break.

Tuesday, July 31, 2007

Beta Moving Along

We've been testing the standard edition for about a week now. It's been pretty harried. There are sixteen testers and it can be difficult to keep up with them. They have generated a lot of bugs for me to fix! But I don't mind that because fixing bugs is usually pretty simple and often fun. Sort of like doing detective work. You never know where it'll end up. And I can usually fix a bunch of them pretty quickly, which gives a great feeling of satisfaction.

We just did our first test of the new automatic program update, with mixed success. Lots of bugs got fixed, but the update itself was pretty rocky. I have a list of things I want to do better the next time, but of course they won't have the fixes in hand until they finish the update! So we'll have to muddle through at least one more time.

Even with all that going on--loads of emails, and fixing bugs--I've been spending most of my time struggling with trying to finish part of the program that's been giving me trouble for some time. I've gone back and forth on the design, wasting many hours of work, trying to get it right. Today I wrestled the monster to the ground and I think it has finally succumbed! I have some cleanup to do tomorrow and then I'll be free to move on to other things.

I want to get the data backup and restore features finished so we can start testing them, followed by the new sync feature, which will transfer data between SkyTools installations to bring them in sync. This kind of database work can be tedious and I'm not really looking forward to it. But when I get those two things done it will be clear sailing after that. I'll be able to finish up some of the more interesting new features and testing them should be more fun too.

Friday, July 13, 2007

Now Taking Volunteers for the Standard Edition Beta Test

It was a pretty exciting day as we officially started taking volunteers for the standard edition beta test. I will choose the primary team members by Tuesday and put the CD-Rs in the mail on Wednesday. Soon after the fun will begin!

The beta test web page is here:
http://www.skyhound.com/st3/st3beta.html

We've already had quite a few volunteers and I expect many more over the weekend. So far the majority were SkyTools 2 beta test team members and I'm excited to work with them again. It'll be like getting the old gang back together. I don't get to work with other people on SkyTools much; working with the beta test team is something I very much enjoy. That and it will all soon be coming together, which is enormously satisfying. SkyTools 3 has been four years in development (too long by any standard). I've been through a lot during that time and faced quite a bit of adversity, from corrupted data files to lying very near death in the ICU after a botched operation. It will be truly wonderful to finally see this baby out the door.