SlideShare a Scribd company logo
1 of 61
Download to read offline
Designing for Web 2.0
Principles and patterns for rich interaction




                                                             Bill Scott
                                                Yahoo! Ajax Evangelist
                                               bscott@yahoo-inc.com



                                                                          1
background




             2
developer.yahoo.com/ypatterns




                                3
surfacing vocabulary




                       4
current patterns




      Alphanumeric Filter Links. Calendar. Breadcrumbs. Module Tabs.
    Navigation Tabs. Auto Complete. Pagination. Item Pagination. Search
    Pagination. Ratings and Reviews. Architecture of a Review. Rating an
    Object. Writing a Review. Drag and Drop. Drag and Drop Modules.
     Transition. Dim. Brighten. Cross Fade. Contract. Expand. Fade In.
      Fade Out. Move. Self-Healing. Slide. Highlight. Invitation. Cursor
      Invitation. Drop Invitation. Tool Tip Invitation. Hover Invitation.




                                                                            5
6
rich patterns
   Drag and Drop. Drag and Drop Modules. In Page Editing. In Page Custom
  Editing. Direct State Editing. Grid Cell Editing. Inline Custom Editing. Inline
    Tag Editing. Popup Custom Editing. Slide-out Custom Editing. Inline Text
    Editing. Persistent Portals. Inline Reordering. Indication. Busy Indication.
    Cursor Busy. In Context Busy. In Context Progress. Inline Status. Auto
    Complete. Balloon Error Tip. Deferred Content Loading. Dynamic Goal.
  Narrowing Choices. Refining Search. Live Search. Dynamic Filter. Invitation.
Cursor Invitation. Drop Invitation. Tool Tip Invitation. Hover Invitation. Detail
Zoom. Opacity Focus. Configurable Module - Faceplate. Configurable Module
 - Flip It. Configurable Module - Inline Configure. Configurable Module - Slide
   Out Drawer. Slide Out. Flip. Opacity Fade. Endless Scrolling. Expandable
  Paging Boundary. Fresh Content. Hover Detail. In Place Drill Down. Inline
     Assistant. Inline Validation. Validate Then Suggest. On Demand Refresh.
Periodic Refresh. Resizable Modules. Scrolling Modules. Auto Save. In Context
  Tools. Remembered Collection. Remembered Preferences. Auto Form Fill.
 Rating an Object. Transition. Brighten Transition. Cross Fade Transition. Dim
   Transition. Expand Transition. Fade In Transition. Fade Out Transition. Flip
 Transition. Move Transition. Self-Healing Transition. Collapse Transition. Slide
              Transition. Rich Internet Object. Available. Selected.

                                                                                    7
classic model. rich model.

                         Http
   My Profile
                       Response

                                  Server
   Photo
   Name    Joe Smith
   Name
  Gender   Male
  Gender
     Age   27
     Age
                        Http
              Submit
               Edit
                       Request




  My Profile




                                  Server
                        XHR
   Name    Joe Smith
                        Object
           Tim Jones
  Gender   Male
     Age   27
              Save




                                           8
interaction. feedback. information.


                         page

    Interaction

                  Info
                                Info


     Feedback


       refresh boundary




                                       9
interaction + feedback + information = richness



    Interaction


                  Info

     Feedback




                                                  10
Interaction     Feedback       Info




   design principles for richness




                                      11
Interaction            Feedback        Info




              interaction principles




                                              12
principle. make it direct.



   pattern. in-page action.




                                pattern. inline editing.




pattern. drag & drop.           pattern. in-context tools.


                                                             13
make it direct

Inline Editing
Use inline forms where possible
Use lightweight popups for ancillary
information




                                                        14
make it direct



      In-context tools
    Same as context menus
Only good for single objects
Can actually slow you down




                               15
make it direct




Use Drag & Drop where appropriate
           Not for simply setting an attribute
    Don’t construct artificial visual constructs




                                                  16
make it direct




Use Drag & Drop where appropriate
           Not for simply setting an attribute
    Don’t construct artificial visual constructs
 Good for layout changes (Needs transitions)



                                                  17
make it direct




Use Drag & Drop where appropriate
           Not for simply setting an attribute
    Don’t construct artificial visual constructs
 Good for layout changes (Needs transitions)
                    Good for grabbing items


                                                  18
