SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
“Restful User Experience”
         Unconventional views on
  user experience vs. architectural design



             Wayne Lee, May 2009
           http://trilancer.wordpress.com/
What is this all about?
                                To share
                           my humble opinions
                    on user experience designs with
              insights from representational state transfer
       studies as well as inspecting software architectural design
 with user experience philosophy to improve overall system design …



                 Or simply put, to study


                       through
         UX                               REST LENS
                          and
                       through
       REST                                 UX LENS


          to better system designs

                           Image Source: http://www.flickr.com/photos/danielgreene/344196890/
                                           http://www.flickr.com/photos/surstubben/475404411/
Background
• Representational state transfer (REST)
  – A software architecture style for distributed
    hypermedia systems, e.g., the World Wide Web
  – Introduced by Roy Fielding in 2000



• User experience (UX)
  – The overarching experience a person has as a result
    of interactions with a product or service, its delivery,
    and related artifacts, according to their design
The REST Triangle
[Post, Get, Put, Delete],                                               Hypermedia: HTML, XML,
 [Post, Get, Put, Delete],                                              Hypermedia: HTML, XML,
                                                             Represe
      [C R U D] …                                                         JSON, JPG, GIF …
       [C R U D] …                                                         JSON, JPG, GIF …
                             Verbs
Constrained Set                                                          Constrained Set
                                                             ntations
Constrained Set                                                          Constrained Set


                                     RESOURCES




                                           Nouns




                                      Universal URI, XRI …
                                      Universal URI, XRI …
                                     Unconstrained Set
                                     Unconstrained Set
REST vs. RPC
• Resource-centric view       • Command-centric view
   – ONE uniform set of         – Custom, unique sets of
     methods (verbs)              methods (verbs)

   – Standard media types       – Custom media types

   – Lots resources (nouns)     – Fewer objects (nouns)

   – Some common knowledge      – Prior specific knowledge
     required to access ALL       required to locate / access
     resources                    each object
REST vs. SOAP
• REST simplicity =         • WS-* Complexity =
  freedom from choice         freedom of choice

  – 5 decisions to choose         – 12 decisions to choose
    among 16 alternatives           among 32 alternatives

  – 12 decisions already          – 2 decisions already
    taken (but 5 are DIY)           taken (SOAP, WSDL +
                                    XSD)



                            Source: http://www.jopera.org/docs/publications/2008/restws
UX through REST lens




     Image Source: http://www.flickr.com/photos/mark_boucher/794747329/
UX Differences
                        in software architectural terms




                                                                       l”
                           ”                                       tfu
                        PC                                       es
                     “R                                     “R
 Press together to
   lock / unlock




             “Dumb Phone”                                    iPhone
• Lots models, varying UX                   • Few models, consistent UX
• Lots buttons, with function overload      • Few buttons, soft keys on-demand
• Various key-combinations to invoke lots   • Few gestures (tap, flick, glide…) to
  (sometimes mysterious) functions            invoke ALL functions
                                                                      Image Source: Nokia & Apple
iPhone Feature List …




                        Source: http://www.apple.com/iphone/
… aka “Sitemap”
                                                /calendar    /photos

                                       /sms                            /maps

                            /youtube                                           /weather

                  /stocks
                                                                                          /notes

                                                          Home

                   /calc

                            /itunes                                             /apps

                                       /phone                          /ipod
                                                   /sms      /safari
Conceptual Restful State Machine of iPhone
     i.e., web browsing mentality can be mapped smoothly

                  /phone/favorites     /phone/favorites/Jerry



                                       /phone/contacts/Tom
                  /phone/contacts                                           Call (submit)


      /phone
                  /phone/keypad                                             /phone/call
                                      Dial (form input)  Call (submit)                         End Call




                  /phone/voicemail     /phone/voicemail/Emily             Call Back (submit)


                                          Delete

                  /phone/reschedule
                                                   State Transitions Explained with REST

                                                                                     Create a new call
      /calendar                                            POST /phone/call
                                                 Call                                session resource

                                                                                     Destroy current
                                                           DELETE /phone/call
                                              End Call
                                                                                     call session
      /mail                                                                          Redirect back to
                                                                                     state before call
The iPhone Triangle

[Tap, Glide, Flick, Pinch,                                                   CoverFlow, List, Icon,
 [Tap, Glide, Flick, Pinch,                                                  CoverFlow, List, Icon,
                                                                  Represe
   Rotate, Swing … ] ]                                                       Map, Table, Player …
    Rotate, Swing …                                                          Map, Table, Player …
                               Verbs
Constrained Set                                                              Constrained Set
                                                                  ntations
