Tuesday, January 19, 2010

Ribbon Hero turns learning Office into a game


This post has two goals. One, I want to share with you something amazing; a thing that according to most views of the tech universe should not exist. Two, I want to talk about a coming revolution in application design.

The amazing thing
Imagine Microsoft Office turned into a video game. One where learning a productivity app is a delight. One where the core loop of gameplay involves using and gaining skills in Word, Excel and PowerPoint.

It sounds a bit unlikely doesn’t it?

Well, I’m happy to announce the availability of Ribbon Hero, a new download from Microsoft that turns using Office into a game. I’ve been helping the fine folks over in Office Labs with the design and we are all immensely proud that this is getting released to the public. Huge kudos to Jen, Jonas and the rest of the team. CNET calls it "Brilliant".

Go download it now. You can challenge me on Facebook with your elite formatting skills.

The coming revolution
Ribbon Hero, in part, was born from a speech I gave back in October 2007 on applying the design lessons of Super Mario Bros. to application design. I made the following bet:
  • If an activity can be learned…
  • If the player’s performance can be measured…
  • If the player can be rewarded or punished in a timely fashion…
  • Then any activity that meets these criteria can be turned into a game.
Not only can you make a game out of the activity, but you can turn tasks traditionally seen as a rote or frustrating into compelling experiences that users find delightful.

The foundations of user experience design are incomplete
Games offer a very different value proposition than what you get from traditional usability design. The essence of modern UI design is summed up by usability guru Steven Krug’s proclamation “Don’t make me think!” We are taught, as UI designers, as website developers and as software creators that our target user is a shallow dullard. The prototypical user is presented as incapable of reading, barely cognizant of what they desire and are best served by products that offer a least common denominator feature set.

This user model is well supported by empirical data. Sit in on any usability test and your subjects will flail about, click on the wrong things and ignore most obvious visual cues. We assume that users are idiots because we see them behave like idiots whenever we test them.

The results of our current design philosophy are wonderfully simple apps that allow new users to perform one or two universal tasks in as streamlined a manner as possible. These are the Googles, the Twitters and the Diggs of the world. They focus on ease of acquisition and limit their functionality to the 20% of features that serve 80% of the population.

Yet, as applications grow, the “Don’t make me think” philosophy stumbles.
  • Users grow. Given the opportunity, new users rapidly become intermediate and expert users.
  • Different users, especially skilled users, want to master different tasks. Finding one or two universal tasks that matches all users is nearly impossible.
  • New opportunities emerge. As both the developers and the users gain experience with the software, they discover new use cases and tasks that create immense user value. Many developers are faced with the task of either bolting on new use cases or creating entirely new software, fragmenting their brand and user base.
Google Documents is slowly becoming just as much of a usability monstrosity any major text editor (Notepad excluded). Even apps that offer a more limited creative palette such as Mint.com, Ebay and Amazon try desperately to maintain their simplicity. We attempt to leverage pre-existing skills. We carefully layer beginner, intermediate and expert functionality. We use the democracy of split testing to eliminate minority use cases.

Yet, despite the fact that Web 2.0 started with a fresh new philosophy of minimalism and a clean slate, it is rapidly converging on the same frustrating and complex usability solutions found in desktop applications. The current state of the art is missing something fundamental.

Game design focuses on improving user skills
Game design, as applied to application design, brings several powerful ideas to the discussion that are either missing or underrepresented in existing descriptions of UX design.
  • Users are learning machines: All users have immense inherent potential to learn and master new skills.
  • Exploratory learning is fun: Given the proper environment, users will, of their own free will, explore an unknown task. They will try, fail and then finally gain enough insight that they grok the core problem at an intuitive level. When this moment of mastery occurs, users smile.
  • Exploratory learning can be engineered into repeatable systems: Moments of delight and skill acquisition are highly reproducible. All you need is a well designed and balanced system of interconnected feedback loops that helps guide and encourage the formation of new skills.
  • Learning in games is both modular and user directed: Once you have techniques for reliably teaching users new skills, you can modularize your application and let users decide what they want, when they want it and how much that matters to them.
If you start with the idea that users are learning machines, all our observations about usability tests snap into place. Of course, people stumble when they use an application for the first time. They don’t understand the interface because it is new to them. And users will stay at that inexperienced level if we do not make an attempt to teach them how to improve. We’ve diagnosed a burbling baby as a hopeless invalid, blind to the fact that babies grow, learn and flourish.

When users play a game, they spend hours first slowly building up basic skills. Then they assemble these building blocks into complex stratagems. Ultimately, they expertly wield the systems of the game like a finely honed tool. By the time the game ends, the player is no longer the same beginner that started. The design of the game directly helped improve their mental model of the world in a profound and measurable manner. The whole time, the player is having fun.

To me, the rich lessons of past 30 years of modern game design are lessons about human potential. Let’s start with the assumption that people are amazing. We have built pyramids. We have created clockwork contraptions that move mountains and measure the universe. Every day, we navigate a crazy quilt work world of technology, geography, language and culture. Surely we are capable of more complex interactions than typing a word in a plain vanilla search box.

