SlideShare a Scribd company logo
Designing Great Forms Josh Fraser Co-Founder EventVue
Hi.  I’m Josh. I’m the co-founder of EventVue.  Find me on the web at: Website:  www.joshfraser.com Email:  [email_address] Blog:  www.onlineaspect.com Twitter: joshfraz
Why talk about forms?
Small changes can make a big difference
Left-aligned, left of field Average saccade time: 500ms
Right-aligned, left of field Average saccade time: 205ms
Left-aligned, above field Average saccade time: 50ms
Understanding your users LinkedIn advanced search
Understanding your users EventVue date input OR
Contextual user interfaces Good forms show what you need to see at the moment you need to see it and not a minute sooner. Hide optional fields and reveal them using CSS & JavaScript.
Reduce friction You introduce friction with unnecessary fields, extra clicks and text labels that take a long time to read. The more friction you have, the harder it is to get the user to YOUR desired destination
The conversion rule “ The conversion rate of a registration page is inversely correlated to the number of fields.” – Bill Flagg
Simplify
Location Ask users for their zip code instead of their city and state Use the google.loader.ClientLocation property from the Google AJAX API to automatically detect the users country, city, state and lat/lng.
Time zones Use JavaScript to automatically detect the GMT offset and DST
Credit card types Why make the user select their credit card type from a drop-down? Starts with a 3 it’s American Express Starts with a 4 it’s a Visa Starts with a 5 it’s a MasterCard Starts with a 6 it’s a Discover card
Profile pictures Replacing the file upload field Increased the number of users on EventVue who added a profile picture by 16%
Tags Give personalized suggestions that users can add with a single click. Increased the number of users on EventVue who added tags by 21%
External content Automatically find your users content around the web: Twitter  (Twitter API) Blog (MyBlogLog API) Facebook profile (Facebook Connect) LinkedIn profile (LinkedIn API) Website (From any of the above)
 
Captchas Introduce an incredible amount of friction Are often used unnecessarily And are easily broken using advanced text recognition or cheap labor
Instant feedback Tell me exactly what you’re looking for - Use onfocus to show tips  Tell me ASAP if I did something wrong - Use AJAX calls to handle error checking
3 way to check for errors ,[object Object],[object Object],[object Object]
Retain state
Things to check Field isn’t blank or of the wrong type Passwords match Email address is valid  (use both regexp and an MX lookup) Credit card number is valid (LUHN formula)
Use standard conventions Red for errors Green for success Yellow for warnings
Increase completion rates Delay the collection of information until later.  Let people get value before making the big ask.
Increase completion rates Send emails when people bail out half-way through.  Be sure to retain state so people can pick up where they left off.
Increase completion rates Add a progress bar. Increased the number of EventVue users who completed their entire profile by 25%
Be obsessive about details
Handling double submits Use JavaScript to submit the form.  Disable once it’s been used once. If JavaScript is disabled, display a warning message. Check for duplicate submissions on the server as well.
Google toolbar auto-fill Google toolbar auto-fill: http://toolbar.google.com/autofill_help.html  ECML (Electronic Commerce Modeling Language): http://www.ietf.org/rfc/rfc3106.txt
Accessibility Important fields for screen readers: Fieldset Legend Accesskey <fieldset> <legend>Contact Information</legend> <input name='fname' accesskey='f' /> </fieldset>
Labels and tabindex Use labels to associate descriptions with fields – especially with checkboxes. Make sure your tabindex is in the correct order <label for='fname'>First Name</label> <input type='text' id='fname' name='fname' tabindex='1' />
Auto-tab Use auto-tab to automatically move to the next field when you reach a specified # of chars. Great for phone numbers, social security numbers, etc. Enforce a strict format without breaking up the flow of entering data.
Auto-tab <input type=&quot;text&quot; name=&quot;areacode” tabindex=&quot;1&quot; maxlength=&quot;3&quot;  /> function autoTab(e) { if(this.value.length == this.getAttribute(&quot;maxlength&quot;) &&  e.KeyCode != 8 && e.keyCode != 16 && e.keyCode != 9) { new Field.activate(findNextElement(this.getAttribute(&quot;tabindex&quot;))); } } function findNextElement(index) { elements = new Form.getElements(&quot;my_form&quot;); for(i = 0; i < elements.length; i++) { element = elements[i]; if(parseInt(element.getAttribute(&quot;tabindex&quot;)) == (parseInt(index) + 1)) { return element; } } return elements[0]; }
Auto-focus Automatically focus on the first form field when you load a page.  Be sure to exclude hidden or disabled fields.  Only use on pages where filling out the form is the primary action.
Resources How to Build Great Forms by Josh Fraser http://www.onlineaspect.com/2007/05/18/how_to_build_great_forms/ Auto detect a time zone with JavaScript by Josh Fraser http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ 10 Tips To A Better Form by Chris Campbell http://particletree.com/features/10-tips-to-a-better-form/ Label Placement in Forms by Matteo Penzo http://uxmatters.com/MT/archives/000107.php More Signup Power by Bill Flagg http://billflagg.blogspot.com/2008/04/more-signup-power.html Google Client Location http://code.google.com/apis/ajax/documentation/#ClientLocation The CAPTCHA Alternatives by Slobodan Kovacevic http://www.arraystudio.com/as-workshop/the-captcha-alternatives.html Inside India’s CAPTCHA solving economy http://blogs.zdnet.com/security/?p=1835
Thank you! www.joshfraser.com [email_address]
Questions? www.joshfraser.com [email_address]

