SlideShare a Scribd company logo
1 of 189
Usability is not
random #gdc13
MACTON@INSOMNIACGAMES.COM
@MIKE_ACTON
Where do we apply usability
lessons?
Where do we apply usability
lessons?
  Tools   UI
  Game

  API   design
  ….everywhere!
Today‟s goal

  Mentalmodel for recognizing and
  breaking down usability issues
Today‟s goal

  Mentalmodel for recognizing and
  breaking down usability issues
  Not even going to scratch the tip of
  the iceberg
Today‟s goal

  Mentalmodel for recognizing and
  breaking down usability issues
  Not even going to scratch the tip of
  the iceberg
  Not   a numbers talk
TL;DL
TL;DL
    The only way is to watch it live
TL;DL
    The only way is to watch it live
    Choice is bad
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterations
TL;DL
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterations
    When in doubt, be like Maya
Working definition: Usability

  Totaltime required to solve the
   specified problem at the desired level
   of quality.
Let‟s get this out of the way…
Let‟s get this out of the way…

  What   tools do you use to measure?
Let‟s get this out of the way…

  What   tools do you use to measure?

           The only way is to
             watch it live
Let‟s get this out of the way…

  What   tools do you use to measure?

           The only way is to
             watch it live
                  To make things more usable, asking good
                 questions is way more valuable than better
                                   tools.
What is usability a function of?
               Information   Message     Message      Message
   Context
                  density    creation   translation   response




              Let‟s
                  understand each of these
              elements by example…
Example 1: Search
Example 1: Search
             Information         Message             Message      Message
   Context
                density          creation           translation   response




                Context is all agreed upon information.
Example 1: Search
             Information         Message             Message      Message
   Context
                density          creation           translation   response




                Context is all agreed upon information.



                What problem are we trying to solve?
Example 1: Search
               Information        Message            Message      Message
   Context
                  density         creation          translation   response




             Do we agree on what we‟re trying to accomplish?
Example 1: Search
                  Information        Message            Message         Message
    Context
                     density         creation          translation      response




                Do we agree on what we‟re trying to accomplish?



 Magic words?         Magic store?            Music video?           Etymology?
Example 1: Search
             Information        Message            Message      Message
   Context
                density         creation          translation   response




             What‟s the impact of such a broad context?
Must visually parse the results…
Must guess at possible answer
       and click link…
Must visually scan page for
         answer…
Scroll…
Scroll more…
Keep scrolling…
Eventually… if we‟re paying
  attention, get answer.
If not… start over with another
               link
Improving, but…
Example 1: Search
             Information        Message             Message      Message
   Context
                density         creation           translation   response




                    What if we had more context?

                  i.e. more agreed upon information
e.g. “computational knowledge”
…or files in a file system
…or models in an asset tree
…or google-fu
...agree on more context in advance
Example 1: Search
             Information        Message              Message      Message
   Context
                density         creation            translation   response




                     What if we had less context?
e.g. generic text entry box
e.g. generic text entry box



       Less context = fewer constraints?
e.g. generic text entry box



       Less context = fewer constraints?


           How many characters?
e.g. generic text entry box



       Less context = fewer constraints?


           How many characters?

           What kind of characters?
e.g. generic text entry box



       Less context = fewer constraints?


           How many characters?

           What kind of characters?

   What do we know about the problem?
Example 1: Search
                   Information          Message             Message           Message
   Context
                      density           creation           translation        response




         The upper limit of usability is determined by the amount of agreed
                            upon information we start with.
This is more usable…
…than this…
…but only if we agree beforehand that we‟re
 searching for “computational knowledge”
Example 1: Search
                   Information          Message             Message           Message
   Context
                      density           creation           translation        response




         The upper limit of usability is determined by the amount of agreed
                            upon information we start with.
Example 1: Search
                   Information          Message             Message           Message
   Context
                      density           creation           translation        response




         The upper limit of usability is determined by the amount of agreed
                            upon information we start with.



                      i.e. More constraints = More (potentially) usable
Example 1: Search
                   Information          Message             Message           Message
   Context
                      density           creation           translation        response




                     Choice is Bad
         The upper limit of usability is determined by the amount of agreed
                            upon information we start with.



                      i.e. More constraints = More (potentially) usable
Example 1: Search
                   Information          Message             Message           Message
   Context
                      density           creation           translation        response




                     Choice is Bad
         The upper limit of usability is determined by the amount of agreed
                            upon information we start with.
                            To make things more usable, solve more
                              specific, not more generic, problem.
                      i.e. More constraints = More (potentially) usable
Choice is Bad

  How   do you measure it?
  How   do you know when to stop?
Example 1: Search
                    Information     Message       Message      Message
   Context
                       density      creation     translation   response




             Hunt          (What we‟ve seen so far…)
Example 1: Search
                    Information   Message        Message       Message
   Context
                       density    creation      translation    response




             Hunt


                                             (Know what the end result is…)
Example 1: Search
                    Information   Message     Message      Message
   Context
                       density    creation   translation   response




             Hunt


             Play
Example 1: Search
                    Information      Message        Message      Message
   Context
                       density       creation      translation   response




             Hunt


             Play          “I don‟t know what I‟m looking for,
                            but I‟ll know it when I see it.”
