SlideShare a Scribd company logo
1 of 38
Techniques for a Modern Web UI Patrick Joyce May 23, 2007 http://pragmati.st
This talk is about some simple ways that can greatly improve the usability of our sites. The genesis for this talk came from a demo of an internal application I've worked on, where the developers who were new to the project were really intrigued by some of the UI things that we did and wanted to know a little more about them.
As far as the customer is concerned, the interface  is  the product.” -  Jef Raskin, Designer of the Original Mac UI “
Why does this matter? The UI *is* the application. All the code, all the requirements, and the design, and the test documents, all that behind the scenes stuff doesn't directly matter to the user. And I think this is important to remember, because, as *creators* of the system we spend all day with that stuff. So I think it is easy to forget the user isn't ever going to see any of that and end up placing too low a priority of the interface.
Traditional Web Interfaces The user acts (Clicks a link, button, etc) A request is then sent to the server… And, eventually, a  COMPLETE PAGE  is returned
The old way of the Web was that the user clicks on something, a request gets sent to the server, and eventually the whole page is reloaded. This style sort of sucked from an interface perspective. But we gladly accepted the tradeoff, because the deployment and availability benefits were so big. But, let's face it was a HUGE step backwards from the desktop in terms of usability.
The New Way: AJAX The New Way: AJAX Dynamically update  PART  of the page. Which allows for more responsive UI, but introduces some new problems. http://www.wisc.edu/directories
AJAX stands for Asynchronous Javascript and XML which is just a flashy name for some technology that has been around for a while. It frees us from the shackles of the old request/response model of the web and allows us to update just *part* of the page without reloading the full page. This can lead to a *HUGE* increase in responsiveness and usability. Think of the old Mapquest vs. Google Maps.
Web  UI Patterns
The Problem: Now that you can update just a part of the page it is easy for the user to miss it.  The solution: Provide feedback. Highlight change on the page with changes in color, size, and/or position.
Yellow Fade Technique http://basecamphq.com
Yellow fade technique. When you change a part of the page highlight it and then fade out the highlight. Description from 37signals guys here:  http://www.37signals.com/svn/archives/000558.php
Death to Monolog Boxes
Most of the time JavaScript Alert Boxes are obnoxious. They block you from doing anything else in the browser, they don’t play nice with tabs, the text is small, they often don't make it clear whether the box is an informational messages or an error message, and you have to explicitly click a button to make them go away.  You should never have a popup with just one button.
Transparent Messages http://transparent-message.xilinus.com/main/html
Transparent Messages are a good alternative. Basically the message is overlaid on the screen in a very large font and remains there until the user takes some action, be it clicking, or just moving the mouse at which point the message fades away. Jef Raskin Humanized blog post I got the idea from:  http://www.humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/ Implementation built on Script.aculo.us with Rails integration:  http://transparent-message.xilinus.com/
Faded Background Modal / Inline Popup http://www.yarncountry.com/categories.aspx?catid=189
Faded Background Modals or Inline Popups are a technique where you temporarily layer a div over the page. It’s a good replacement for where you would normally use a popup or interrupt the user’s flow by jumping to another page. The Shopping Cart at  http://www.yarncountry.com/categories.aspx?catid=189  provides an excellent example. Idle timeouts would also do well from using inline popups instead of full fledged popups.
Hiding Extra Information http://wiki.script.aculo.us/scriptaculous/show/Effect.toggle
Often times there is more information related to a page that you don’t want to show by default.  Contextual help is a common example of this.  Instead of using a popup, allow the user to show and hide by clicking a hyperlink and then use a blind effect to show or hide the information.
Show Progress with Spinners http://www.napyfab.com/ajax-indicators/
When you have an operations that takes some time you want to make sure that the user sees progress.  Motion is a good way to convey this. In an ideal world the motion will be tied to the actual progress of the action but this can be rather difficult.  A good compromise is simply to use an animated gif. This is especially good for relatively short operations (1-10 seconds)
Prevent User Errors with AJAX Validation https://www.blinksale.com/firms/new?plan=Free
The traditional way of validating a form was for the user to fill the whole thing out, submit it, and then if they’re errors the whole page gets returned to the user (hopefully with all the information that they already entered still there and the error fields highlighted) Now we can do better than that.  Why make the user wait until the end to show them an error? You can kick off a validation when the user moves off the field.
A good example is the id portion of the signup page at BlinkSale. As you type it checks if the ID you have selected is available and lets you know.  This way the user doesn't have to fill out and submit the entire form just to learn that their desired ID is already taken.  https://www.blinksale.com/firms/new?plan=Free
Good artists copy.  Great artists steal.” -  Pablo Picasso  (Most likely apocryphal) “
Yahoo! UI Library Libraries
You don't have to reinvent the wheel for this stuff.  There are a bunch of great libraries that give most of this to you for free and for the most part handle cross browser compatibility issues.  We used prototype, script.aculo.us and Rico on a recent application all of which are available under very liberal licenses.
new  Effect.Highlight( $( ‘id’ ),  {duration: 2} ); Yellow Fade Script.aculo.us Code
Just to show how easy this is, that was all the JavaScript code required to apply the yellow fade technique to a div with script.aculo.us
ASP.Net AJAX  Faded Background Modal < ajaxToolkit:ModalPopupExtender   ID =&quot;MPE&quot;   runat =&quot;server&quot;   TargetControlID =&quot;LinkButton1&quot;   PopupControlID =&quot;Panel1&quot; BackgroundCssClass =&quot;modalBackground&quot; DropShadow =&quot;true&quot;   OkControlID =&quot;OkButton&quot;   OnOkScript =&quot;onOk()&quot;   CancelControlID =&quot;CancelButton&quot; PopupDragHandleControlID =&quot;Panel3&quot;   />
And that was how you declare a Faded Background Modal with ASP.Net AJAX. http://ajax.asp.net/ajaxtoolkit/ModalPopup/ModalPopup.aspx
Tools Internet Explorer Developer Toolbar
Now, with all this DHTML stuff you need to keep an accurate mental model of the DOM. I’m no where near smart enough to keep all of that in my head so I lean pretty heavily on two browser plugins. FireBug is amazing. If you're developing websites without it you are absolutely out of your mind. Check out the creator, Joe Hewitt, giving a demonstration of it at Yahoo here:   http://ajaxian.com/archives/joe-hewitt-firebug-power-user-demo http://getfirebug.com
Unfortunately, we can't ignore IE. Thankfully there is now a plugin for IE called the Internet Explorer Developer Toolbar that gives you some of the features of FireBug. It is a small subset of FireBug, but lets you view and manipulate the DOM which is very useful. http://blogs.msdn.com/ie/archive/2007/01/09/ie-developer-toolbar-beta-3-now-available.aspx
Quality Is Free
The final thing I want to tell you is this: Quality is Free.  This is a saying that comes out of the Lean Manufacturing community. What they mean is that it doesn’t cost more to follow process. I’m going to co-opt it a bit for my own purposes, and what I want to convey is that good UI doesn’t have to cost more money.
The amount of extra code required to use these techniques is trivial. The truth is that most web applications are terrible from a usability standpoint. It doesn’t have to be that way.  If we just keep the user at the front of our mind while we design our applications and look for ways to improve their experience we can easily change that.

