Monday, February 10, 2014

How do you keep track of your launch data?


Once I got back into model rocketry, I realized that I'd like a good way to keep track of my rockets, and where and when they launched. By profession, I'm an Oracle DBA and developer, so naturally my first thought was to create a database app. My next thought was that it would be nice to have it online, so the data would be available - and updatable -  on any device at any time. But I'm not a web developer.

The perfect solution for me is Oracle Application Express. It is an easy-to-use web platform for development of database applications. At least it has been easy for me to learn, with a background in database development.

The best part of it is that Oracle operates a free Application Express (ApEx) instance, and you can sign up to get a free workspace for personal use in about two minutes. You get (I think) 10MB of space, which is plenty of you're just keeping track of your own launch data, or even that for your own club. (And if you want to grow it beyond that, you can run your own db and app server for free with Oracle XE - up to 4GB.)

So I set about to create my own app, the brilliantly named rocket log. It took me just  a couple hours to put the entire thing together, from start to finish. It keeps track of three main entities:

1. Rockets, of course. For each rocket, I can track basic attributes like name, manufacturer, build date, engines used, etc. plus a single photo.



2. Launch Sessions, to track the places, dates, and conditions for each launch day.



3. Launches. Each launch is associated with a single rocket and launch session. Not only do I track the basic data like date and motor used, but I also have spaces for specific launch data provided by the altimeters I have, including functionality to upload a CSV of time vs height data from my FD-Altimeter, then compute status such as max speed and height and display the data as a graph. I also keep launch simulation data (from OpenRocket) here, so I can quickly reference it when trying to choose a motor for a launch.



Finally, I have a page where I maintain a list of motor types I use, along with links to the NAR motor data sheets.

Another nice feature of ApEx is that it provides templates for easy development of mobile-friendly pages as well. So I've got one app that I can access either from a laptop or from a smartphone, so I can check motor data or add launch info out in the field.



Since I built it, I've put it to good use keeping track of 21 rockets and 80+ launches so far. Of course, once I got the basic functionality completed, I moved on to other projects, and I have a list of desired enhancements that I'll probably never get to:
  • Provide the ability to easily switch between English and Metric units.
  • Allow for the addition of URLs/links on most pages. For example, on a rocket page, I should be able to add links to the manufacturer's product description page, or to reviews and launch reports on external websites. On the launches page, I should be able to add links to external photo sites. Also maybe a page for general links to favorite vendors and such.
  • I need to do some clean-up on my implementation of motors, including making the recommended motor list on the rockets page a pick list.
  • I need to enhance the navigation within the app.


I've created a read-only guest login to the app so anyone can log in and look it over. Please do, and leave comments if you have ideas or suggestions. Or let me know what you do to track your own data.