SlideShare a Scribd company logo
1 of 67
Using AJAX to enhance your online user experience Web 2.0 Conference Presenter - Tania Lang 8 th  October 2009 Improving user performance
Who am I to talk about AJAX? ,[object Object],[object Object]
What is AJAX?  AJAX: Asynchronous JavaScript and XML … exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time.” Wikipedia ,[object Object]
Does AJAX provide a performance gain? …  no need to wait for pages to refresh It can improve efficiency and save users time…
 
 
User engagement ,[object Object],[object Object]
 
Using AJAX  to apply heuristics and interaction design principles
[object Object],Consistency & standards … use AJAX to replicate desktop applications and behaviour
 
[object Object],Help and user support … Use AJAX to provide inline help, support, instructions and additional information when needed Instructions for use of the system should be visible or easily retrievable Recognition rather than recall
 
Visibility of system status ,[object Object],… Use AJAX to provide immediate feedback for user actions Photo by Flickr user  Criterion  CC
 
 
[object Object],Aesthetic and minimalist design … use AJAX and progressive disclosure to show or request information relevant to the user  Photo by Flickr user  John Morton  CC
 
Progressive disclosure example - PBS
... use AJAX to allow users to add their own filters to sift out information not relevant to them
 
Help users recognize, diagnose, and recover from errors… … use AJAX to do server-side validation as users type into the form and provide error messages as soon as they occur
 
Example Budget Direct ,[object Object]
But AJAX is not all roses
DEVELOPERS WORKING ON SITE
Technical issues  ,[object Object],[object Object],[object Object],[object Object]
Search engine I don’t like AJAX Can affect search engine optimisation as search engines can’t find dynamically generated content
AJAX sites may break users’ mental models
 
Accessibility issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Common User Behaviour Observed during usability test sessions
Common User Behaviour ,[object Object]
 
#2 - Use of AJAX sites raises user expectations ,[object Object],Photo by Flickr user  Jrsquee  CC
[after unsuccessfully trying to click and drag the map to reposition it] “ I thought it would work like Google maps?”   Indicative quote
Imagine you are going on a holiday and need travel insurance
 
