Hobble Your Tech

Good UX comes from leashing the giant.


Computers can do anything. Software is omnipotent. It’s formless. It doesn’t have the friction and boundaries of reality. It’s annoying, mildly scary, humiliating: It aspires to a better world, but only for intelligent engineers. Everyone else feels left out.

Good UX comes from snapping your fingers in software’s face and saying: “Hey, you! Remember who you work for? Look at this down here!” So make your software forget its dreams of god-like powers, and focus instead on specific little human needs.


Constraints are good UX

Constraints make for delightful UX, because they mirror reality. In the real world, things have weight, size, speed and cost. There is no infinite or instantaneous. Whenever software takes on one of these qualities, it becomes instantly more approachable, more relatable… and more importantly, it switches on our ability for compassion. We like things with limits, because we can understand them, control them, but also help them.

Twitter’s 140-character limit is the UX cliché par excellence, for good reason: Its human-like hobbling of the limitless nature of the internet created a hugely compelling channel for humans. Entire cultural constructs and cottage industries have sprung up to help people “get around the constraint.” Without the space to use full links, people have invented the hashtag as a way to interconnect related tweets. Users have lovingly enhanced the system to work within its limitations, rather than asking for the limit to be removed. We like the limit.

We like weak software.

But there are many other ways in which we can create more meaningful experiences by constraining our software. Let’s muse, shall we?

Slow software.

Software is fast. So much so that we often introduce slowdown elements in UX, just to satisfy users’ need for important processes to take a bit of time. But what could we build if we constrain speed?

Imagine a service to send messages to your friends and family, that guarantees delivery at some random time between three months and three years from the time you hit send. What would you say?

Imagine the reverse: A service by which you, as an inundated email recipient, commit to the sender a date and time when you will read their email (based on your historical and current rates of answering, and size of your inbox). They get access to their message, and the ability to edit it, anytime until that committed date… and shortening their message will bump it up earlier in the queue. How much better would their emails become? How much fewer would you receive?

Imagine a blog of secrets, that keeps all your posts unpublished until after you die, then suddenly releases a life-long record of your secret thoughts and adventures, onto unsuspecting family and friends. What would you reveal?

Imagine a diary that opens only for your child, and each entry opens only when your child reaches the age you were as you wrote it. As a child you’d get to know what your father and mother were thinking when they were your age, how they went through the phase you’re going through… without the filter of hindsight and memory. What would you learn?

Aging software.

In the real world, every action imprints. Every footstep wears at every cobblestone. Every hand leaves a mark on every door. Every photo unwinds a spool of film, every word sullies a blank page, every flower dies to make a fruit.

Software is fake, because it’s unaffected. But imagine if often-clicked buttons started showing a bit of patina. Imagine if ten-year old documents started yellowing a bit at the edges. Beyond the purely cosmetic, imagine a videogame that slowly breaks down as you play it, until you can claim the ultimate victory: “I beat the game… to death.”

What other traits of aging could software exhibit? The most obvious and desirable one, of course: Wisdom. Software needs not so much to age as to grow up: It needs to end its navel-gazing toddler age, and start paying attention to the world around it, and especially to its user. It needs to learn from usage patterns, from context, and modify itself to better suit each individual user. Which leads me to…

Private software.

Software gives us superpowers, but often with strings attached. Cloud services make our lives easier, as long as we entrust them to Apple, or Google, or Amazon, or Microsoft. And of course, the NSA is looking at it all. On top of that, our social interactions are now mediated by companies that sell off our privacy.

What we all need is a software guard dog. We need software that’s unequivocally on our side. An app that will secure your online channels, route your traffic through VPNs and tor as needed, aggressively pursue spammers to get your email removed from mailing lists, manage obfuscation of your sign-ons with layers of anonymous email, auto-remove your credit card info from ecommerce systems after every purchase, etc. This software would not live on the cloud, but on your local device. It would be the most trustworthy thing in your life, ferociously loyal to you and you alone.

Off-duty software.

What if software had office hours? What if software took a day of rest… and by extension, forced you to do the same? One of the twentieth-century constraint most sorely missing from our modern world is the fact that offices and stores were physically closed on weekends. What if there was no email delivery on Sundays? There would be more email on Saturdays and Mondays, for sure, but what a joy would Sunday be!

