PROGRESSIVE
                                    PROTOTYPING


TODD ZAKI WARFEL / BIG D / #html5
“Interaction design without
prototyping is like cooking
without tasting.”
- Craig Villamore cvil.ly




http://bit.ly/pb5Xec
I DON’T WIREFRAME
m aki ng.
                        e food I’m
        to t ast e th
Iwant
PROTOTYPING IS A
DESIGN PROCESS
PROTOTYPING OFFERs A BETTER WAY TO
WORK THROUGH AND VALIDATE
YOUR DESIGN
“You can fix it on the drafting
board with an eraser, or on the
construction site with a
sledgehammer.”
- Frank Lloyd Wright
PROTOTYPES ALLOW YOU TO
FAIL IN A LOW COST ENVIRONMENT
IF YOU AREN’T FAILING, YOU’RE
NOT TRYING HARD ENOUGH.
FIDELITY



Hi Visual/Hi Functional        Lo Visual/Lo Functional
Lo Visual/Hi Functional        Hi Visual/Lo Functional
, bu t...
                p like this
    ig ht e nd u
It m
ha ske tch
            sta rts wit
It always
data fi rst
     nin gw ith
Desig
graysc ale
               ro und s in
 ex t, a few
N
ex app eal
                    th som es
         h it off wi
F inis
HTML Doctypes
<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  XHTML  1.1//EN"

     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  XHTML  1.0  Strict//EN"

     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-­‐strict.dtd">

<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Transitional//EN"

      "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  XHTML  1.0  Frameset//EN"

     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-­‐frameset.dtd">

<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Strict//EN"

      "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Transitional//EN"

      "http://www.w3.org/TR/html4/loose.dtd">
HTML5 Doctype
<!DOCTYPE  HTML>
HTML5 TAGS
<address>            <header>
<audio>              <hgroup>
<article>            <input>
<aside>              <meter>
<canvas>             <nav>
<datalist>           <progress>
<div>                <section>
<p>                  <table>,  <th>,  <tr>,  <td>
<dl>,  <dt>,  <dd>   <time>
<ol>,  <ul>,  <li>   <video>
<fieldset>
<footer>
HTML5 TAGS
<address>            <header>
<audio>              <hgroup>
<article>            <input>
<aside>              <meter>
<canvas>             <nav>
<datalist>           <progress>
<div>                <section>
<p>                  <table>,  <th>,  <tr>,  <td>
<dl>,  <dt>,  <dd>   <time>
<ol>,  <ul>,  <li>   <video>
<fieldset>
<footer>
html page structure
A typical HTML page will
                                  div  id=header
use divs with IDs and
Classes to create the              div  id=nav
structure.

                           div  id=content         div  id=  
                                                   sidebar




                                  div  id=footer
HTML5 page structure
HTML5 gives semantic
                                         header
meaning to these structures,
which previously required                  nav
IDs and Classes.
                               section/article    aside




                                         footer
PRO TIP: UPDATE YOUR RESET.CSS
article,  aside,  footer,  header,  hgroup,  
nav,  meter,  progress,  section  
{display:block;  margin:0;  padding:0;  
border:0;  font-­‐weight:inherit;  font-­‐
style:inherit;  font-­‐size:100%;  font-­‐
family:inherit;  vertical-­‐align:baseline;  
list-­‐style:none;  outline:none}
What about thIS LITTLE BASTARD?
IE needs a little help from
our friend JavaScript.
Modernizer/HTML5shiv to
the rescue.
http://modernizr.com
http://
html5shiv.googlecode.co
m/svn/trunk/html5.js
Pro tip: Smack IE Into Shape
<!DOCTYPE  html>
<html>
<head>
<!-­‐-­‐[if  lt  IE  9]>
<script  src="http://
html5shiv.googlecode.com/svn/trunk/
html5.js"  type="text/javascript"></script>
<![endif]-­‐-­‐>
</head>
NEW HTML5 Input Types
color              time
date               week
datetime           url
datetime-­‐local
email
number
month
range
search
tel  
NEW HTML5 Input Types
color              time
date               week
datetime           url
datetime-­‐local
email
number
month
range
search
tel  
Email               URL




                          advant age
             ant mobile
        Inst
Gettin’ Sexy with CSS3
    It’s the New Photoshop, YO!