[object Object],[after waiting several seconds and the page changing state] “ Is something happening?”   [after changing an option and not noticing the total price change…] “ I guess that may affect the price?”
Visual acuity plays a big part… ,[object Object],[object Object],[object Object],[object Object],[object Object],… the capacity of the eye to discriminate fine detail
8 cm
iPhone screenshot ,[object Object],… What do I do now?
#4 - When completing forms, users often jump ahead to the next field… … as they are not expecting another field to appear Photo by Flickr user  tumsdebab  CC
[after receiving several error messages and missing fields that had dynamically appeared] “ I can’t believe I missed all of these fields. I must have scrolled down or something?”  Listen to what one user had to say…
#5 – Users don’t like to wait… = … especially after each field input  … please wait
[after a progress indicator appeared for a couple of seconds after each field entry…] “ Now I am ready to choke it… … they’re not serious are they?... … this doesn’t go on through the whole thing?” Listen to what other users had to say…
Implementation guidelines Overcoming some of these problems
AJAX – Implementation guidelines ,[object Object],[object Object],[object Object],[object Object],[object Object]
Yes, Ajax can be made Accessible? ,[object Object],WAI-ARIA defines the techniques to make dynamic web content and web applications accessible to people with disabilities
Yes, Ajax can be made Accessible? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How can ARIA help? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accessible AJAX/RIA requirements ,[object Object],[object Object],[object Object],[object Object],[object Object]
Challenges/Issues in implementing ARIA ,[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX – Implementation guidelines ,[object Object],[object Object],[object Object],[object Object]
AJAX – Implementation guidelines Ensure Browser buttons work how users expect e.g. Back button… … The Back button is fixable but must be remembered in the design
AJAX – Implementation guidelines Provide users with clear and visible feedback for every user action… … Use spotlight transition (“Yellow Fade Technique”) to show subtle changes in the page state then fade it out within a second http://developer.yahoo.com/ypatterns/richinteraction/transition/spotlight.html
 
AJAX – Implementation guidelines ,[object Object],Source: http://www.uie.com/articles/visible_narratives ,[object Object],Source: http://www.uie.com/articles/visible_narratives
How could you improve this page?
AJAX – Implementation guidelines Ask if AJAX is appropriate for each page. ,[object Object],[object Object],[object Object],[object Object],[object Object],Don’t use:
AJAX – Implementation guidelines Don’t eliminate acceptance (Forgiveness principle)… … allow users to explore, edit and add info, without committing to the change and return to the original state  Photo by Flickr user  Kevin Dooley  CC
AJAX – Implementation guidelines Make it fast!  Minimise traffic between browser and server so that the user feels the application is responsive… ...Don’t make the user wait longer for AJAX - responsiveness is generally more important to user experience than benefits of AJAX
AJAX – Implementation guidelines ,[object Object],[object Object]
AJAX – Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remember ‘AJAX is a tool not a toy’
If there is no performance gain for the user, don’t risk the side effects of AJAX!
Questions? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

User Experience Design in context of Graphic Design
User Experience Design in context of Graphic DesignUser Experience Design in context of Graphic Design
User Experience Design in context of Graphic DesignJiri Jerabek
 
responsive web design and user experience
responsive web design and user experienceresponsive web design and user experience
responsive web design and user experienceMauro Pellegrini
 
UXD – What is User Experience Design?
UXD – What is User Experience Design?UXD – What is User Experience Design?
UXD – What is User Experience Design?Technosiss
 
User Experience Design
User Experience DesignUser Experience Design
User Experience DesignJustin Lee
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slidesSmithss25
 
Visualising the User Experience
Visualising the User ExperienceVisualising the User Experience
Visualising the User ExperienceGrant Robinson
 
Typography and User Experience in Web Design
Typography and User Experience in Web DesignTypography and User Experience in Web Design
Typography and User Experience in Web DesignSara Cannon
 
User Experience Design: The Missing Ingredient
User Experience Design: The Missing IngredientUser Experience Design: The Missing Ingredient
User Experience Design: The Missing IngredientTom Nunes
 

Viewers also liked (10)

User Experience Design in context of Graphic Design
User Experience Design in context of Graphic DesignUser Experience Design in context of Graphic Design
User Experience Design in context of Graphic Design
 
Web 2.0 & Ajax Basics
Web 2.0 & Ajax BasicsWeb 2.0 & Ajax Basics
Web 2.0 & Ajax Basics
 
responsive web design and user experience
responsive web design and user experienceresponsive web design and user experience
responsive web design and user experience
 
UXD – What is User Experience Design?
UXD – What is User Experience Design?UXD – What is User Experience Design?
UXD – What is User Experience Design?
 
User Experience Design
User Experience DesignUser Experience Design
User Experience Design
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
 
Visualising the User Experience
Visualising the User ExperienceVisualising the User Experience
Visualising the User Experience
 
Typography and User Experience in Web Design
Typography and User Experience in Web DesignTypography and User Experience in Web Design
Typography and User Experience in Web Design
 
User Experience Design: The Missing Ingredient
User Experience Design: The Missing IngredientUser Experience Design: The Missing Ingredient
User Experience Design: The Missing Ingredient
 
Ajax.ppt
Ajax.pptAjax.ppt
Ajax.ppt
 

Similar to Using Ajax to improve your user experience at Web Directions South 2009

AJAX Patterns with ASP.NET
AJAX Patterns with ASP.NETAJAX Patterns with ASP.NET
AJAX Patterns with ASP.NETgoodfriday
 
Making RIAs Accessible - Spring Break 2008
Making RIAs Accessible - Spring Break 2008Making RIAs Accessible - Spring Break 2008
Making RIAs Accessible - Spring Break 2008Andrea Hill
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designersshank
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationPlacinta Alin
 
When to use Ajax
When to use AjaxWhen to use Ajax
When to use Ajaxmikepadilla
 
Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Emagination ®
 
Intelligent Mashups
Intelligent MashupsIntelligent Mashups
Intelligent Mashupsgiurca
 
JavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern ImplementationJavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern Implementationdavejohnson
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane MorrisShane Morris
 
Mobile Ajax Workshop
Mobile Ajax WorkshopMobile Ajax Workshop
Mobile Ajax WorkshopBryan Rieger
 
Ajax Y Accesibilidad
Ajax Y AccesibilidadAjax Y Accesibilidad
Ajax Y Accesibilidaddatole
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)patrick.t.joyce
 
