One thing people use calendars for is logging what they have done. That is, they function as both schedulers and record keepers. You add what you planned to do, and they also serve as a record of what you did - useful for invoicing clients or just reviewing how you used your time.
Calendars and software based on them are inherently difficult to program and as such are often a rich source of bugs. People make a lot of assumptions about time and dates. For example that something ends after it starts.
That may sound like something that 'just is true', but there are a number of reasons why that might not be the case. Some examples are:
- You type in the dates the wrong way round (or mix up your ISO and US dates etc)
- You're working with times around a DST switch, when 30min after 0130h might be 0100h.
- The system clock decides to correct itself, abruptly, in the middle of an action (A poorly implemented NTP setup could do this)
I opened Google Calendar, picked a time that day and added an item: Stuff i did. You can see it above in light-blue.
I then clicked on the item, and edited the date. But butter fingers here, typed in the wrong year. Not only that I type only the year in. So now we get to see how Google calendar handles an event ending before it begins.
Google Calendar appears to have deleted the date. OK, maybe its just deleting what [it assumes] is obviously wrong. But why the hour glass? (⌛) What was Google's code doing for so long?
A few moments later, after not being able to click on anything else in Google Calendar, I'm greeted with this:
OK, so if I click yes, thats good right? Otherwise won't I be disabling the Calendar code? A few moments later... The window goes blank...
A little later, the page reappears and you get another chance, and the Calendar starts to give you better warnings. But none-the-less that wasn't a good user experience, and certainly a bug.
These are simple to catch bugs, so I'm often left wondering why they are often present in widely used software that probably had considerable money expended in its development. This bug is quite repeatable and present across different browsers and operating systems. All it took was a little investigation.