More Related Content

What's hot

Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Christian Heilmann
 
Progressive Web Apps: Opera's perspective
Progressive Web Apps: Opera's perspectiveProgressive Web Apps: Opera's perspective
Progressive Web Apps: Opera's perspectiveAndreas Bovens
 
Breaking The Broken Web
Breaking The Broken WebBreaking The Broken Web
Breaking The Broken WebFITC
 
Burroughs_Tabitha_IgnitePresentationSlides
Burroughs_Tabitha_IgnitePresentationSlidesBurroughs_Tabitha_IgnitePresentationSlides
Burroughs_Tabitha_IgnitePresentationSlidestabithaburroughs
 
Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009xavierlegros
 
WATERMARK FREE PHOTOS
WATERMARK FREE PHOTOSWATERMARK FREE PHOTOS
WATERMARK FREE PHOTOSSMED Tests
 
The Road To Openness.Odt
The Road To Openness.OdtThe Road To Openness.Odt
The Road To Openness.OdtKaniska Mandal
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannDevDay.org
 
Motion design exploring
Motion design exploringMotion design exploring
Motion design exploringSophie Buckle
 
Openness In The Era Of Social Web
Openness In The Era Of Social WebOpenness In The Era Of Social Web
Openness In The Era Of Social WebChris Messina
 