V Legakis Presentation
V Legakis PresentationV Legakis Presentation
V Legakis PresentationVLegakis
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web appSholto Maud
 

Similar to Using Ajax to improve your user experience at Web Directions South 2009 (20)

AJAX Patterns with ASP.NET
AJAX Patterns with ASP.NETAJAX Patterns with ASP.NET
AJAX Patterns with ASP.NET
 
Making RIAs Accessible - Spring Break 2008
Making RIAs Accessible - Spring Break 2008Making RIAs Accessible - Spring Break 2008
Making RIAs Accessible - Spring Break 2008
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designers
 
TPR4
TPR4TPR4
TPR4
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client application
 
When to use Ajax
When to use AjaxWhen to use Ajax
When to use Ajax
 
Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009
 
Intelligent Mashups
Intelligent MashupsIntelligent Mashups
Intelligent Mashups
 
JavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern ImplementationJavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern Implementation
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
Mobile Ajax Workshop
Mobile Ajax WorkshopMobile Ajax Workshop
Mobile Ajax Workshop
 
Presentation1
Presentation1Presentation1
Presentation1
 
Ajax Y Accesibilidad
Ajax Y AccesibilidadAjax Y Accesibilidad
Ajax Y Accesibilidad
 
ajax
ajaxajax
ajax
 
Chapter 7)
Chapter 7)Chapter 7)
Chapter 7)
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
 
V Legakis Presentation
V Legakis PresentationV Legakis Presentation
V Legakis Presentation
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 

Recently uploaded

UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...RitikaRoy32
 
2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptxsuhanimunjal27
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdshivubhavv
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Servicearoranaina404
 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Delhi Call girls
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...BarusRa
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...Call Girls in Nagpur High Profile
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation decktbatkhuu1
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...Call Girls in Nagpur High Profile
 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funneljen_giacalone
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 

Recently uploaded (20)

UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
 
2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx2-tool presenthdbdbdbdbddhdhddation.pptx
2-tool presenthdbdbdbdbddhdhddation.pptx
 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcd
 
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 
B. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdfB. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdf
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funnel
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 

