Happy New Year

Work on Satellites has been disrupted during the last six weeks but is resuming again now. The embedded time server I mentioned last time is now finished, though my recent measurements have shown the phone company to be offering a much more accurate time service!

In 2011 I want to move
Satellites forward in a significant way. I've wanted to provide the following features for a long time:
  • Multiple satellites -- the ten brightest or all the visible ones?
  • A view of the satellite's path through the stars
  • A Macintosh version
Hopefully this new year will allow time for all of these improvements.

Best wishes for a happy and fulfilling 2011 to my readers

v1.5 Approved and Time Surprise

Satellites v1.5 has just been approved and is appearing in the App Store.

This evening, while preparing to catch an Iridium flare, I noticed something I had not expected on my iPhone -- the iPhone clock was 40 seconds fast. For many purposes, this probably doesn't make much difference, but for satellite tracking, with ISS traveling at 5 miles a second, that's a 200 mile error.

I'm giving some consideration to obtaining accurate 'real time' from network time protocol (ntp) servers. As
Satellites gets more sophisticated, having the iPhone clock be so far in error will be a problem.

v1.5 ready for approval

Version 1.5 has taken a lot longer than I expected -- my apologies.

Most of the delay arose from my wanting to allow a better way to manually enter the observer's position, and making that possible for devices from iOS3 to iOS4 proved more difficult than I expected, and has driven me to a decision discussed below.

As I write this, there are three major variations on the iPhone/iPad OS:
  • v3.0, 3.1: original iPhone and 3G, for those who didn't upgrade to iOS4.
  • v3.2: iPad.
  • v4.0, 4.1: iPhone 3GS and iPhone 4.
and I'm glad to say that Satellites works well for every device Apple has shipped, but supporting that spread is getting difficult -- the range of capabilities keeps widening, and Apple doesn't make it easy to test software for those old versions. With iOS4.2 coming in November, the situation changes again -- the significance for me, and Satellites, is that iPads can run iOS4.2 and I can stop support for the iOS3.2 variation above.

But that opens a huge gap between the v3 and v4 populations, and I've reached the sad conclusion that one application cannot bridge that gap. So, I'm going to aim the next major version at iOS4.2 devices and drop iOS3.x support. I really don't like abandoning those early iPhone users so an open question for me is whether to release a more limited, free version of
Satellites to support the iOS3.x population. If I can do that in a way that makes the support of two distinct versions easier than the support of one complicated version, I'll do it.

After all this time ...

Satellites has been in work since November 2008. One of the first pieces of the application to be finished was the part which performs orbital predictions and, as part of that, functions which convert between 'sky coordinates' and 'geographic coordinates.' Imagine my surprise when I found a mistake in the software which calculates a satellite's latitude and longitude.

The error is related to the adjustments made for the fact that the Earth is not perfectly spherical; it has a very slight effect, probably invisible, but it is a reminder that no software of any complexity is entirely free of errors. The upcoming v1.5 has this mistake corrected.

v1.5 and "Settings"

I have made some kind of mistake in Satellites v1.4 which causes the "Settings" tab to not be shown on the bottom tab bar. I have not yet found the cause of this (and I have been looking and testing for several days), so my solution will be to push a new release out soon which contains a new "Settings" mechanism.

I've been planning to change the way settings operates to allow the observer's location to be set more easily. This feature change will be released soon -- the code completely replaces the "Settings" code in v1.4 and so should fix the above problem.

My apologies for the inconvenience.