Using Edge Animate to Create a Reusable Component Set
Using Edge Animate to Create a Reusable Component SetUsing Edge Animate to Create a Reusable Component Set
Using Edge Animate to Create a Reusable Component SetJoseph Labrecque
 
501 Talks Tech: WordPress for Nonprofits
501 Talks Tech: WordPress for Nonprofits501 Talks Tech: WordPress for Nonprofits
501 Talks Tech: WordPress for Nonprofits501 Commons
 

What's hot (19)

Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 
Progressive Web Apps: Opera's perspective
Progressive Web Apps: Opera's perspectiveProgressive Web Apps: Opera's perspective
Progressive Web Apps: Opera's perspective
 
Breaking The Broken Web
Breaking The Broken WebBreaking The Broken Web
Breaking The Broken Web
 
Burroughs_Tabitha_IgnitePresentationSlides
Burroughs_Tabitha_IgnitePresentationSlidesBurroughs_Tabitha_IgnitePresentationSlides
Burroughs_Tabitha_IgnitePresentationSlides
 
Vue in Motion
Vue in MotionVue in Motion
Vue in Motion
 
Lecture 9 Usability Orignal
Lecture 9 Usability OrignalLecture 9 Usability Orignal
Lecture 9 Usability Orignal
 
Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009Yahoo Application Platform - Hack Day 2009
Yahoo Application Platform - Hack Day 2009
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Accessibility Usability Professional Summry
Accessibility Usability Professional SummryAccessibility Usability Professional Summry
Accessibility Usability Professional Summry
 
WATERMARK FREE PHOTOS
WATERMARK FREE PHOTOSWATERMARK FREE PHOTOS
WATERMARK FREE PHOTOS
 
Lecture 9 Professional Practices
Lecture 9 Professional PracticesLecture 9 Professional Practices
Lecture 9 Professional Practices
 
Creating a Webpage
Creating a WebpageCreating a Webpage
Creating a Webpage
 
The Road To Openness.Odt
The Road To Openness.OdtThe Road To Openness.Odt
The Road To Openness.Odt
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
 
Motion design exploring
Motion design exploringMotion design exploring
Motion design exploring
 
Openness In The Era Of Social Web
Openness In The Era Of Social WebOpenness In The Era Of Social Web
Openness In The Era Of Social Web
 
Using Edge Animate to Create a Reusable Component Set
Using Edge Animate to Create a Reusable Component SetUsing Edge Animate to Create a Reusable Component Set
Using Edge Animate to Create a Reusable Component Set
 
501 Talks Tech: WordPress for Nonprofits
501 Talks Tech: WordPress for Nonprofits501 Talks Tech: WordPress for Nonprofits
501 Talks Tech: WordPress for Nonprofits
 
Lecture1 B Frames&Forms
Lecture1 B  Frames&FormsLecture1 B  Frames&Forms
Lecture1 B Frames&Forms
 

Viewers also liked

USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTvicci4041
 
How UX Design Has Changed The World
How UX Design Has Changed The WorldHow UX Design Has Changed The World
How UX Design Has Changed The WorldBuiltByHQ
 
UX Design + UI Design: Injecting a brand persona!
UX Design + UI Design: Injecting a brand persona!UX Design + UI Design: Injecting a brand persona!
UX Design + UI Design: Injecting a brand persona!Jayan Narayanan
 
Simple Steps to UX/UI Web Design
Simple Steps to UX/UI Web DesignSimple Steps to UX/UI Web Design
Simple Steps to UX/UI Web DesignKoombea
 
Centerline Digital - UX vs UI - 050613
Centerline Digital - UX vs UI - 050613Centerline Digital - UX vs UI - 050613
Centerline Digital - UX vs UI - 050613Centerline Digital
 
Web Form Design (Web Visions 2009)
Web Form Design (Web Visions 2009)Web Form Design (Web Visions 2009)
Web Form Design (Web Visions 2009)Christopher Schmitt
 
Introduction to Antetype - Web UX design tool
Introduction to Antetype - Web UX design toolIntroduction to Antetype - Web UX design tool
Introduction to Antetype - Web UX design toolLa FeWeb
 