More Related Content

Similar to Designing Great Forms

confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistrati
confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistraticonfirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistrati
confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistratiAlleneMcclendon878
 
JavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern ImplementationJavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern Implementationdavejohnson
 
Jordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler
 
Jordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler
 
Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Christian Heilmann
 
The Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt EakinThe Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt EakinQA or the Highway
 
Score google analytics
Score   google analyticsScore   google analytics
Score google analyticsHotTopics114
 
An introduction-to-google-analytics-1198701588721690-4
An introduction-to-google-analytics-1198701588721690-4An introduction-to-google-analytics-1198701588721690-4
An introduction-to-google-analytics-1198701588721690-4Jerry Wijaya
 
An introduction to Google Analytics
An introduction to Google AnalyticsAn introduction to Google Analytics
An introduction to Google AnalyticsJoris Roebben
 
GA的详细介绍
GA的详细介绍GA的详细介绍
GA的详细介绍writerrr
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce vraopolisetti
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016Robert Nyman
 
Basic Web + Social Media Metrics: Non eCommerce Sites
Basic Web + Social Media Metrics: Non eCommerce SitesBasic Web + Social Media Metrics: Non eCommerce Sites
Basic Web + Social Media Metrics: Non eCommerce SitesLaura Lee Dooley
 
Forms With Ajax And Advanced Plugins
Forms With Ajax And Advanced PluginsForms With Ajax And Advanced Plugins
Forms With Ajax And Advanced PluginsManuel Lemos
 
Good form (s) -July 2016
Good form (s) -July 2016Good form (s) -July 2016
Good form (s) -July 2016Abi Reynolds
 
How to make on line forms beautiful
How to make on line forms beautifulHow to make on line forms beautiful
How to make on line forms beautifulUser Vision
 

Similar to Designing Great Forms (20)

confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistrati
confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistraticonfirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistrati
confirm.htmlCapellaVolunteers.orgHomeInvitationGalleryRegistrati
 
ARTDM 171, Week 13: Forms
ARTDM 171, Week 13: FormsARTDM 171, Week 13: Forms
ARTDM 171, Week 13: Forms
 
Developing with HTML5
Developing with HTML5Developing with HTML5
Developing with HTML5
 
JavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern ImplementationJavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern Implementation
 
Jordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler Usability SEO
Jordan Kasteler Usability SEO
 
Jordan Kasteler Usability SEO
Jordan Kasteler Usability SEOJordan Kasteler Usability SEO
Jordan Kasteler Usability SEO
 
Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010Understanding progressive enhancement - yuiconf2010
Understanding progressive enhancement - yuiconf2010
 
The Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt EakinThe Art of Gherkin Scripting - Matt Eakin
The Art of Gherkin Scripting - Matt Eakin
 
Score google analytics
Score   google analyticsScore   google analytics
Score google analytics
 
An introduction-to-google-analytics-1198701588721690-4
An introduction-to-google-analytics-1198701588721690-4An introduction-to-google-analytics-1198701588721690-4
An introduction-to-google-analytics-1198701588721690-4
 
An introduction to Google Analytics
An introduction to Google AnalyticsAn introduction to Google Analytics
An introduction to Google Analytics
 
GA的详细介绍
GA的详细介绍GA的详细介绍
GA的详细介绍
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce
 
Google A
Google AGoogle A
Google A
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
 
Basic Web + Social Media Metrics: Non eCommerce Sites
Basic Web + Social Media Metrics: Non eCommerce SitesBasic Web + Social Media Metrics: Non eCommerce Sites
Basic Web + Social Media Metrics: Non eCommerce Sites
 
Forms With Ajax And Advanced Plugins
Forms With Ajax And Advanced PluginsForms With Ajax And Advanced Plugins
Forms With Ajax And Advanced Plugins
 
Good form (s) -July 2016
Good form (s) -July 2016Good form (s) -July 2016
Good form (s) -July 2016
 
How to make on line forms beautiful
How to make on line forms beautifulHow to make on line forms beautiful
How to make on line forms beautiful
 
Html forms
Html formsHtml forms
Html forms
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 

