Sunday, April 11, 2021

We Are All of Us Edge Cases

 Once I had concluded that our old television set was beyond repair, I acted quickly to research buying a new one. This was a familiar process to me as I had been thinking about buying a new set for years, and would periodically go online and I would peruse the aisles inside Costco where the televisions are on lavish display, but in each case previously I had concluded that we could get by with our 29" set. There was no need for a bigger new one. No doubt we would still have it had it not gone out.

It took me a week after the set was dead to get around to acting about replacing it. It seemed virtuous in a Lenten way to go without a television set for a while. We had to forgo watching our curated list of Youtube videos of travel bloggers and people who make videos about camping, RVs, and bushcraft house construction. It was not a big sacrifice but eventually I felt the lack of having a television screen.

I had assumed we would use our Costco membership to buy our next tv, but after a little research, I decided to buy one that was on sale via the website of their competitor Wal-Mart. I had not used the Wal-Mart web site except for minor purchases, and being so familiar with seamless way that Amazon handles things, including its physical return policy using Whole Foods drop-off locations (which work very well and painlessly for anything you need to take back), I wanted to experience the Wal-Mart online purchasing experience as a means of comparison, as I am curious about these things.

There was no comparison. Everything about the Wal-Mart experience was confusing and vague by comparison of the crispness of Amazon, although it least was a clean and functional. 

It amazes me that a corporation that huge could have such a lackluster online purchasing experiencing. If they gave me a budget of a quarter million bucks and six months, I knew for a fact I could make a much superior one.  This is not said as a matter of pride, but simple fact.

This kind of realization is familiar to me. The U.S. government threw away a billion dollars on a piece of junk healthcare web application that I could have bested for less than one percent of that cost. Likewise the State of Oregon wasted a huge amount for their never-functioning version. All fo them useless junk, like most computer code that has been written, and most that will ever be written. Alas most of the computer code I have written, for myself and for hire, also falls into this category. The times I've written apps that turned out to be useful is rare, the best success being my participation in the creation of the fare card system for the Portland transit system.

Among the confusing things about the Wal-Mart experience was knowing exactly when and where to pick up my television set. I wasn't sure how I would be notified.Finally an email arrived and I inferred that I could pick it up at the store in north Scottsdale that I had specified for its delivery. 

I drove there in anticipation of the experience. I assumed I would have to go inside. Would there be helpful directions, or would I need to wander around the store looking for the counter, asking one person after another? 

I anticipated the latter but as I came into the parking lot I saw beautiful signs pointing towards the pickup locations for online orders, one right after another guiding me through the parking lot, as if just for me. This part of the experience was superb. 

The signs directed me to the side of the store where I saw a line of shaded parking structures (common in Arizona) serving as bays for parking. Each parking spot had a sign with a number. I parked in number four.

A sign on the side of the building indicated to call a number for pickup. I used by iPhone and called the number. The phone rang maybe.a dozen times before someone answered. The person on the side, presumably a Wal-Mart employee inside the building, asked "Can I help you?" in a vague way, as if the phone line was used for any number of purposes. Already I felt uncomfortable, as if the system was unpolished.

"I'm here to pick up order online."

"Uh..OK."

The employee asked my name and looked it up.

"Vizio television?"

"Yes."

"OK. What number are you in?" 

"Number four."

"Right, we'll have it out."

It felt like I was the first customer ever to do this.

As I spoke to the person I noticed that the door through which the employees came out from the side of the building was a small normal-sized door. It looked pathetic and wrong to be using this normal door for this purpose, but this kind of awkward repurposing is normal in this day and age, for multiple reasons.

I waited as five and then ten minutes went by. Several other cards came and went out of the other parking spaces set aside for online pickup. Wal-Mart employees came in and out of the door somewhat awkwardly while doing this. 

I began to wonder if they had forgotten me. Fifteen minutes passed and I was almost ready to call them again, when finally a man came out of the door carrying the new television set. He had to clumsily negotiate carrying it through the door.

As I saw him I made sure to have my phone ready with the QR scan code that I assumed they would need to verify the pickup of the television.

The man carrying the television walked past my car and went to a pickup truck that parked in the opposite facing row, in parking slot number eleven. Through my open window I could hear him say "Matt?"

The driver in the pickup truck shook his head. The man with the television turned and looked around confused. I got out of my car. The employee looked over at me and said "Matt?" and I said yes that's me. 

He came over with the set. I went to the back of the Ford Focus and opened up the back. He joked that it might now be large enough for the set. I sensed some kind of passive aggressive wish in his part that I wouldn't be able to fit the set inside the car, so I cheerfully brushed him saying of course it would fit, and I proceeded to lower the seats, all the while hoping that it would indeed fit and deprive him of his hopeful triumph.

Fortunately it did fit. I asked him. "So you want to scan the code?" I held up my iPhone.

"No," he said, waving me off. Then he said goodbye went back inside.

I was shaken a bit. I had not been asked for id or any kind of proof that I was who I said I was, and that I had to right to drive away with the television set. I could have been anyone. He had disregarded and had not known which parking space I told him. He went to the wrong one. 

My mind raced with all the things that could have happened. What if I had not noticed him coming out, and the person in the pickup truck had said yes to his question and driven away with the set. Then I would have to tell them that no I never picked up the television set, please give it to me, and it would be a big mess. Wal-Mart corporation wouldn't care, of course, and would give me another set but it would perhaps take days to arrive, and the employees of corporations can give you needless resistance to this help sometimes, as if the loss comes out of their own paycheck. 

Even though it had gone ok for me in this instance, my experience as an application developer tells me to always look closely at the edge cases, as we call them. It's easy to design applications for the cases when things go right---when the customer does what you think they will do. But you have to think of the cases that won't fit into the perfect scenario. You have to design for these. It is a talent to be able to anticipate them, one that is bizarrely lacking in many people in the industry in my experience. Both clients and developers frequently brush off concerns about edge cases. People won't do that, they say.  

But they will, and your app will crash for them, or won't work. I have learned not to press the issue but simply voice my concerns and plan for the moment when they will change their minds, so as to make that moment less stressful for us all.

It reminds me how I always missed out on meeting up with my friend Jean in the French Caribbean in 2007, the first time I had flown in years, because it was literally impossible for me to book a ticket using the reservation system of the only airline that would fly from Denver to that particular island. It kept rejecting every attempt I made, and each time it did, I was forced to start the entire booking process over from the beginning, selecting the flights and typing in my name by hand (back then we didn't have autofill. in the browser like we do now).

Finally I gave up and called the phone number of the airline. I thought this would settle it. The person on the phone couldn't help either. It failed for her right over the phone, stumping her as to why it wouldn't let me make a booking. This kind of thing had never happened before, she told me.

Finally we figured out that it was my address. I renting the basement apartment of my friend Sarah and Chad's house, and the official address was a "half" address, as it had its own outside entrance and mailbox. This kind of thing is very common in Fort Collins and the midwest, yet the massive airline had not seen fit to accommodate this without crashing its system. Finally the woman on the phone told me just to write that part of the address as "and a half", and we were able to book my ticket.

It was all so wrong then, and it was all so wrong at Wal-Mart for their online pickup. At least I know I'll never have to do it again, even I need a new television set. There is a reason Amazon is taking over the world. 

No comments: