I had a really unexpected feature request today for a spur of the moment flight finding tool I’ve been playing with:
It lets me set a maximum price, but can it also let me set a minimum price?
Surprised at a user asking for a feature that makes it easier for them to spend more money on a flight, I asked why they wanted the feature. A bit of digging later, I had my answer:
It only fetches 30 destinations at a time, and usually most of them are like Vegas or Portland. I want to go somewhere exciting!
I asked if being able to filter on international flights would solve the problem:
No cause it also says Vancouver.
Ultimately flight offerings are just records in a database, retrieved either directly by the airline, or indirectly by me when I send out a request for offers. The way they’re retrieved1 limits users to only filter using certain constraints, all of which would’ve had to be explicitly considered by the engineer. You can trivially search by airport or date, but you can’t search by how “exciting” the destination is.
I think this might be one of the underappreciated opportunities in using AI to interact with these systems: real people don’t tend to think in terms of the categories in your database. Human beings tend to think in terms of fuzzy categories like “exciting” or “opening soon” and software 1.0 is structurally incapable of directly handling these categories, forcing users to redefine “opening soon” as “with an opening time in the next 30 minutes” or “exciting” as “above $150.” Meanwhile, even the least capable LLMs on the market with a bit of history about me can easily distinguish between which destinations I’d find “exciting” without needing such a dirty proxy as price.
Software is a land of hard rules and logical boundaries, and using yesterday’s software tends to force users to collapse their thoughts down into the same terms. AI, meanwhile, works in the same fuzzy terms that humans do. Maybe more of it means a world where software is more human.
Nobody wants a stylus. So let’s not use a stylus. We’re going to use the best pointing device in the world. We’re going to use a pointing device that we’re all born with. We’re born with ten of them. We’re gonna use our fingers. We’re going to touch this with our fingers.
― Steve Jobs, Introducing iPhone, Macworld 2007
-
The API request I send to request flight offers only includes so many fields, as does the SQL query the airline uses on their end to do the search ↩︎