Tired software.

Software knows no pain, no strain, no fatigue… but users do. A more harmonious, healthier way to design software would be to implement fatigue as a feature. If Photoshop can tell that I’ve been staring at the screen and clicking and working for the last ninety minutes straight, maybe it should start looking a little blurry and wobbly, until I get up and leave the machine alone for a minute. Maybe the computer could get eye-strain before I do. I’d have to get up to keep us both healthy.

I’d want to be able to override this in a natural way… Maybe an angry shake of the mouse, like a shake of the head, should clear the cobwebs… for a few minutes more. But eventually, you really have to take a break.

Forgetful software.

The longer you spend in the water, the more barnacles accumulate. As we sign up for online services and apps, register for ecommerce and loyalty plans, we pile on the email newsletters, Facebook liked pages, coupon alerts, special offer emails, charitable solicitations, and other junk that outlives its interest and welcome. It would be nice for our email clients, our browsers, our news readers, our databases, our app stores and book stores and music stores to get smart about forgetting.

Software needs to get smart about forgetting.

I shouldn’t have to unsubscribe from this nanotech mailing list… If I stop paying attention to it for a year or two, it should probably just disappear.

A contact that I haven’t interacted with, or looked at, since 2006, should probably not be as prominent in my address book as the client I just entered yesterday.

Keep the music I don’t listen to out of the way. Make it fun for me to go rediscover it, from time to time… but don’t mix it in with my new and favorite stuff.

Ideally, all of this happens in a noticeable way. Perhaps these entries start visibly fading away, months before they finally disappear. How useful would it be to notice, visually, that you’ve stopped paying attention to something? Would it help you keep track of what matters, and let go of what doesn’t.


Impatient software.

Some jobs are minefields. In the creative professions, the greatest strength and greatest weakness are one and the same: distraction. A designer, a writer, need to cultivate a broad swatch of interests in many aspects of culture, to learn, to discover, to mix up and mash up and recombine. This makes it very hard to ever get anything done.

Time-boxing is an effective hack to maximize creative productivity. For instance, the Startup Weekend program forces entrepreneurs to build a company in one weekend, with a team of strangers. Given only two days, people work miracles, make faster decisions, and get things done. It works like a pressure cooker: Higher pressure decreases the cooking time.

What if software could help us snap to attention, function at high speed, and resist distraction? What if software demanded our attention, demanded rapid responses, demanded focus and performance? Done wrong, this would be disastrous, of course, but if software had sufficient awareness of our context and body language, of our needs and potential, could it not help us perform at our best? Could it not be taught to help us stay on top of what matters, by keeping us on our toes?


What else?

We could play this game all day long… and perhaps we should?

Please pop your answers in comments, and let’s riff together: What would be good about the below constraints? And can you think of other interesting constraints?

  • Silly software.
  • Pricey (to run) software.
  • Relaxed software.
  • Local software.
  • Luddite software.
  • Confused software.
  • Illogical software.
  • Absurdist seahorse.
  • Delusional software.
  • Dishonest software.
  • Confrontational software.

The point

As we get excited about an internet of things, maybe it’s time we software people got re-acquainted with things. Physical objects with their reality, their limitations, their flaws, are endearing to us than the appollonian perfection of software.

Let’s re-discover, and embrace, those wonderful limitations of the real world, because there is humanity in the time we waste, the efforts we expend, the little tasks we perform as we live in the world. Let’s look for ways we can honor our humanity and remember to breathe, by making the giant god-like robot bend down and give us a hand. Let’s take the time to make software that isn’t quite so monumentally inauthentic.

Hey, software, grow up!

Today, we’re automating away our problems, but maybe what we need isn’t constant instant access to everything all the time. Maybe we need software that tries to fit well in our day, that sets good priorities for itself and for us. Maybe software should help us be out best, and wean ourselves from our bad habits, instead of pandering to them in a most servile and irresponsible fashion.


Special thanks to Nate Ragolia, my editor, co-founder, and friend.


If you enjoyed this article, please hit the “recommend” button below, so more people may find it. Thanks! — Antoine

Email me when Radical UX publishes stories