(Play)
i.e. Iteration, Inspiration, Creative, …
In other words, (hunt vs. play)….



        A         xform
                              B
          The only purpose of any program is to
          transform some data from one form
          (A) into another form (B)
In other words, (hunt vs. play)….



        A           hunt
                               B
          When   you know what (B) is
In other words, (hunt vs. play)….



        A           play
                              ?
          When   you don‟t
(Play)
Many choices, quickly…
(Play)
Recommend more choices,
      quickly…
In other words, (hunt vs. play)….



        A         play
                            ?
          Whenyou don‟t know what you
          want…
In other words, (hunt vs. play)….



        AChoice is Good
                    ?
                  play




          Whenyou don‟t know what you
          want…
In other words, (hunt vs. play)….



        AChoice is Good
                    ? play




          When  you don‟t know what you
             To make things more usable, present lots of
          want… relevant, comparable options quickly.
Choice is Good

  How   do you measure it?
  How   do you know what to show?
Example 1: Search
                    Information            Message              Message                Message
   Context
                       density             creation            translation             response




             Hunt
                                  Very different problems. Very different solutions.
             Play
Example 1: Search
             Information   Message     Message      Message
   Context
                density    creation   translation   response
Example 1: Search
                   Information         Message            Message           Message
   Context
                      density          creation          translation        response




         Amount of the problem that can be solved with any particular message.
Example 1: Search
                   Information         Message            Message           Message
   Context
                      density          creation          translation        response




         Amount of the problem that can be solved with any particular message.




                Message = data associated with each step of a process
Start search
Start search


Visually parse the results…
Start search


 Visually parse the results…


Guess at possible answer and
         click link…
Start search


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…
Start search


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…
Start search


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


       Found result?
Start search


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text   List of possibilities


 Visually parse the results…


Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text     List of possibilities


                               Mouse scroll,
 Visually parse the results…
                                page click

Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…



          Scroll…


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…
                               Page down


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…                               More page result
                               Page down


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…                               More page result
                               Page down


        Found result?


   No
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…                               More page result
                               Page down


        Found result?


   No                          Back button
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…                               More page result
                               Page down


        Found result?


   No                          Back button      List of possibilities
Example 1: Search
                Information        Message           Message         Message
   Context
                   density         creation         translation      response




             The amount that each message reduces the search space
Example 1: Search
                Information         Message              Message      Message
   Context
                   density          creation            translation   response




             The amount that each message reduces the search space



                   Every problem is like a game of 20 Questions.
Example 1: Search
                   Information        Message            Message      Message
   Context
                      density         creation          translation   response




             This message is made up of smaller messages…

             a b r    a c    a d a b r       a
a b r     a c    a d a b r         a




What does the first message tell us?
a b r     a c     a d a b r         a




What does the first message tell us?

„a‟ is U+0061, which is in the „Basic Latin‟ Unicode block
a b r     a c     a d a b r         a




What does the first message tell us?

„a‟ is U+0061, which is in the „Basic Latin‟ Unicode block

Which means we‟re likely searching in EFIGS
a b r     a c     a d a b r         a




What does the first message tell us?

„a‟ is U+0061, which is in the „Basic Latin‟ Unicode block

Which means we‟re likely searching in EFIGS

Based on context: Most likely in English
a b r     a c     a d a b r         a




What does the first message tell us?

„a‟ is U+0061, which is in the „Basic Latin‟ Unicode block

Which means we‟re likely searching in EFIGS

Based on context: Most likely in English



In dictionary of ~110,000 common English words, there are
only ~6,500 words that begin with „a‟.
a b r     a c     a d a b r         a




What does the first message tell us?

„a‟ is U+0061, which is in the „Basic Latin‟ Unicode block

Which means we‟re likely searching in EFIGS

Based on context: Most likely in English



In dictionary of ~110,000 common English words, there are
only ~6,500 words that begin with „a‟.




     Reduced likely results from near-infinite to ~6,500
a b r   a c    a d a b r       a




  …and together „a‟ + „b‟ reduces our search space to ~420
  words in the same dictionary.
a b r   a c    a d a b r       a




  …and together „a‟ + „b‟ reduces our search space to ~420
  words in the same dictionary.



         We can start to make reasonable guesses…




                             (Obviously Google‟s search space is much bigger
                             than a sample dictionary.)
a b r    a c    a d a b r        a




  By the 5th message, the most likely answer is the correct one…
a b r     a c    a d a b r         a




A lot                               Almost none




    If context is well-defined, information density should map like this…
                        (Like a game of 20 Questions)
http://en.wikipedia.org/wiki/File:Gamma_distribution_pdf.svg




                            Not every well-formed case looks like this…
http://en.wikipedia.org/wiki/File:Gamma_distribution_pdf.svg




                                 …but it should be in this family of distributions
If we look back at our search messages…
Start search           Search text      List of possibilities


                               Mouse scroll,
 Visually parse the results…                   List more possibilities
                                page click

