Is it possible to build an app whose job is to use another app?
EAA AirVenture (“Oshkosh”) includes four hangars full of vendor booths. Quite a few were populated by makers of Electronic Flight Bags (EFBs). ForeFlight and Garmin Pilot are the market leaders here, but there are roughly an additional dozen apps that offer to do the basics of providing electronic charts and approach plates as well as flight planning.
A physical flight bag contains paper charts (maps) and notebooks full of approach plates, instructions for landing at various airports when clouds are low and/or visibility is poor. Before the era of GPS there would also be a slide rule calculator for determining the time required to reach the next waypoint. In this analog world, the pilot reaches into the flight bag and selects the correct tool for the situation: chart, plate, E6B calculator, pencil and paper.
The analog world has been faithfully replicated by the software engineers behind the EFBs. Garmin Pilot, for example, has 21 top-level options available from the Home screen. Examples:
- map
- flight plan
- documents
- airport info
- charts
- trip planning
- wx [weather] text
- terrain
- weight and balance
Just as with the physical flight bag, it is the pilot’s job to reach into this suitcase and select which of these 21 options is most relevant in a given situation. With every Oshkosh the various EFB vendors introduce additional features and the result is additional user interface complexity (none of these folks seem to have developed a simplified in-flight interface; the complexity delivered to the user sitting on a coach hours before flight is the same as the complexity delivered to the user sitting in an airplane trying to determine whether it is necessary to divert to an alternate airport).
In fairness, Garmin calls this “Pilot” and not “Co-Pilot” so perhaps it isn’t reasonable to expect that the software would respond with the intelligence of a human co-pilot, dispatcher, or weather briefer. But would it be possible to build a “Co-Pilot” app on top of “Garmin Pilot” that did have some intelligence?
For example, the Co-Pilot app would start by asking the user (“pilot”) what was the goal, e.g.,
- I want to see if it makes sense to do a local training flight
- I want to see if I can do a day trip today from KBED to KMVY and back
- I want to see if there is reasonable VFR weather forecast for going KBED to KGAI this weekend
For Goal #1 it would be the layered Co-Pilot app’s job to push the roughly 50 buttons necessary in ForeFlight or Garmin Pilot to get current and forecast weather for nearby airports and to check NOTAMs for runway closures, temporary flight restrictions (El Presidente playing golf, e.g.), etc. If it was towards the end of the day the Co-Pilot app would also press the buttons necessary to determine sunset time.
Readers: How tough it is to build an app for Android or iOS whose job is to drive an already-installed app? The above example is obviously a small market niche, but given how software tends to become bloatware and interfaces designed by 25-year-olds in Silicon Valley tend not to be usable for non-technical and/or older Americans I think that this kind of software could be useful in a lot of areas. Even figuring out which app to install! If the goal is to book a hotel for tonight, for example, the meta-app could figure out which of the 100 hotel-booking apps to install and then download and use one. After all, the phone owner’s goal is not to enjoy Hipmunk or the Expedia app, but rather to sleep comfortably at a reasonable price.
Full post, including comments