Constrained Set                                                              Constrained Set




                                                Nouns



                                       Events, SMS, Mails, Photos,
                                        Events, SMS, Mails, Photos,
                                         Songs, Videos, Apps …
                                          Songs, Videos, Apps …
                                       Unconstrained Set
                                       Unconstrained Set
Restful User Experience (RUX)

      UNIFORM                                                        STANDARDIZED
      UNIFORM                                                        STANDARDIZED
                                                          Represe
buttons //commands //                                                Info presentation
 buttons commands                                                     Info presentation
                        Verbs
                                                          ntations
     gestures …                                                        layouts //views
      gestures …                                                        layouts views




                                       Nouns



                                     UNLIMITED
                                      UNLIMITED
                                   Volume of content
                                   Volume of content
                                indexed or hyperlinked
                                 indexed or hyperlinked
Further RUX Example – Universal Remote Control


                                                          • One-Touch Control
                                                          • Up to 15 components: video,
                                                            audio, & gaming
                                                          • Compatibility: supports 5,000+
                                                            brands & 225,000 devices




Logitech Harmony 1000 Advanced Universal Remote




                    Source: http://www.logitech.com/index.cfm/remotes/universal_remotes/devices/373&cl=US,EN
Different Approaches to Universal Remote Control, aka
                        RUX vs. RPC-UX



          15 Devices

                           VS
Logitech Harmony 1000




                                     5 Devices               8 Devices
          16 Devices
  Sony RM-AX4000A                Logitech Harmony 510     Sony RMVL610B

for common users                            for power users
                                                    Image Source: Sony & Logitech
RUX or RPC-UX?
   aka, REST or RPC




 Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
freedom of choice                                          freedom from choice



         4+ 10+
                                                                                            3
                     Models


14 10
          Models




                    4
Models
         Models
                   Models
                                                                                          Models
            12                                                                      (color variation included)


         Models / Series




                              Source: http://www.electronista.com/articles/08/06/30/rbc.high.iphone.demand/
iPhone Takes 2/3 of Mobile Market




           Source: http://blog.concentricsky.com/2009/03/iphone-takes-23-of-mobile-market/
Implications
•   Market suggests RUX popularity
    – Device / application with lots “nouns” in usage scenarios better adopt
      RUX to ease user access
    – RPC-UX still works with limited nouns, but potential extensibility greatly
      hindered by e.g., physical shape

•   iPhone resembles web browsing experiences
    – If you can surf the Web, you can use an iPhone
    – If you can’t “surf” a phone, you won’t use it to surf the Web

•   Less choices + good design = good business




                                                              UX through REST lens
REST through UX lens




      Image Source: http://www.flickr.com/photos/valpopando/2787823568/
Less is More (More or Less):
     Uncommon Sense and the Design of Computers


System Functionality vs. Human                          System Strength vs. Generality

                                         y
                                     alit
                                   on
                                 ti
                              nc
                            Fu
                       of                                     Example: Potato Peeler
                    th
                 row                                    (Can do FEW things BETTER than others)
             G




                                             Strength
                                                                                                  Strong
            Growth of Human Capability
                                                         Example: Generic Kitchen Knife           Specific
                                                        (Can do LOTS things, but NOT optimized)   System
         Threshold of Frustration
                 a.k.a.
          “Complexity Barrier”                                Weak General System


                                                                        Generality




                                                         Source: http://www.billbuxton.com/LessIsMore.html
Software Architecture Design
                                 through “less is more” lens


System Functionality vs. Human                                     System Strength vs. Generality

                                   • SOA
                                   • “Smartphone”
                                    which demand
                          lity                                      RPC systems, Dedicated client
                        na          really smart user
                     tio
                nc                                                   Specific Remote Control…
              Fu




                                                        Strength
                                                                                                    Strong
                             Human Capability
                                                                     Restful systems, Web browser   Specific
                                                                      Universal Remote Control…     System
• Web dev
• iPhone
                                                                        Weak General System


                                                                                Generality
             The theories hold true for developers & users alike …
A Strong AND General System?
                 a.k.a., integrated set of strong specific systems


                         Unlikely –                                           “Net Benefit” –
           Due to “threshold of frustration” from high              A theoretical solution from Buxton about
                cognitive load in design & use                          digital and networked devices …




                                                         Strength
Strength




              Cognitive Load
                                                                           “Net Benefit”
                   Threshold of Frustration




                                                                                 Generality
                        Generality
           Net Benefit: devices communicate & cooperate with each other, thereby
             assuming much of the load that would otherwise burden the user …

                                                                     Source: http://www.billbuxton.com/LessIsMore.html
