Well, I think, Thom is not referring to Funambol at all when he says "wasting time". He is talking about proper implementation of the LMCE wrapper parts for some calendaring system instead. Funambol itself is no calendar system but only a sync server. As Thom pointed out before (please correct me if I'm wrong...), this includes
* Orbiter screens
* Calendar plugin
* Calendar engine (this could be some sort of existing calendar server)
I think before starting to code something, we should have a short brainstorming on what we would like to achieve with the new feature, i.e. collect some use-cases. I'll start with some points, please add more or correct me
* Storing events for every user and maybe for groups (familiy calendar, kids calendar etc.)
* Events consisting of a title, description, time frame, location etc.
* Event reminder pop-up screens
* Display the user's calendar on the orbiter (different views: day, week, month)
* Detailed view of an event => creating new events, modifying events, deleting events
* Overlaying the user's calendar with his group calendars
* Show a "what's next" screen with upcoming events
* React to invitations
Any other ideas? Since this is already quite a bunch of stuff, we should take it easy and try a step-by-step approach, maybe starting with the quite simple event reminder pop-ups (which could be extended by bulek's speech announcements).
I would like it to be like my work calendering system.
1. Each user or the administrator can set a preference of how far in advance a reminder shows before a scheduled event.
2. Todo lists show up at the first interaction of the day or if there is a wake event.
3 reminders (voice or how ever) happen in orbitors where the user is in
4 group reminders happen in all orbitors where a member of that particular reminder is at.
5 group reminders are made such that the reminder only stops showing for individuals that have closed it or "snoozed" it
I think its simple on how to overlay calendars. Make one calender and allow users the right to make private events. so, if an event is not private everyone in the group can see it even though it may not be for them. If it is private, it blocks off time for that particular user, but does not show what the even is. I don't know if that is really as simple as it sounds, but it seems simpler than creating a calender for every member then trying to overlay events to find free time to schedule. Of course, this doesnt scale well, but how many users have a need for 20 - 50 users?
Maybe that's where you should start: defining the amount of users needed and scalability?
show upcoming events in the same fashion play lists are shown for music. Time and subject, if within 24 hours. Click on the item to get detail. Or create a button on orbiters to to bring up the calendar.
Calendar entry should be able to happen from the web interface or onscreen/ other orbitors. I dont care how its displayed, but 2 days, 1 week, 1 month works for me. should be accessible via a button on the orbitor
invitations.... wow that brings up countering on times and all that other stuff. I'll leave that alone..
format. my thought.. stick with ical and webdav it seems simple, data looks easily extracted and can probably fitted to sync programs. Also makes your calendar available via the interface and through the internet if you have it accessible.
I dont know much about how to create the engine or plugins, so that part I wont comment on.