Instead of only treating our users like idiots, how can we follow a design philosophy that actively empowers our users to fulfill their vast potential? The techniques gleaned from game design are one very meaningful path worth exploring.

Practice matters more than theory
Now, it is one thing to talk about how game design can improve application design. It is a completely different task to grab a hold of Microsoft Office, the epitome of traditional application design, and turn it into a playable game.

Ribbon Hero is not the best game in the world. Not yet. However, even in its basic state, it does all the wonderful things that games do in the context of one of the world’s most used, most serious applications. People learn. They improve. And they enjoy the process. Such a highly valuable class of user experience has eluded traditional design for decades.

If these miracles can be done with Microsoft Office, how might game design change the applications you want to build in the future?

take care
Danc.

References

24 comments:

  1. "We are taught ... that our target user is a shallow dullard. The prototypical users is presented as incapable of reading, barely cognizant of what they desire and are best served by products that offer a least common denominator feature set."

    This is a total straw-man position. Real UI designers (or UI-savvy programmers) don't think that way, and it's kind of insulting to state that they do. That attitude is the one of the stereotypical elitist Unix geek who sneers at concepts like "usability" — the sort who calls users "lusers". I've definitely known people like that, but none of them were involved with user interfaces, thank god.

    I support your basic idea, of applying lessons from computer games to applications; but I do think it's ironic that you're starting with an app suite that's long been the poster-child for UI bloat and consequent desperate attempts to fix its usability by means of things like talking paper clips.

    ReplyDelete
  2. @Jens
    To be clear, I have spent many years in the trenches fighting the battle to get modern usability practices adopted within software teams. I love what how usability design radically improves software and think we should be doing more of it. It is okay for someone who completely buys into usability design techniques to critique it from a position of knowledge.

    And yes, good designers love users with all their fascinating quirks. So 'idiot' feels wrong. Look at it this way: Idiot/child/new user are all roughly descriptive of the same behavior. Regardless of the terminology, we still treat them like less than they are, much of the time. We've latched onto the fact that the human mind is limited and processes information in very specific ways, especially when looking at an application for the first time. As far as this goes, it is a great start! But it is only a start.

    What I'm arguing is that there are other stages that the human mind goes through as they experience the app. There are reproducible ways that people acquire new knowledge and explore systems. Just as usability design has a set of tools that work for inexperienced users, there is another set of tools that we should add to our arsenal that helps us train users.

    As for Microsoft Office: There's nothing ironic about taking one of the hardest design problems around (legacy, massively dense feature set), applying a theoretical solution and then seeing it work. That is called throwing away the crutches and excuses and putting your money where your mouth is. :-)

    take care
    Danc.

    ReplyDelete
  3. Great to see you putting your mouth where the money is :)

    Downloading it now...

    I can completely see the reason for including game play in serious applications to improve the overall computing experience. I have a hunch though only the largest and most complex applications will be able to afford diverting resource towards this. Microsoft Office being of course the canonical example.

    ReplyDelete
  4. Well done Danny boy, this will be HUGE.

    And for me it's not so much about the GUI and usability of the program rather than encouraging people to find new ways of doing things that they perhaps didn't even knew existed. Office is a HUGE set of applications, I've been using Word since the middle ages but I tend to always use the same things and never really bother with the new stuff or advanced formatting etc. This little game will probably show me lots of things that I've totally missed out and quite certainly improve my workflow.

    Tutorials are highly integrated in video games, so why not applications? Learning through challenges and achievements = teh win.

    ReplyDelete
  5. I guess there will never be an OpenOffice version?

    ReplyDelete
  6. Thanks for the update, this looks both innovative and interesting. I remember your earlier writings on this very clearly, and was wondering when somebody were actually going to do some commercially directed attempts at the idea. Great to see how it might apply to such a feature-rich application as Office.

    For the record, as far as I am concerned, the "Ribbon" Office redesign is a fantastic piece of UI work. It is true that Office has previously been something of a black sheep, but I don't think they have anything to be ashamed of anymore.

    ReplyDelete
  7. Gave it a go. It was interesting, although frustrating at times. I found myself pressing the 'hint' button a lot. The challenges I played felt like the tutorial mode many games include. Very helpful, and I think it is a great introduction to any piece of software.

    Does it get more competitive or difficult with further play? If not, it feels less like a game and more like a robust tutorial.

    ReplyDelete
  8. Very cool idea. I won't be trying it because, well, it's Word. But I like the concept.

    ReplyDelete
  9. Now if they'd only make something like this for maya, photoshop or one of the harder applications.

    I'm reminded of Kathy Sierra. She's made a few posts talking about how the goal shouldn't necessarily be ease of use, but appropriate difficulty.

    ReplyDelete
  10. Can we has OSX version pls?

    Prty pls?

    ReplyDelete
  11. How about another post that explains how you play the game? I want to know how Ribbon Hero works.

    ReplyDelete
  12. Hoooo-boy! I too strongly disagree with your comment about treating users as 'shallow dullards'. Put simply, people don't need to think or talk about flipping a light switch. It just needs to function. That's not treating the user like a dummy. That is designing something that just works well.

    As an aside, the rest of your post is quite interesting. Thank you for your efforts!

    ReplyDelete
  13. Saying that 'people don't need to think or talk about flipping a light switch' is a cop out. A lot of modern designers say "Easy is easy!" which is an incredibly lazy way of looking at design.

    What you need to do is ask *why* flipping a light switch is easy. Flipping a light switch is a preexisting skill that has been learned over years and years of repetition. Just because a lot of people have learned something previously doesn't mean we can ignore the process of learning in our designs.

    A new user is actually often quite confused by things we consider 'easy'. We assume they have certain skills when they do not. You see this a lot in usability tests. One reaction, which I see a lot, is to focus only on lowest common denominator pre-existing skills. This is what I mean by treating users like dullards. We assume they know only simple things and can never learn more.

    An alternative philosophy is to start with those LCD skills, but then building learning into your application. How does your design create a scaffolding of more complex skills upon those basic skills to create a masterful user?

    take care
    Danc.

    ReplyDelete
  14. I'll echo CNET here: Brilliant!

    The feature that does it for me is the ability to see which application features are used by people I know or by the population at large. That's basically telling me if I'm missing something useful that most people know about - a big problem in the software learning experience.
    Because players compete to complete the RH tasks, it would be nice if future versions logged the frequencies with which each user uses a given feature, so I can get a better understanding of why Fred's slides look so much better than mine.

    I can see so much potential for this! Congrats!

    St├ęphane

    ReplyDelete
  15. Great article! A buddy of mine at a big consulting firm told me that he and his colleagues love the game.

    I agree with the first poster that the UI design position in this article was a bit of a straw man. Most good application designers realize that users grow/learn and design accordingly. IMO Krug's seminal book is more useful when designing web sites or other applications that are used infrequently.

    With that said, I love the lens you provided and I sent this around to all of my design & customer assistance colleagues.

    Best

    ReplyDelete
  16. Here are also some games disguised as office applications.
    http://cantyouseeimbusy.com

    ReplyDelete
  17. How about instead of writing a game to teach people how to use a user interface element that is the poster-child for failed innovation... instead, just getting rid of the abominable thing and spending the time to clean up the menu layout and content so you don't need to play "ribbon hero" to learn how to use the program?

    ReplyDelete
  18. now all we need are some type of achievement system for applications. then people will really get motivated to play the games

    ReplyDelete
  19. I think it's a good idea. I don't know if anyone's realised this but Microsoft Office does a helluva lot.

    This is like how you get someone to teach you how to drive a car because you aren't born knowing what every button does. You may not be an idiot but you still aren't going to know everything about every function of Office. This is what RibbonHero is for.

    It really comes down this - stop complaining and let someone teach you something useful for free.

    ReplyDelete
  20. Resuna: They already did that, in Word 2007, with the Ribbon. It helped a little. It's easier for most people to browse through the ribbons than the old text-only menus, anyhow. But every user wants Word to do something slightly different, and in order to be The Word Processor, it has to provide for everyone. There's only so usable you can make that.

    I suppose Microsoft could release a bunch of different editions of Word with user interfaces specialized to particular tasks? Then you'd have to buy a new one every time you need a new type of document.

    Just make it easy to switch between various, individually simple user interfaces? The Ribbon pretty much does this. And it still has a learning curve, because the user's expectations rarely match just exactly with the designer's. It doesn't matter how good the designer is, they're not precognitive.

    ReplyDelete
  21. Hi Danc,

    You don't strictly need "if an activity can be learned", since this is implied by any activity in which performance can be measured. Any situation with measurable performance implies the possibility of learning by definition.

    "...you can turn tasks traditionally seen as a rote or frustrating into compelling experiences that users find delightful."

    Also, the word "some" is missing from this claim - "that some users will find delightful". You will not reach every player with a reward schedule.

    All the best!

    ReplyDelete
  22. Ultimately, what this also says is that the benefits go both ways.

    Games are (by their nature) learning systems. It is clear we can use games to improve learning systems. Conversely, entertainment games can also be better designed through application of our understanding of learning strategies.

    I'd suggest that indie designers would gain much from getting into authors such as Bruner, Vygotsky, Piaget and Papert, and ideas like constructionist pedagogies and spiral curricula.

    The models of learning these authors describe can help with building the kinds of rhythmic, balanced skills learning experiences that most games are. I use them in my own curricula to alert game designers to methods for better analysing game design problems.

    Cheers for the efforts Danc! (As a former usability designer, now game lecturing...)

    ReplyDelete
  23. Any UI that requires a game to acquire a skill set, is a UI designed for folks who never had the skill set in the first place.

    On the other hand, modifications to a UI that don't require a learning curve, for those already owning a skill set, and who are functionally advanced, are useful modifications. This is particularly true if the learning costs time/money, or if the functionality of the new UI, for those skilled users, is equal to or worse than the old UI [i.e., why bother with a new UI if it is no better than the old one, in terms of functionality....]

    ReplyDelete