Home Featured Don’t Make My Tools Easy. Make Them More Fun.

Don’t Make My Tools Easy. Make Them More Fun.

by alexis
Binary code means software

An Open Letter to Developers of Software Tools for Specialists

I’ve worked with a number of software companies over the years, on various applications invariably relating to media creation. I’ve never been able to settle on which is more fun, participating in the development of new tools, or using those tools to actually create media. In my case, I like both too much. It’s just so satisfying to make a suggestion to an engineer, and watch it get implemented knowing that the lives of all who use that software will get a little less tiresome.

The great thing about software is that, hardware limitations aside, you can make things work pretty much however you want, if only you’re clever enough to figure out how. Whenever you hear someone from a software company say “we can’t do that,” what they’re really saying is:

  • “We don’t have the time to figure out how to do that.”
  • “We don’t want to do that.”
  • “We could do that, but your performance would be
    so horrible that you’d wish we hadn’t.”
  • “We’re planning on doing that, but that’s number 287
    on a list of 500 planned feature requests.”

To be fair, these are all legitimate issues. However, when a team of developers decides it’s time to try and add a particular new feature, there’s tremendous freedom of implementation. You can design a feature to take as many or as few steps as you want, use exotic input devices or simple keystrokes, take advantage of pre-built interface widgets or design new ones yourself, in the eternal struggle to second-guess the user’s preferences for how to do things. Which brings me to the reason for bringing this up in the first place.

You see, developers have a dilemma. To make an application more easily “discoverable” to new users, you generally have to create a more obvious user interface, with highly visible controls that are obviously labeled, that lead to activities that are easy to figure out and accomplish though trial and error, and constrained enough to keep the user from doing anything too insane that might result in catastrophic failure. The result is often software that’s drop-dead simple to use (one hopes). This is a good thing for folks who want to sit down and get something simple done without a lot of hand-wringing, and there are ample examples of this type of software UI that I like and use.

On the other hand, if you want to make a software application capable of complex functionality that’s fast and efficient, that’s doable as well. Design an interface that does away with needless mouse clicks, create a fast way to trigger functions (often keyboard shortcuts) that invoke specialized, streamlined workflows with open-ended functionality that impose as few restrictions on the user as possible, with as much variation and flexibility packed into as few interface widgets as is feasible. The result can be software that’s incredibly powerful and fast to use, but inscrutable to the point of presenting a dauntingly steep learning curve. This is a good thing for power users who are willing to put the work in, intent on rocking their software like Jimmy Page playing the guitar, blasting through creative work while thinking up new ways of problem-solving.

My point is that “easy” UI and power-user UI are almost mutually exclusive. Finding a way to merge the two is, I believe, the great challenge of our age of software design. That’s because simple software, while fast to learn and easy to use, becomes frustrating once you’ve plumbed its depths and reached its limits, forcing an excessive number of mouse-clicks and other laundry-lists of steps that, while making those tasks easy to learn, now turn every simple thing you want to do into a chore.

On the other hand, software for power users can be maddeningly frustrating to learn. Without someone to show you the ropes, enrollment in a class, or the patience to plow through user documentation (please god let it be well written), you may sit there with your expensive new software application clicking and pressing keys until the sun goes down without any clue of how to proceed. Even worse, it could take you days or weeks of this kind of torture until you finally become proficient enough to get done what you need to do without too much hair-pulling and google searching. That said, after a painful apprenticeship, you learn the magic keyboard shortcuts and mouse gestures, at which point you spend the rest of your career with that software flying through your tasks with joyful precision, with others gaping slack-jawed at your wizardry.

In terms of user interface design, it’s really, really hard to accomplish both; discoverable software that also allows you to fly though tasks as a power user once you’re ready to ditch the training wheels. I sometimes fear this sisyphean task may be well nigh impossible, but I don’t want to believe that because, well, it’s software. We can design things any way we like, and maybe if someone clever enough and wise enough comes along, the feat could be accomplished.

In the meantime, software for postproduction finds itself split between these camps. Simple to use software that’s frustrating to do big projects with, and power-user software that’s time-consuming to learn. This is the great challenge of software development as I see it, and is an honorable undertaking for any developer.

However, somehow another notion has crept into the collective unconscious of the software development community. This notion is that people want their tasks to be made easier.

Allow me to clarify, because this is important. It’s one thing to say, “I’m creating a music application, and I want the software to be easy to use for writing music.” It’s entirely another thing to say “I want to write a software application that makes writing music easy.”

To use another example I’m most intimately acquainted with, color correction is difficult. You have to learn obscure things. As a result, it’s tempting to want to develop software so that, with the click of a button, any shot is auto-magically corrected to look amazing, and then the lucky amateur can move on to something much more worthwhile, like drinking beer. And before you accuse me of beating up on any particular application, I’m not; every contemporary grading, editing, and photo manipulation tool I can think of has some manner of auto color-correction functionality. It’s a universal aspiration.

