At the office we’re doing a brand new version of our OnTime Group Calendar (more on that later) and for that we’re revamping our entire settings system. Both to make it more flexible and to make it easier for users. Where ever possible we’re opting for sensible defaults instead of asking the user.
With sensible defaults and revamping the settings system also comes taking a long hard look at the way settings are set and what they mean. What is a setting? What is a global setting? What is an application setting? What constitutes a language setting? What constitutes a regional setting? Are the two last ones actually the same?
For OnTime 2011 we’ve opted to split the setting system into two parts:
- Global settings that applies across the OnTime Suite (Sametime enabled/disabled (due to license restrictions on API usage), language, region, …)
- Application settings (i.e. how did the application look when I used it last)
The two most important settings from the global settings in regard to this post is the language code and the region code. We’ve chosen to let the user select the user interface language independently of the region they’re using. So what does that mean? I might choose to use US English as the user interface language but that doesn’t mean that I want dates in m/d/y format and times in 12 hour format. That’s why it makes sense.
Our regional settings contains all date/time related formats but also specifies two calendar related settings. These are first day of the week (Monday vs. Sunday) and minimum number of days in first week of the year (4 (ISO8601) vs. 1). This means that if you use the Danish regional settings we automatically apply the way we calculate week numbers.
LotusLive and Lotus Connections are examples of applications that does it the other way around (and the wrong way if you ask me). It sets the region (date/time formats) based on the language chosen so the only way to get correct (for me) date/time formats is to choose Danish as the language (although I prefer English user interfaces). As you probably guessed I think that’s wrong 🙂