make it direct
                                                                                                                          Drag and Drop Modules - Interesting Moments Grid

                                                                                         ID: Bill Scott & Eric Miraglia                                                                                                                            Date:
                        Currently on beta.my.yahoo.com                                                                                                                                                                                                                             Nov-0

                Mouse                                                                                         Drag Over                                 Drag Over                         Drag Over                                  Drop                             Drop
                Hover                     Mouse Down                    Drag Initiated                       Valid Target                             Invalid Target                   Parent Container                            Accepted                         Rejected

    Cursor

              CSS Move cursor Move cursor
                           CSS                            CSS Move cursor                     CSS Move cursor                            CSS Move cursor                   CSS Move cursor                            Normal Cursor                        Normal Cursor                 N
   Tool Tip



Drag Object




                                                                                                                                                                                                                      Modules animates into the area       Modules animates back to      M
                           Full Opacity                   Reduced Opacity                     Reduced Opacity                            Reduced Opacity & Invalid Badge   Reduced Opacity                            just below insertion bar             the home area                 t




                                                                                                                                                                                                                      Module comes to rest in new          Module comes back to rest     M
                                                                                                                                                                                                                      area                                 at full opacity               r




                                                                                                                                                                                                                      Modules slide up in a self-healing
                                                                                                                                                                                                                      transition to close hole

Drop Target




                                                                                                                                                                                                                                                                                         I
                                                                                                                                                                                                                       Insertion bar is removed as first   Insertion bar is removed      a
                           No insertion bar, just a gap   No insertion bar, just a gap        Insertion bar showing where it will drop   No insertion bar, just a gap      No insertion bar, just a gap & original holeframe of animation                  as first frame of animation   a




              Take care of the interesting moments




                                                                                                                                                                                                                                                                                 19
Drag and Drop Modules - Interesting Moments Grid

            ID: Bill Scott & Eric Miraglia                                                                                                                            Date:

                                 Drag Over                                 Drag Over                         Drag Over                                  Drop
Initiated                       Valid Target                             Invalid Target                   Parent Container                            Accepted



                 CSS Move cursor                            CSS Move cursor                   CSS Move cursor                            Normal Cursor                        N




                                                                                                                                         Modules animates into the area       M
                 Reduced Opacity                            Reduced Opacity & Invalid Badge   Reduced Opacity                            just below insertion bar             t




                                                                                                                                         Module comes to rest in new          M
                                                                                                                                         area                                 a




                                                                                                                                         Modules slide up in a self-healing
                                                                                                                                         transition to close hole




                                                                                                                                          Insertion bar is removed as first   I
t a gap          Insertion bar showing where it will drop   No insertion bar, just a gap      No insertion bar, just a gap & original holeframe of animation                  a
                                                                                                                                                                         20
21
principle. keep a light footprint.
                                     pattern. rating an object.
pattern. in page action.




pattern. remembered collections.

                                                                  22
keep a light footprint

Remove the “pain points”
Shorten the path
Keep actions immediate and light
Use hover, blur, focus; avoid heavy events




                                                                      23
keep a light footprint



Design for engagement
  Use invitations & feedback
 Treat it like an impusle aisle
              Do it in context




                                  24
principle. cross borders reluctantly.
pattern. on-demand scrolling.                                    pattern. inline assistant.
                                pattern. in-context expand.




pattern. hover details.                              pattern. lightweight popup + lightbox.




                                                                                              25
cross borders reluctantly

Rethink process flows
It’s the user’s mental model, not the page model
Every page jump is a mental speed bump




                                                                               26
cross borders reluctantly



             Re-think paging
   Use scrolling for “owned” data
Watch out for dual scroll bar issue
     Hybrid of paging & scrolling




                                      27
cross borders relunctantly




                              Use Overlays
                         For more information
                       Replace page transition
When editing an individual, more complex item
                               Be symmetrical
                   Try not to disturb the page

                                                 28
29
cross borders relunctantly




Use in-context expands
For editing part of a collection
Need to see surrounding context
For managing content modules




                                                                30
cross borders relunctantly

Use real-estate creatively
Use slideouts
Use in-place zoom
Remember the backstage




                                                          31
key principle                     Interaction




               prefer direct,
                lightweight,
            in-page interaction




                                                32
Interaction          Feedback       Info




              feedback principles




                                           33
principle. give live feedback.
pattern. live suggest.                               pattern. periodic refresh.




pattern. auto complete.




                          pattern. busy indicator.




                          pattern. live previews.




                                                                                  34