CSS3 SELECTORS
*                     :first-­‐letter         :nth-­‐last-­‐of-­‐type()
E                     ::first-­‐letter        :empty
.class                :first-­‐line           :not()
#id                   ::first-­‐line          :target
E  F                  E[attribute^=value]     :enabled
E  >  F               E[attribute$=value]     :disabled
E  +  F               E[attribute*=value]     :checked
E[attribute]          E  ~  F
E[attribute=value]    :root
E[attribute~=value]   :last-­‐child
E[attribute|=value]   :only-­‐child
:first-­‐child        :nth-­‐child()
:lang()               :nth-­‐last-­‐child()
:before               :first-­‐of-­‐type
::before              :last-­‐of-­‐type
:after                :only-­‐of-­‐type
::after               :nth-­‐of-­‐type()
CSS3 SELECTORS
*                     :first-­‐letter         :nth-­‐last-­‐of-­‐type()
E                     ::first-­‐letter        :empty
.class                :first-­‐line           :not()
#id                   ::first-­‐line          :target
E  F                  E[attribute^=value]     :enabled
E  >  F               E[attribute$=value]     :disabled
E  +  F               E[attribute*=value]     :checked
E[attribute]          E  ~  F
E[attribute=value]    :root
E[attribute~=value]   :last-­‐child
E[attribute|=value]   :only-­‐child
:first-­‐child        :nth-­‐child()
:lang()               :nth-­‐last-­‐child()
:before               :first-­‐of-­‐type
::before              :last-­‐of-­‐type
:after                :only-­‐of-­‐type
::after               :nth-­‐of-­‐type()
Fancy Button
Border Radius
-­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐border-­‐
radius:6px;  border-­‐radius:6px;




             Fancy Button
TExt Shadow
text-­‐shadow:  1px  1px  0  #d2572b;}




           Fancy Button
Box Shadow
-­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  
0  3px;  -­‐webkit-­‐box-­‐
shadow:rgba(218,218,218,.6)  0  0  0  3px;
box-­‐shadow:rgba(218,218,218,.6)  0  0  0  
3px;  


            Fancy Button