Guess at possible answer and
                                Link click          Page result
         click link…


  Scan page for answer…


                               Mouse scroll,
          Scroll…                               More page result
                               Page down


        Found result?


   No                          Back button      List of possibilities
What would that information density look like?
If your information density looks like this…




   or
If your information density looks like this…




   or




Your context probably isn‟t well-defined.
If your information density looks like this…




  20 Questions is all
   or


   you ever need
Your context probably isn‟t well-defined.
               To make things more usable, map context
                   so that most likely stuff comes first
Example 2: Screenshot Dialog
             Information         Message            Message      Message
   Context
                density          creation          translation   response




               Amount of time required to act correctly
What‟s wrong with this?



Need to do calculations in your head
What‟s wrong with this?



Need to do calculations in your head
What‟s wrong with this?



  Need to do calculations in your head


Need to choose between a lot of unknown
                options
What‟s wrong with this?



  Need to do calculations in your head


Need to choose between a lot of unknown
                options


          Options too granular
What‟s wrong with this?



  Need to do calculations in your head


Need to choose between a lot of unknown
                options


          Options too granular



    Lots of unused, not useful options
What‟s wrong with this?



  Need to do calculations in your head


Need to choose between a lot of unknown
                options


          Options too granular



    Lots of unused, not useful options



  Even more unused, not useful options
What‟s wrong with this?



  Need to do calculations in your head


Need to choose between a lot of unknown
                options


          Options too granular



    Lots of unused, not useful options



  Even more unused, not useful options


 Unclear how to choose the right answer
Example 2: Screenshot Dialog
             Information         Message        Message      Message
   Context
                density          creation      translation   response




                           Things to Measure
Example 2: Screenshot Dialog
             Information          Message        Message      Message
   Context
                density           creation      translation   response




                            Things to Measure



             Parsing time
Example 2: Screenshot Dialog
             Information          Message             Message      Message
   Context
                density           creation           translation   response




                            Things to Measure



             Parsing time                       Thinking time
Example 2: Screenshot Dialog
                    Information         Message             Message      Message
   Context
                       density          creation           translation   response




                                  Things to Measure



                   Parsing time                       Thinking time


             Working on wrong problem
Example 2: Screenshot Dialog
                    Information         Message             Message      Message
   Context
                       density          creation           translation   response




                                  Things to Measure



                   Parsing time                       Thinking time


             Working on wrong problem                  Error rate
Example 2: Screenshot Dialog
                    Information         Message             Message      Message
   Context
                       density          creation           translation   response




                 Learning curve is
                                  Things to Measure




                       bad
                   Parsing time                       Thinking time


             Working on wrong problem                  Error rate
                             To make things more usable, reduce the
                              time needed to work out what the right
                                          thing to do is
Example 2: Screenshot Dialog
                 Information        Message           Message      Message
   Context
                    density         creation         translation   response




             However… message creation time improves over time.
Initial difficulty isn‟t always bad...




e.g. Driving
e.g. vi(m)
e.g. maya
e.g. making games
Example 2: Screenshot Dialog
                 Information        Message           Message      Message
   Context
                    density         creation         translation   response




              Learning curve is
             However… message creation time improves over time.




                   good
Example 2: Screenshot Dialog
                 Information        Message           Message      Message
   Context
                    density         creation         translation   response




              Learning curve is
             However… message creation time improves over time.




                   good
                         To make things more usable, allow for some
                           features that are only useful with lots of
                                          practice.
Example 3: Build times
             Information          Message             Message      Message
   Context
                density           creation           translation   response




             Latency to transform message to useful result.
Example 3: Build times
                     Information            Message            Message      Message
   Context
                        density             creation          translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…
Example 3: Build times
                     Information            Message             Message      Message
   Context
                        density             creation           translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…              Easiest to measure
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…              Easiest to measure


                  e.g. Building levels
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…              Easiest to measure


                  e.g. Building levels             e.g. Building lightmaps
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…              Easiest to measure


                  e.g. Building levels             e.g. Building lightmaps


               e.g. Compile, link, reload
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




                      Latency to transform message to useful result.



             When people say “iteration”…              Easiest to measure


                  e.g. Building levels             e.g. Building lightmaps


               e.g. Compile, link, reload               “5 second rule”
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




              One minute is worth
                      Latency to transform message to useful result.




                 12 iterations
             When people say “iteration”…              Easiest to measure


                  e.g. Building levels             e.g. Building lightmaps


               e.g. Compile, link, reload               “5 second rule”
Example 3: Build times
                      Information           Message             Message      Message
   Context
                         density            creation           translation   response




              One minute is worth
                      Latency to transform message to useful result.




                 12 iterations
             When people say “iteration”…              Easiest to measure


                  e.g. Building levels             e.g. Building lightmaps

                                  To make things more usable, reduce the
               e.g. Compile, link, reload
                                   time needed to “5 second rule”
                                                  work out what the right
                                               thing to do is
Example 3: Build times
             Information   Message             Message              Message
   Context
                density    creation           translation           response



                                   Throughput of message.
                           i.e. time until can begin next message
Example 4: Stamp mode
E.g. 3D manipulators have very little
             context.
(“Move/rotate/scale some object”)
Redefine context:

