iObserve 1.6.0 submitted to the AppStore

After many months, I finally managed to submit a new version of iObserve. I am happy to see I continue to be able to improve it (even if I am not writing Objective-C code anymore regularly). I also hope it will be good enough for the coming weeks, as I am preparing more stuff for the future!

Making an auxiliary app about Observing Sites...

Making an auxiliary app about Observing Sites...

... on the road to iObserve 2!  

As you certainly know if you read this blog a bit, here and especially here, I am preparing, slowly, a version 2 of my famous app for astronomers: iObserve. One key thing about it are observatories, over and over again. The problem of managing different places, being able to record your own places, possibly sharing them etc, exists since the inception of the app, when it was only in a widget form... 

In the course of the years, I've developed a lot of things about it and never found it entirely satisfactory. Then came was first intended to be the backend for a much lighter iObserve client. But it appears it can solve a lot of things! And the first thing it can solves is to be the one-place-to-go for everything about observatories in the world. 

Hence, one of the primary mission of is to record, store, share, make available all the information about such places.

And the only way to correctly develop, test, bullet-proof the observing sites at is to build an app, using the arcsecond.swift and SwiftAA sdks. So here it is, for the visible part:

Of course, as soon as it gets ready to edit and display useful things about all observatories, and you can add your own etc, you'll get your hands on it! 



Closing sources of for now

I've decided to close the sources of for now. It's been quite a while since I started to think about it.

Two main reasons. First, the opening of the sources had strictly none of the expected effects, that is, to gather people around the project, even just a few. None. Second, is a fairly large project, some said too much. And before I find a satisfactory plan of splitting / simplification / whatever, I prefer to make my business on my own.

However, if anyone is interested to really participate, I'll be happy to include him as a member of the GitHub project.

One small step for a developer...

One small step for a developer...

... but quite a milestone in my master plan (see previous post). After about a year of (discrete periods of intense) work, I've decided that SwiftAA, the best collection of astronomical algorithms on Swift, hit the 2.0-alpha stage.

SwiftAA is intended to be the underlying code framework of all scientific computations of the next version of iObserve. With it, I'll be able to provide tons of details about many objects, and especially about Solar System objects, which are clearly missing in the current app.

It's an alpha stage, of course. It means a lot of details need to be polished: iOS version polishing, more unit tests, a more consistent handling of numeric types etc. But all of the C++ code is wrapped in Objective-C(++) code, and all that old-style code mimicking the original AA+ one is now "Swifted". That is, it has been elevated to a lot higher level of expressive formulation.

Complexity remains, since the solar system isn't quite easy to simplify. Hence, when one has the goal of minimizing the amount of lines of code, to extract the most of it, things aren't easy to read at first. 

But there is a Swift Playground for those interested to learn. I wish I had more time for making this Playground more "ready to use". But as for now, you need to dive a bit into the thing and the project to actually understand it. But time will come, I'll prepare a better one.

In my website stats, I noticed that some people keep talking about iObserve, which is great. One post however mentioned the wish to have a Linux version of it. Those interested in what happens here @ probably understood that it is also part of the master plan. But current web-based technologies to make cross-platforms apps are difficult to put in place. I've tried about 6-7 times. But I don't give up! 

I've received about 30 new observatories to be included in the next version of iObserve. That's really great, as it is the sign of a strong usage of the app (more than 15k downloads so far). They are all in my list of to-dos, but I must say that it is sometimes hard to be motivated to finish this new new version, and I am late. But it will come! 


Master plan of the software department @

Master plan of the software department @

Software is amazing, because it let you create your own world. This is the world as I see it in the future. I learned so much by creating iObserve (over the course of the past years...). And as in science, the main lesson was that I didn't know much actually... 

Hence, since I love challenges, I decided to dive into new questions:

  • new language for the app iObserve
  • new architecture for the app
  • own backend service with specific language
  • start cloud service with storage and online DB
  • extract as many macOS components from app into open-source libraries
  • finally implement dreamed features (night logs, observation simulator...)
  • I'm sure something is missing... 

If someone want to share the bumps ahead on the road, he|she is most welcome.

Clear skies to everyone!

P.S. By the way, just migrated to Python3... 

Le silence est d'or...

Le silence est d'or...

Dear iObserve users, not many news over here for some time. iObserve 1.5 is still downloaded quite many times every week (reaching 12.5k total downloads!). I can see that some of you send me new observatories. I'll find some time to create an update of that bunch of new observatories.