Using Ajax to improve your user experience at Web Directions South 2009

  • 1. Using AJAX to enhance your online user experience Web 2.0 Conference Presenter - Tania Lang 8 th October 2009 Improving user performance
  • 2.
  • 3.
  • 4. Does AJAX provide a performance gain? … no need to wait for pages to refresh It can improve efficiency and save users time…
  • 5.  
  • 6.  
  • 7.
  • 8.  
  • 9. Using AJAX to apply heuristics and interaction design principles
  • 10.
  • 11.  
  • 12.
  • 13.  
  • 14.
  • 15.  
  • 16.  
  • 17.
  • 18.  
  • 20. ... use AJAX to allow users to add their own filters to sift out information not relevant to them
  • 21.  
  • 22. Help users recognize, diagnose, and recover from errors… … use AJAX to do server-side validation as users type into the form and provide error messages as soon as they occur
  • 23.  
  • 24.
  • 25. But AJAX is not all roses
  • 27.
  • 28. Search engine I don’t like AJAX Can affect search engine optimisation as search engines can’t find dynamically generated content
  • 29. AJAX sites may break users’ mental models
  • 30.  
  • 31.
  • 32. Common User Behaviour Observed during usability test sessions
  • 33.
  • 34.  
  • 35.
  • 36. [after unsuccessfully trying to click and drag the map to reposition it] “ I thought it would work like Google maps?” Indicative quote
  • 37. Imagine you are going on a holiday and need travel insurance
  • 38.  
  • 39.
  • 40.
  • 41. 8 cm
  • 42.
  • 43. #4 - When completing forms, users often jump ahead to the next field… … as they are not expecting another field to appear Photo by Flickr user tumsdebab CC
  • 44. [after receiving several error messages and missing fields that had dynamically appeared] “ I can’t believe I missed all of these fields. I must have scrolled down or something?” Listen to what one user had to say…
  • 45. #5 – Users don’t like to wait… = … especially after each field input … please wait
  • 46. [after a progress indicator appeared for a couple of seconds after each field entry…] “ Now I am ready to choke it… … they’re not serious are they?... … this doesn’t go on through the whole thing?” Listen to what other users had to say…
  • 47. Implementation guidelines Overcoming some of these problems
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. AJAX – Implementation guidelines Ensure Browser buttons work how users expect e.g. Back button… … The Back button is fixable but must be remembered in the design
  • 56. AJAX – Implementation guidelines Provide users with clear and visible feedback for every user action… … Use spotlight transition (“Yellow Fade Technique”) to show subtle changes in the page state then fade it out within a second http://developer.yahoo.com/ypatterns/richinteraction/transition/spotlight.html
  • 57.  
  • 58.
  • 59. How could you improve this page?
  • 60.
  • 61. AJAX – Implementation guidelines Don’t eliminate acceptance (Forgiveness principle)… … allow users to explore, edit and add info, without committing to the change and return to the original state Photo by Flickr user Kevin Dooley CC
  • 62. AJAX – Implementation guidelines Make it fast! Minimise traffic between browser and server so that the user feels the application is responsive… ...Don’t make the user wait longer for AJAX - responsiveness is generally more important to user experience than benefits of AJAX
  • 63.
  • 64.
  • 65. Remember ‘AJAX is a tool not a toy’
  • 66. If there is no performance gain for the user, don’t risk the side effects of AJAX!
  • 67.