Approaches to “Net Benefit”
         in Software Systems Integration



                   Solution A:
                                                         Unlikely
                    Solution A:
     Intelligence in each system to enable
      Intelligence in each system to enable
                                                     due to even more
   automatic communication & collaboration
    automatic communication & collaboration
                                                    complexity therein
        between systems … aka. Magic
         between systems … aka. Magic




                    Solution B:
                                                        Feasible
                     Solution B:
        Apply principles, standardization,
         Apply principles, standardization,
                                                    Apply “less is more”
   simplification, unification & specifications…
    simplification, unification & specifications…
                                                      for greater good
             aka. Design Constraints
              aka. Design Constraints
Less is More
The world wide web works by design, not magic




       • Few verbs
                                Whole universe of knowledge
REST   • A few MIME types
                                only clicks away
       • Uniform resource URI
                                  Image: 3D Map of World Wide Web from www.opte.org
More or Less?
Situations where RPC works way better …


 Strong Specific System                          Weak General System




                       Looking for a Presenter?




 Handy & efficient                            Overkill & inconvenient



       Source: http://www.logitech.com/index.cfm/remotes/presentation_remote/devices/175&cl=us,en
More or Less?
   … and REST works positively terribly




Try playing piano in a browser or on an iPhone all day …


                       Source: http://www.daniellaberge.com/music/webpiano/webpiano1.htm
                                                                  http://moocowmusic.com/
REST or RPC?
aka, RUX or RPC-UX




Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
RUX vs. RPC-UX versus REST vs. RPC
                             RPC-UX                                        RUX
             • Direct & Efficient                       • Lower “cognitive load” working with
     Pros                                                 large complex systems
             • High “cognitive load” operating large    • Indirect / inefficient for responsive /
     Cons      complex systems                            repetitive tasks
             • Fits specific command-&-control tasks    • Fits general tasks
Conclusion   • Good for power users, professionals …    • Good for common users, info seekers…



                               RPC                                        REST
             • Optimized for specific task              • Low technical barrier to entry
     Pros    • Fine-grained control                     • Massively extensible / scalable
             • Hidden status & implicit semantics       • Performance penalty, hard to customize
     Cons    • Complicated testing & debugging          • Coarse-grained control
             • Fits proprietary mission-critical apps   • Fits open resource-oriented apps
Conclusion   • Costly planning & implementation         • Easier planning & implementation
UX Classification of iPhone Apps

                RPC-UX                                                                          RUX

                                       QuickVoice Recorder
                 BrainTeaser                                                         Kindle for iPhone
                                                              FedEx Mobile
quot;Purequot; RPC-UX




                                                                                                         quot;Purequot; RUX
                RPC                                                                           REST
                               A given system is usually a balanced combination of
                                       RPC-UX & RUX, aka RPC & REST
“Pure” RPC vs. “Pure” REST
       Difference in Aggregated Complexity


V                                    R      V              R




                    N                              N




                                # of systems integrated
V – Verbs (method)
R – Representations (media)
                               Low                  High
N – Nouns (object, resource)
A Pragmatic Architectural Approach
                                   for
             Large Scale System Integration
                       V                           R




      A REST “Core”                           Some RPC “Deviations”
• Governing constraints                      • Local architecture & principles
                                 ARCHITECT
• Uniform interfaces & views                 • Special methods or layouts

• Mitigated overall complexity               • Optimized local performance
                                 DEVELOPER
• Clearer global design                      • Optimized local design

• Minimized cognitive load                   • Optimized local operation
                                   USER
• Assured common user access                 • Convenience for power users




                                    N
The Pragmatic Architectural Approach to
             Realize “Net Benefit”

                 Tactic Use of RPC (RPC-UX):
                 Tactic Use of RPC (RPC-UX):
                                                               Strong Specific Approach
               Specific command, custom configuration,
   Local        Specific command, custom configuration,
                                                               To strengthen specific tasks
              non-standard interface, proprietary layout…
               non-standard interface, proprietary layout…
Deviance                                                             and power users
                   To optimize specific local designs
                    To optimize specific local designs



     +                            +                                        +
                 Strategic Use of REST (RUX):
                 Strategic Use of REST (RUX):
                                                               Weak General Approach
                Architectural constraints, standardization,
   Global        Architectural constraints, standardization,
                                                               For common user access with
             simplification, convention over configuration…
              simplification, convention over configuration…
Uniformity                                                       minimized cognitive load
               To mitigate overall complexity for design
                To mitigate overall complexity for design
