Space Apps Challenge 2015 – what a weekend!

During the last weekend, instead of enjoying a wonderful sunshine in London, I decided to spend my time working with other space geeks. Every year, NASA is organising the NASA Space Apps Challenge, a hackathon focused on space exploration and taking place all over the world. You can find more information on their website.

Different challenges where available, going from purely technical topics to communication. And we all know how space is not only about engineering. Whether you are doing commercial or scientific programmes, you need people to sell your project.

I had a quick look at the challenges beforehand and I was going to have a look at the thermal challenge or the deep space camsat. But my focus changed when SpaceKate presented her idea of an app taking the opportunity of Tim Peake’s next travel to space to make people exercise. Here was an idea that can appeal to people who usually do not care about space.

The pitch is quite simple: an app where people can log their exercise to earn points (sorry, rocket fuel) and compare themselves with the daily two-hour exercise Tim Peake will need to do while being on the ISS.

A team of six people soon formed. Among us, two graphic designers, an architect, a journalist, a software engineer from IBM and me. After a first meeting trying to define a bit more clearly what we want to achieve in the end, and what should be done, I ended being responsible for the linkage among the different parts (runkeeper API, the social networks, and the Bluemix microservice built by Steve). The good part is that there was no need to write a big ICD for it. The bad part is that all this shall be written in JavaScript and the last (a first) time I used this language was when I was at my previous Space Apps challenge. Web developers reading this may laugh, but for someone used to work on embedded software and shell scripts like me, dealing with REST services and web development is quite disorienting. Especially how to deal with cross domain queries, which is still unclear somehow.

At the end of the first day, I was able to recover some information from my Runkeeper account. It did only contain a handful of 0-meter walks as I do not use this app usually but hey, they have an API contrary to some of their competitors so, kudos guys! The next steps was to actually implement the login in the webapp and communicate with the Bluemix microservice. Easy? I thought so as well!

Next morning, after a short night in my bed contrary to some of the people at the hackathon, I started working on the oauth protocol used to recover the token from Runkeeper API. Everything seemed to be normal, including the headers that I had wrong at the beginning. But still no way to recover this damn’ token. And the clock was ticking: all the code was to be published at noon. I changed to focus on having a working demo, even if some elements underlying were not working as expected. I was able to implement a form, recover runkeeper data with a hard-coded token, and provide them to Steve’s microservices in order to recover some nice facts and the number of points.

More than this small work on coding, the presentation by Kate and Steve as well as the beautiful website created by Jean using wonderful graphic elements from Kate, Natasha and David seem to have impressed the jury. We were selected as winner of the London Space Apps challenge along the team of the SS Cornelius who worked on a cubesat taking selfies of its mothership!

What’s next? We now have to prepare a video and represent London at the global challenge. Of course, we will need a more complete website to go farther but with the energy given by this weekend, everything is possible. Even Tim Peake loves the idea!