What day does the week start?
By WillYum. Thursday, January 19, 2012 12:08:37 AM
I'm really excited about the new HTML5 Form Elements. Especially the new "date" input type: <input type="date">
Unfortunately, the "date picker" (the calendar popup that displays when selecting a date) is just a little too Euro-centric. Opera appears to have implemented the ISO 8601:2004 ($238.00!) standard that the "always reliable" Wikipedia claims is common in Europe**.
What does that mean? The week starts on Monday.
This site has an example graphic.
Unfortunately, weeks in the United States (I can't speak for you Canadians or Mexicans) start with a Sunday ("business week" starts on Monday). A few random unimportant like examples might be in order:
- US Internal Revenue Service (Taxes.... ugh)
- President of the United States
- United States Supreme Court
- US House of Representatives (PDF)
- National Geodetic Survey Global Positioning System Calendar, NASA, NPS, National Archives (PDF)
- MIT, Berkeley, Yale, Princeton, Stanford, Cal Tech.
- Most US Army, Air Force, Navy, Coast Guard, Marine, National Guard calendars I could find.
(okay, perhaps I've belabored it a bit)
Perhaps weeks starting with Monday are way better implementation? Perhaps they provide some unforeseen benefit but so-far as I can tell there's no profound improvement.
Now at this point, I should properly point out that I'd fully support the United States moving to the metric system of measurement but poor implementation in the past has been a major stumbling block (that and tools). There is a strong American sentiment for the "if it ain't broke, don't fix it." For the vast majority of applications for every-day users the old-fashioned way of doing things works well.
There is no compelling reason for them to switch (ease-of-use is hardly compelling when compared with the "hard-to-use hump").
In this case there are real issues with the spatial arrangement of the days of the week. An analogy would be if you're used to looking at a certain map North is always at the top then you might not immediately notice a change in such an arrangement. Getting lost sucks.
I routinely ignore the day-labels when doing "not today" operations with calendars -- such as "Oh, I need to do this next Friday," or "I worked on that project last Wednesday." In those situations, I don't know the date (nor is "today" marked on the calendar) so I merely mark the 'proper' position for a day.
So what does this all mean?
It means there is real risk for error in using an unfamiliar layout of something they feel they should be familiar with. In this particular instance I haven't been able to find any way of specifying how that date-picker widget works or styling it for "localization."
For now, it simply means using Javascript solution that puts the days in a layout proper for the locality. Though I'm hoping my Opera Forum posting or this post reveal some way of getting Opera to respect this particular locality usability issue.
Thoughts, ideas, questions?
Update:
* Added example of the input type-date syntax and link for clarity.
** Markus Kuhn's discussion on 8601 standard includes notes on the "week" - starting with the paragraph "In commercial and industrial applications" that also confirms common usage in Europe.


Uncle MickMickeyjoe-Irl # Thursday, January 19, 2012 8:39:32 AM
I picked up a (free) new wall calendar with weeks that start on Monday and it did confuse me until I checked the day order. I'm sure it will happen again.
WillYum # Thursday, January 19, 2012 9:26:53 AM
Sami Serolaserola # Thursday, January 19, 2012 12:34:29 PM
I recommend providing Archive view instead because there you also see the title
Eddie LopezEddie_Lopez # Thursday, January 19, 2012 2:52:03 PM
http://my.opera.com/usability/blog/2009/01/14/in-other-news-there-actually-is-a-company-that-still-uses-lotus-notes
Lotus Notes used the "Monday-centric" view and i kept clicking on the middle day thinking it's wednesday and ended up making appointments for thursday.
Karl Dubostkarlcow # Thursday, January 19, 2012 3:45:41 PM
Karl Dubostkarlcow # Thursday, January 19, 2012 3:49:08 PM
http://en.wikipedia.org/wiki/List_of_calendars
Jimtoyotabedzrock # Thursday, January 19, 2012 4:55:54 PM
Remco Lantingremcolanting # Thursday, January 19, 2012 7:08:47 PM
It's not Euro-centric at all. It's an ISO standard. Plain and simple.
If any other choice were made, it would mean it would be US-centric, Middle-East-centric, Euro-centric or <insert preferred geograpical location here>-centric. Not using the standard would mean there would be no interoperability.
jQuery UI being US-centric uses Sunday as the default, but offers an option for other days. Such an option would be a solution, but you have to take week number calculation into account too. And probably lots of other things. Which is why standards are so nice.
If you want something special, you can always roll your own.
WillYum # Thursday, January 19, 2012 7:52:08 PM
WillYum # Thursday, January 19, 2012 8:11:41 PM
Originally posted by remcolanting:
Excellent response! This is exactly at the heart of my issue. First, I disagree completely
Second, standards are based on interoperability between applications, not necessarily the "standard" for how users should interact with the application. Even, Mr Kuhn, notes the Euro-centric commercial bias when discussing the 'week' implementation, "In commercial and industrial applications (delivery times, production plans, etc.), especially in Europe, it is often required to refer to a week of a year."1
What if the US were to impose their AM/PM standard of time on the rest of the world via their worldwide reach?
I see your point here but I invite you to consider the totality with which a web browser might be used and how some applications might include simply getting the right date and no cumbersome week-number calculations. Flights, Timesheets, Bus rides, are all more dependent on the day-of-the-week than the week-number.
In B2B and internal computer programming I see the ideal of the standard but surely the ISO standard did not take into account individual users interactions and the risk for errors in changing their native expectations.
Sami Serolaserola # Friday, January 20, 2012 7:48:18 AM
Originally posted by WillYum:
Originally posted by remcolanting:
I agree on this
Johan Borgborg # Friday, January 20, 2012 12:51:11 PM
Originally posted by WillYum:
They do via their global Web sites, and that is the real issue here, that the rest of us are exposed to archaic proprietary formats. How bad can it really be that Americans get to see how the rest of the known Universe have agreed to work together the last few centuries?
WillYum # Saturday, January 21, 2012 5:50:03 AM
Technically speaking, I agree with the idea that behind-the-scenes there should be a battle and the best standard should win out! (or something) Then everyone should suck it up and use it.
But this blog space is about usability for the end-user, not for me as a developer. In your example, as soon as you see AM/PM you know, "Oh, those silly Americans," and can take corrective action (perhaps flip us the bird from across the pond), we don't intentionally trick you.
When you see a month laid out in it's standard table form and that implies a standard (by looking similar) but is actually different then it's a bit unfair to the user to expect them to always check to make sure the "sky is still up."
Besides, I don't think Opera or Europe is going to win any adherents by causing people to input the wrong dates and this is unusual for Opera because it has been, for me, notoriously usable.
Johan Borgborg # Saturday, January 21, 2012 11:21:36 PM
Jimtoyotabedzrock # Sunday, January 22, 2012 3:06:34 AM
From the Whatwg page.
"User agents should allow the user to set the value to the empty string."
"Note: The format shown to the user is independent of the format used for form submission. Browsers are encouraged to use user interfaces that present weeks according to the conventions of the user's preferred locale."
WillYum # Monday, January 23, 2012 10:25:05 PM
I'm not sure how Monday vs Sunday isn't an actual use case. Sadly, W3C doesn't have a "dislike" button.
I do seem to recall that Google's calendar app asked as required setup what day-of-the-week my week started on. (Not suggesting this solution, per se, but perhaps some variation)
Charles SchlossChas4 # Monday, January 23, 2012 11:10:03 PM
Not sure if it would be a good idea to based the start of the week to use based on location
WillYum # Tuesday, January 24, 2012 1:19:48 AM
Jimtoyotabedzrock # Wednesday, February 1, 2012 9:11:54 PM
Originally posted by Chas4:
If it is a form on a bank website it would matter if you are selecting by the week. Which is an option.WillYum # Thursday, February 2, 2012 7:50:31 AM
I also want users to see a calendar they are expecting to see. If that's M-Sun, Sun-Sat, or even Sat-F, I don't really care so long as the data my server receives has been normalized.
I don't like the idea of over-complicating a relatively simple thing (choosing a date) but I like even less the idea of oversimplifying it.
As it is, I decided to override Opera's date picker and use Jquery's Date Picker (which actually allows you to customize the first-day-of-the-week using the "firstDay' option)
Hiroyukiinfinity-1 # Monday, February 6, 2012 10:14:40 PM
In the end people should be shown the type of calendar which makes sense to them I suppose, though how it looks would seem to be a matter for user agents, which should pick up a user's regional settings. Quite a lot of software I've used lets you say whether your week starts on a Sunday or a Monday, my phone's calendar lets me choose for instance so I would expect a browser to as well.
Another issue is when weeks are numbered, where I work we number the weeks according to the financial year (ie. week 1 being in April) but all the appointment calendar software I've seen numbers them from January which makes the week numbering in the software not only useless but potentially confusing for people. So the placing of week 1 also needs to be user definable I think.
Johan Borgborg # Thursday, February 9, 2012 1:44:24 PM
Jonny Axelssonjax # Monday, February 13, 2012 6:16:24 AM
Communication protocols should be as unambigious and preferably simple as possible, so when a browser talks about a week number, day of the week, or whatever datum, the server knows what it is talking about. The ISO standards and their derivatives and equivalent specs are natural starting points.
This is necessary for cases like when you have a bank in Switzerland and a customer in the US. Whose localisation should be used, the bank's or the customer's. The UI might reflect the user's mores, but whatever is sent over the wire would have to match the bank's expectations.
For weeks the current spec states:
Originally posted by HTML5:
In other words an ISO week all the way. The UI can or should be locale-dependent, but weeks have to conform to the spec. So the date control can show a calendar beginning on Sunday, but a week selector has to select a week from Monday to Sunday. In such a localised UI an HTML5 week will be on two rows, Monday to Saturday on the first row plus Sunday on the second row. The week numbering will be according to ISO as well.WillYum # Monday, February 13, 2012 7:19:55 AM
Now the UI......
Jonny Axelssonjax # Tuesday, February 14, 2012 3:29:23 AM
There is nothing to stop you from having a UI that starts weeks on Thursdays, or displays the days in a month in descending order from 31-28 to 1. But year, month, weeks, weekdays, and dates are hard defined. For most purposes this is fine.
Take the Thai calendar. These days it is really simple, you take the Gregorian calendar and add 543 to the year (for older dates it is more complicated, the year, just like in Hiroyuki's company, started April 1). So it is year 2555 now. The UI cannot use the (Gregorian) year 2555, any date comparisons would go high-wire, and the weekdays wouldn't match. The UI would have to show the year 2555 to the Thai user (unless he wants Gregorian dates of course) but send 2012 down the wire. You would need a special control for that, but it can be done. Since 543 years is a substantial period of time, the risk for misunderstanding is slight.
Weeks are a little trickier. As long as it is display only there is no problem, the problem arises when the author allows week selection or week numbers. The US client can use the Swiss bank just fine, Switzerland is using ISO already, but a Swiss client to a US bank would lead to complications if the bank want to allow their customers to pick a week.
In the case of the US client it would be a UI glitch (the calendar starting on Sunday would select Monday 13 to Saturday 18 on one row, then Sunday 19 on the next). It would look a little strange, but hopefully work.
In the case of the US bank it is a system discrepancy. The bank would expect a week to go from Sunday to Saturday (Feb 12-18), but the only week you can pick is running from Monday to Sunday (Feb 13-19). The Swiss client would just see a week row, while the bank will have the internal problem reconciling an internal 12-18 week with the web 13-19 week.
Week numbering is slightly easier again. The US doesn't use week numbers much IIRC. Germany use them a lot. In Norway they are popular in the bureaucracy and partly in the private sector. Of course if we can't agree when a week starts we can't agree on a numbering scheme since we are not talking about the same weeks. But even if we do agree on the weeks themselves we may not agree on which week is week 1 in a year. Your week 43 may be mine week 42. This problem we can solve though, much like with the Thai years, only with greater scope for misunderstanding. My user agent convert my week numbering to ISO week numbering, and then my user agent talks with your user agent, and it converts ISO to your week numbering. Problem solved if this is working, or problem compounded if it is not.
Jonny Axelssonjax # Tuesday, February 14, 2012 3:42:44 AM