Technology Is At Its Very Best When It’s Invisible

Apple’s iPad 3 video starts off with what I think should be the guiding principle behind all user experience:

We believe technology is at its very best when it’s invisible. When you’re​ conscious only of what you’re doing, not the device you’re doing it with…

Apple is still a hardware company and selling iPads, so they used the word “device”, but it’s safe to change this to “technology” and not loose anything. Go ahead, read that sentence again before continuing.

That principle is the reason the iPad is dominating the tablet market. That principle is the reason the iPhone sells so well despite its high price tag (in a bad economy no less) and being so locked down. If it wasn’t for that philosophy Apple would be in trouble. That principle is the explanation for everything that technology implementors just don’t get about Apple. Same goes for Facebook and even Google (to a degree). That principle is everything in consumer technology.

This is why I disagree with the “learn to code” mantra of 2012. It’s well-intentioned, but it shouldn’t be necessary. It violates this golden principle. It completely flips this principle upside down. It makes only the technology visible and abstracts what you’re actually trying to accomplish. It’s the complete opposite of what users want and expect from technology. That is why programming never became mainstream. That’s why repairing your own car or home appliances isn’t mainstream. When you make the technology the focus, you loose.

We won’t have flying cars until the necessary technology is simplified to the point where it’s as simple as steering in the direction you want to go and some basic driving flying rules (which are etiquette more than technology limitations). You don’t expect people to understand lift coefficient (CL) or Angle Of Attack (AOA) to go grocery shipping. That’s why we have pilots and people drive cars. I expect a pilot to understand these concepts and avoid a stall. When it’s Jetsons simple, we’ll have flying cars.

Want to enable creation? Abstract the technology to the point where the user only focuses on content creation. There’s a reason why email didn’t take off until AOL made a pretty easy to use client (by 90′s standards). There’s a reason photo sharing didn’t takeoff when you could just email them to someone. There’s a reason why people aren’t creating content outside walled gardens. People only care about the activity and the goals they have in mind, not the technology that makes it possible.

The last major innovation in web content creation outside a walled garden was the WYSIWYG editor. Look around, few still exist. The ones that do are focused on FTP of static pages to a web server. Not one that I’m aware of would let a user generate for example a WordPress or Drupal theme without touching code. Purely WYSIWYG. It’s 2012 and it’s not possible to create a blog theme without merging markup and some server side code (PHP in this example). As a reference point support for a handful of CMS’s would cover a huge chunk of the web not owned by large companies. You shouldn’t need to understand CSS selectors to set a background color and you shouldn’t need to know #000 (or #000000) is “black” (which can also be used).

The suggestion that users are in the wrong for not being willing or able to learn is invalid. They shouldn’t need to.

Enabling content creation needs to be done the same way enabling content consumption is done: by making it so the technology is invisible and task at hand is the sole focus. Why should creating a spreadsheet with my finances be less technically complicated than publishing a paragraph of text on the web?

We’ve failed if the only way to participate on the web is to fully understand the technology. Walled gardens have manage to abstract it fairly well. Surely there’s a better way1.

1. I’ve got more thoughts on that, but I’ll save it for another day/blog post.

