Monday, January 31, 2005

Our wacky calendaring system

Just a word of warning: this is not going to be a useful entry so if you're in a rush please feel free to skip it.

I've been working on the calendar view in MacJournal off and on the past few days and the view itself matured very quickly. Then I put that done to work on some stuff for the new searching architecture. Now that that's looking better, I went back to the calendar view to get multiple selection working (so you select multiple dates to only show entries from those days). All I can say is that whomever designed our calendar obviously hated humanity. I mostly blame Julius Caesar: he had the chance to make it a lot more sane than the previous Roman calendar and accomplished some of it but he didn't go far enough. Obviously Julius Caesar when he designed the calendar in 45 BC had never written any code before and never had to describe a calendar and multiple discontinuous ranges of date selections in C.

I'm not really saying Pope Gregory hated humanity. But a zero-based array of days with a upper-limit that is easily expressed as a power of two would have made my life a lot easier right now.

I don't yet know if the new searching will have any special UI in 3.1. It might not be prudent for this release. The search field and calendar view might be only ways to control the search for now. A special search window like Mail's Rules configuration is planned but will take a little while to implement so it's up in the air for now. There are other things I want to accomplish for 3.1 as well, such as a real way to start auto-scrolling in Full Screen mode (shift-command-2 was never meant to be a permanent solution) and a way to publish a journal to .Mac. We will see in time. 3.0.1 will be out very soon (the code is all finished) and I might start with 3.1 alphas sooner rather than later to just get the new features out there and in use.

I guess this did turn into a more useful entry than I had planned, but that's what happens when I get off topic and on to something actually informative.