The Result – A Hybrid System

                  Actual System                        Cognitive Load
              Strength & Generality                   Perceived by User


           Strong specific features atop




                                           Strength
Strength




                                                      Threshold of Frustration
           “Net Benefit” foundation


                                                           Generality
                    Generality
Implications
•   Complexity should be a decisive factor in architectural design
     – For small & simple systems, either RPC or REST will work
     – For large complex system integration: Strategic use of REST + Tactic
       use of RPC recommended

•   An actual system architecture should be a reasonable balance of
    REST + RPC, according to usage nature

•   Always fight complexity with Architectural Wisdom, not prayers for
    miracle




                                                             REST through UX lens
Last Not Least
Always Picture Your System First …




                                 Your
                                System
References
•   Roy T. Fielding’s DISSERTATION
     – Architectural Styles and the Design of Network-based Software Architectures


•   Wikipedia:
     – http://en.wikipedia.org/wiki/Representational_State_Transfer
     – http://en.wikipedia.org/wiki/User_experience


•   Bill Buxton:
     – http://www.billbuxton.com/LessIsMore.html


•   iPhone App Store
     – http://www.apple.com/iphone/appstore/
“Everything should be made as
simple as possible, but not simpler.”




        Image Source: http://en.wikipedia.org/wiki/File:Albert_Einstein_portrait.jpg

Weitere ähnliche Inhalte

Was ist angesagt?

Information security / Cyber Security ppt
Information security / Cyber Security pptInformation security / Cyber Security ppt
Information security / Cyber Security pptGryffin EJ
 
Typosquatting
TyposquattingTyposquatting
TyposquattingJitendra
 
National Cybersecurity - Roadmap and Action Plan
National Cybersecurity - Roadmap and Action PlanNational Cybersecurity - Roadmap and Action Plan
National Cybersecurity - Roadmap and Action PlanDr David Probert
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeAung Thu Rha Hein
 
ملخص النهائي لضوابط الامن السيبراني
ملخص النهائي لضوابط الامن السيبرانيملخص النهائي لضوابط الامن السيبراني
ملخص النهائي لضوابط الامن السيبرانيNaifAlghamdi31
 
Information Security Architecture: Building Security Into Your Organziation
Information Security Architecture: Building Security Into Your OrganziationInformation Security Architecture: Building Security Into Your Organziation
Information Security Architecture: Building Security Into Your OrganziationSeccuris Inc.
 
Secure electronic transaction
Secure electronic transactionSecure electronic transaction
Secure electronic transactionNishant Pahad
 
Malware Classification and Analysis
Malware Classification and AnalysisMalware Classification and Analysis
Malware Classification and AnalysisPrashant Chopra
 
Cloud computing Risk management
Cloud computing Risk management  Cloud computing Risk management
Cloud computing Risk management Padma Jella
 
Privacy in cloud computing
Privacy in cloud computingPrivacy in cloud computing
Privacy in cloud computingAhmed Nour
 
Chapter 1: Overview of Network Security
Chapter 1: Overview of Network SecurityChapter 1: Overview of Network Security
Chapter 1: Overview of Network SecurityShafaan Khaliq Bhatti
 
Digital signature & eSign overview
Digital signature & eSign overviewDigital signature & eSign overview
Digital signature & eSign overviewRishi Pathak
 
Enery efficient data prefetching
Enery efficient data prefetchingEnery efficient data prefetching
Enery efficient data prefetchingHimanshu Koli
 
public key infrastructure
public key infrastructurepublic key infrastructure
public key infrastructurevimal kumar
 
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 rule
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 ruleWalk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 rule
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 ruleEnterpriseGRC Solutions, Inc.
 
cyber-security-reference-architecture
cyber-security-reference-architecturecyber-security-reference-architecture
cyber-security-reference-architectureBirendra Negi ☁️
 

Was ist angesagt? (20)

Information security / Cyber Security ppt
Information security / Cyber Security pptInformation security / Cyber Security ppt
Information security / Cyber Security ppt
 
Typosquatting
TyposquattingTyposquatting
Typosquatting
 
National Cybersecurity - Roadmap and Action Plan
National Cybersecurity - Roadmap and Action PlanNational Cybersecurity - Roadmap and Action Plan
National Cybersecurity - Roadmap and Action Plan
 
Security policies
Security policiesSecurity policies
Security policies
 
Digital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research ChallengeDigital Forensic: Brief Intro & Research Challenge
Digital Forensic: Brief Intro & Research Challenge
 
Dns security
Dns securityDns security
Dns security
 