6 thoughts on “Technology Is At Its Very Best When It’s Invisible

  1. I completely disagree with you, walled garden are useful for the same reason people buy ipad, for USING content.
    For creating content you need to know at least a little of the technology you use. You make an example about driving but that’s not creation, it’s using a car. If a CREATE a web site I need to know how the web works and the technology behind it. Even when you just type an email, if you don’t know anything (walled garden) you will just send some text, but if you really understand the technology you know the limitations, how big the attachments can be and why it’s so slow to send, or how much I can style my email and why some client doesn’t show images for privacy and security reason,…

    • Driving is a valid example because it’s using technology for a driven (no pun intended) purpose. There’s 0 reason why someone should need to know HTML to make a website in 2012. Just like you don’t need to know the mechanics of a car to use it for a purpose. There’s a reason systems like Tumblr are popular. They achieve a goal with simplicity.

      Walled gardens have evolved dramatically, yet outside the walls, content creation hasn’t changed at all. The tools have barely evolved (and there’s less of them).

      Making the technology the focus of something, rather than the user’s goal is a recipe for failure. It always has been and always will be. Nobody buys an iPad because they like the glue formula used to attach the screen to the unit. Nobody cares or even thinks about it. To expect people to treat the web differently is foolish.

      I have the past 15 years now as evidence.

      • “Driving is a valid example because it’s USING technology for a driven (no pun intended) purpose. There’s 0 reason why someone should need to know HTML to MAKE a website in 2012.”
        That’s the difference, using something already there and create something new. That usually requires understanding to make something special or to reach the maximum potential. Simplicity admits that you have a low goal, something easily doable.

        I don’t want to understand the glue, that’s not the technology behind the iPad, but the processing specs, to not exceed them but use them fully.

  2. Wouldn’t you agree that we have MORE, and certainly more-popular WYSIWYG type editors, now? I mean, Facebook is a WYSIWYG editor, with millions of people using it to create web content in HTML, without knowing HTML. Yes, it limits you in many ways, but so does every simplified user interface.

    I wouldn’t say you “have failed if the only way to participate in the web is to understand the technology”. I might say that if Facebook was a network of MS Word documents or if it generated pure Flash content. The fact that Facebook uses HTML means you are winning, you just happen to be working on the platform team, not one of the end-user/UI teams.

    That said, I’ve never had a Facebook account. As a coder, Facebook seems sad to me, the walled garden part. But isn’t HTML a walled garden, too? Isn’t the lack of education in any field, a wall?

    Maybe one day Mozilla will work on some kind of WYSIWYG system, like the Diaspora project or something, but for now they are still working on the platform, which has itself been a walled-garden of mostly poorly laid out text and pictures. It’s wonderful to see HTML5 bringing down some of those HTML4 walls. This is really important work, too, and part of the same whole. When it comes to flying cars, the user interface might be imagined first, but the technology that flies the car needs to be built first, otherwise we aren’t going to get off the ground. The work Mozilla is doing is still more foundational at this point. Maybe the next 15 years will bring us some sort of open, enhanced WYSIWYG editor. For now, it’s either Facebook or learn to code. Which is actually a lot further along that it was 15 years ago when we just had learn-to-code. And even the learn-to-code story is getting better. Sorry it’s not moving as quick as you would like. The web is still young.

  3. I agree with the gist of what you are talking about but you take it a bridge too far.

    The golden rule is not “even an idiot should be able to do it”, that rule is a dead end that leads to locking users in a padded cell for fear they may cut themselves on the sharp edge of an angle bracket. The rule should be “everything should be as simple as possible BUT NO SIMPLER”, you can only simplify so far before you start surrendering creative freedom entirely [simplification is the elimination of choice, by definition]. Photography is easier than painting a landscape but landscape paintings tend to be more impressive since the artist had more freedom to act, the technology (brushes, paint and canvas) is harder to use competently but has more possibilities open [things which aren't real or are physically impossible] than film, lenses and a shutter.

    The operative phrase in technology is “if you build something to be idiot proof then nature builds better idiots”, it’s an unobtainable goal, this is easy to understand: if you lower expectations then people just take advantage of it to become lazy(-er) which does not correlate well with quality work and creativity. Torturing people with crappy UIs is not acceptable but torturing skilled users with a straight-jacket UI is not acceptable either, the ideal is somewhere in between. ["Learnable" is the usual descriptor for a good UI, consider MS Word, you start just typing, then add styling then tables then header/footer and auto-generated table of contents and keep layering more complex functionality over time. Learn as you go instead of swallowing the manual in advance but you can't escape the learning part.]

    “You shouldn’t need to understand CSS selectors to set a background color and you shouldn’t need to know #000 (or #000000) is “black” (which can also be used).”
    How exactly do you expect the users to pick colour schemes if they don’t understand colour? Understanding what RGB/CMYK are and how they work is pretty standard technical knowledge for people who work with graphics; it’s basically like saying you should be able to architect a skyscraper without understanding physics, the result is either going to be a copy of someone else, simplistic and boring or a total disaster (Geocities comes to mind, red text on tiled pink animated flying pig gifs background anyone? Ah, the wonders of FrontPage). All colour picker windows I’ve seen have had the Red/Green/Blue 0->255 breakdown, most have the HSV breakdown as well; those exist because competent users want it.

    In short, quality work is quality because it requires skill (both knowledge and technical competency in the medium), you can’t remove the competency requirement and expect decent results. If a newborn could write the complete works of Shakespeare without understanding English by just banging on a touch-screen for a few hours then Shakespeare wouldn’t be anything special. This isn’t because “English storytelling is too hard”, it’s because it requires more than having two hands and the ability to breathe to pull it off.

    • Repetitive work doesn’t require skill. Most web work is repetitive. Photoshop does have a color picker as well as RGB/HSV breakdowns. You can easily select a shade of red without knowing how it’s represented in HEX. To suggest that you need to understand RGB/CMYK and convert to hex for such a task is false. Almost every website follows similar patterns. You don’t have to shun users who understand these things to make things more accessible. Photoshop is used by many graphic professionals who do understand RGB/CMYK. It’s also used by those who don’t. You also don’t need to understand graphic formats to use Photoshop.

      Quality work exists because tons of money are thrown around to make it happen. Knowledge and technical competency are just a small part of success. True competency requires minimizing effort to accomplish work. If you look at the industry, little effort has been made on that front.

Leave a Reply

Your email address will not be published. Required fields are marked *

Connect with Facebook

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>