So we’re heading out from the convention center, popping up to The Stinking Rose, a garlic themed restaurant in North Beach, to celebrate a great GDC showing. The driver starts off, and innocently enough, asks if we’re in town for a convention. When we mentioned games, he started going off about how games were ruining children and society. From his rant and appearance, this guy looked to be a gold mine of ‘far end of the bell curve’ sample data; a type of fellow I rarely get to use as a data source. I challenged his view on games. He was receptive when I pointed out people were playing more games and reducing their TV time, and that games were a social interaction event versus the solitary experience of the television. But he then got on the ‘computers in general were bad’ rant. I asked him if he had a computer and to compare his TV time versus surfing around on the web. He looked pensive and shrugged “alright, fair enough. I spend a lot of time surfing around, and I learn a lot each time.”
Now that I knew I had an interesting person to talk with, I was concerned about the short interview window; the restaurant was perhaps 15 minutes away. So I started digging in with some questions. He tended to ramble a bit on his answers, so as soon as I had what I needed out of one answer, I would politely cut him off and throw in the next question. It was a ton of fun! I learned a lot and the guy seemed cool; overall, fantastically successful cab ride. So I over-tipped him, we smiled and shook hands and I turned to the two guys I’d ridden up with, as the taxi drove off. Kris stomped his foot on the ground and said “Oh my God! That was the most terrifying cab ride I have ever had!!” Brian explained matter-of-factly, “I thought we were going to die. Several times.”
I was quite surprised, pulled back and looked at them. What could have been the issue? I thought it was a great ride, one of the best ever.
Kris said, “Well, I was a little worried that you would get us killed by challenging this crazy guy’s worldview, on his turf. But you convinced him that he was looking at the problem the wrong way, and I started to think we’d get out of there alive.” Brian interjected with “but the real problem was that he was a totally insane driver.” Brian continued, “then I saw you drop into scientist mode, and I knew it was all over.”
I knew immediately what Brian meant. I live for that sweet spot when you are totally immersed in a problem. And it’s true, sometimes I lose track of time and space, but I was shocked that the three of us could’ve had such a radically different experience in the same cab ride! I pressed for details and they rattled off incident after incident: driving through lights; driving through stop signs; driving without hands; driving while eating; driving while turned around in his seat and talking to me, etc. They had a pretty extensive list of some pretty valid complaints!
I paused and went to the mental videotape; slowly stepping through the cab ride conversation, and trying to observe the situation, not just the data. And sure enough, the guy was completely whacked! He had a big Styrofoam container of noodles that he would hold in one hand, while driving with one knee, and using the other hand to scoop noodles into his mouth, all while speeding down the already crazy streets of San Francisco. He would also do this while turning around and looking at me, regardless of the current traffic situation!
To help deal with this sort of problem (zoning in and missing what is going on around me), I have a little helper thread to track the overall environment; the only tricky part is remembering to feed it cycles frequently enough to catch such problems! As a little test thread, I’ve been forcing myself to take a guess at the current time, then I check the clock to see how close I was. After several months of this, I can now reliably feed background processes — at least, some of them — even when immersed. And it has also improved my tracking of time in general, leading to a much improved on-time behavior!