Web, Design, and UX Trends for 2005
Web, Design, and UX Trends for 2005Web, Design, and UX Trends for 2005
Web, Design, and UX Trends for 2005Jeremy Johnson
 
Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008Jeremy Johnson
 
Doing Your HW - A UX approach to your web design
Doing Your HW - A UX approach to your web designDoing Your HW - A UX approach to your web design
Doing Your HW - A UX approach to your web designFabian Alcantara
 
Web, Design, and UX Trends for 2006
Web, Design, and UX Trends for 2006Web, Design, and UX Trends for 2006
Web, Design, and UX Trends for 2006Jeremy Johnson
 
Web design ux trends 2013
Web design ux trends 2013Web design ux trends 2013
Web design ux trends 2013Mahmoud Farrag
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Bram Vanderhaeghe
 
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning TalkConflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning TalkSteve Fisher
 
Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Hexagonal architecture - message-oriented software design (Symfony Live Berli...Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Hexagonal architecture - message-oriented software design (Symfony Live Berli...Matthias Noback
 

Viewers also liked (20)

UI / UX Design Presentation
UI / UX Design PresentationUI / UX Design Presentation
UI / UX Design Presentation
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
How UX Design Has Changed The World
How UX Design Has Changed The WorldHow UX Design Has Changed The World
How UX Design Has Changed The World
 
UX Design + UI Design: Injecting a brand persona!
UX Design + UI Design: Injecting a brand persona!UX Design + UI Design: Injecting a brand persona!
UX Design + UI Design: Injecting a brand persona!
 
Simple Steps to UX/UI Web Design
Simple Steps to UX/UI Web DesignSimple Steps to UX/UI Web Design
Simple Steps to UX/UI Web Design
 
Centerline Digital - UX vs UI - 050613
Centerline Digital - UX vs UI - 050613Centerline Digital - UX vs UI - 050613
Centerline Digital - UX vs UI - 050613
 
Web Form Design (Web Visions 2009)
Web Form Design (Web Visions 2009)Web Form Design (Web Visions 2009)
Web Form Design (Web Visions 2009)
 
#4_web_ux_wakizaka
#4_web_ux_wakizaka#4_web_ux_wakizaka
#4_web_ux_wakizaka
 
Introduction to Antetype - Web UX design tool
Introduction to Antetype - Web UX design toolIntroduction to Antetype - Web UX design tool
Introduction to Antetype - Web UX design tool
 
Web, Design, and UX Trends for 2005
Web, Design, and UX Trends for 2005Web, Design, and UX Trends for 2005
Web, Design, and UX Trends for 2005
 
Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008
 
Doing Your HW - A UX approach to your web design
Doing Your HW - A UX approach to your web designDoing Your HW - A UX approach to your web design
Doing Your HW - A UX approach to your web design
 
Mobile Web UX - TdT@Cluj #17
Mobile Web UX - TdT@Cluj #17Mobile Web UX - TdT@Cluj #17
Mobile Web UX - TdT@Cluj #17
 
Web, Design, and UX Trends for 2006
Web, Design, and UX Trends for 2006Web, Design, and UX Trends for 2006
Web, Design, and UX Trends for 2006
 
Web design ux trends 2013
Web design ux trends 2013Web design ux trends 2013
Web design ux trends 2013
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
 
Coding pilkades
Coding pilkadesCoding pilkades
Coding pilkades
 
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning TalkConflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
 
form-form pilkades
form-form pilkadesform-form pilkades
form-form pilkades
 
Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Hexagonal architecture - message-oriented software design (Symfony Live Berli...Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Hexagonal architecture - message-oriented software design (Symfony Live Berli...
 

Similar to Techniques For A Modern Web UI (With Notes)

Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with librariesChristian Heilmann
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Webaleemb
 
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
 
Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Christian Heilmann
 
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
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sampletutorialsruby
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sampletutorialsruby
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS UniverseStefano Di Paola
 
Designing Powerful Web Applications - Monterey
Designing Powerful Web Applications - MontereyDesigning Powerful Web Applications - Monterey
Designing Powerful Web Applications - MontereyDave Malouf
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps✅ William Pinaud
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Atos_Worldline
 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Devicefilirom1
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesiabrucelawson
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web developmentChristian Heilmann
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 
HTML5 Up and Running
HTML5 Up and RunningHTML5 Up and Running
HTML5 Up and RunningCodemotion
 

Similar to Techniques For A Modern Web UI (With Notes) (20)

TPR4
TPR4TPR4
TPR4
 
TPR4
TPR4TPR4
TPR4
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
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
 
Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010
 
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
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sample
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sample
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
Designing Powerful Web Applications - Monterey
Designing Powerful Web Applications - MontereyDesigning Powerful Web Applications - Monterey
Designing Powerful Web Applications - Monterey
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Device
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
Fewd week4 slides
Fewd week4 slidesFewd week4 slides
Fewd week4 slides
 
HTML5 Up and Running
HTML5 Up and RunningHTML5 Up and Running
HTML5 Up and Running
 

Recently uploaded

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Techniques For A Modern Web UI (With Notes)

  • 1. Techniques for a Modern Web UI Patrick Joyce May 23, 2007 http://pragmati.st
  • 2. This talk is about some simple ways that can greatly improve the usability of our sites. The genesis for this talk came from a demo of an internal application I've worked on, where the developers who were new to the project were really intrigued by some of the UI things that we did and wanted to know a little more about them.
  • 3. As far as the customer is concerned, the interface is the product.” - Jef Raskin, Designer of the Original Mac UI “
  • 4. Why does this matter? The UI *is* the application. All the code, all the requirements, and the design, and the test documents, all that behind the scenes stuff doesn't directly matter to the user. And I think this is important to remember, because, as *creators* of the system we spend all day with that stuff. So I think it is easy to forget the user isn't ever going to see any of that and end up placing too low a priority of the interface.
  • 5. Traditional Web Interfaces The user acts (Clicks a link, button, etc) A request is then sent to the server… And, eventually, a COMPLETE PAGE is returned
  • 6. The old way of the Web was that the user clicks on something, a request gets sent to the server, and eventually the whole page is reloaded. This style sort of sucked from an interface perspective. But we gladly accepted the tradeoff, because the deployment and availability benefits were so big. But, let's face it was a HUGE step backwards from the desktop in terms of usability.
  • 7. The New Way: AJAX The New Way: AJAX Dynamically update PART of the page. Which allows for more responsive UI, but introduces some new problems. http://www.wisc.edu/directories
  • 8. AJAX stands for Asynchronous Javascript and XML which is just a flashy name for some technology that has been around for a while. It frees us from the shackles of the old request/response model of the web and allows us to update just *part* of the page without reloading the full page. This can lead to a *HUGE* increase in responsiveness and usability. Think of the old Mapquest vs. Google Maps.
  • 9. Web UI Patterns
  • 10. The Problem: Now that you can update just a part of the page it is easy for the user to miss it. The solution: Provide feedback. Highlight change on the page with changes in color, size, and/or position.
  • 11. Yellow Fade Technique http://basecamphq.com
  • 12. Yellow fade technique. When you change a part of the page highlight it and then fade out the highlight. Description from 37signals guys here: http://www.37signals.com/svn/archives/000558.php
  • 14. Most of the time JavaScript Alert Boxes are obnoxious. They block you from doing anything else in the browser, they don’t play nice with tabs, the text is small, they often don't make it clear whether the box is an informational messages or an error message, and you have to explicitly click a button to make them go away. You should never have a popup with just one button.
  • 16. Transparent Messages are a good alternative. Basically the message is overlaid on the screen in a very large font and remains there until the user takes some action, be it clicking, or just moving the mouse at which point the message fades away. Jef Raskin Humanized blog post I got the idea from: http://www.humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/ Implementation built on Script.aculo.us with Rails integration: http://transparent-message.xilinus.com/
  • 17. Faded Background Modal / Inline Popup http://www.yarncountry.com/categories.aspx?catid=189
  • 18. Faded Background Modals or Inline Popups are a technique where you temporarily layer a div over the page. It’s a good replacement for where you would normally use a popup or interrupt the user’s flow by jumping to another page. The Shopping Cart at http://www.yarncountry.com/categories.aspx?catid=189 provides an excellent example. Idle timeouts would also do well from using inline popups instead of full fledged popups.
  • 19. Hiding Extra Information http://wiki.script.aculo.us/scriptaculous/show/Effect.toggle
  • 20. Often times there is more information related to a page that you don’t want to show by default. Contextual help is a common example of this. Instead of using a popup, allow the user to show and hide by clicking a hyperlink and then use a blind effect to show or hide the information.
  • 21. Show Progress with Spinners http://www.napyfab.com/ajax-indicators/
  • 22. When you have an operations that takes some time you want to make sure that the user sees progress. Motion is a good way to convey this. In an ideal world the motion will be tied to the actual progress of the action but this can be rather difficult. A good compromise is simply to use an animated gif. This is especially good for relatively short operations (1-10 seconds)
  • 23. Prevent User Errors with AJAX Validation https://www.blinksale.com/firms/new?plan=Free
  • 24. The traditional way of validating a form was for the user to fill the whole thing out, submit it, and then if they’re errors the whole page gets returned to the user (hopefully with all the information that they already entered still there and the error fields highlighted) Now we can do better than that. Why make the user wait until the end to show them an error? You can kick off a validation when the user moves off the field.
  • 25. A good example is the id portion of the signup page at BlinkSale. As you type it checks if the ID you have selected is available and lets you know. This way the user doesn't have to fill out and submit the entire form just to learn that their desired ID is already taken. https://www.blinksale.com/firms/new?plan=Free
  • 26. Good artists copy. Great artists steal.” - Pablo Picasso (Most likely apocryphal) “
  • 27. Yahoo! UI Library Libraries
  • 28. You don't have to reinvent the wheel for this stuff. There are a bunch of great libraries that give most of this to you for free and for the most part handle cross browser compatibility issues. We used prototype, script.aculo.us and Rico on a recent application all of which are available under very liberal licenses.
  • 29. new Effect.Highlight( $( ‘id’ ), {duration: 2} ); Yellow Fade Script.aculo.us Code
  • 30. Just to show how easy this is, that was all the JavaScript code required to apply the yellow fade technique to a div with script.aculo.us
  • 31. ASP.Net AJAX Faded Background Modal < ajaxToolkit:ModalPopupExtender ID =&quot;MPE&quot; runat =&quot;server&quot; TargetControlID =&quot;LinkButton1&quot; PopupControlID =&quot;Panel1&quot; BackgroundCssClass =&quot;modalBackground&quot; DropShadow =&quot;true&quot; OkControlID =&quot;OkButton&quot; OnOkScript =&quot;onOk()&quot; CancelControlID =&quot;CancelButton&quot; PopupDragHandleControlID =&quot;Panel3&quot; />
  • 32. And that was how you declare a Faded Background Modal with ASP.Net AJAX. http://ajax.asp.net/ajaxtoolkit/ModalPopup/ModalPopup.aspx
  • 33. Tools Internet Explorer Developer Toolbar
  • 34. Now, with all this DHTML stuff you need to keep an accurate mental model of the DOM. I’m no where near smart enough to keep all of that in my head so I lean pretty heavily on two browser plugins. FireBug is amazing. If you're developing websites without it you are absolutely out of your mind. Check out the creator, Joe Hewitt, giving a demonstration of it at Yahoo here: http://ajaxian.com/archives/joe-hewitt-firebug-power-user-demo http://getfirebug.com
  • 35. Unfortunately, we can't ignore IE. Thankfully there is now a plugin for IE called the Internet Explorer Developer Toolbar that gives you some of the features of FireBug. It is a small subset of FireBug, but lets you view and manipulate the DOM which is very useful. http://blogs.msdn.com/ie/archive/2007/01/09/ie-developer-toolbar-beta-3-now-available.aspx
  • 37. The final thing I want to tell you is this: Quality is Free. This is a saying that comes out of the Lean Manufacturing community. What they mean is that it doesn’t cost more to follow process. I’m going to co-opt it a bit for my own purposes, and what I want to convey is that good UI doesn’t have to cost more money.
  • 38. The amount of extra code required to use these techniques is trivial. The truth is that most web applications are terrible from a usability standpoint. It doesn’t have to be that way. If we just keep the user at the front of our mind while we design our applications and look for ways to improve their experience we can easily change that.