The rise of the enablers


I travel quite a bit for work, and as I recently sat in a hotel room I started thinking about all the steps that brought me to that room. I booked the flight and the room online, I flew from Atlanta to Boston and I took a cab to the hotel… A typical business trip, with no problems or delays. Breaking things down, I started counting off all the technological innovations that supported me in that journey… “enablers” that made things happen and made things easy. Here’s just a few of them:

  • I was able to compare flights online, both times and flights
  • I was able to compare hotels online, both price and location
  • I checked traffic before I drove to the airport on my GPS.
  • I used to GPS to get directions to the airport (that routed me around traffic)
  • I checked in to my flight through the Delta app on my iPhone
  • I changed my seat using that same app
  • I was able to track my checked bag using the app
  • I was able to use an electronic boarding pass to go through security
  • I read news articles and watched videos on my iPad in the airport, using free Internet access
  • I was able to write a status report for work on my iPad that automatically synced to my laptop via the cloud
  • I confirmed the address of my hotel through the Marriott app
  • I paid for my taxi ride with a credit card using a card reader that was mounted in the taxi

And if I spent more time pondering I’m sure I could easily double this list.

Because we use them every day, we tend to forget is just how amazing these advances are. If you are old enough, think back to a time when you may have taken a similar trip, maybe ten or twenty years ago. You had none of the above to help you on your way, everything took longer and things were more complicated. You had to spend time with a travel agent, you had to have sufficient cash to pay the taxi, you would have gotten stuck in traffic because you had no way of knowing there was a wreck backing up cars for miles… It was, well, kinda hard.

To make a direct point, what is happening throughout society is that technology is streamlining processes and helping people do things faster and easier than ever before. These enablers are becoming omnipresent and ubiquitous. They are also impacting society in negative ways… For example, the aforementioned travel agent is becoming an endangered species, and that isn’t the only job category that has been impacted by these enablers.

What is even more exciting to me than seeing how far technology has helped us every day is that companies are still actively coming up with new enablers. One of the big stories in technology this week is a computer peripheral called the Leap, a small box the size of a pack of chewing gum that offers gesture recognition far superior to the (previously groundbreaking) Kinnect XBox controller. The promise of gesture-based computing, as predicted in Minority Report, is one step closer to reality, and as a designer the possibilities that brings excites me.

We often think of the “old days,” and whimsically say to ourselves “things were simpler then.” I’d like to counter that statement, as in many ways things are simpler NOW. We just have so many enablers to choose from, things look more complicated than they actually are. Ask the typical man on the street if they would like to go back to getting their food they way people used to in “the good old days”… by growing it themselves… and see if you’ll see them pining for that nostalgic past after that.

What is software elegance?

Elegance is in the eye of the user.

I state that because the perception of elegance is a personal one, and the best you as a designer can do is define what you think elegance is and then provide a solution that meets that definition. So, here's my definition of what makes software elegant:

It gets out of the way. Elegant software provides an interface that supports the user's primary tasks and doesn't clutter or abstract the tools the user needs to accomplish the task. It is simple, obvious, straightforward and requires very little intellectual effort to understand immediately. It can be a stock tracker, a game, a word processor… Anything, as long as it is designed with a focused intent.

It is designed intelligently and thoughtfully. If there is a hierarchy of controls, the core functions are right up front, and the secondary controls are available at a level beyond the first. I had one of my best design reviews ever when a key stakeholder just absolutely ripped one of my designs apart, because it did not present the controls in a thoughtful way. "it looks like you just threw a Buchanan of buttons on the screen," He said… And he was right. Elegant design is thoughtful design.

It speaks the same language as the user. You can design a screen for an airline pilot that will totally not work for a registered nurse, and vice-versa. Elegant design should be focused on the user and their particular needs, and speaks their language. Design that tries to be all thongs for all people inevitably ends up being bad. understand your user, support their needs, and do it using the terms and conventions that work for them.

One last thought: elegance does not necessarily line up or align with delight. The emotion of delight can be triggered by many many things, and you can provide an elegant solution that does not provoke delight. If anything, the ability to provoke delight is getting harder, as the baseline of user expectations continue to rise as they are exposed to ever more refined technology. Delight is hard, and elegance can provoke delight… Sometimes.

See question on Quora

Can the film production process teach the agile world how to make software?

I've written articles and presentations around leveraging ideas and techniques from moviemaking in the software development process, and my honest reaction to this question is… No.

Moviemaking is definitely a collaborative process, but it is also one that is driven by the vision of a screenwriter and/or a director… You start with a story, and the director extends it and revises it to suit and match his or her vision of how to tell it. The collaboration comes around aspects of the film, because obviously the director can't do it all… But the vision is still driving the film.

I would dare say that a large reason that many films fail is when they are TOO collaborative… When the movie is, affectively, "designed by committee." And the same traps can befall Agile development if the team does not have a shared agreement to the vision of what the team is supposed to deliver/produce. When everyone's opinion is equal, then what you end up producing is often… Well, average.

So the best agile projects, like the best films, are benevolent dictatorships. Everyone buying into what the vision is allows everyone to collaborate affectively. And it takes a leader to define and set that vision.

I think the best and most practical way that we can leverage aspects of moviemaking in an agile process is to look at the aspects of the design process (UX) and apply lessons from screenwriting into tactics in that process. Which is something I have looked at and focused on in my work.

See question on Quora