Background Gradient
background:-­‐moz-­‐linear-­‐gradient(center  
top,  #eb9972,  #e67646  55%,  #d2572b);  
background:-­‐webkit-­‐gradient(linear,  0%  
0%,  0%  100%,  from(#eb9972),  color-­‐
stop(0.55,  #e67646),  to(#d2572b));



           Fancy Button
Anatomy of a CSS3 Button
.btn-­‐primary  {padding:.5em  .9em;  background:  
#e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,  
0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),  
to(#d2572b));  background:-­‐moz-­‐linear-­‐
gradient(center  top,  #eb9972,  #e67646  55%,  
#d2572b);  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  
0  3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  
0  3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;  
border-­‐radius:6px;  border:1px  solid  #bc6647;  -­‐moz-­‐
box-­‐shadow:#ddd  0  0  0  2px;  -­‐webkit-­‐box-­‐shadow:#ddd  
0  0  0  2px;  font-­‐size:  1.375em;  font-­‐weight:  500;  
color:  #fff;  text-­‐shadow:  1px  1px  0  #d2572b;}
Anatomy of a CSS3 Button
.btn-­‐primary  {padding:.5em  .9em;  background:  
#e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,  
0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),  
to(#d2572b));  background:-­‐moz-­‐linear-­‐
gradient(center  top,  #eb9972,  #e67646  55%,  
#d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐border-­‐
radius:6px;  border-­‐radius:6px;  border:1px  solid  
#bc6647;  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0  
3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0  
3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;  
font-­‐size:  1.375em;  font-­‐weight:  500;  color:  #fff;  
text-­‐shadow:  1px  1px  0  #d2572b;}
Anatomy of a CSS3 Button
.btn-­‐primary  {padding:.5em  .9em;  background:  
#e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,  
0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),  
to(#d2572b));  background:-­‐moz-­‐linear-­‐
gradient(center  top,  #eb9972,  #e67646  55%,  
#d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐border-­‐
radius:6px;  border-­‐radius:6px;  border:1px  solid  
#bc6647;  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0  
3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0  
3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;  
font-­‐size:  1.375em;  font-­‐weight:  500;  color:  #fff;  
text-­‐shadow:  1px  1px  0  #d2572b;}
Anatomy of a CSS3 Button
.btn-­‐primary  {padding:.5em  .9em;  background:  
#e67646;  background:-­‐webkit-­‐gradient(linear,  0%  
0%,  0%  100%,  from(#eb9972),  color-­‐stop(0.55,  
#e67646),  to(#d2572b));  background:-­‐moz-­‐linear-­‐
gradient(center  top,  #eb9972,  #e67646  55%,  
#d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐
border-­‐radius:6px;  border-­‐radius:6px;  border:1px  
solid  #bc6647;  -­‐moz-­‐box-­‐shadow:0  0  0;  -­‐webkit-­‐
box-­‐shadow:0  0  0;  font-­‐size:  1.375em;  font-­‐
weight:  500;  color:  #fff;  text-­‐shadow:  1px  1px  0  
#d2572b;}
fun ctio nal
        olo r/H i-fi
Hi- fi c
ece s fi rst
         all the pi
Bu ild
ith jQu ery
            t eracti on w
 dd som e in
A
se lf h eal
             f th at s exy
     e som eo
Showm
Resources
HTML5 Spec        http://www.w3.org/TR/html5

CSS3 Spec         http://www.w3.org/Style/CSS/current-­‐work.en.html  

HTML5SHIV         http://html5shiv.googlecode.com/svn/trunk/html5.js


Modernizer        http://modernizr.com


Dive Into HTML5   http://diveintohtml5.org


HTML5/CSS3        http://realworldcss3.com/resources/


REFRAMER APP      http://getreframer.com
Prototyping: a Practitioner’s Guide                            R us s U nger




http://bit.ly/protobk
                                                               T odd Zaki  W ar f
                                                                                el




                                                G uer r a
                                                UX
                                                R es ear c h
                                                M et ho d s
                                                T hr i
                                                     f
                                                     t
                                                     y,
                                                      Fas t
                                                          ,
                                                          and Ef
                                                               f
                                                               ect
                                                                 i
                                                                 v e U s er Ex per i
                                                                                   ence R es ear ch T echni
                                                                                                          ques




              Guerrilla UX Research Methods
                                 Fall of 2011



  @zakiwarfel

Prototyping w/HTML5 and CSS3

  • 1.
    PROGRESSIVE PROTOTYPING TODD ZAKI WARFEL / BIG D / #html5
  • 2.
    “Interaction design without prototypingis like cooking without tasting.” - Craig Villamore cvil.ly http://bit.ly/pb5Xec
  • 3.
  • 4.
    m aki ng. e food I’m to t ast e th Iwant
  • 5.
  • 6.
    PROTOTYPING OFFERs ABETTER WAY TO WORK THROUGH AND VALIDATE YOUR DESIGN
  • 7.
    “You can fixit on the drafting board with an eraser, or on the construction site with a sledgehammer.” - Frank Lloyd Wright
  • 8.
    PROTOTYPES ALLOW YOUTO FAIL IN A LOW COST ENVIRONMENT
  • 9.
    IF YOU AREN’TFAILING, YOU’RE NOT TRYING HARD ENOUGH.
  • 10.
    FIDELITY Hi Visual/Hi Functional Lo Visual/Lo Functional Lo Visual/Hi Functional Hi Visual/Lo Functional
  • 11.
    , bu t... p like this ig ht e nd u It m
  • 12.
    ha ske tch sta rts wit It always
  • 14.
    data fi rst nin gw ith Desig
  • 15.
    graysc ale ro und s in ex t, a few N
  • 16.
    ex app eal th som es h it off wi F inis
  • 18.
    HTML Doctypes <!DOCTYPE  html PUBLIC  "-­‐//W3C//DTD  XHTML  1.1//EN"   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  XHTML  1.0  Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-­‐strict.dtd"> <!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Transitional//EN"      "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  XHTML  1.0  Frameset//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-­‐frameset.dtd"> <!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Strict//EN"      "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE  html  PUBLIC  "-­‐//W3C//DTD  HTML  4.01  Transitional//EN"      "http://www.w3.org/TR/html4/loose.dtd">
  • 19.
  • 20.
    HTML5 TAGS <address> <header> <audio> <hgroup> <article> <input> <aside> <meter> <canvas> <nav> <datalist> <progress> <div> <section> <p> <table>,  <th>,  <tr>,  <td> <dl>,  <dt>,  <dd> <time> <ol>,  <ul>,  <li> <video> <fieldset> <footer>
  • 21.
    HTML5 TAGS <address> <header> <audio> <hgroup> <article> <input> <aside> <meter> <canvas> <nav> <datalist> <progress> <div> <section> <p> <table>,  <th>,  <tr>,  <td> <dl>,  <dt>,  <dd> <time> <ol>,  <ul>,  <li> <video> <fieldset> <footer>
  • 24.
    html page structure Atypical HTML page will div  id=header use divs with IDs and Classes to create the div  id=nav structure. div  id=content div  id=   sidebar div  id=footer
  • 25.
    HTML5 page structure HTML5gives semantic header meaning to these structures, which previously required nav IDs and Classes. section/article aside footer
  • 26.
    PRO TIP: UPDATEYOUR RESET.CSS article,  aside,  footer,  header,  hgroup,   nav,  meter,  progress,  section   {display:block;  margin:0;  padding:0;   border:0;  font-­‐weight:inherit;  font-­‐ style:inherit;  font-­‐size:100%;  font-­‐ family:inherit;  vertical-­‐align:baseline;   list-­‐style:none;  outline:none}
  • 27.
    What about thISLITTLE BASTARD? IE needs a little help from our friend JavaScript. Modernizer/HTML5shiv to the rescue. http://modernizr.com http:// html5shiv.googlecode.co m/svn/trunk/html5.js
  • 28.
    Pro tip: SmackIE Into Shape <!DOCTYPE  html> <html> <head> <!-­‐-­‐[if  lt  IE  9]> <script  src="http:// html5shiv.googlecode.com/svn/trunk/ html5.js"  type="text/javascript"></script> <![endif]-­‐-­‐> </head>
  • 29.
    NEW HTML5 InputTypes color time date week datetime url datetime-­‐local email number month range search tel  
  • 30.
    NEW HTML5 InputTypes color time date week datetime url datetime-­‐local email number month range search tel  
  • 31.
    Email URL advant age ant mobile Inst
  • 32.
    Gettin’ Sexy withCSS3 It’s the New Photoshop, YO!
  • 33.
    CSS3 SELECTORS * :first-­‐letter :nth-­‐last-­‐of-­‐type() E ::first-­‐letter :empty .class :first-­‐line :not() #id ::first-­‐line :target E  F E[attribute^=value] :enabled E  >  F E[attribute$=value] :disabled E  +  F E[attribute*=value] :checked E[attribute] E  ~  F E[attribute=value] :root E[attribute~=value] :last-­‐child E[attribute|=value] :only-­‐child :first-­‐child :nth-­‐child() :lang() :nth-­‐last-­‐child() :before :first-­‐of-­‐type ::before :last-­‐of-­‐type :after :only-­‐of-­‐type ::after :nth-­‐of-­‐type()
  • 34.
    CSS3 SELECTORS * :first-­‐letter :nth-­‐last-­‐of-­‐type() E ::first-­‐letter :empty .class :first-­‐line :not() #id ::first-­‐line :target E  F E[attribute^=value] :enabled E  >  F E[attribute$=value] :disabled E  +  F E[attribute*=value] :checked E[attribute] E  ~  F E[attribute=value] :root E[attribute~=value] :last-­‐child E[attribute|=value] :only-­‐child :first-­‐child :nth-­‐child() :lang() :nth-­‐last-­‐child() :before :first-­‐of-­‐type ::before :last-­‐of-­‐type :after :only-­‐of-­‐type ::after :nth-­‐of-­‐type()
  • 36.
  • 37.
  • 38.
    TExt Shadow text-­‐shadow:  1px 1px  0  #d2572b;} Fancy Button
  • 39.
    Box Shadow -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0 0   0  3px;  -­‐webkit-­‐box-­‐ shadow:rgba(218,218,218,.6)  0  0  0  3px; box-­‐shadow:rgba(218,218,218,.6)  0  0  0   3px;   Fancy Button
  • 40.
    Background Gradient background:-­‐moz-­‐linear-­‐gradient(center   top, #eb9972,  #e67646  55%,  #d2572b);   background:-­‐webkit-­‐gradient(linear,  0%   0%,  0%  100%,  from(#eb9972),  color-­‐ stop(0.55,  #e67646),  to(#d2572b)); Fancy Button
  • 41.
    Anatomy of aCSS3 Button .btn-­‐primary  {padding:.5em  .9em;  background:   #e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,   0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),   to(#d2572b));  background:-­‐moz-­‐linear-­‐ gradient(center  top,  #eb9972,  #e67646  55%,   #d2572b);  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0   0  3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0   0  3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;   border-­‐radius:6px;  border:1px  solid  #bc6647;  -­‐moz-­‐ box-­‐shadow:#ddd  0  0  0  2px;  -­‐webkit-­‐box-­‐shadow:#ddd   0  0  0  2px;  font-­‐size:  1.375em;  font-­‐weight:  500;   color:  #fff;  text-­‐shadow:  1px  1px  0  #d2572b;}
  • 42.
    Anatomy of aCSS3 Button .btn-­‐primary  {padding:.5em  .9em;  background:   #e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,   0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),   to(#d2572b));  background:-­‐moz-­‐linear-­‐ gradient(center  top,  #eb9972,  #e67646  55%,   #d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐border-­‐ radius:6px;  border-­‐radius:6px;  border:1px  solid   #bc6647;  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0   3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0   3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;   font-­‐size:  1.375em;  font-­‐weight:  500;  color:  #fff;   text-­‐shadow:  1px  1px  0  #d2572b;}
  • 43.
    Anatomy of aCSS3 Button .btn-­‐primary  {padding:.5em  .9em;  background:   #e67646;  background:-­‐webkit-­‐gradient(linear,  0%  0%,   0%  100%,  from(#eb9972),  color-­‐stop(0.55,  #e67646),   to(#d2572b));  background:-­‐moz-­‐linear-­‐ gradient(center  top,  #eb9972,  #e67646  55%,   #d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐border-­‐ radius:6px;  border-­‐radius:6px;  border:1px  solid   #bc6647;  -­‐moz-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0   3px;  -­‐webkit-­‐box-­‐shadow:rgba(218,218,218,.6)  0  0  0   3px;  box-­‐shadow:rgba(218,218,218,.6)  0  0  0  3px;   font-­‐size:  1.375em;  font-­‐weight:  500;  color:  #fff;   text-­‐shadow:  1px  1px  0  #d2572b;}
  • 44.
    Anatomy of aCSS3 Button .btn-­‐primary  {padding:.5em  .9em;  background:   #e67646;  background:-­‐webkit-­‐gradient(linear,  0%   0%,  0%  100%,  from(#eb9972),  color-­‐stop(0.55,   #e67646),  to(#d2572b));  background:-­‐moz-­‐linear-­‐ gradient(center  top,  #eb9972,  #e67646  55%,   #d2572b);  -­‐moz-­‐border-­‐radius:6px;  -­‐webkit-­‐ border-­‐radius:6px;  border-­‐radius:6px;  border:1px   solid  #bc6647;  -­‐moz-­‐box-­‐shadow:0  0  0;  -­‐webkit-­‐ box-­‐shadow:0  0  0;  font-­‐size:  1.375em;  font-­‐ weight:  500;  color:  #fff;  text-­‐shadow:  1px  1px  0   #d2572b;}
  • 45.
    fun ctio nal olo r/H i-fi Hi- fi c
  • 46.
    ece s first all the pi Bu ild
  • 47.
    ith jQu ery t eracti on w dd som e in A
  • 48.
    se lf heal f th at s exy e som eo Showm
  • 50.
    Resources HTML5 Spec http://www.w3.org/TR/html5 CSS3 Spec http://www.w3.org/Style/CSS/current-­‐work.en.html   HTML5SHIV http://html5shiv.googlecode.com/svn/trunk/html5.js Modernizer http://modernizr.com Dive Into HTML5 http://diveintohtml5.org HTML5/CSS3 http://realworldcss3.com/resources/ REFRAMER APP http://getreframer.com
  • 51.
    Prototyping: a Practitioner’sGuide R us s U nger http://bit.ly/protobk T odd Zaki W ar f el G uer r a UX R es ear c h M et ho d s T hr i f t y, Fas t , and Ef f ect i v e U s er Ex per i ence R es ear ch T echni ques Guerrilla UX Research Methods Fall of 2011 @zakiwarfel