SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie Designing with AJAX: Yahoo! Pattern Library

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
 

Ähnlich wie Designing with AJAX: Yahoo! Pattern Library (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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...
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Designing with AJAX: Yahoo! Pattern Library

  • 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