Now, I’m not knocking simple tools for non-specialists. That’s like complaining about automatic transmissions in cars (and I’ll freely admit that I prefer driving automatics, I’m no race car driver). One-click auto correct, template-driven video editing and compositing, audio auto-leveling and auto-mixing functions, auto-tune and quantization for music, and many other auto-magical features are wonderful things and allow folks that lack specialized skills to create interesting media. I use many of these myself, and I’m glad to have them when the time is right.

However, we specialists want more then one-click solutions to our problems. Frankly, those of us who are looking for the experience of “driving stick” within a particular domain of software are so inclined because we don’t want anyone telling us what to do. We want to find original solutions to our creative problems, or at least to imagine that we’re coming up with our own secret sauce version of whatever it is we’re trying to accomplish. In the process, we want to exercise multiple iterative variations, we want to make tweaks both gross and minute, and we want to do all of this as quickly as possible with the least amount of wrist strain since we’re doing whatever it is we do all day, all week, all month, and if we’re financially lucky, all year.

As a specialist myself, I speak for other software specialists, and not for casual users, when I say that I don’t want software to make things easy. Because the only way to make a task easy is to tell someone how to do it, or do it for them.

Using a pencil is easy. Any two-year-old can use the hell out of a pencil. Using a paint brush is easy, you just dip it in paint and start smearing. Swinging a hammer is easy. When I was seven and my dad was building a house, he gave me a hammer, a pile of nails, and a piece of two by four and I was a hammering fool.

You know what’s not easy? Writing a novel. Painting a portrait. Chiseling a sculpture. For all of these activities, the user interface is unbelievably easy, but the task itself is hard. It requires knowledge. It requires practice. It requires skill. Perhaps a bit of talent if you’re so lucky.

Easy to learn UI, but does it make the task easier? Should it?

And that’s great. The whole point of art, as I see it, is the doing of it. The process, the act of learning, growing, figuring out how to make the results more interesting, more exciting, more effective and unique.

I’m going to wax idealistic for a moment. Nobody ever set out to become an editor of film and/or video because they said to themselves “I think I can make a pile of money editing corporate communications videos.” People become editors when they’re exposed to the process of creating meaning by juxtaposing one shot next to another, and get hooked. They want to figure out how to do it better. They want to try creating the kind of meaning that is most interesting to them, be it documentary, short form, or long form narrative.

I believe this is true of all creative specialists; musicians, writers, colorists, mixers, compositors and animators. We all use software, and we all want to do something new, something great, something interesting. Compositors and sound designers create new worlds of experience by building and combining layers of information in novel and interesting ways. Writers and musicians discover the ability to impart entirely new experiences to audiences using the deceptively simple tools of language and instrumentation. Colorists discover deeper and more effective ways of fine-tuning images to guide the audience’s emotional reception of a scene. All of these occupations can fill a lifetime with a completely engaging struggle for improvement.

Along the way we all take day jobs doing all kinds of work that pays the bills, but the one thing that, I hope, keeps most of us going is that we’re all striving to figure out how to do what it is we do better. The day I feel like I’ve plateaued at a particular task is the day I lose interest, turning to something else where I feel there’s more to explore.

What does this have to do with software? Puzzling out that first creative adjustment to the color and contrast of an image is the best part of my day. I don’t want an auto-correct button, because that robs me of the joy of discovering the best adjustment for the first shot of a brand new project.

Instead, I’d much rather developers found ways to make the software more fun to use. Find the creative obstacles that impede a particular task, and create software that minimizes or eliminates them. Figure out what specialists want to do when the software frustrates them, limits their ability or the expressiveness of the operation they’re trying to perform, and create new tools to overcome these limits that aren’t cumbersome to use. These are the areas that need real improvement.

A good friend of mine, Michael Wohl, is fond of saying that good software gets the hell out of your way and lets you do what you want to do. I think this is a terrific goal for any developer.

Furthermore, every software-driven workflow inevitably involves some amount of digital drudgery. If it’s possible to identify repetitive, non-creative busywork that drains the joy out of a specialist’s day, then that’s another target for improvement. Are there new tools that could be added that would make the process of exploring new ways of processing the image more enjoyable, open-ended, creative, and exciting? Those are the improvements I want, things that let me focus less on house-cleaning, and more on the creative aspects of the process.

Lastly, give me more creative tools. And make them fun to use while keeping them as customizable and open-ended as possible so I can find my own particular tweaks. I want to look forward to coming to work, opening your software, and finding new creative uses for interesting tools that perhaps nobody else has yet discovered.