give live feedback

Keep the goal in mind
Design for relevancy
Is it narrowing or distracting




                                                      35
give live feedback

Keep the goal in mind
Design for relevancy
Is it narrowing or distracting?
Use feedback to boost confidence
Let the user iterate where possible




                                                           36
give live feedback



        Shape user perception
                Make time pass faster
Make application feel more responsive




                                        37
give live feedback




                      Prevent errors before-hand
Ounce of preventive design worth pound of error-handling
                                   Look before you leap
                                      Use live-previews



                                                            38
give live feedback




 Let the user iterate where possible




Keep feedback focused
Use laws of proximity in context feedback
Respect feedback bandwidth
Avoid side-noise (periphial distractions)




                                                                 39
give live feedback




Keep feedback focused
Use laws of proximity in context feedback
Respect feedback bandwidth
Avoid side-noise (periphial distractions)
Use nuance



                                                                 40
principle. offer an invitation.
pattern. hover invitation.        pattern. drop invitation.




pattern. tour invitation.




pattern. tooltip invitation + hover invitation + cursor invitation.




                                                                      41
offer an invitation

Discoverability
No easy answer
Use the hover to reveal interaction
Use the familar to teach the new
Tours are generally a band-aid
Can’t flag all interactions




                                                            42
offer an invitation



Bridge the new with the old
            Hyperlinks as actions
             Reveal with hovers
              Drop down clues




                                      43
offer an invitation




              Make it inviting
       Treat it as a welcome mat
Use hover, cursor, tooltip, and page
             Keep the noise down



                                       44
offer an invitation




Keep actions out of it
Let the user feel free to explore
Don’t proselytize




                                                          45
principle. show transitions.
pattern. fade transition + self-healing transition.




                                                      pattern. zoom box.
pattern. slide transition.




pattern. active spotlight.




                                                                           46
show transitions

Speak to the brain
Understanding attention processing




                                                        47
show transitions

Speak to the brain
Understanding attention processing
Sending the wrong message




                                                        48
show transitions



What you can communicate...
                      Speed up time
              Slow down interaction
                  Show state change
 Show relationships between objects
                     Focus attention




                                       49
show transitions




               Keep it sane
 “Cut it in-half ” rule of thumb
Use “contrast knob” approach
                  Don’t overuse



                                   50
key principle                     Feedback




    Provide invitations beforehand,
          transitions during,
    and feedback after interaction




                                             51
Interaction            Feedback        Info




              information principles




                                              52
principle. think in objects.




pattern. shareable object.




                               53
think in objects




                   54
principle. tie information to interactivity.




pattern. multi-variate views.




                                               55
tie information to interactivity

Think “deeper interaction”
Multi-variate data
focus + context




                                                                56
tie information to interactivity

Think “deeper interaction”
Multi-variate data
focus + context
Interesting relationships




                                                                57
tie information to interactivity

Think “deeper interaction”
Multi-variate data
focus + context
Interesting relationships
Just-in-time information




                                                                58
key principle                       Info




         Think in objects,
 tie information to interactivity




                                           59
key principles for richness


               Prefer direct, lightweight, in-page interactions
 Interaction




               Provide invitations beforehand,
 Feedback
               transitions during and feedback after interaction


               Think in objects and
    Info
               tie information to interactivity



                                                                   60
pattern library.	developer.yahoo.com/ypatterns/
                 xian@yahoo-inc.com (Christian Crumlish)
yahoo! blog.	 yuiblog.com
my blog.	 	 looksgoodworkswell.com
this prez.	 	 billwscott.com/share/presentations/2007/mix07/




                                                               61

More Related Content

Viewers also liked

Building an Interactive Community Platform with ASP.NET
Building an Interactive Community Platform with ASP.NETBuilding an Interactive Community Platform with ASP.NET
Building an Interactive Community Platform with ASP.NETgoodfriday
 
Expression Web Designer Overview
Expression Web Designer OverviewExpression Web Designer Overview
Expression Web Designer Overviewgoodfriday
 
The Business of Microsoft Silverlight
The Business of Microsoft SilverlightThe Business of Microsoft Silverlight
The Business of Microsoft Silverlightgoodfriday
 
Securing Web Applications
Securing Web ApplicationsSecuring Web Applications
Securing Web Applicationsgoodfriday
 