Apart from that, I've been able to re-compile and re-run iObserve Touch on an iPad with iOS 9.3. And that's nice, because it wasn't so easy with the amount of code involved here and there. So maybe I could find some time for a little update as well. It reached almost 6k downloads by itself, wow!

On the other side, I'm a bit busy with new stuff. Most of which is the decomposition of iObserve code into little frameworks (for instance: But also scientific ones!

In particular, I am preparing a Swift playground with the best astronomical algorithms in town. The code will be good for developers, for iObserve2, but the Playground could be interesting to teachers! Check it out here the on-going work:

Talking about iObserve 2, I continue to develop things in preparation of it. Among which...! And its SDK (I started with Swift, but javascript will also come soon... <hum, hopefully>). I take the occasion to say that is open-source, and you can contribute!

Interestingly, this all-code activity is a kind of rest for me. At my startup job, I spend the day interacting with tons of new people (and it's really great!). So it's nice to interact with computers a bit. :-) 

The master plan of iObserve 2

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.

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!

onekiloparsec diving in the game industry

onekiloparsec diving in the game industry

Thanks to the amazing startup I work for, I am currently en route for the Unite event of Unity3d in Amsterdam.  


Learning Unity3d is the occasion to dive in the game industry. I really hope I can hack some a few things astro in the mid-term range.  

iObserve 1.5.0 submitted to the Store!

iObserve 1.5.0 submitted to the Store!

After a year a development! I can't believe it has been so long. Well, if you read sometimes this blog, you'll certainly know why. Many bugfixes and improvements. And quite some nice new features. First:...

First Release of KPCJumpBarControl

While working on iObserve 1.5 (I know, it has been more than 6 months! but you certainly know why), I prepare some small OSX libraries for the future... for instance, iObserve 2. Everything is going slowly, but very nicely. As usual, development at follows mostly my interest of the day. If it is web, it's If it is app, it's iObserve ans everything's around.

Enough said: today's release is about KPCJumpBarControl. A small UI component verrrry very useful, inspired from Xcode's. 

Every component of the path is clickable, and reveal a menu giving access to other items of the same level, allowing therefore to explore and navigate across a tree of objects.

It's open-source, and available on GitHub. is now open-source is now open-source aims at integrating all sources of astronomical data and information into a unified scheme using modern web techniques.

This is big. Really. If you jump on board, this can be huge!

If you don't see how big it could be, imagine a world where every resource (the word is key) has a unique, simple, stateless URL. Yes. It means every object, every planet, every lightcurve, telegram, FITS file has a simple, unique URL which returns well-formated fully standard JSON/XML output, consumable by modern web techniques (like AngularJS).

It's a kind of a super mega SIMBAD or NED services with modern tools and interfaces. And not limited to any type of data. Allowing you to concentrate on stuff that matter: the data. And not its formatting.

Imagine furthermore that your own personal resources: night log, observing runs, reduced data are accessible the same way, through usual individual and group permissions that you personally control.

Imagine even furthermore that community-curated informations is also accessible that way! This is what has been started with observing sites around the world (see below). Imagine now this list constantly updated, and enhanced by informations about domes and telescopes, and further more... instruments and detectors. All accessible freely, always the same way. A kind of scientific data-based wikipedia!

This would allow us to build a bazillion of new services and (web) apps. This is the future of is intended to full embrace the RESTful principles (that is, the modern way in the web to decouple data from its consumption). I know, there is also the VO. But... Oh well.

News from the development department...

Two months already since I made iObserve free, and a month since I started to work in my new startup. And a month without any code! How bizarre! Sorry guys, but as you may have guessed, I made no progress at all on the iObserve front. In fact, during the last month I had only my 7-years old MacBook Pro. Tough to run Xcode and code confortably with it. Now that I received the latest high-end Retina, things have much improved!