“building things made up of
connected, modular parts”
Hotkey: Modular stamp mode
Hotkey: Modular stamp mode




See ghosted set of connectable pieces
Tab another set of connectable pieces
Click on ghosted piece to “stamp”
Tab back to other set
Example 4: Stamp mode

    What happened?
Example 4: Stamp mode

    What happened?
    More specific context
Example 4: Stamp mode

    What happened?
    More specific context
    Better information density
Example 4: Stamp mode

    What happened?
    More specific context
    Better information density
    Fast and simple message creation
Example 4: Stamp mode

    What happened?
    More specific context
    Better information density
    Fast and simple message creation
    Immediate message translation and response
Example 4: Stamp mode

    What happened?
    More specific context
    Better information density
    Fast and simple message creation
    Immediate message translation and response
    Forgot: Muscle memory
Example 4: Stamp mode

    What happened?
     More specific context
             When in doubt, be
 

    Better information density
 
                      like Maya
     Fast and simple message creation
    Immediate message translation and response
    Forgot: Muscle memory
Example 4: Stamp mode

    What happened?
     More specific context
             When in doubt, be
 

    Better information density
 
                      like Maya
     Fast and simple message creation
    Immediate message translation and response
    Forgot: Muscle memory different something is, the bigger
                     The more
                         the bridge to the old way needs to be.
Review
Review
    The only way is to watch it live
Review
    The only way is to watch it live
    Choice is bad
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterations
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
    20 Questions is all you ever need
    Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterations
    When in doubt, be like Maya
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
 

 
               Usability is triage
     20 Questions is all you ever need
     Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterations
    When in doubt, be like Maya
Review
    The only way is to watch it live
    Choice is bad
    Choice is good
 

 
               Usability is triage
     20 Questions is all you ever need
     Learning curve is bad
    Learning curve is good
    One minute is worth 12 iterationsmore usable, don‟t try to
                       To make things
    When in doubt, be like maximize usability in everything
                            Maya
#README

    “A mathematical theory of communication”
        -- Claude Shannon
    “The Design of Everyday Things”
        -- Donald A. Norman
    “The Man Who Lied to His Laptop: What We Can
     Learn About Ourselves from Our Machines”
        -- Clifford Nass and Corina Yen
Usability is not
random #gdc13
MACTON@INSOMNIACGAMES.COM
@MIKE_ACTON

More Related Content

Similar to Usability Lessons for Game and Tool Design from Insomniac Games

Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processingpunedevscom
 
From Natural Language Processing to Artificial Intelligence
From Natural Language Processing to Artificial IntelligenceFrom Natural Language Processing to Artificial Intelligence
From Natural Language Processing to Artificial IntelligenceJonathan Mugan
 
Midwest km pugh conversational ai and ai for conversation 190809
Midwest km pugh conversational ai and ai for conversation 190809Midwest km pugh conversational ai and ai for conversation 190809
Midwest km pugh conversational ai and ai for conversation 190809Katrina (Kate) Pugh
 
Chatbots from first principles
Chatbots from first principlesChatbots from first principles
Chatbots from first principlesJonathan Mugan
 
Best Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesBest Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesPullString
 
A collaboration is a collaboration is a collaboration
A collaboration is a collaboration is a collaborationA collaboration is a collaboration is a collaboration
A collaboration is a collaboration is a collaborationJohn Thomas
 
Pycon ke word vectors
Pycon ke   word vectorsPycon ke   word vectors
Pycon ke word vectorsOsebe Sammi
 
Module 8: Natural language processing Pt 1
Module 8:  Natural language processing Pt 1Module 8:  Natural language processing Pt 1
Module 8: Natural language processing Pt 1Sara Hooker
 
NLP 101 + Chatbots
NLP 101 + ChatbotsNLP 101 + Chatbots
NLP 101 + ChatbotsChris Shei
 
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...Sri Ambati
 
Data Science Your Vacation
Data Science Your VacationData Science Your Vacation
Data Science Your VacationTJ Stalcup
 
Web & Social Media Analystics - Workshop Semantica
Web & Social Media Analystics - Workshop SemanticaWeb & Social Media Analystics - Workshop Semantica
Web & Social Media Analystics - Workshop SemanticaRoberto Cirillo
 
Data Science Your Vacation
Data Science Your VacationData Science Your Vacation
Data Science Your VacationTJ Stalcup
 
Edutalk f2013
Edutalk f2013Edutalk f2013
Edutalk f2013Mel Chua
 
How To "Speak Developer"
How To "Speak Developer"How To "Speak Developer"
How To "Speak Developer"Nick Malcolm
 
Superfast Type Inference Engine
Superfast Type Inference EngineSuperfast Type Inference Engine
Superfast Type Inference EngineGanesh Kumar
 

Similar to Usability Lessons for Game and Tool Design from Insomniac Games (20)

Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
From Natural Language Processing to Artificial Intelligence
From Natural Language Processing to Artificial IntelligenceFrom Natural Language Processing to Artificial Intelligence
From Natural Language Processing to Artificial Intelligence
 
Midwest km pugh conversational ai and ai for conversation 190809
Midwest km pugh conversational ai and ai for conversation 190809Midwest km pugh conversational ai and ai for conversation 190809
Midwest km pugh conversational ai and ai for conversation 190809
 
