I’ve read somewhere that good software takes 10 years. Ah yes, here, from someone who knows a fair bit about it. As you have read here, iObserve is 6 years old. And despite recent 1.5 update series (to finally release Sky Maps), the code definitely reaches a level where any true new feature is immediately flooded by the amount of work of refactoring, additional bug fixing, not talking about the weaknesses revealed by the new feature…
But iObserve is a master piece I don’t want to just let go (some people are good at letting it go, at some stage in their life – I trust my fear of getting bored to continue creating lots of stuff…). So I prepare the version 2 of that app.
To do so, I am working on a collection of great stuff, some of them being mine, some of them inspired by others, or by participating to other projects. Here a list:
• Siesta is a great framework to consume REST APIs. It will make the access, download, cache, storage and update of data a looooooot easier than the current code in iObserve 1.
• Of course, iObserve data is of absolute central importance in the app. Nowadays, it is downloaded from the various services with custom connectors for each of them (SIMBAD, ADS, JPL Horizon…). That’s why arcsecond.io has been built!
• The arcsecond.io is being foreseen to be a whole cloud service by itself. With user accounts and all that stuff. And it will be part of iObserve 2 chain of software. There are periods of time where I put efforts on iObserve itself. And there periods where I put efforts on arcsecond.io… Depends on the direction of the wind.
• The scientific part of iObserve is based on Jean Meeus’ textbook ‘Astronomical Algorithms‘. I’ve implemented part of it (available here, but not updated since exactly a year). But a lot more complete implementation has been developed in C++ by P.J. Naughter, called AA+, who let me write a wrapper for it. Thanks to recent efforts, I managed to bring the AA+ library to the Swift playgrounds! Nice to have little Solar Systems under your fingers. I will post example and movies as soon as it is stable. SwiftAA is open-source.
• An additional (and very important) part of scientific calculations is related to dates. Current implementation in iObserve is far from satisfactory. Hence, I’m helping improving the open-source project SwiftDate.
That’s all it takes for the foundations…