Here is the situation at onekiloparsec's:

  • iObserve 1.5 is still ongoing. Sky maps coming, along with various bugfixes coming, especially that factor 15 for Right Ascensions when entering coordinates manually. I was planning to put in place an update mechanism outside the MacAppStore, but given the time it takes, I'll skip it for now. So expect a regular update in the MAS. I can't make plans for when, but this is definitely on top of the list.
  • I've received a request to support PixInsight XISF in QLFits. That's very interesting, as I didn't know about before. I'll have to check that. Love new stuff.
  • KPCTabsControl has been updated to play better with AutoLayout projects, because of a developer request. Great spirit among developers around the world; open source can be really cool sometimes.
  • SwiftAA is stucked in between version 1.0 and 2.0. I really wish I could finish this soon. This is key for the future, but I am stuck on how I should translate pure C++ style / syntax in the most useful / modern Swift style and syntax. Life can be hard sometimes. ;-)
  • Because of SwiftAA is stuck, so is iObserve 2 too... But anyway, this new app depends on the development of And I am wondering I could write things in Swift. Probably not on the server side (even if it is possible right now).

But you know what? I've been thinking a lot about lately. I regularly receive emails from the backend about this or this not working well (for instance, duplicate Observatories, yes, I look at you, Crete). I am all aware of it! And I need to do something about it, definitely. Enough said for now. More on that later.

Most welcome to send comments and feedbacks if you can help or discuss. Stay tuned, as always.

The XXth century is finally over

The XXth century is finally over

You may have noticed in the news and Twitter and all over medias that the LIGO collaboration has detected gravitational waves. This is an undeniably amazing achievement, both technologically and scientifically. It echoes the fantastic detection of the Higgs boson some months ago in CERN.

These are big news for science, in times of a worldwide decline of scientific literacy and reason-based worldviews. These achievements must be spread and explained in classrooms.

Even better, these 2 detections represent not at all a revolution in physics, and that's for the good! They both end the XXth century, as they both confirm, to the ultimate level (25 years for LIGO, and decades for the Higgs boson), that our 2 most successful theories of the world are... well, successful!

That's it! XXth century over. You're a young student on physics? That's a good time to start the XXIst century!

The detection of the Higgs boson confirms the overalll validity of the so-called Standard Model of particle physics. The detection of gravtitational waves confirms the validity of Einstein's General Relativity. One would be quite presomptuous to say where the next big discovery would occur. But my personal feeling is that it won't come in these two fields...

So personaly, and as a general ethical position for a scientist, I wouldn't look in these overwhelmingly crowded fields, but elsewhere. Wherever your personnal battle of intimate questions leads you. Enjoy the journey and tell the world!


Welcome to the 3200 new iObserve users [u]

My post about the 6 years of development of iObserve generated some interest! And triggered quite some downloads in just 4 days (and a 100x increase in website traffic). Since it became free, iObserve has been downloaded 2717 times on OSX and 507 on iOS. That's 280% and 570% increases respectively. 

Welcome everybody! 

[Update] The day after, I got more than 1400 additional downloads, mostly from Honk Kong. Quite surprising!

The story of 6 years of development of iObserve

The story of 6 years of development of iObserve

6 years. What a journey!

Short story: Because I am taking the head of software developments in a newly-created french VR startup, my energy will be focused on that for the coming years. The development at will necessarily change to a much slower pace.  Nonetheless, I will release iObserve 1.5 and keep supporting everything, including, as much as time and energy is left. Moreover, I am happy to announce that iObserve is now entirely free. Read on to learn why, for the history of very special app, and the role it has in the life of its developer, with all the details, decisions, downloads, graphics, sales numbers and more!

A world-wide community-curated list of all observing sites

A world-wide community-curated list of all observing sites

Readers of this blog already know this page. But this time, it's been a lot more interesting! Observing sites in just got upgraded: you can now edit existing sites, and freely enter new ones yourself! It will be automatically be part of data. Soon it will be used by iObserve, and will be completed with a lot more information. Our ambition it to follow the hierarchy down to the detectors... See what I mean? Observing Site > Telescopes > Instruments > Detectors... all available here, for everyone to share. Stay tuned!

To create a new site, simply enter its name in the search field. Sites of similar names will be automatically appeared  as the others are filtered out. Then zoom the map to the right coordinates, and press the Create button!

To create a new site, simply enter its name in the search field. Sites of similar names will be automatically appeared  as the others are filtered out. Then zoom the map to the right coordinates, and press the Create button!

The page of a single observing site. Every field is editable. It remains quite some work for quite some sites, as this one exemplifies! But it is very easy, and no worries to have, as every operation is recorded and can be reverted in case of a mistake. 

The page of a single observing site. Every field is editable. It remains quite some work for quite some sites, as this one exemplifies! But it is very easy, and no worries to have, as every operation is recorded and can be reverted in case of a mistake. 

P.S. Happy anniversary to the ISS! 15 years, you're a young lady.