ملخص النهائي لضوابط الامن السيبراني
ملخص النهائي لضوابط الامن السيبرانيملخص النهائي لضوابط الامن السيبراني
ملخص النهائي لضوابط الامن السيبراني
 
Information Security Architecture: Building Security Into Your Organziation
Information Security Architecture: Building Security Into Your OrganziationInformation Security Architecture: Building Security Into Your Organziation
Information Security Architecture: Building Security Into Your Organziation
 
GDPR and Security.pdf
GDPR and Security.pdfGDPR and Security.pdf
GDPR and Security.pdf
 
Secure electronic transaction
Secure electronic transactionSecure electronic transaction
Secure electronic transaction
 
Malware Classification and Analysis
Malware Classification and AnalysisMalware Classification and Analysis
Malware Classification and Analysis
 
Cloud computing Risk management
Cloud computing Risk management  Cloud computing Risk management
Cloud computing Risk management
 
Privacy in cloud computing
Privacy in cloud computingPrivacy in cloud computing
Privacy in cloud computing
 
Chapter 1: Overview of Network Security
Chapter 1: Overview of Network SecurityChapter 1: Overview of Network Security
Chapter 1: Overview of Network Security
 
Digital signature & eSign overview
Digital signature & eSign overviewDigital signature & eSign overview
Digital signature & eSign overview
 
Enery efficient data prefetching
Enery efficient data prefetchingEnery efficient data prefetching
Enery efficient data prefetching
 
SSL intro
SSL introSSL intro
SSL intro
 
public key infrastructure
public key infrastructurepublic key infrastructure
public key infrastructure
 
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 rule
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 ruleWalk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 rule
Walk This Way: CIS CSC and NIST CSF is the 80 in the 80/20 rule
 
cyber-security-reference-architecture
cyber-security-reference-architecturecyber-security-reference-architecture
cyber-security-reference-architecture
 

Ähnlich wie Restful User Experience

Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionAlpen-Adria-Universität
 
A Mobile Centric View of Silicon Valley - January 2011
A Mobile Centric View of Silicon Valley - January 2011A Mobile Centric View of Silicon Valley - January 2011
A Mobile Centric View of Silicon Valley - January 2011Lars Kamp
 
Cloud Disaster Recovery
Cloud Disaster Recovery Cloud Disaster Recovery
Cloud Disaster Recovery OpSource
 
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...Vinny Wu
 
Why the Semantic Web will nerver work
Why the Semantic Web will nerver workWhy the Semantic Web will nerver work
Why the Semantic Web will nerver workHoang Nguyen
 
Fjord @ Smart device and mobile user experience summit
Fjord @ Smart device and mobile user experience summitFjord @ Smart device and mobile user experience summit
Fjord @ Smart device and mobile user experience summitFjord
 
Phonegap deep-dive
Phonegap deep-divePhonegap deep-dive
Phonegap deep-divealunny
 
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...Jackie Calderwood
 
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Cesare Pautasso
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
SFMobile: Founder Labs Mobile Edition 01/09/11
SFMobile: Founder Labs Mobile Edition 01/09/11SFMobile: Founder Labs Mobile Edition 01/09/11
SFMobile: Founder Labs Mobile Edition 01/09/11Jim Porter
 
SF Mobile: Founder Labs Mobile Edition
SF Mobile: Founder Labs Mobile Edition SF Mobile: Founder Labs Mobile Edition
SF Mobile: Founder Labs Mobile Edition Lars Kamp
 
SSSW2007 Social Web Baumann
SSSW2007 Social Web BaumannSSSW2007 Social Web Baumann
SSSW2007 Social Web BaumannStephan Baumann
 
Experimental Media Voodoo™
Experimental Media Voodoo™Experimental Media Voodoo™
Experimental Media Voodoo™SkyRonDotOrg
 
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...Saiful Hidayat
 
Design for Multitouch
Design for Multitouch Design for Multitouch
Design for Multitouch Robert Winters
 

Ähnlich wie Restful User Experience (20)

Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
 
In Context
In ContextIn Context
In Context
 
Android Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and OrganizationAndroid Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and Organization
 
A Mobile Centric View of Silicon Valley - January 2011
A Mobile Centric View of Silicon Valley - January 2011A Mobile Centric View of Silicon Valley - January 2011
A Mobile Centric View of Silicon Valley - January 2011
 
Cloud Disaster Recovery
Cloud Disaster Recovery Cloud Disaster Recovery
Cloud Disaster Recovery
 
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...
 
Why the Semantic Web will nerver work
Why the Semantic Web will nerver workWhy the Semantic Web will nerver work
Why the Semantic Web will nerver work
 