OL EasterHolidayPlanner3-09
OL EasterHolidayPlanner3-09OL EasterHolidayPlanner3-09
OL EasterHolidayPlanner3-09goodfriday
 

Viewers also liked (6)

Easter 2
Easter 2Easter 2
Easter 2
 
Building an Interactive Community Platform with ASP.NET
Building an Interactive Community Platform with ASP.NETBuilding an Interactive Community Platform with ASP.NET
Building an Interactive Community Platform with ASP.NET
 
Expression Web Designer Overview
Expression Web Designer OverviewExpression Web Designer Overview
Expression Web Designer Overview
 
The Business of Microsoft Silverlight
The Business of Microsoft SilverlightThe Business of Microsoft Silverlight
The Business of Microsoft Silverlight
 
Securing Web Applications
Securing Web ApplicationsSecuring Web Applications
Securing Web Applications
 
OL EasterHolidayPlanner3-09
OL EasterHolidayPlanner3-09OL EasterHolidayPlanner3-09
OL EasterHolidayPlanner3-09
 

Similar to Designing Rich Web Interaction

Oracle Brownbag Patterns.Key
Oracle Brownbag Patterns.KeyOracle Brownbag Patterns.Key
Oracle Brownbag Patterns.Keygueste8cc560
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingBill Scott
 
Crafting Rich Web Experiences
Crafting Rich Web ExperiencesCrafting Rich Web Experiences
Crafting Rich Web Experiencesrajivmordani
 
Designing Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastDesigning Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastBill Scott
 
Designing Ajax Principles And Patterns For Designing Rich Internet Appl...
Designing  Ajax  Principles And  Patterns For Designing  Rich  Internet  Appl...Designing  Ajax  Principles And  Patterns For Designing  Rich  Internet  Appl...
Designing Ajax Principles And Patterns For Designing Rich Internet Appl...Manikanda kumar
 
Antipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experienceAntipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experienceinteractionpatterns.org
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web InterfacesBill Scott
 
Anti Patterns2008
Anti Patterns2008Anti Patterns2008
Anti Patterns2008Ross Lawley
 
Responsive Experience Design (RXD): A holistic approach to web - UXDEV Summit
Responsive Experience Design (RXD): A holistic approach to web - UXDEV SummitResponsive Experience Design (RXD): A holistic approach to web - UXDEV Summit
Responsive Experience Design (RXD): A holistic approach to web - UXDEV SummitMike Donahue
 
SharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesSharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesNicolePullin
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampBill Scott
 
Sensus Uses Liferay to Strengthen Their Global Web Presence
Sensus Uses Liferay to Strengthen Their Global Web PresenceSensus Uses Liferay to Strengthen Their Global Web Presence
Sensus Uses Liferay to Strengthen Their Global Web Presencerivetlogic
 
Running Great Design Reviews With Clients & Partners
Running Great Design Reviews With Clients & PartnersRunning Great Design Reviews With Clients & Partners
Running Great Design Reviews With Clients & PartnersCraig Peters
 
RIA Patterns - Best Practices for Common Patterns of Rich Interaction
RIA Patterns - Best Practices for Common Patterns of Rich InteractionRIA Patterns - Best Practices for Common Patterns of Rich Interaction
RIA Patterns - Best Practices for Common Patterns of Rich Interactioninteractionpatterns.org
 
Designinginterestingmoments 090918130401-phpapp01
Designinginterestingmoments 090918130401-phpapp01Designinginterestingmoments 090918130401-phpapp01
Designinginterestingmoments 090918130401-phpapp01Shivam Prajapati
 
Getting started with smart notebook and next steps
Getting started with smart notebook and next stepsGetting started with smart notebook and next steps
Getting started with smart notebook and next stepsAdam Caplan
 

Similar to Designing Rich Web Interaction (20)

Bill Scott Presentation
Bill Scott PresentationBill Scott Presentation
Bill Scott Presentation
 
Vocabulary Of Patterns
Vocabulary Of PatternsVocabulary Of Patterns
Vocabulary Of Patterns
 
Oracle Brownbag Patterns.Key
Oracle Brownbag Patterns.KeyOracle Brownbag Patterns.Key
Oracle Brownbag Patterns.Key
 
Ap Ams Bill
Ap Ams BillAp Ams Bill
Ap Ams Bill
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scripting
 
Crafting Rich Web Experiences
Crafting Rich Web ExperiencesCrafting Rich Web Experiences
Crafting Rich Web Experiences
 
