Platform Fatigue

Among our many platforms, each of them were developed so we could provide better solutions for problems in a context or situation or on a device’s form factor.

But the response has been lowest-common-denominator design of apps and systems. Making web pages, or things of a similar structure, that look extremely similar, that try to feel at-home by aping some aspect or some part of the platform on each platform.

When there were fewer platforms, it was easier to spend the energy to make something that felt at home on each platform, especially if you only really had one platform to support. But now when there are many platforms, and with it more and more opportunities to provide a better experience on each one, fewer and fewer of them are able to be realized, and an increasing number of times, a substandard solution is chosen for more platforms instead.

The cambrian explosion backfired and sold us out. Likely as not, the platform proliferation will find itself contracting into fewer platforms, whose home is the substrate of forced, averaged commonalities. Likely as not, this substrate will be the web, where what isn’t built-in will need to be, essentially, cobbled together in an ad-hoc manner from scratch, either directly by the developer or by someone else.

More people than ever are working in the field of User Experience/Interface Design. But what they’re spending their days doing is inventing per-company, per-client, per-app, per-framework implementations of things we already figured out years ago. Be it web design, WPF/XAML or Cocoa for the past two decades, there’s no real need to define a checkbox from the ground up. Styling, okay, sure. On/off-style switches? Yes. We need more of contrast, context and wisdom in our controls. Not all buttons look alike, and you can send a message by making buttons used for different purposes look different while still making them feel buttonesque.

There should be different families of buttons. There are buttons that are grouped together because they toggle or perform related functions, there are big buttons that cancel or perform something or are red because they exit the program or perform a destructive action, there are small buttons that do do something, but to an area that won’t dismiss the task you’re working on, there are even buttons in text that look like slightly different, clickable text so as to indicate interaction but not ruin readability (links, they’re called). This is all part of having a rich vocabulary, it’s part of everyday design vocabulary among everything we do.

When we start over all the time, we never get to the rich vocabulary. We throw away the familiar, the dependable. Imagine mingling in a room with 500 interesting strangers that you’d love to talk to where, when you talk to them, if you get off-subject in a way they don’t like, they turn away, or slap you in the face. (Feel free to imagine Twitter, if you’d like.) At some point you’ll hole yourself up with the three people you understand, or you’ll talk to everyone but only about the most mundane things.

This is what using computers, devices, phones, anything with a UI is like for most people.

Learning a new platform, a new landscape of interaction is hard unless you’re at the right time and place in your life to do so, and have extreme incentive to do so. Most people never get anywhere, and have to fight to learn the basics little by little. When things change all the time, everywhere, and nothing stays the same, they get frustrated and they blame themselves. They think they’re not smart enough. Whether that makes them sad or angry, they lose interest; if they’re really unlucky, they have to stay and do battle with this application or system because they have to.

And even if, for some reason, you don’t care about these people because you think you have a better hand with computers, you are not immune to this. These inefficiencies, this lack of care and thoughtfulness is impacting your life too, all the time.

Software is eating the world, and there are many recent examples of how that makes people’s lives worse. There is something to be said for making it easier to go from an idea to a prototype with readily accessible tools, of course. And sometimes you need to do something off the beaten path to actually move forward or extend a metaphor already in use. But there’s no need to throw out any pretenses to grow a more sophisticated user interface. Unless the base of what you’re doing is inventing an entirely new metaphor to make something accessible in a way it just isn’t today, your users will thank you if you take the time you would have otherwise spent reinventing the wheel and spend it mostly following a predictable, established route that they can understand, learn and navigate.