Editor's Notes

  1. “… is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is meant to increase the web page&apos;s interactivity, speed, and usability. ” Source: Wikipedia http://en.wikipedia.org/wiki/AJAX More information: Jesse James Garrett, Ajax: A New Approach to Web Applications - h ttp://www.adaptivepath.com/publications/essays/archives/000385.php AJAX and Accessibility - http://www.standards-schmandards.com/2005/ajax-and-accessibility
  2. Providing users with more responsive and smoother interactions as AJAX separates presentation from data exchange between client and server Avoiding the need to load a ‘confirmation’ page
  3. To provide interactive experiences and functionality consistent with desktop / Windows applications e.g. Google and Yahoo Mail
  4. Requires more from the client than traditional forms – Javascript to be enabled and browser has to support the XMLHttpRequest object Search engine optimisation - Because displayed data is loaded dynamically, it’s not part of the page and the keywords are not used by search engine robots May break the Back button. This is fixable but must be remembered in the design Developers lack UI skills and UI standards. Ajax is an emergent tech and while many are trying to fill the gap (yahoo, Google, Ajax toolkit devs) lack of standards, accepted Ajax Patterns and training in UI interactions can cause trouble in creating elegant Ajax widgets Testing Ajax. Depending on the app there can be some many interactions that Ajax can be very difficult to comprehensively test Breaking users’ mental models. Instead of clicking and navigating to a new page for info, users stay on the same page - may not behave how users expect e.g. shopping application: add to cart &gt; shipping &gt; payment etc Difficult to bookmark AJAX pages - Add to favorites Too much JavaScript makes the browser slow. Since JavaScript are executed in the browser and the browser has no or limited storage space, too much JavaScript can make the browse slow or even crash Can take a long time for pages to download and page elements to refresh – issue for dial-up users More information: Jesse James Garrett, Ajax: A New Approach to Web Applications - h ttp://www.adaptivepath.com/publications/essays/archives/000385.php AJAX and Accessibility - http://www.standards-schmandards.com/2005/ajax-and-accessibility
  5. RIA controls, such as menu and toolbar fail to convey important information to assistive technologies, such as state of the control: checked/unchecked, relationship between the controls: menus and sub-menus;
  6. E.g. Share my Story – Users didn’t realise once they uploaded their photo that they could pick up photo and drag it within the frame to see where it would crop. No instructions available.
  7. How many people noticed the premium update? We haven’t tested this website but I suspect users may not notice the premium change.
  8. Users get confused when they do something and the page does not appear to change state in any way
  9. More information: Galitzm, W. (2002). The Essential Guide to User Interface Design John Wiley pp.68-69 Visual acuity - The capacity of the eye to discriminate fine detail The relative visual acuity is approximately halved at 2.5 degrees from the point of eye fixation Hence, a 5 degree diameter circle centred around an eye fixation point on a display is recommended The eye’s sensitivity is higher for characters closer to the fixation point and decreases towards the edge of the circle
  10. When using progressive disclosure Users assume it is their fault when they miss fields that dynamically appear – this can be frustrating and affect their online experience
  11. Around 5% of all users don’t have JavaScript (Jan 08, W3C browser statistics) W3C Browser stats: http://www.w3schools.com/browsers/browsers_stats.asp WCAG require that web applications function when JavaScript is disabled or not supported
  12. Accessibility of AJAX Applications - Accessibility Issues http://www.w3.org/TR/wai-aria/#Using_intro http://www.webaim.org/techniques/ajax/ Refer to WAI-ARIA (Accessible Rich Internet Applications or ARIA) - http://webaim.org/techniques/aria/ Excerpt: WAI-ARIA (Accessible Rich Internet Applications or ARIA) is a W3C protocol for enhancing and supporting accessibility of scripted and dynamic content. ARIA provides accessible interactive controls (such as tree menus, drag and drop, sliders, sort controls, etc.), content roles for identifying page structure (navigation, search, main content, etc.), areas that can be dynamically updated (called &amp;quot;live regions&amp;quot; in ARIA), better support for keyboard accessibility and interactivity, and much more. ARIA is supported by most up-to-date browsers and screen readers. It is also supported by many script libraries. Perhaps the biggest current barrier to ARIA implementation is the lack of support in Internet Explorer. However, Internet Explorer 8 will have full support for ARIA. Although ARIA is not yet universally supported, when used with existing HTML and scripting accessibility techniques, it can provide additional accessibility support where it is supported while not causing compatibility issues where it is not yet supported.
  13. Accessibility of AJAX Applications - Accessibility Issues http://www.webaim.org/techniques/ajax/ Refer to WAI-ARIA (Accessible Rich Internet Applications or ARIA) - http://webaim.org/techniques/aria/ Excerpt: WAI-ARIA (Accessible Rich Internet Applications or ARIA) is a W3C protocol for enhancing and supporting accessibility of scripted and dynamic content. ARIA provides accessible interactive controls (such as tree menus, drag and drop, sliders, sort controls, etc.), content roles for identifying page structure (navigation, search, main content, etc.), areas that can be dynamically updated (called &amp;quot;live regions&amp;quot; in ARIA), better support for keyboard accessibility and interactivity, and much more. ARIA is supported by most up-to-date browsers and screen readers. It is also supported by many script libraries. Perhaps the biggest current barrier to ARIA implementation is the lack of support in Internet Explorer. However, Internet Explorer 8 will have full support for ARIA. Although ARIA is not yet universally supported, when used with existing HTML and scripting accessibility techniques, it can provide additional accessibility support where it is supported while not causing compatibility issues where it is not yet supported.
  14. ARIA support by User Agents ARIA is supported by leading browsers including: Mozilla Firefox version 3 and later Microsoft Internet Explorer version 8 Opera 9.5 beta 1 (basic ARIA implementation) Safari 4 Google Chrome 2.0 Note: For maximum ARIA support, we recommend using Firefox with latest versions of screen readers and screen magnifiers. Screen readers and screen magnifiers that include ARIA support: NVDA JAWS Window-Eyes Firevox – talking browser extension for Firefox Zoom Magnifier
  15. call attention to the change with a lightweight confirmation. For example, change the background color of the content area or data value to a light pastel color. The color difference from the background needs to have enough contrast to be distinct from the normal background color but not too much as to be overwhelming. Have the highlight appear instantly when the change occurs and then fade out within one second or less.
  16. The usability principle of “Forgiveness” allows users to explore your interface, add and edit info, without actually changing anything. This is important to remember since most web apps don’t offer an undo button.