Designing Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastDesigning Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly Webcast
 
Designing Ajax Principles And Patterns For Designing Rich Internet Appl...
Designing  Ajax  Principles And  Patterns For Designing  Rich  Internet  Appl...Designing  Ajax  Principles And  Patterns For Designing  Rich  Internet  Appl...
Designing Ajax Principles And Patterns For Designing Rich Internet Appl...
 
Antipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experienceAntipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experience
 
RIA
RIARIA
RIA
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
 
Anti Patterns2008
Anti Patterns2008Anti Patterns2008
Anti Patterns2008
 
Responsive Experience Design (RXD): A holistic approach to web - UXDEV Summit
Responsive Experience Design (RXD): A holistic approach to web - UXDEV SummitResponsive Experience Design (RXD): A holistic approach to web - UXDEV Summit
Responsive Experience Design (RXD): A holistic approach to web - UXDEV Summit
 
SharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesSharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common Mistakes
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code Camp
 
Sensus Uses Liferay to Strengthen Their Global Web Presence
Sensus Uses Liferay to Strengthen Their Global Web PresenceSensus Uses Liferay to Strengthen Their Global Web Presence
Sensus Uses Liferay to Strengthen Their Global Web Presence
 
Running Great Design Reviews With Clients & Partners
Running Great Design Reviews With Clients & PartnersRunning Great Design Reviews With Clients & Partners
Running Great Design Reviews With Clients & Partners
 
RIA Patterns - Best Practices for Common Patterns of Rich Interaction
RIA Patterns - Best Practices for Common Patterns of Rich InteractionRIA Patterns - Best Practices for Common Patterns of Rich Interaction
RIA Patterns - Best Practices for Common Patterns of Rich Interaction
 
Designinginterestingmoments 090918130401-phpapp01
Designinginterestingmoments 090918130401-phpapp01Designinginterestingmoments 090918130401-phpapp01
Designinginterestingmoments 090918130401-phpapp01
 
Getting started with smart notebook and next steps
Getting started with smart notebook and next stepsGetting started with smart notebook and next steps
Getting started with smart notebook and next steps
 

More from goodfriday

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052goodfriday
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 eastergoodfriday
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009goodfriday
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swimgoodfriday
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092goodfriday
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009goodfriday
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009goodfriday
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Currentgoodfriday
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newslettergoodfriday
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009goodfriday
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09goodfriday
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09goodfriday
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009goodfriday
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendargoodfriday
 

More from goodfriday (20)

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 
Triunemar05
Triunemar05Triunemar05
Triunemar05
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
 
April2009
April2009April2009
April2009
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
 
Easter2009
Easter2009Easter2009
Easter2009
 