Don’t make my job easier. I don’t want to paint by numbers. Make my job more fun and expand my toolkit of creative possibilities, and I’ll buy every single software upgrade you make.

You may also like


scott simmons May 17, 2011 - 4:20 pm

That’s a nice read and some really good points. I fear that software developers often care only about their bottom line and if the software is easier to use, they’ll sell more. That’s why I hope some of the more niche software makers will do just what you suggested and continue to make tools that are more fun. we wouldn’t be in post if we didn’t like to use fun software!

Carey Dissmore May 19, 2011 - 11:06 am

Hey Alexis, that’s a great post. I really agree with you on all of it.

To Scott’s point about making money, that’s true too…but it’s also reflected in your (Alexis’) statement about professionals not getting into the business to make corporate videos, etc. The fact is I do a lot of that and actually quite enjoy it.

I’ve been doing a bit of thinking about this and assessing the career paths of other people I know in the industry as I compare it to my own. Seems by this point in our careers, a good half of my peers have settled into a comfortable skill set and “job” (whether self employed or not) and aren’t actively pursuing personal or professional growth.

I think that’s fine, but it’s not where my passion lies. I tried to figure out what type of work I like doing best: Editing, motion graphics, colorist etc. Then I tried to figure out what type of content: commercials, documentaries, music videos, show openers, broadcast shows. I came to the conclusion is that my favorite is none of them, but no, it’s all of them. In truth, my favorite is the variety, I think it’s the constant variety that keeps my passion for this business alive and intact, which in turn forces me to burn the midnight oil always learning and developing my skill set. If I want to wear this many hats, I have to make sure I do not fall into the “Jack of all trades, master of none” trap of mediocrity. This simply takes passion, drive, and time, time. It also makes me VERY carefully evaluate a decision to take up a new skill, or software tool, because my pride-driven-philosophy is that I don’t want agree to do anything unless I can commit enough of myself to it so I can knock it out of the park.

But at the end of the day, no matter how much you love working in this business, you have to survive. Most people want to be able to make enough to support a family and a reasonably comfortable life while still doing what they love. Until recently that was quite possible in this business. It’s gotten harder but it is still possible. The current climate is that, while there is more work in this industry than ever before, the “talent pool” of people seeking work in the industry exceeds it! The current talent pool features a HUGE flood of newcomers at the “bottom” of the industry. (let’s define that as people with 5 years or less getting paid to work in the industry). While there’s always been churn at the bottom, never have I seen this more skewed than it is today.

This has pushed many towards flashy “gee whiz” productions and some of the more subtle storytelling or nuanced, crafted, “meaning-driven” production is taking a back seat to it simply because I don’t think 5 years in the business is long enough for these types of skills to reach a level of maturity to flourish. Meanwhile, the “lifers” are struggling to weather the storm and downward price pressure the market is suffering as there is seemingly endless oversupply, churn and flooding at the bottom, which has been absorbing a larger percentage of available work.

Which brings me back to software development. If you are a software developer, that massive flood at the bottom is impossible to ignore. This is a market that, given the simple, flashy, gee whiz software at a magically low price point, will make them very very successful. Guys like us can use that software too, but are typically the first to bump into its limitations, and we struggle to differentiate ourselves from the masses.

There’s the “market your talent, not your tools” mantra, which is very very true, but that is tempered by the “pearls before swine” aspect in a market that’s too busy being wowed by flash and sizzle to come to a full appreciation of refined creative.

Now take that statement above and apply it equally to content creators trying to reach their market, and then to software developers in the same boat.

Some commonality…no?

My hope over the longer term is that the market will find it’s level. But I can’t begin to predict when or how that is going to happen.

Christian Wiele November 8, 2011 - 5:49 am

Very nice post. You address two fundamental issues of software development. First of all, you need to decide whose problems you want to address with a software solution. This is about the market segment. In your case it is about the decision between the casual/amateur user and the expert user. Any solution that tries to address both user groups will fail to some extent. This is constant struggle we face at SAP for years. How to expand beyond the traditional expert users to reach out for more casual users? Providing different solutions to the different segments is one option, but it increases development costs and the operational costs if a customer wants both solutions. Software development has not yet reached the level of for instance car manufacturing. Car manufacturers today are able to provide many models and custom options, and still keep a high productivity. At the end it is a matter of the market size. And here the market for auto-correction tools is probably bigger 😉
The other important aspect is the involvement of the targeted customers/users in the development process. It might be straight forward for individual/custom software. But for standard software products it is quite challenging. Who is THE user? How can I decide as a developer whether a requirement by one customer is general enough to address also the problems of a broader market? One possible approach currently followed by SAP is called Design Thinking (http://en.wikipedia.org/wiki/Design_thinking). It is the attempt to industrialize the innovation process. Still, this approach has not yet found broad adoption.


Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More