The master plan of iObserve 2

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… 

 The new Sky Maps view.
The new Sky Maps view.

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 has been built!

• The 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… 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.

• In addition to that, I am preparing some useful UI components (all open-source) that can be used in pro apps like iObserve: tabs, jump bars, and split panes.

That’s all it takes for the foundations… 

Happy coding!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *