As we had built the recently launched motigo calendar, we quickly realized how important the events view was. You can add events to your calendar in two ways. One is subscribing to a news feed, the other is through the events overview page.
The events view is the page where all of your own events are listed (feed-events aren’t listed here, as you cannot edit them). The list provides edit links, so that you can alter the details of your already added events. So the primary purpose of the event view is to let the user browse through all of his events in a quick way, in order to find the exact event the user is looking for.
The peculiar thing about a calendar is, that you can both have events in the future and in the past. The most relevant events for the user will most likely be centered around today’s date, and not in one of the extremes: past or future. This also means that it does not make sense to sort events by their extremes (by the event with the oldest date or by the event with the most future date), but rather by the center: today.
At first we had just chosen to list the events ordered by id – that is ordered by creation time. This would put the most recent added events on top, and thus provide feedback for the user to let him know that his event has been added (as he could see his newly added event on the list). For feedback purposes, this list worked great. But if you wanted to find that specific event you to either edit or delete, the browsing through pages of events sorted by creation date was not acceptable. You could of course search for the event, but then you would need to know what the title of it was.
Ordering the events by start date does not make sense in itself either. The most relevant event is not one that starts in 2012 and not one that happened in 1995.
When looking for a specific event, you always know that it either hasn’t happened yet (in the future) or that it already happened (in the past).
Introducing today’s date as the center of the events view:
Adding today as the center means that you can know browse in two directions: either further back in the past or further ahead in the future. We therefore introduced two paginations: One for pages in the future and one for the past.
This view works much better as the most relevant events (the ones closest to now) will always be shown on the base page of the events view. You can then choose to browse toward either of the extremes (past or future).
Having to pagination directions is all nice, but if you haven’t filled your calendar up with that many events yet, you don’t want to be bothered with information about how you can browse the future or past- you just want the few events you have to be shown.
So the last thing we added was that. The fancy pagination arrows in the left margin are hidden when you just start and will get shown once you have use for them.
We also added the capability of looking up a specific date as a nice shortcut to finding the events you are exactly sure when is.
Developing software is not always straight forward, if you want to deliver a nice user experience as well. We hope that his insight into how we conduct iterative development will help you continue your progress in developing the perfect website of your own.