I went to a concert recently, and because I had a super early flight I decided to just go straight to the airport afterwards. It was late and I decided to use a Waymo to get there. Luckily I wasn’t in a rush, because this choice added about an hour to me getting to the gate, and at least an extra mile of walking.
Defining the problem
Okay, so I wanted to get a ride tot he airport. Simple enough, right?
The ride
The ride was generally fine! I didn’t like the default (what I’m assuming is AI generated) elevator music, but you could turn it off without too much hassle. It was cool to see what the sensors see and they seemed to be really good! I didn’t love how it would accelerate to an obvious red light, and it took corners a bit sharper than what I think a normal driver would, but overall the ride was no better or worse than I’d have gotten with a person.
The issue
The issues are technically all my fault, and if I’d not been up late drinking at a concert I might have been more thoughtful in my approach. Still, I feel like my use case is not unreasonable.
The first issue is that “The airport” doesn’t mean much to a computer. It can make a guess based on how many are nearby and stuff, but I couldn’t just put “The airport” as my destination, so instead of just ordering the car I had to do some research first because I was in an unfamiliar city and when it suggested an airport name, I was unsure if there were others. This lack of familiarity is going to be a common problem, and we’re going to need these tools to handle this better.
The biggest issue is that the problem is woefully poorly constrained. “Get me to the airport” has a lot of wiggle room, and once I realized what had happened, I was immediately reminded of this quote from Djikstra:
The virtue of formal texts is that their manipulations, in order to be legitimate, need to satisfy only a few simple rules; they are, when you come to think of it, an amazingly effective tool for ruling out all sorts of nonsense that, when we use our native tongues, are almost impossible to avoid.
So some of the “nonsense” I realized I still needed to sort out after walking around inside of the airport:
- Arrivals or departures?
- Which airline was I taking?
- Would any security checkpoints be closed due to the off hours?
In my ignorance and hubris, I had chosen the wrong destination. I gave the Waymo a specific drop off location, and it had happily obliged with me being completely unaware that I was at the wrong terminal for my airline. I had also dropped myself off at the arrivals portion of the airport.
Now, I’m super lucky because I got there 4 hours before my flight, so all of this was a minor inconvenience rather than a real issue. All the same it was annoying and it would have all been avoided if I’d had an Uber or a taxi with a driver.
Context is king
So let’s walk through what this would have been like if I’d called a taxi to get to the airport:
Given that there was only one airport in the city this would have immediately been enough context for the driver. Once they pulled up, they’d have seen a bag, which likely would have prompted the following questions:
- Are you heading somewhere?
- Which airline are you taking?
These two questions are very basic, and as I mentioned previously if I’d have been thinking it through are ones I’d have asked myself before ordering the Waymo. But these questions give the driver all of the information they need. With these details they can drop me off at the correct location without needing to be told a specific place.
This just goes to show that while computers are great at doing what you tell them to, they can only ever do EXACTLY what you tell them to.
The upside
On the upside, for my specific use case, developing a software solution for this would actually be pretty simple: If going to the airport, get data about arrival/departure and airline. If departing, get available data about security checkpoints.
All of this data is likely available pretty easily, and having that get ironed out BEFORE the ride begins would ensure that all airport rides are much smoother.
Though we still have a bit to go before we can get there.