The Girlfriend Test

I think this is by far the best test for any tool or control, thanks Shannon!

"I had my girlfriend sit down and run "the girlfriend test" on your datepicker.  She'd never seen the calendar at all before; I just put her on your demo page and told her to enter her birthday in the box.

The longest pause was about 2 seconds or so when she realized she didn't want to "previous month" through 30 years and looked for what to do instead.  

Total time was under 15 seconds.  She never asked a question or grew frustrated.  

That's a sure sign of success for you control, I think."

I wonder if my girlfriend can pass the test...

Update: About 20 seconds here...another success story.

7 Comments

  • Is that a test of the girlfriend or a test of the control?

  • Test of the control to select her birthday via the girlfriend, wasn't implied too well I guess.

  • Wow, what an improvement over typing in the date in a second or so. Keep up the great work, your users will love it :)

  • Is that a test of the girlfriend or a test of the control?

  • A couple points:

    The "birthday" test was chosen because it is more work than pretty much any other common task on the control. Date entry (in this case) is mostly to enter event dates, dates that are within a month or so of today. The time for entering an event date would be much shorter because there would be less steps. I don't know if people actually type a date into a textbox in 2 seconds, or not, but if a date is this month, using Matt's calendar would still be faster than that 2 seconds.



    Entering event dates is much easier using a calendar because it allows you to see what day of the week you're choosing.



    Constraints work better than instructions. Only allowing real, correctly formatted dates (via the calendar) is much "safer" than requiring a date to be typed into a textbox. For instance, what is "7/6/2004"? Is that in June or July? It depends on where you are. You either have to include instructions (which means the process is broken) or you have to force the correct entry format. I've learned that people do not read instructions until something breaks and often not even then.



    The only other way I've seen of adding the constraints I want is via 3 dropdown lists that adjust themselves via JS for leapyears and days per month. This removes the calendar aspect, though, and that is a serious drawback when you're entering an event for "next Friday".



    And why the girlfriend? Because she was nearby, because she's smart, and because she rarely uses the internet for this type of functionality.



    Thanks again for the controls, Matt. Good stuff.

  • It is not safer since you're talking about a web app where nothing that happens on the client can be considered safe. It's really simple to send an invalid request to your server and if you rely on the calendar control to validate your data you shouldn't be working on web apps.



    That said - there absolutely are scenarios where calendar control works fine, picking a date for a meeting is one of them - even though you should still let the user enter dates manually if they want to. When both of your hands are on the keyboard and you have to stop, move one of your hands to the mouse, find the cursor, move it over the control and start clicking it takes longer than typing in a date. that's if you know the date, which may not be the case of next wednesday but pretty much always is in case of your birthday.

  • I agree with Jerry on his last point - us web develoeprs tend to be very mouse-based - but a good portion of the mgmt population like to TAB-fillin-TAB-fillin, etc, ala Excel.



    What I had to do with my calendar control was pop up a calendar if the little clendar icon next to the textbox was clicked on, which would return a "dd-mmm-yyyy" formatted date into the textbox. If a user typed in a date, as the focus was shifted to another control, the control would automatically format the date into "dd-mmm-yyyy", so the suer could immediately see if they entered it wrong (wrong being a non-US format, since 90% of our users were in the US).

Comments have been disabled for this content.