Runup for Livermore
The Livermore AOPA Fly-in is just a few days away and I have been busy getting ready for months. I'm excited to find pilots I can help with the management of their airplanes. The work to prepare for the Livermore fly-in started all the way back in January.
Two weeks before the Livermore fly-in I was at the Skypark Aviation Festival. This is an annual event where I have the opportunity to talk to pilots and local flying club members about what they need out of their scheduling, maintenance tracking, and billing tools. Two years ago I got a lot of good feedback on the airplane partnership billing system I had written and figured out what features were the most important to work on next.
I have spent the last 2 years using the TrackHobbs system as I have built tools to solve the problems that came up in my own airplane partnerships. Immediately after billing I added scheduling because those were the two core problems everyone I was able to talk to had to deal with. The first 9 months of development overlapped with my process of obtaining my private pilot certificate and the online system used by my flight school was hard to use. Even though the tool had maintenance tracking when it was time to check out the airplane I had to navigate all around the application to verify maintenace before going to the checkout page. Frustrations like this helped me focus on task driven user interface design. Now the checkout process has multiple things it condenses into one view providing status information and gates to prevent use when an airplane needs to be grounded.
While I have done a lot of the work on TrackHobbs in order to solve my own problems I am really excited to share what I have built with other pilots. Software that is difficult to use or unstable is a travesty. I appreciate all of the early adopters who have accepted the rough edges on this system and allowed me to discover the problems one crash report at a time. Now that it is ready enough I want to help aviators everywhere stay safe and up to date on all of their maintenance.
Quality is a major motivation for me and when I discover a problem I go through a postmortem process to make sure that I only ever deal with new and unique bugs. When possible I find a way to add the exact error condition to the automated tests that run every time I make a change, verify that the test fails, and then update code to correct the problem before verifying that the automated tests now pass as expected.