Summary
This document is the working proposal for new features to support the usable calendar goals for 0.6.
Status
DRAFT - This list is still under discussion and has not been fully vetted.
This content reflects the design team's working discussions to date and will inform the feature list on the 0.6 planning page and eventually turn into the 0.6 spec for calendar.
Proposal
Deletion and Trash
- Add support for trash and deletion - including keyboard shortcuts.
- DnD to the trash removes events from the calendar (assume single membership).
- Should be able to multi-select and drag.
- Hitting delete on the keyboard simply removes the event from the selected calendar. Should support multi-select.
- Add Remove and Trash buttons to the toolbar.
Sidebar
- In the Events App area, add a new widget to the left of collection that contain calendar items to overlay them.
- Simple proposal: Use a standard checkbox
- Advanced proposal:
- Hovering or clicking on the collection name invokes a selector widget to the left of the sidebar collection.
- User must click directly on the selector widget to turn on or activate a collection persistently.
- Clicking on the name of the collection simply selects it without turning it on.
- Click on selector widget again to turn the collection off.
- Turning on multiple collections combines the data of multiple collections into a single view.
- Selected event is determine by which collection is currently selected.
- Persisting which sidebar collections are "turned on".
Main calendar view
- Color events based on their membership to a particular calendar.
- Use saturation to distinguish between selected calendar events and turned on calendars that are overlayed but not selected.
- Timezones
- Add the field for setting/changing an event timezone to the detail view of the event item
- Add the feature for setting/changing a calendar timezone that automatically converts all events to the new timezone. (See upper right hand corner of Apple iCal)
- Changing the timezone should have no effect on All-Day events.
- Nice to have behavior: An event is scheduled for 9AM EST, but the user's calendar is set to PST. Correct display: The 9AM EST event is displayed in the 6AM PST time slot on the calendar BUT the time header on the event in the summary calendar view displays 9AM EST. Basically, display the event timezone time in the summary view event header, but place it in the calendar timezone timeslot if the event timezone differs from the calendar timezone.
- Search - focused on calendar fields.
- simple text search with items displayed in summary table view.
- Add Search field to toolbar
- search focussed on subject and body fields.
Calendar detail view
- Recurrence
- Support the import and export of calendars that have recurring events and display them correctly in Chandler.
- Calendars with more complicated recurrence rules that Chandler supports should be handled and this needs to be preserved when we re-export the calendar.
- Creating recurring events in Chandler.
- Support basic recurrence: Requires a standard combo box pulldown widget. Daily, Weekly, Monthly on this day, Monthly on this date, Yearly on this day, Yearly on this date with the ability to specify the number of days, weeks, months, years.
- UI for setting recurrence parameters for an event in the detail view.
- Deleting a modifying recurring events
- We should be able to handle deletion and changes for the entire series, one event or all future. Same scenarios as iCal.
- Improved date time entry fields to make event creation easier.
- Simple field proposal similar to other apps.
- Handle multi-day events, @ time and any time events.
- Alternate layouts. One with the detail view to the right and a second with the detail view below the summary table view (widescreen vs horizontal).
Mini Calendar
- Display preview area of events above the mini cal. This area is blank if there is nothing scheduled for today.
- Multiple mini-cal month display with the ability to drag on the mini-cal pane divider to adjust the number of months displayed (see Apple iCal).
- Add the ability to open and close the mini-calendar.
Communications
- Setting up a webdav accounts.
- Are there any changes in Chandler to the way in which we setup webdav account information?
- Should be the same as in 0.5.
Sharing calendars
-
- Support publish and subscribe of calendar shares through using ticket URLs.
- Using tickets for read/write access vs readonly access. No tickets for per-user access.
- Tickets can be received by non-Chandler as well as Chandler users out of band.
- Decouple publish and subscribe from sharing notifications via email.
- Managing who you have sent notifications to or people who have subscribed to your shared calendar is not important for 0.6.
- Synching shares
- Currently the "Sync" button does everything. Need a UI to pick what you want to sync or setup to have only shared calendars synched.
- Chandler UI for having some control over this.
- Sharing conflict resolution. What improvements do we need?
- Consider a simple logging mechanism for 0.6 for server and client events.
- Event level URL's - keep as maybe item for 0.6. Think about a good way to phase this and leave placeholder section for the spec.
- Consider some research for sharing with Exchange in 0.6 -> test menu item. Revisit this after scoping of primary features and use cases.
Interoperability
- CALDAV support
- Store shared events in iCalendar format.
- iCalendar work
- Finish import/export of calendars and add improvements
- Represent all Chandler event types in iCalendar format - No scheduled tasks.
- Anytime, All-day, Multi-day, Specific-date-time-no-duration, Specific date-time.
- Importing and displaying timezone information.
- Importing and displaying recurrence information
Printing the calendar
-
- Printing event details.
- Improve formatting.