Designing Great Forms

  • 1. Designing Great Forms Josh Fraser Co-Founder EventVue
  • 2. Hi. I’m Josh. I’m the co-founder of EventVue. Find me on the web at: Website: www.joshfraser.com Email: [email_address] Blog: www.onlineaspect.com Twitter: joshfraz
  • 3. Why talk about forms?
  • 4. Small changes can make a big difference
  • 5. Left-aligned, left of field Average saccade time: 500ms
  • 6. Right-aligned, left of field Average saccade time: 205ms
  • 7. Left-aligned, above field Average saccade time: 50ms
  • 8. Understanding your users LinkedIn advanced search
  • 9. Understanding your users EventVue date input OR
  • 10. Contextual user interfaces Good forms show what you need to see at the moment you need to see it and not a minute sooner. Hide optional fields and reveal them using CSS & JavaScript.
  • 11. Reduce friction You introduce friction with unnecessary fields, extra clicks and text labels that take a long time to read. The more friction you have, the harder it is to get the user to YOUR desired destination
  • 12. The conversion rule “ The conversion rate of a registration page is inversely correlated to the number of fields.” – Bill Flagg
  • 14. Location Ask users for their zip code instead of their city and state Use the google.loader.ClientLocation property from the Google AJAX API to automatically detect the users country, city, state and lat/lng.
  • 15. Time zones Use JavaScript to automatically detect the GMT offset and DST
  • 16. Credit card types Why make the user select their credit card type from a drop-down? Starts with a 3 it’s American Express Starts with a 4 it’s a Visa Starts with a 5 it’s a MasterCard Starts with a 6 it’s a Discover card
  • 17. Profile pictures Replacing the file upload field Increased the number of users on EventVue who added a profile picture by 16%
  • 18. Tags Give personalized suggestions that users can add with a single click. Increased the number of users on EventVue who added tags by 21%
  • 19. External content Automatically find your users content around the web: Twitter (Twitter API) Blog (MyBlogLog API) Facebook profile (Facebook Connect) LinkedIn profile (LinkedIn API) Website (From any of the above)
  • 20.  
  • 21. Captchas Introduce an incredible amount of friction Are often used unnecessarily And are easily broken using advanced text recognition or cheap labor
  • 22. Instant feedback Tell me exactly what you’re looking for - Use onfocus to show tips Tell me ASAP if I did something wrong - Use AJAX calls to handle error checking
  • 23.
  • 25. Things to check Field isn’t blank or of the wrong type Passwords match Email address is valid (use both regexp and an MX lookup) Credit card number is valid (LUHN formula)
  • 26. Use standard conventions Red for errors Green for success Yellow for warnings
  • 27. Increase completion rates Delay the collection of information until later. Let people get value before making the big ask.
  • 28. Increase completion rates Send emails when people bail out half-way through. Be sure to retain state so people can pick up where they left off.
  • 29. Increase completion rates Add a progress bar. Increased the number of EventVue users who completed their entire profile by 25%
  • 31. Handling double submits Use JavaScript to submit the form. Disable once it’s been used once. If JavaScript is disabled, display a warning message. Check for duplicate submissions on the server as well.
  • 32. Google toolbar auto-fill Google toolbar auto-fill: http://toolbar.google.com/autofill_help.html ECML (Electronic Commerce Modeling Language): http://www.ietf.org/rfc/rfc3106.txt
  • 33. Accessibility Important fields for screen readers: Fieldset Legend Accesskey <fieldset> <legend>Contact Information</legend> <input name='fname' accesskey='f' /> </fieldset>
  • 34. Labels and tabindex Use labels to associate descriptions with fields – especially with checkboxes. Make sure your tabindex is in the correct order <label for='fname'>First Name</label> <input type='text' id='fname' name='fname' tabindex='1' />
  • 35. Auto-tab Use auto-tab to automatically move to the next field when you reach a specified # of chars. Great for phone numbers, social security numbers, etc. Enforce a strict format without breaking up the flow of entering data.
  • 36. Auto-tab <input type=&quot;text&quot; name=&quot;areacode” tabindex=&quot;1&quot; maxlength=&quot;3&quot; /> function autoTab(e) { if(this.value.length == this.getAttribute(&quot;maxlength&quot;) && e.KeyCode != 8 && e.keyCode != 16 && e.keyCode != 9) { new Field.activate(findNextElement(this.getAttribute(&quot;tabindex&quot;))); } } function findNextElement(index) { elements = new Form.getElements(&quot;my_form&quot;); for(i = 0; i < elements.length; i++) { element = elements[i]; if(parseInt(element.getAttribute(&quot;tabindex&quot;)) == (parseInt(index) + 1)) { return element; } } return elements[0]; }
  • 37. Auto-focus Automatically focus on the first form field when you load a page. Be sure to exclude hidden or disabled fields. Only use on pages where filling out the form is the primary action.
  • 38. Resources How to Build Great Forms by Josh Fraser http://www.onlineaspect.com/2007/05/18/how_to_build_great_forms/ Auto detect a time zone with JavaScript by Josh Fraser http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ 10 Tips To A Better Form by Chris Campbell http://particletree.com/features/10-tips-to-a-better-form/ Label Placement in Forms by Matteo Penzo http://uxmatters.com/MT/archives/000107.php More Signup Power by Bill Flagg http://billflagg.blogspot.com/2008/04/more-signup-power.html Google Client Location http://code.google.com/apis/ajax/documentation/#ClientLocation The CAPTCHA Alternatives by Slobodan Kovacevic http://www.arraystudio.com/as-workshop/the-captcha-alternatives.html Inside India’s CAPTCHA solving economy http://blogs.zdnet.com/security/?p=1835
  • 39. Thank you! www.joshfraser.com [email_address]