How to design the most efficient software your users have ever seen

When’s the last time you heard or read somebody discussing efficiency in software experience? Probably just about never, I’d wager. It’s not trendy. It’s not sexy. It’s certainly not easy… you can’t apply it with a Node.js library or an icon font.

This is not the sound of a grumpy old lady waving her cane at the kids — it’s the sound of opportunity begging you to take it.

If you design[1] software[2], this post will make you money.

[1] if you make decisions about your company’s software products in any way, even if you don’t think of yourself as a designer, you are a designer. Suck it up. [2] Aaaand… this doesn’t just apply to software, but all customer experiences: getting and receiving support, ebooks, workshops, conferences, etc.

Here’s why:

Fact: your customers have only 24 hours a day
And time is the one resource that you can never, ever make more of.

Fact: Inefficiency doesn’t just waste time, it aggravates
Sure, if a process takes 1 minute longer it has to, that time is wasted. But if your customer has to execute that process 5 times a day, every work day, forever? It’s also aggravating.

Fact: to your busy customers, aggravation destroys time
Stress is disruptive. Aggravation is disruptive. These emotions suck energy, which takes time to recover. When software pisses off your customer, they can’t focus on doing their best work.

Fact: to your business customers, time is money
…therefore, if you save them time, you save them money. And if you save them money, you create a consumer surplus that they’ll be willing to spend on your more efficient product instead of a competitors’.

Fact: You know all this. Duh.
You know this. Your competitors know this. And yet they (and you) act as if it’s immaterial when you sit down and design your customer’s software experience.

It has been well observed that the misery of man proceeds not from any single crush of overwhelming evil, but from small vexations continually repeated.

– Oliver Wendell Holmes, Jr.

Daily life with software is terrible

For most software I pay for in my daily life — and it’s a lot — I am paying for the privilege of wasting my time. Extra steps, extra buttons, extra fields, duplication of effort… it’s everywhere and it drives me crazy.

The same is even more true for your customers — business customers — who have to suffer with the time- and soul-destroying professional tools like Quickbooks and Photoshop and Word.

Imagine if you could offer them a little sweet relief. Imagine what that could do for your bottom line.

“But I can’t…”

You may be thinking: “Wellllll, I can’t make this software more efficient.” You may think it’s because you have immovable requirements. You may think “The way it is is the way it has to be.”

Well, let me tell you about my parking garage — over which I have zero control.

Every experience can be designed more efficiently.

We live in a city, so we have to park our car in a paid lot or garage. And since I’m a person (like any other) with limited time and energy, I care very much about efficiency. It helps that I think about this stuff all the time.

Little things add up:

  • I chose the garage that cost more, but that doesn’t require circling around the block after we stop off at the house
  • I always park the car on the wall I can see from the elevator; even if it means going up another floor, I can just press Floors 2, 3, and 4 and poke my head out to see if the car is there
  • I park in specific spots on that wall that let me pull straight out and go, instead of a Y-turn (or worse)
  • I keep the garage RFID key on a sticky pad on the dash, so it is always visible and in reach
  • …and before all this, we bought a small car that can fit anywhere and yet holds a lot

So, even when I don’t remember where I left the car, I don’t have to walk around the garage and up and down, and sweat or freeze. I don’t have to worry. I don’t have to drive in circles.

I have zero control over the garage, but I can exert control over the way that I use the garage.

This is the essence of “hardware” vs “software”. Design vs requirements. Real vs perceived impossibility. If I can do it to a garage, you can do it to your software.

There’s always room to improve. Always. You can always make things more efficient for your customers.

And if that improvement, however small is something that improves their life just a little every day? That adds up.

Efficency Case Study: Freckle

I whipped up a little video to show you the net result of efficiency design in Freckle Time Tracking, our little SaaS for professionals, teams, and peeps who care about their productivity, vs our most common competitor:

Here are some key differences:

  • You can track time on every page in the Freckle app, thanks to the blue Quick Entry box
  • Creating a new client or project takes no extra steps, no extra clicks
  • For existing projects, are no select lists to mouse through… type and we’ll search or create for you
  • Creating a new type of task/task category takes no extra steps, no extra clicks, except typing the ‘#’ sign
  • The entire time logging process can be done with a keyboard only

And more.

And the shoot-out used to look even worse… now in Harvest you can create the client right on the Create Project screen, but a year or so ago, you couldn’t. You had to go to a whole extra section, do that, and come back. Again.

Naturally, Harvest has some efficiencies we don’t, like a bunch of integrations with software their customers use… like Quickbooks. I know we’ve lost customers to them over that, and I know they’ve lost customers to us over our efficient time entry. Every product is different, and different people need different things, and therefore different people love, share, and pay for different things.

People who adore Harvest will probably not be the ones we can lure to Freckle, and vice versa. But those people in the middle? Who aren’t utterly in love?

Those customers can be seduced to switching.

Here’s how to make your software more efficient right now

Look at every step. Question it: Do you have to reload the page? Do you have to scroll? Do you have to mouse around? Will the user end up jumping back and forth? Will they have to copy and paste?

Look at every interface component. Every button. Every interface widget. Every line of text. Question it.

Look at every customer-facing decision. Must they really make that decision, or make it right now, or is it for the simplicity of your data model? If it’s merely convenient for you, remove the requirement.

When you find a step, button, widget, etc. is avoidable… remove it.

When you find repetition, eliminate it.

Look at every task. Question it. Ask yourself how to make it easier, faster, more available, more direct, fewer decisions, fewer clicks, fewer page loads. Then do it.

Rinse and repeat… forever and ever.

Et voila. You will be more efficient.

It’s not easy. That’s the point.

That’s why most people will just slap on whatever interface widgets their JavaScript framework comes with, and call it a day. That’s why Select Lists exist.

That’s why efficiency is such an incredible competitive advantage.

What’s the most efficient software you’ve ever used?

Weigh in with a comment!

What else do your customers care about?

Find out with our free 7-part bootstrapping guide… which includes a bonus ebook that’ll help you identify inefficiencies in your life so you can make more time for your product biz:

Get our 7-day no-BS guide to avoiding common startup mistakes

Discussion

  1. Elton

    Disqus is one the most efficient things out there. It makes leaving and tracking comments on blogs easier.

    Thank you for the post, i especially resonated with the point on whether a step is making a data model easier, I’m guilty using this criteria, from now on I’ll appreciate the user’s need for efficiency

    Reply
  2. Roger L. Cauvin

    I like it. Designing remarkable or efficient products requires a can-do attitude.

    A few observations:

    1. One key to designing an efficient product is to dig to the root of the problems the product is intended to solve instead of making marginal improvements.
    2. You can use thought experiments (such as the “fantasy solution” technique) to “test” your product requirements to see if you’ve dug deep enough.
    3. Sometimes you can improve efficiency by creating an ecosystem for the product, such as what Apple did with iTunes (ecosystem) and the iPod (product).
    Reply
  3. Raul

    Great article. Loved the garage example ;). I do think software is getting more efficient and I thank you for taking it a step further. There is always room for improvement.

    Reply

Leave a Reply

You can use Markdown in this comment box.