Come gather ’round people wherever you roam
And admit that the waters around you have grown
And accept it that soon you’ll be drenched to the bone.
If your time to you is worth savin’
Then you better start swimmin’ or you’ll sink like a stone
For the times they are a-changin’.
It always happens. Something comes along and catches on with the new kids, while the old fogeys pooh-pooh it as nothing special. Change comes, and only the agile survive. The gesture-based interface made popular on the iPhones and iPads is the change this time around.
I’m not going to insist the specific iOS gesture interface will be the final winner, but I am going to insist that a gesture-based interface will be. If you don’t believe me, hand a gesture-based device to a child and see how quickly they figure it out. Any interface that can be picked up that quickly by a bright toddler is going to succeed, no matter what you or I think about it, and no matter how hard you fight against it.
And if we (web designers and developers) want our work to stay relevant as time marches on, we have to listen to Dylan. We had better start swimming or we’ll sink like a stone. Or like a WordStar. We need to stop thinking in terms of specific interface actions, and shift into more portable semantic abstractions.
Stop Hovering Around and Get Semantic On It
Stop thinking in terms of “hover.” There is no cursor in a gesture-based interface, so hover-based actions no longer make sense. Apples’ iOS turns that event into “touch and hold”, but future interfaces may even dispense with touch, so don’t count on that being the replacement as the gesture-based interfaces mature.
That’s right. The gestures aren’t completely worked out, yet. Apple has a leg up on defining them, but first doesn’t equal winner in this game. If things are going to keep changing, how can we cope today?
We can come out of our denial, first of all. Remember when the mouse was sneered at? Remember when the WordStar folks claimed “the mouse is the ideal computer interface — for those with three hands”? I’ll bet you don’t even remember WordStar, do you?
And that’s my point. We need to change our thinking, now, or we’ll be tomorrow’s WordStar.
Instead of thinking about cursors and pointers, about specific interface actions like “hover” and “mouseout”, think instead of semantics. For example, what we think of as a hover action today (touch and hold in iOS) is really a “more info” action. When you design, define it that way: “triggering MoreInfo on this link will show a further set of menu selections” or “triggering MoreInfo on this term will bring up a definition of it.”
Don’t stop with hover. Continue this process for every action. When you write your scripts, don’t name the objects after specifics like “hover” or “tap” or even “rollover”. Name the objects after the response, such as “MoreInfo” and then apply that object to every UI element that triggers it.
Not only that, use those terms in your presentations. Speaking to clients in terms of “action/response” can help keep you from getting bogged down in implementation minutia during the presentation (“Should that be left-click always? Shouldn’t it be right-click for left-handed people? What if there are 1/3/9 buttons on the mouse?”). You’ll keep your meetings on track, and have more time to build.