Fjord @ Smart device and mobile user experience summit
Fjord @ Smart device and mobile user experience summitFjord @ Smart device and mobile user experience summit
Fjord @ Smart device and mobile user experience summit
 
Phonegap deep-dive
Phonegap deep-divePhonegap deep-dive
Phonegap deep-dive
 
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...
Jackie Calderwood: Locative Media. Guest lecture/workshop for Kingston Univer...
 
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
Some REST Design Patterns (and Anti-Patterns) - SOA Symposium 2009
 
Embedded Virtualization for Mobile Devices
Embedded Virtualization for Mobile DevicesEmbedded Virtualization for Mobile Devices
Embedded Virtualization for Mobile Devices
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
2
22
2
 
SFMobile: Founder Labs Mobile Edition 01/09/11
SFMobile: Founder Labs Mobile Edition 01/09/11SFMobile: Founder Labs Mobile Edition 01/09/11
SFMobile: Founder Labs Mobile Edition 01/09/11
 
SF Mobile: Founder Labs Mobile Edition
SF Mobile: Founder Labs Mobile Edition SF Mobile: Founder Labs Mobile Edition
SF Mobile: Founder Labs Mobile Edition
 
SSSW2007 Social Web Baumann
SSSW2007 Social Web BaumannSSSW2007 Social Web Baumann
SSSW2007 Social Web Baumann
 
Experimental Media Voodoo™
Experimental Media Voodoo™Experimental Media Voodoo™
Experimental Media Voodoo™
 
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...
 