Chatbots from first principles
Chatbots from first principlesChatbots from first principles
Chatbots from first principles
 
Best Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice ExperiencesBest Practices for Designing High-Fidelity Voice Experiences
Best Practices for Designing High-Fidelity Voice Experiences
 
Inference graphic-organizer
Inference graphic-organizerInference graphic-organizer
Inference graphic-organizer
 
A collaboration is a collaboration is a collaboration
A collaboration is a collaboration is a collaborationA collaboration is a collaboration is a collaboration
A collaboration is a collaboration is a collaboration
 
Pycon ke word vectors
Pycon ke   word vectorsPycon ke   word vectors
Pycon ke word vectors
 
Module 8: Natural language processing Pt 1
Module 8:  Natural language processing Pt 1Module 8:  Natural language processing Pt 1
Module 8: Natural language processing Pt 1
 
NLP 101 + Chatbots
NLP 101 + ChatbotsNLP 101 + Chatbots
NLP 101 + Chatbots
 
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...
Explaining Black-Box Machine Learning Predictions - Sameer Singh, Assistant P...
 
What is OOP?
What is OOP?What is OOP?
What is OOP?
 
Data Science Your Vacation
Data Science Your VacationData Science Your Vacation
Data Science Your Vacation
 
Web & Social Media Analystics - Workshop Semantica
Web & Social Media Analystics - Workshop SemanticaWeb & Social Media Analystics - Workshop Semantica
Web & Social Media Analystics - Workshop Semantica
 
Data Science Your Vacation
Data Science Your VacationData Science Your Vacation
Data Science Your Vacation
 
Implicature
ImplicatureImplicature
Implicature
 
Edutalk f2013
Edutalk f2013Edutalk f2013
Edutalk f2013
 
DDD Introduction
DDD IntroductionDDD Introduction
DDD Introduction
 
How To "Speak Developer"
How To "Speak Developer"How To "Speak Developer"
How To "Speak Developer"
 
Superfast Type Inference Engine
Superfast Type Inference EngineSuperfast Type Inference Engine
Superfast Type Inference Engine
 

More from Mike Acton

Technical direction
Technical directionTechnical direction
Technical directionMike Acton
 
Great management of technical leads
Great management of technical leadsGreat management of technical leads
Great management of technical leadsMike Acton
 
#GDC15 Great Management of Technical Leads
#GDC15 Great Management of Technical Leads#GDC15 Great Management of Technical Leads
#GDC15 Great Management of Technical LeadsMike Acton
 
#GDC15 Code Clinic
#GDC15 Code Clinic#GDC15 Code Clinic
#GDC15 Code ClinicMike Acton
 
Making (console) games in the browser
Making (console) games in the browserMaking (console) games in the browser
Making (console) games in the browserMike Acton
 
Cinematic quests
Cinematic questsCinematic quests
Cinematic questsMike Acton
 
Nordic stockholm keynote
Nordic stockholm keynoteNordic stockholm keynote
Nordic stockholm keynoteMike Acton
 

More from Mike Acton (7)

Technical direction
Technical directionTechnical direction
Technical direction
 
Great management of technical leads
Great management of technical leadsGreat management of technical leads
Great management of technical leads
 
#GDC15 Great Management of Technical Leads
#GDC15 Great Management of Technical Leads#GDC15 Great Management of Technical Leads
#GDC15 Great Management of Technical Leads
 
#GDC15 Code Clinic
#GDC15 Code Clinic#GDC15 Code Clinic
#GDC15 Code Clinic
 
Making (console) games in the browser
Making (console) games in the browserMaking (console) games in the browser
Making (console) games in the browser
 
Cinematic quests
Cinematic questsCinematic quests
Cinematic quests
 
Nordic stockholm keynote
Nordic stockholm keynoteNordic stockholm keynote
Nordic stockholm keynote
 