Bulletin
BulletinBulletin
Bulletin
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Designing Rich Web Interaction

  • 1. Designing for Web 2.0 Principles and patterns for rich interaction Bill Scott Yahoo! Ajax Evangelist bscott@yahoo-inc.com 1
  • 5. current patterns Alphanumeric Filter Links. Calendar. Breadcrumbs. Module Tabs. Navigation Tabs. Auto Complete. Pagination. Item Pagination. Search Pagination. Ratings and Reviews. Architecture of a Review. Rating an Object. Writing a Review. Drag and Drop. Drag and Drop Modules. Transition. Dim. Brighten. Cross Fade. Contract. Expand. Fade In. Fade Out. Move. Self-Healing. Slide. Highlight. Invitation. Cursor Invitation. Drop Invitation. Tool Tip Invitation. Hover Invitation. 5
  • 6. 6
  • 7. rich patterns Drag and Drop. Drag and Drop Modules. In Page Editing. In Page Custom Editing. Direct State Editing. Grid Cell Editing. Inline Custom Editing. Inline Tag Editing. Popup Custom Editing. Slide-out Custom Editing. Inline Text Editing. Persistent Portals. Inline Reordering. Indication. Busy Indication. Cursor Busy. In Context Busy. In Context Progress. Inline Status. Auto Complete. Balloon Error Tip. Deferred Content Loading. Dynamic Goal. Narrowing Choices. Refining Search. Live Search. Dynamic Filter. Invitation. Cursor Invitation. Drop Invitation. Tool Tip Invitation. Hover Invitation. Detail Zoom. Opacity Focus. Configurable Module - Faceplate. Configurable Module - Flip It. Configurable Module - Inline Configure. Configurable Module - Slide Out Drawer. Slide Out. Flip. Opacity Fade. Endless Scrolling. Expandable Paging Boundary. Fresh Content. Hover Detail. In Place Drill Down. Inline Assistant. Inline Validation. Validate Then Suggest. On Demand Refresh. Periodic Refresh. Resizable Modules. Scrolling Modules. Auto Save. In Context Tools. Remembered Collection. Remembered Preferences. Auto Form Fill. Rating an Object. Transition. Brighten Transition. Cross Fade Transition. Dim Transition. Expand Transition. Fade In Transition. Fade Out Transition. Flip Transition. Move Transition. Self-Healing Transition. Collapse Transition. Slide Transition. Rich Internet Object. Available. Selected. 7
  • 8. classic model. rich model. Http My Profile Response Server Photo Name Joe Smith Name Gender Male Gender Age 27 Age Http Submit Edit Request My Profile Server XHR Name Joe Smith Object Tim Jones Gender Male Age 27 Save 8
  • 9. interaction. feedback. information. page Interaction Info Info Feedback refresh boundary 9
  • 10. interaction + feedback + information = richness Interaction Info Feedback 10
  • 11. Interaction Feedback Info design principles for richness 11
  • 12. Interaction Feedback Info interaction principles 12
  • 13. principle. make it direct. pattern. in-page action. pattern. inline editing. pattern. drag & drop. pattern. in-context tools. 13
  • 14. make it direct Inline Editing Use inline forms where possible Use lightweight popups for ancillary information 14
  • 15. make it direct In-context tools Same as context menus Only good for single objects Can actually slow you down 15
  • 16. make it direct Use Drag & Drop where appropriate Not for simply setting an attribute Don’t construct artificial visual constructs 16
  • 17. make it direct Use Drag & Drop where appropriate Not for simply setting an attribute Don’t construct artificial visual constructs Good for layout changes (Needs transitions) 17
  • 18. make it direct Use Drag & Drop where appropriate Not for simply setting an attribute Don’t construct artificial visual constructs Good for layout changes (Needs transitions) Good for grabbing items 18
  • 19. make it direct Drag and Drop Modules - Interesting Moments Grid ID: Bill Scott & Eric Miraglia Date: Currently on beta.my.yahoo.com Nov-0 Mouse Drag Over Drag Over Drag Over Drop Drop Hover Mouse Down Drag Initiated Valid Target Invalid Target Parent Container Accepted Rejected Cursor CSS Move cursor Move cursor CSS CSS Move cursor CSS Move cursor CSS Move cursor CSS Move cursor Normal Cursor Normal Cursor N Tool Tip Drag Object Modules animates into the area Modules animates back to M Full Opacity Reduced Opacity Reduced Opacity Reduced Opacity & Invalid Badge Reduced Opacity just below insertion bar the home area t Module comes to rest in new Module comes back to rest M area at full opacity r Modules slide up in a self-healing transition to close hole Drop Target I Insertion bar is removed as first Insertion bar is removed a No insertion bar, just a gap No insertion bar, just a gap Insertion bar showing where it will drop No insertion bar, just a gap No insertion bar, just a gap & original holeframe of animation as first frame of animation a Take care of the interesting moments 19
  • 20. Drag and Drop Modules - Interesting Moments Grid ID: Bill Scott & Eric Miraglia Date: Drag Over Drag Over Drag Over Drop Initiated Valid Target Invalid Target Parent Container Accepted CSS Move cursor CSS Move cursor CSS Move cursor Normal Cursor N Modules animates into the area M Reduced Opacity Reduced Opacity & Invalid Badge Reduced Opacity just below insertion bar t Module comes to rest in new M area a Modules slide up in a self-healing transition to close hole Insertion bar is removed as first I t a gap Insertion bar showing where it will drop No insertion bar, just a gap No insertion bar, just a gap & original holeframe of animation a 20
  • 21. 21
  • 22. principle. keep a light footprint. pattern. rating an object. pattern. in page action. pattern. remembered collections. 22
  • 23. keep a light footprint Remove the “pain points” Shorten the path Keep actions immediate and light Use hover, blur, focus; avoid heavy events 23
  • 24. keep a light footprint Design for engagement Use invitations & feedback Treat it like an impusle aisle Do it in context 24
  • 25. principle. cross borders reluctantly. pattern. on-demand scrolling. pattern. inline assistant. pattern. in-context expand. pattern. hover details. pattern. lightweight popup + lightbox. 25
  • 26. cross borders reluctantly Rethink process flows It’s the user’s mental model, not the page model Every page jump is a mental speed bump 26
  • 27. cross borders reluctantly Re-think paging Use scrolling for “owned” data Watch out for dual scroll bar issue Hybrid of paging & scrolling 27
  • 28. cross borders relunctantly Use Overlays For more information Replace page transition When editing an individual, more complex item Be symmetrical Try not to disturb the page 28
  • 29. 29
  • 30. cross borders relunctantly Use in-context expands For editing part of a collection Need to see surrounding context For managing content modules 30
  • 31. cross borders relunctantly Use real-estate creatively Use slideouts Use in-place zoom Remember the backstage 31
  • 32. key principle Interaction prefer direct, lightweight, in-page interaction 32
  • 33. Interaction Feedback Info feedback principles 33
  • 34. principle. give live feedback. pattern. live suggest. pattern. periodic refresh. pattern. auto complete. pattern. busy indicator. pattern. live previews. 34
  • 35. give live feedback Keep the goal in mind Design for relevancy Is it narrowing or distracting 35
  • 36. give live feedback Keep the goal in mind Design for relevancy Is it narrowing or distracting? Use feedback to boost confidence Let the user iterate where possible 36
  • 37. give live feedback Shape user perception Make time pass faster Make application feel more responsive 37
  • 38. give live feedback Prevent errors before-hand Ounce of preventive design worth pound of error-handling Look before you leap Use live-previews 38
  • 39. give live feedback Let the user iterate where possible Keep feedback focused Use laws of proximity in context feedback Respect feedback bandwidth Avoid side-noise (periphial distractions) 39
  • 40. give live feedback Keep feedback focused Use laws of proximity in context feedback Respect feedback bandwidth Avoid side-noise (periphial distractions) Use nuance 40
  • 41. principle. offer an invitation. pattern. hover invitation. pattern. drop invitation. pattern. tour invitation. pattern. tooltip invitation + hover invitation + cursor invitation. 41
  • 42. offer an invitation Discoverability No easy answer Use the hover to reveal interaction Use the familar to teach the new Tours are generally a band-aid Can’t flag all interactions 42
  • 43. offer an invitation Bridge the new with the old Hyperlinks as actions Reveal with hovers Drop down clues 43
  • 44. offer an invitation Make it inviting Treat it as a welcome mat Use hover, cursor, tooltip, and page Keep the noise down 44
  • 45. offer an invitation Keep actions out of it Let the user feel free to explore Don’t proselytize 45
  • 46. principle. show transitions. pattern. fade transition + self-healing transition. pattern. zoom box. pattern. slide transition. pattern. active spotlight. 46
  • 47. show transitions Speak to the brain Understanding attention processing 47
  • 48. show transitions Speak to the brain Understanding attention processing Sending the wrong message 48
  • 49. show transitions What you can communicate... Speed up time Slow down interaction Show state change Show relationships between objects Focus attention 49
  • 50. show transitions Keep it sane “Cut it in-half ” rule of thumb Use “contrast knob” approach Don’t overuse 50
  • 51. key principle Feedback Provide invitations beforehand, transitions during, and feedback after interaction 51
  • 52. Interaction Feedback Info information principles 52
  • 53. principle. think in objects. pattern. shareable object. 53
  • 55. principle. tie information to interactivity. pattern. multi-variate views. 55
  • 56. tie information to interactivity Think “deeper interaction” Multi-variate data focus + context 56
  • 57. tie information to interactivity Think “deeper interaction” Multi-variate data focus + context Interesting relationships 57
  • 58. tie information to interactivity Think “deeper interaction” Multi-variate data focus + context Interesting relationships Just-in-time information 58
  • 59. key principle Info Think in objects, tie information to interactivity 59
  • 60. key principles for richness Prefer direct, lightweight, in-page interactions Interaction Provide invitations beforehand, Feedback transitions during and feedback after interaction Think in objects and Info tie information to interactivity 60
  • 61. pattern library. developer.yahoo.com/ypatterns/ xian@yahoo-inc.com (Christian Crumlish) yahoo! blog. yuiblog.com my blog. looksgoodworkswell.com this prez. billwscott.com/share/presentations/2007/mix07/ 61