I've just been playing with Yahoo Calendar to get ideas for my own calendar/task manager. It's very impressive! It's almost exactly what I want. It can even synch with Palms.
Unfortunately, I have to own my data, I'm not giving it to Yahoo.
I wonder what programming language they use... also, I wonder how they figure out things like, if you have a task that repeats every third wednesday starting October 7th, 2002 and continuing until May 5, 2007, that that task should appear on (say) July 2nd, 2004. I doubt they actually have a record in the database for each instance, and it's probably a pain programmatically to figure out whether the current day is one of the days the task is supposed to show up on. You can also change the entry for one of the recurrences individually without changing them all. How's that work?
They also have things like a daily view that will show overlapping events, using colspans and rowspans and everything. It looks like a desktop app. If you were laying out the screen in a desktop app you'd say something like "divide the width of the window by the number of tasks" and then you can just write everything to the screen with the right width and height. In a web app you have to use tables, so it's more of a pain, but they do it very well.
Keith,
Take a look at the Php app WebCalendar on Source Forge. I just got it up fora client and have been thinking about taking over maintenance. It's pretty damn good and close to what you want.
The maintainer seems to have disappeared and I would NEVER have written it this way (a twisty little maze of intermingled html and php) but it works. It really works.
He has all the calendar logic in php and it can be stolen. It's tricky (find a piece of literal text near the calculation you need and grep for it and then grab your ass and grovel and you'll find it).
Scott