Design for Multitouch
Design for Multitouch Design for Multitouch
Design for Multitouch
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Restful User Experience

  • 1. “Restful User Experience” Unconventional views on user experience vs. architectural design Wayne Lee, May 2009 http://trilancer.wordpress.com/
  • 2. What is this all about? To share my humble opinions on user experience designs with insights from representational state transfer studies as well as inspecting software architectural design with user experience philosophy to improve overall system design … Or simply put, to study through UX REST LENS and through REST UX LENS to better system designs Image Source: http://www.flickr.com/photos/danielgreene/344196890/ http://www.flickr.com/photos/surstubben/475404411/
  • 3. Background • Representational state transfer (REST) – A software architecture style for distributed hypermedia systems, e.g., the World Wide Web – Introduced by Roy Fielding in 2000 • User experience (UX) – The overarching experience a person has as a result of interactions with a product or service, its delivery, and related artifacts, according to their design
  • 4. The REST Triangle [Post, Get, Put, Delete], Hypermedia: HTML, XML, [Post, Get, Put, Delete], Hypermedia: HTML, XML, Represe [C R U D] … JSON, JPG, GIF … [C R U D] … JSON, JPG, GIF … Verbs Constrained Set Constrained Set ntations Constrained Set Constrained Set RESOURCES Nouns Universal URI, XRI … Universal URI, XRI … Unconstrained Set Unconstrained Set
  • 5. REST vs. RPC • Resource-centric view • Command-centric view – ONE uniform set of – Custom, unique sets of methods (verbs) methods (verbs) – Standard media types – Custom media types – Lots resources (nouns) – Fewer objects (nouns) – Some common knowledge – Prior specific knowledge required to access ALL required to locate / access resources each object
  • 6. REST vs. SOAP • REST simplicity = • WS-* Complexity = freedom from choice freedom of choice – 5 decisions to choose – 12 decisions to choose among 16 alternatives among 32 alternatives – 12 decisions already – 2 decisions already taken (but 5 are DIY) taken (SOAP, WSDL + XSD) Source: http://www.jopera.org/docs/publications/2008/restws
  • 7. UX through REST lens Image Source: http://www.flickr.com/photos/mark_boucher/794747329/
  • 8. UX Differences in software architectural terms l” ” tfu PC es “R “R Press together to lock / unlock “Dumb Phone” iPhone • Lots models, varying UX • Few models, consistent UX • Lots buttons, with function overload • Few buttons, soft keys on-demand • Various key-combinations to invoke lots • Few gestures (tap, flick, glide…) to (sometimes mysterious) functions invoke ALL functions Image Source: Nokia & Apple
  • 9. iPhone Feature List … Source: http://www.apple.com/iphone/
  • 10. … aka “Sitemap” /calendar /photos /sms /maps /youtube /weather /stocks /notes Home /calc /itunes /apps /phone /ipod /sms /safari
  • 11. Conceptual Restful State Machine of iPhone i.e., web browsing mentality can be mapped smoothly /phone/favorites /phone/favorites/Jerry /phone/contacts/Tom /phone/contacts Call (submit) /phone /phone/keypad /phone/call Dial (form input)  Call (submit) End Call /phone/voicemail /phone/voicemail/Emily Call Back (submit) Delete /phone/reschedule State Transitions Explained with REST Create a new call /calendar POST /phone/call Call session resource Destroy current DELETE /phone/call End Call call session /mail Redirect back to state before call
  • 12. The iPhone Triangle [Tap, Glide, Flick, Pinch, CoverFlow, List, Icon, [Tap, Glide, Flick, Pinch, CoverFlow, List, Icon, Represe Rotate, Swing … ] ] Map, Table, Player … Rotate, Swing … Map, Table, Player … Verbs Constrained Set Constrained Set ntations Constrained Set Constrained Set Nouns Events, SMS, Mails, Photos, Events, SMS, Mails, Photos, Songs, Videos, Apps … Songs, Videos, Apps … Unconstrained Set Unconstrained Set
  • 13. Restful User Experience (RUX) UNIFORM STANDARDIZED UNIFORM STANDARDIZED Represe buttons //commands // Info presentation buttons commands Info presentation Verbs ntations gestures … layouts //views gestures … layouts views Nouns UNLIMITED UNLIMITED Volume of content Volume of content indexed or hyperlinked indexed or hyperlinked
  • 14. Further RUX Example – Universal Remote Control • One-Touch Control • Up to 15 components: video, audio, & gaming • Compatibility: supports 5,000+ brands & 225,000 devices Logitech Harmony 1000 Advanced Universal Remote Source: http://www.logitech.com/index.cfm/remotes/universal_remotes/devices/373&cl=US,EN
  • 15. Different Approaches to Universal Remote Control, aka RUX vs. RPC-UX 15 Devices VS Logitech Harmony 1000 5 Devices 8 Devices 16 Devices Sony RM-AX4000A Logitech Harmony 510 Sony RMVL610B for common users for power users Image Source: Sony & Logitech
  • 16. RUX or RPC-UX? aka, REST or RPC Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
  • 17. freedom of choice freedom from choice 4+ 10+ 3 Models 14 10 Models 4 Models Models Models Models 12 (color variation included) Models / Series Source: http://www.electronista.com/articles/08/06/30/rbc.high.iphone.demand/
  • 18. iPhone Takes 2/3 of Mobile Market Source: http://blog.concentricsky.com/2009/03/iphone-takes-23-of-mobile-market/
  • 19. Implications • Market suggests RUX popularity – Device / application with lots “nouns” in usage scenarios better adopt RUX to ease user access – RPC-UX still works with limited nouns, but potential extensibility greatly hindered by e.g., physical shape • iPhone resembles web browsing experiences – If you can surf the Web, you can use an iPhone – If you can’t “surf” a phone, you won’t use it to surf the Web • Less choices + good design = good business UX through REST lens
  • 20. REST through UX lens Image Source: http://www.flickr.com/photos/valpopando/2787823568/
  • 21. Less is More (More or Less): Uncommon Sense and the Design of Computers System Functionality vs. Human System Strength vs. Generality y alit on ti nc Fu of Example: Potato Peeler th row (Can do FEW things BETTER than others) G Strength Strong Growth of Human Capability Example: Generic Kitchen Knife Specific (Can do LOTS things, but NOT optimized) System Threshold of Frustration a.k.a. “Complexity Barrier” Weak General System Generality Source: http://www.billbuxton.com/LessIsMore.html
  • 22. Software Architecture Design through “less is more” lens System Functionality vs. Human System Strength vs. Generality • SOA • “Smartphone” which demand lity RPC systems, Dedicated client na really smart user tio nc Specific Remote Control… Fu Strength Strong Human Capability Restful systems, Web browser Specific Universal Remote Control… System • Web dev • iPhone Weak General System Generality The theories hold true for developers & users alike …
  • 23. A Strong AND General System? a.k.a., integrated set of strong specific systems Unlikely – “Net Benefit” – Due to “threshold of frustration” from high A theoretical solution from Buxton about cognitive load in design & use digital and networked devices … Strength Strength Cognitive Load “Net Benefit” Threshold of Frustration Generality Generality Net Benefit: devices communicate & cooperate with each other, thereby assuming much of the load that would otherwise burden the user … Source: http://www.billbuxton.com/LessIsMore.html
  • 24. Approaches to “Net Benefit” in Software Systems Integration Solution A: Unlikely Solution A: Intelligence in each system to enable Intelligence in each system to enable due to even more automatic communication & collaboration automatic communication & collaboration complexity therein between systems … aka. Magic between systems … aka. Magic Solution B: Feasible Solution B: Apply principles, standardization, Apply principles, standardization, Apply “less is more” simplification, unification & specifications… simplification, unification & specifications… for greater good aka. Design Constraints aka. Design Constraints
  • 25. Less is More The world wide web works by design, not magic • Few verbs Whole universe of knowledge REST • A few MIME types only clicks away • Uniform resource URI Image: 3D Map of World Wide Web from www.opte.org
  • 26. More or Less? Situations where RPC works way better … Strong Specific System Weak General System Looking for a Presenter? Handy & efficient Overkill & inconvenient Source: http://www.logitech.com/index.cfm/remotes/presentation_remote/devices/175&cl=us,en
  • 27. More or Less? … and REST works positively terribly Try playing piano in a browser or on an iPhone all day … Source: http://www.daniellaberge.com/music/webpiano/webpiano1.htm http://moocowmusic.com/
  • 28. REST or RPC? aka, RUX or RPC-UX Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
  • 29. RUX vs. RPC-UX versus REST vs. RPC RPC-UX RUX • Direct & Efficient • Lower “cognitive load” working with Pros large complex systems • High “cognitive load” operating large • Indirect / inefficient for responsive / Cons complex systems repetitive tasks • Fits specific command-&-control tasks • Fits general tasks Conclusion • Good for power users, professionals … • Good for common users, info seekers… RPC REST • Optimized for specific task • Low technical barrier to entry Pros • Fine-grained control • Massively extensible / scalable • Hidden status & implicit semantics • Performance penalty, hard to customize Cons • Complicated testing & debugging • Coarse-grained control • Fits proprietary mission-critical apps • Fits open resource-oriented apps Conclusion • Costly planning & implementation • Easier planning & implementation
  • 30. UX Classification of iPhone Apps RPC-UX RUX QuickVoice Recorder BrainTeaser Kindle for iPhone FedEx Mobile quot;Purequot; RPC-UX quot;Purequot; RUX RPC REST A given system is usually a balanced combination of RPC-UX & RUX, aka RPC & REST
  • 31. “Pure” RPC vs. “Pure” REST Difference in Aggregated Complexity V R V R N N # of systems integrated V – Verbs (method) R – Representations (media) Low High N – Nouns (object, resource)
  • 32. A Pragmatic Architectural Approach for Large Scale System Integration V R A REST “Core” Some RPC “Deviations” • Governing constraints • Local architecture & principles ARCHITECT • Uniform interfaces & views • Special methods or layouts • Mitigated overall complexity • Optimized local performance DEVELOPER • Clearer global design • Optimized local design • Minimized cognitive load • Optimized local operation USER • Assured common user access • Convenience for power users N
  • 33. The Pragmatic Architectural Approach to Realize “Net Benefit” Tactic Use of RPC (RPC-UX): Tactic Use of RPC (RPC-UX): Strong Specific Approach Specific command, custom configuration, Local Specific command, custom configuration, To strengthen specific tasks non-standard interface, proprietary layout… non-standard interface, proprietary layout… Deviance and power users To optimize specific local designs To optimize specific local designs + + + Strategic Use of REST (RUX): Strategic Use of REST (RUX): Weak General Approach Architectural constraints, standardization, Global Architectural constraints, standardization, For common user access with simplification, convention over configuration… simplification, convention over configuration… Uniformity minimized cognitive load To mitigate overall complexity for design To mitigate overall complexity for design
  • 34. The Result – A Hybrid System Actual System Cognitive Load Strength & Generality Perceived by User Strong specific features atop Strength Strength Threshold of Frustration “Net Benefit” foundation Generality Generality
  • 35. Implications • Complexity should be a decisive factor in architectural design – For small & simple systems, either RPC or REST will work – For large complex system integration: Strategic use of REST + Tactic use of RPC recommended • An actual system architecture should be a reasonable balance of REST + RPC, according to usage nature • Always fight complexity with Architectural Wisdom, not prayers for miracle REST through UX lens
  • 36. Last Not Least Always Picture Your System First … Your System
  • 37. References • Roy T. Fielding’s DISSERTATION – Architectural Styles and the Design of Network-based Software Architectures • Wikipedia: – http://en.wikipedia.org/wiki/Representational_State_Transfer – http://en.wikipedia.org/wiki/User_experience • Bill Buxton: – http://www.billbuxton.com/LessIsMore.html • iPhone App Store – http://www.apple.com/iphone/appstore/
  • 38. “Everything should be made as simple as possible, but not simpler.” Image Source: http://en.wikipedia.org/wiki/File:Albert_Einstein_portrait.jpg