Usability Lessons for Game and Tool Design from Insomniac Games

  • 1. Usability is not random #gdc13 MACTON@INSOMNIACGAMES.COM @MIKE_ACTON
  • 2. Where do we apply usability lessons?
  • 3. Where do we apply usability lessons?  Tools UI  Game  API design  ….everywhere!
  • 4. Today‟s goal  Mentalmodel for recognizing and breaking down usability issues
  • 5. Today‟s goal  Mentalmodel for recognizing and breaking down usability issues  Not even going to scratch the tip of the iceberg
  • 6. Today‟s goal  Mentalmodel for recognizing and breaking down usability issues  Not even going to scratch the tip of the iceberg  Not a numbers talk
  • 8. TL;DL  The only way is to watch it live
  • 9. TL;DL  The only way is to watch it live  Choice is bad
  • 10. TL;DL  The only way is to watch it live  Choice is bad  Choice is good
  • 11. TL;DL  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need
  • 12. TL;DL  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad
  • 13. TL;DL  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good
  • 14. TL;DL  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good  One minute is worth 12 iterations
  • 15. TL;DL  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good  One minute is worth 12 iterations  When in doubt, be like Maya
  • 16. Working definition: Usability  Totaltime required to solve the specified problem at the desired level of quality.
  • 17. Let‟s get this out of the way…
  • 18. Let‟s get this out of the way…  What tools do you use to measure?
  • 19. Let‟s get this out of the way…  What tools do you use to measure? The only way is to watch it live
  • 20. Let‟s get this out of the way…  What tools do you use to measure? The only way is to watch it live To make things more usable, asking good questions is way more valuable than better tools.
  • 21. What is usability a function of? Information Message Message Message Context density creation translation response  Let‟s understand each of these elements by example…
  • 23. Example 1: Search Information Message Message Message Context density creation translation response Context is all agreed upon information.
  • 24. Example 1: Search Information Message Message Message Context density creation translation response Context is all agreed upon information. What problem are we trying to solve?
  • 25. Example 1: Search Information Message Message Message Context density creation translation response Do we agree on what we‟re trying to accomplish?
  • 26. Example 1: Search Information Message Message Message Context density creation translation response Do we agree on what we‟re trying to accomplish? Magic words? Magic store? Music video? Etymology?
  • 27. Example 1: Search Information Message Message Message Context density creation translation response What‟s the impact of such a broad context?
  • 28. Must visually parse the results…
  • 29. Must guess at possible answer and click link…
  • 30. Must visually scan page for answer…
  • 34. Eventually… if we‟re paying attention, get answer.
  • 35. If not… start over with another link
  • 37. Example 1: Search Information Message Message Message Context density creation translation response What if we had more context? i.e. more agreed upon information
  • 39.
  • 40. …or files in a file system
  • 41. …or models in an asset tree
  • 43. ...agree on more context in advance
  • 44. Example 1: Search Information Message Message Message Context density creation translation response What if we had less context?
  • 45. e.g. generic text entry box
  • 46. e.g. generic text entry box Less context = fewer constraints?
  • 47. e.g. generic text entry box Less context = fewer constraints? How many characters?
  • 48. e.g. generic text entry box Less context = fewer constraints? How many characters? What kind of characters?
  • 49. e.g. generic text entry box Less context = fewer constraints? How many characters? What kind of characters? What do we know about the problem?
  • 50. Example 1: Search Information Message Message Message Context density creation translation response The upper limit of usability is determined by the amount of agreed upon information we start with.
  • 51. This is more usable…
  • 53. …but only if we agree beforehand that we‟re searching for “computational knowledge”
  • 54. Example 1: Search Information Message Message Message Context density creation translation response The upper limit of usability is determined by the amount of agreed upon information we start with.
  • 55. Example 1: Search Information Message Message Message Context density creation translation response The upper limit of usability is determined by the amount of agreed upon information we start with. i.e. More constraints = More (potentially) usable
  • 56. Example 1: Search Information Message Message Message Context density creation translation response Choice is Bad The upper limit of usability is determined by the amount of agreed upon information we start with. i.e. More constraints = More (potentially) usable
  • 57. Example 1: Search Information Message Message Message Context density creation translation response Choice is Bad The upper limit of usability is determined by the amount of agreed upon information we start with. To make things more usable, solve more specific, not more generic, problem. i.e. More constraints = More (potentially) usable
  • 58. Choice is Bad  How do you measure it?  How do you know when to stop?
  • 59. Example 1: Search Information Message Message Message Context density creation translation response Hunt (What we‟ve seen so far…)
  • 60. Example 1: Search Information Message Message Message Context density creation translation response Hunt (Know what the end result is…)
  • 61. Example 1: Search Information Message Message Message Context density creation translation response Hunt Play
  • 62. Example 1: Search Information Message Message Message Context density creation translation response Hunt Play “I don‟t know what I‟m looking for, but I‟ll know it when I see it.”
  • 64. In other words, (hunt vs. play)…. A xform B  The only purpose of any program is to transform some data from one form (A) into another form (B)
  • 65. In other words, (hunt vs. play)…. A hunt B  When you know what (B) is
  • 66. In other words, (hunt vs. play)…. A play ?  When you don‟t
  • 67.
  • 69.
  • 71. In other words, (hunt vs. play)…. A play ?  Whenyou don‟t know what you want…
  • 72. In other words, (hunt vs. play)…. AChoice is Good ? play  Whenyou don‟t know what you want…
  • 73. In other words, (hunt vs. play)…. AChoice is Good ? play  When you don‟t know what you To make things more usable, present lots of want… relevant, comparable options quickly.
  • 74. Choice is Good  How do you measure it?  How do you know what to show?
  • 75. Example 1: Search Information Message Message Message Context density creation translation response Hunt Very different problems. Very different solutions. Play
  • 76. Example 1: Search Information Message Message Message Context density creation translation response
  • 77. Example 1: Search Information Message Message Message Context density creation translation response Amount of the problem that can be solved with any particular message.
  • 78. Example 1: Search Information Message Message Message Context density creation translation response Amount of the problem that can be solved with any particular message. Message = data associated with each step of a process
  • 80. Start search Visually parse the results…
  • 81. Start search Visually parse the results… Guess at possible answer and click link…
  • 82. Start search Visually parse the results… Guess at possible answer and click link… Scan page for answer…
  • 83. Start search Visually parse the results… Guess at possible answer and click link… Scan page for answer… Scroll…
  • 84. Start search Visually parse the results… Guess at possible answer and click link… Scan page for answer… Scroll… Found result?
  • 85. Start search Visually parse the results… Guess at possible answer and click link… Scan page for answer… Scroll… Found result? No
  • 86. Start search Search text Visually parse the results… Guess at possible answer and click link… Scan page for answer… Scroll… Found result? No
  • 87. Start search Search text List of possibilities Visually parse the results… Guess at possible answer and click link… Scan page for answer… Scroll… Found result? No
  • 88. Start search Search text List of possibilities Mouse scroll, Visually parse the results… page click Guess at possible answer and click link… Scan page for answer… Scroll… Found result? No
  • 89. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and click link… Scan page for answer… Scroll… Found result? No
  • 90. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click click link… Scan page for answer… Scroll… Found result? No
  • 91. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Scroll… Found result? No
  • 92. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Scroll… Found result? No
  • 93. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… Page down Found result? No
  • 94. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… More page result Page down Found result? No
  • 95. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… More page result Page down Found result? No
  • 96. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… More page result Page down Found result? No Back button
  • 97. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… More page result Page down Found result? No Back button List of possibilities
  • 98. Example 1: Search Information Message Message Message Context density creation translation response The amount that each message reduces the search space
  • 99. Example 1: Search Information Message Message Message Context density creation translation response The amount that each message reduces the search space Every problem is like a game of 20 Questions.
  • 100. Example 1: Search Information Message Message Message Context density creation translation response This message is made up of smaller messages… a b r a c a d a b r a
  • 101. a b r a c a d a b r a What does the first message tell us?
  • 102. a b r a c a d a b r a What does the first message tell us? „a‟ is U+0061, which is in the „Basic Latin‟ Unicode block
  • 103. a b r a c a d a b r a What does the first message tell us? „a‟ is U+0061, which is in the „Basic Latin‟ Unicode block Which means we‟re likely searching in EFIGS
  • 104. a b r a c a d a b r a What does the first message tell us? „a‟ is U+0061, which is in the „Basic Latin‟ Unicode block Which means we‟re likely searching in EFIGS Based on context: Most likely in English
  • 105. a b r a c a d a b r a What does the first message tell us? „a‟ is U+0061, which is in the „Basic Latin‟ Unicode block Which means we‟re likely searching in EFIGS Based on context: Most likely in English In dictionary of ~110,000 common English words, there are only ~6,500 words that begin with „a‟.
  • 106. a b r a c a d a b r a What does the first message tell us? „a‟ is U+0061, which is in the „Basic Latin‟ Unicode block Which means we‟re likely searching in EFIGS Based on context: Most likely in English In dictionary of ~110,000 common English words, there are only ~6,500 words that begin with „a‟. Reduced likely results from near-infinite to ~6,500
  • 107. a b r a c a d a b r a …and together „a‟ + „b‟ reduces our search space to ~420 words in the same dictionary.
  • 108. a b r a c a d a b r a …and together „a‟ + „b‟ reduces our search space to ~420 words in the same dictionary. We can start to make reasonable guesses… (Obviously Google‟s search space is much bigger than a sample dictionary.)
  • 109. a b r a c a d a b r a By the 5th message, the most likely answer is the correct one…
  • 110. a b r a c a d a b r a A lot Almost none If context is well-defined, information density should map like this… (Like a game of 20 Questions)
  • 111. http://en.wikipedia.org/wiki/File:Gamma_distribution_pdf.svg Not every well-formed case looks like this…
  • 112. http://en.wikipedia.org/wiki/File:Gamma_distribution_pdf.svg …but it should be in this family of distributions
  • 113. If we look back at our search messages…
  • 114. Start search Search text List of possibilities Mouse scroll, Visually parse the results… List more possibilities page click Guess at possible answer and Link click Page result click link… Scan page for answer… Mouse scroll, Scroll… More page result Page down Found result? No Back button List of possibilities
  • 115. What would that information density look like?
  • 116. If your information density looks like this… or
  • 117. If your information density looks like this… or Your context probably isn‟t well-defined.
  • 118. If your information density looks like this… 20 Questions is all or you ever need Your context probably isn‟t well-defined. To make things more usable, map context so that most likely stuff comes first
  • 119. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Amount of time required to act correctly
  • 120. What‟s wrong with this? Need to do calculations in your head
  • 121. What‟s wrong with this? Need to do calculations in your head
  • 122. What‟s wrong with this? Need to do calculations in your head Need to choose between a lot of unknown options
  • 123. What‟s wrong with this? Need to do calculations in your head Need to choose between a lot of unknown options Options too granular
  • 124. What‟s wrong with this? Need to do calculations in your head Need to choose between a lot of unknown options Options too granular Lots of unused, not useful options
  • 125. What‟s wrong with this? Need to do calculations in your head Need to choose between a lot of unknown options Options too granular Lots of unused, not useful options Even more unused, not useful options
  • 126. What‟s wrong with this? Need to do calculations in your head Need to choose between a lot of unknown options Options too granular Lots of unused, not useful options Even more unused, not useful options Unclear how to choose the right answer
  • 127. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Things to Measure
  • 128. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Things to Measure Parsing time
  • 129. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Things to Measure Parsing time Thinking time
  • 130. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Things to Measure Parsing time Thinking time Working on wrong problem
  • 131. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Things to Measure Parsing time Thinking time Working on wrong problem Error rate
  • 132. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Learning curve is Things to Measure bad Parsing time Thinking time Working on wrong problem Error rate To make things more usable, reduce the time needed to work out what the right thing to do is
  • 133. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response However… message creation time improves over time.
  • 134. Initial difficulty isn‟t always bad... e.g. Driving
  • 138. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Learning curve is However… message creation time improves over time. good
  • 139. Example 2: Screenshot Dialog Information Message Message Message Context density creation translation response Learning curve is However… message creation time improves over time. good To make things more usable, allow for some features that are only useful with lots of practice.
  • 140. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result.
  • 141. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”…
  • 142. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”… Easiest to measure
  • 143. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”… Easiest to measure e.g. Building levels
  • 144. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”… Easiest to measure e.g. Building levels e.g. Building lightmaps
  • 145. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”… Easiest to measure e.g. Building levels e.g. Building lightmaps e.g. Compile, link, reload
  • 146. Example 3: Build times Information Message Message Message Context density creation translation response Latency to transform message to useful result. When people say “iteration”… Easiest to measure e.g. Building levels e.g. Building lightmaps e.g. Compile, link, reload “5 second rule”
  • 147. Example 3: Build times Information Message Message Message Context density creation translation response One minute is worth Latency to transform message to useful result. 12 iterations When people say “iteration”… Easiest to measure e.g. Building levels e.g. Building lightmaps e.g. Compile, link, reload “5 second rule”
  • 148. Example 3: Build times Information Message Message Message Context density creation translation response One minute is worth Latency to transform message to useful result. 12 iterations When people say “iteration”… Easiest to measure e.g. Building levels e.g. Building lightmaps To make things more usable, reduce the e.g. Compile, link, reload time needed to “5 second rule” work out what the right thing to do is
  • 149. Example 3: Build times Information Message Message Message Context density creation translation response Throughput of message. i.e. time until can begin next message
  • 151. E.g. 3D manipulators have very little context. (“Move/rotate/scale some object”)
  • 152. Redefine context: “building things made up of connected, modular parts”
  • 154. Hotkey: Modular stamp mode See ghosted set of connectable pieces
  • 155. Tab another set of connectable pieces
  • 156. Click on ghosted piece to “stamp”
  • 157.
  • 158.
  • 159. Tab back to other set
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169. Example 4: Stamp mode  What happened?
  • 170. Example 4: Stamp mode  What happened?  More specific context
  • 171. Example 4: Stamp mode  What happened?  More specific context  Better information density
  • 172. Example 4: Stamp mode  What happened?  More specific context  Better information density  Fast and simple message creation
  • 173. Example 4: Stamp mode  What happened?  More specific context  Better information density  Fast and simple message creation  Immediate message translation and response
  • 174. Example 4: Stamp mode  What happened?  More specific context  Better information density  Fast and simple message creation  Immediate message translation and response  Forgot: Muscle memory
  • 175. Example 4: Stamp mode  What happened? More specific context When in doubt, be   Better information density  like Maya Fast and simple message creation  Immediate message translation and response  Forgot: Muscle memory
  • 176. Example 4: Stamp mode  What happened? More specific context When in doubt, be   Better information density  like Maya Fast and simple message creation  Immediate message translation and response  Forgot: Muscle memory different something is, the bigger The more the bridge to the old way needs to be.
  • 177. Review
  • 178. Review  The only way is to watch it live
  • 179. Review  The only way is to watch it live  Choice is bad
  • 180. Review  The only way is to watch it live  Choice is bad  Choice is good
  • 181. Review  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need
  • 182. Review  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad
  • 183. Review  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good
  • 184. Review  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good  One minute is worth 12 iterations
  • 185. Review  The only way is to watch it live  Choice is bad  Choice is good  20 Questions is all you ever need  Learning curve is bad  Learning curve is good  One minute is worth 12 iterations  When in doubt, be like Maya
  • 186. Review  The only way is to watch it live  Choice is bad  Choice is good   Usability is triage 20 Questions is all you ever need Learning curve is bad  Learning curve is good  One minute is worth 12 iterations  When in doubt, be like Maya
  • 187. Review  The only way is to watch it live  Choice is bad  Choice is good   Usability is triage 20 Questions is all you ever need Learning curve is bad  Learning curve is good  One minute is worth 12 iterationsmore usable, don‟t try to To make things  When in doubt, be like maximize usability in everything Maya
  • 188. #README  “A mathematical theory of communication” -- Claude Shannon  “The Design of Everyday Things” -- Donald A. Norman  “The Man Who Lied to His Laptop: What We Can Learn About Ourselves from Our Machines” -- Clifford Nass and Corina Yen
  • 189. Usability is not random #gdc13 MACTON@INSOMNIACGAMES.COM @MIKE_ACTON