I recently had solar panels installed on my roof. I could write a lot about the experience and what I learned, but one thing in particular stuck out: the folks who built the computer that controls my solar array have a totally different understanding of user interactions than I do.
In my work life, I am in a world of web browsers and mobile devices: there are clicks and swipes, navigations and refreshes, logins and authorizations. If you think about it, there’s a lot of imaginary stuff going on in the world of web and app development. We expect that the user is going to interact with subtle and controlled gestures, and the computer or smart phone will respond with a something that “feels” like a real world reaction. Try rotating your phone while browsing, or even just scrolling on it: the page moves as if there’s inertia. Someone did a lot of math to get that imaginary inertia to appear natural.
So imagine my surprise when I learned that the way to wake up the computer on my solar array is to hit it. The conversation with the installation tech went something like this:
“If the screen is blank, just hit it.”
“You mean, like a button or something?”
“No, there’s a symbol down there that shows you what to do.” He pointed at an icon of a fist with an arrow pointed toward a box.
I examined the icon, pushed it with my finger tip, and he interrupted, “No, like this,” and punched the screen with his fist. It lit up merrily and provided a read-out of system statistics.
I stood there for a few seconds with my mouth half open, trying to form a sentence.
All of us have had the urge to punch our computers at some point, but most of us have figured out that it won’t actually get us what we want. But maybe software engineers (such as myself) need to think about interactions in different ways sometimes- even ways that feel foreign, destructive, or just plain stupid. After all, the computer on my solar array is designed to operate outside for at least 25 years, so it’s tough. And it’s designed for electricians and homeowners, people who live in the real world where inertia isn’t achieved with a lot of math, and interactions are going to be expressly physical, not imaginary.
I can’t say that I’m going to write my next web app to respond to screen-punches, but I really have started thinking about user interaction in a fresh way.
Have you encountered any unexpected user-to-computer interactions?