r15 - 04 Feb 2006 - 15:15:38 - LisaDusseaultYou are here: OSAF >  Journal Web  >  ContributorNotes > SheilaMooneyNotes > PlanningNotes20050310

Summary

Overall Goals

  • Show we can deliver a polished, finished product.
  • Get a usable portion of Chandler out to the public quicker in order to begin building adoption momentum sooner rather than later.

This is a working page for the purposes of 0.6 and 0.7 planning. It contains two working lists.

  • 0.5 Cleanup and Calendar Polishing - All the candidate items that we need to do in order to get the app cleaned up visually and finish off a number of items that were left out of 0.5. This includes the sidebar/app bar work which will enable us to evaluate this design. This is the high priority candidate list for 0.6.
  • Usable Calendar - All other features that are necessary to get us to a usable conventional calendaring application + interoperable, collaborative calendering. Some of this list may end up in 0.6 depending on resourcing and scheduling of the above this, the rest will go in 0.7.

Status

  • Next revision of page complete based on meeting with Mitch, Sheila and Mimi 03/11/05. Places noted if further details are required.
  • Further reviews scheduled for week of 03/14/05.

Discussions Pending

  • Explore disabling stamping and summary table view for 0.6 to focus on calendar.
  • Talk about iMip invitation workflow and how we would support this with no summary table view. How would we create an invitation, send updates. What basic workflow is necessary. Is this a 0.6 or 0.7 feature?
  • Continue the discussion about not having events in more than one collection. Speak to engineering about this.
  • Search, what would be the workflow for calendar search?
  • iCalendar - discussion about how we will represent Chandler events in iCalendar format, anytime, all-day, various scenarios and pros/cons.
  • WebDAV accounts - next steps for accounts and acls.

List #1: 0.5 Cleanup and Calendar Polishing

Overall Polish

  • Splashscreen progress bar - make it look prettier.
  • Remove inconsistencies in beveling, particularly on Mac which is causing 3D look.
    • Single grey line to draw border around panes
    • Darker grey divider lines above and below toolbar
    • Toolbar chrome is ligher than rest of the chrome
    • No top border for status bar
    • No border for detail view (just a border for the text fields)
    • No border for mark-up bar
  • Add animation feedback on the status bar for synching operations.
  • Rationalize margins, gutters, alignment for entire app.
    • 5 pixel margin inside all panes for text
    • 3 pixel margin inside all buttons for text etc..
  • Consistent font face, size and treatment - define defaults per platform.
    • Standard system font face and size
  • Make sure we have bold text, black text, grey text in the correct places across the application.
    • Black for all text except (0,0,0)
    • Greyed out collections in the sidebar (153,153,153)
    • Example text in the detail view text fields (153,153,153)
    • Text labels for greyed out buttons
  • Copy and paste text and items is basically absent - [OI?] Mimi and Sheila will go through application and list all the places where this should work.
    • [OI?] Do we support copy and paste outside of the Chandler app?
    • From any editable piece of text (not necessarily in-line editable, but any text the user can change) to any editable text field.
    • Email addresses (if they're items themselves) can be copy and pasted within the email addressing fields.
    • Items can be copy and pasted within the summary pane.
    • Collections in the sidebar can be copy and pasted within the sidebar.

Detail View Refactoring

  • Complete work to use Attribute Editor for all fields in the detail view.
  • Implement robust notifications solution.
  • Improve mark-up bar icons with custom bitmaps
    • Different bitmaps for Active, Rollover, Mousedown and Selected [OI?] Spec out per platform.

Sidebar - Finish off 0.5 items

  • Appbar buttons
  • Better toolbar bitmaps for the App bar icons - to indicate that these behave differently than the other toolbar items (different bitmaps for Active, Rollover (optional), Mousedown and Selected).
  • Fix bug for missing text labels on the Mac.
  • Add pulldown arrow for Sync and New buttons.
    • Sync all, Sync shares, Sync specific mail account
    • New note, message, task, event, invitation

  • Sidebar
  • Add icons to the left of the text for the All, In and Out collections. The icon next to the All collection changes depending on the App Bar item selected. The icons for In and Out are constant across all App Bar items.
  • Change the text for the "All" collection depending on the App Bar item selected. The text should be.
    • All my items
    • All my tasks
    • All my events
    • All my mail
  • Collections in the sidebar should be greyed out if there are no items of the "selected app bar kind" in that collection.
    • We should also have message in summary table view (no items of that kind). ie: There are no tasks in your Home collection.
  • Add functionality to create a new collection by double-clicking on the white space in the sidebar.
  • Add unread message counts to the right of the collection name. This gets updated when you change the Appbar selection.
  • Rationalize view - collections relationship
    • What aspects of a view are shared across app areas?
    • What apsects of a view are shared across collections?
      • Selected item [per collection, except when overlaying calendars]
      • Scrollbar position [per collection, except when overlaying calendars]
      • Summary pane width [per app area]
      • Displayed columns [per app area]
      • Column widths [per app area]
      • Selected column [per collection]
      • Sort order [per collection]
      • Date range [per collection, except when overlaying calendars]
      • Day view v. Week view [per collection, except when overlaying calendars]
      • Mini-cal selected date range [per collection, except when overlaying calendars]
      • Mini-cal displayed date range [per collection, except when overlaying calendars]
  • Toolbar color on Mac is incorrect, should be a slightly lighter shade of grey.

  • Shared sidebar collections
  • In the current versions of the app, a shared collection has the text "(shared") appended to the right of the collection name. This should be replaced by an icon to reflect the following states.
    • Incoming v. Outgoing share (right-aligned) v. Failed (offline or suspended share)
  • Add the ability to sharing a subset of a collection ie: Events only.
    • There will be a visual cue to indicate that only a subset of the items in this collection have been shared. The current proposal is to have a 2nd set of sharing icons that show that a collection in the All mode is partially shared.
  • Add support for rollover and mousedown behavior on the sharing icons. Clicking on the icon will bring up collection detail view to manage the share ie: add new participants.

  • DnD
  • Add feedback on cursor to differentiate between Adding, Moving and Deletion operations.
  • Fix bug where dragging and dropping items into a kind specific tab automatically stamps them as this kind.

  • Selection persistence
    • For each appbar area, sidebar collection selection persist - remember the selected collection the last time we navigated to this app bar item.

Calendar View

  • Calendar Header Area
  • Get rid of Today button in the main calendar view should be consistent with the Today button in the mini-calendar.
  • Fix calendar Month label so that it's consistent between Week and Day views. [OI?] Get exact description from Mimi. MimiYin Basically the Month label should only say: Month Year, never Month Day Year, which is what it's doing now when you go from week view to day view.
  • Fix the calendar Month label so that it displays both months when straddling 2 months (ie. April-May 2005). Currently it only displays one month name.
  • On the Mac, improve the look of the calendar Month label and back and forward buttons. They should be clickable but not look like they are on a button background (no lines, look like static text).
  • As you resize the calendar view the column header text should adjust ie: Sun 13 -> Su 13 if the headers become smaller. See iCal for example.
  • Add visual properties for the column header of Today. Need to define specific behavior for all 3 platforms.
  • Integrate header widget (Make sure the appropriate MouseDown state is happening on the Mac - Darkened grey)
  • Calendar body
  • The following behavior should be added to the All-day area.
    • Do not display all-day area at the top unless there are items in there.
    • Each additional all-day event should widen the all-day area...up to 3 events on the same day.
    • If there are more than three rows of events, Plus button activates so that the user clicks to see the full list. The Plus button will change to a Minus button.
    • Clicking the Minus button retracts back to three rows of all-day events.
    • Plus button is automatically clicked to display all events when users create new all-day events (beyond 3 in one day).
  • Overlapping events should be staggered.
  • DnD events around. NOTE: Mimi needs to define exact behavior. MimiYin Within the calendar summary view. To and from the all-day event area and the main calendar summary view. To and from the summary view and sidebar collections.
  • Cut and paste events NOTE: Mimi needs to define exact instances of cut and paste that should work.
    • MimiYin Click to select event item. Cmd / Ctrl - click to multi-select events.
    • Hit Cmd / Ctrl - C OR select copy from the Edit menu OR right-click and select copy from the context menu
    • Click on a blank half-hour slot anywhere in the summary calendar view (all-day event area included). Detail view does not change like it does in iCal.
    • Feedback should be provided when user clicks on blank half-hour slot
    • Hit Cmd / Ctrl - V OR select paste from the Edit menu OR right-click and select paste from the context menu
    • Event(s) are pasted accordingly (ie. If user copies 2 events that are 3 hours a part and pastes them on a different day starting half an hour earlier, the 2 events should remain 3 hours a part, but start half an hour earlier.
    • Pasting events with duration into the all-day event area simply turns them into all-day or multi-day events.
  • Fix bug: AM and PM should never appear together. Only one of them should be visible. [OI?] Mimi, add the exact rule here for what is displayed. MimiYin Same as Apple iCal.
  • The color / boldness of the time font needs to be treated differently on the 3 platforms. The bold treatment on PC looks okay, but is too thick on the Mac.
  • Add the behavior so that if the duration of the event is too short to display both the Start time and the Event title, we display the Event title. This can be reproduced by making the event duration 15min, 30min or 0 duration.

  • Visual feedback
  • Add a drop shadow for distinguishing the selected event.
  • Improve on Confirmed, Tentative, FYI, Conflicted status displays. MimiYin Custom bitmaps? or is that unecessary?
  • Improve on shape, texture and rendering of lozenge. [OI?] Custom bitmaps? or is that unecessary?
  • Anytime events should sit on a Mac style lozenge not a square one. [OI?]: Need to discuss the appropriate look for 3 different platforms.
  • Add an @ sign before the start time 3:00PM on the event lozenge to distinguish events with no duration.
  • Add feedback for when users selects a blank half-hour time slot in the main-cal. Select the cell to indicate the user has clicked on something.

Mini Calendar

  • Visual tweaks - Bug:2586
    • Make margins all-around the mini-calendar even.
    • Light grey dates are too light on the Mac.
    • Make selected date selector not rounded.
    • Make the MONTH YEAR label not all caps, keep it bold.
    • Smaller font on the Mac.
  • Fixes to Minical - Maincal navigation relationship - Bug:2643
  • Different selectors for week view v. day view in mini-cal - Bug:2646
  • Let's try a 1 pixel box around Today

Sharing

  • The sharing detail view is missing some information.
    • Line at the bottom indicating "Created by PERSON on DATE" for a newly created or accepted share.
    • This line is changed to read "Last modified by PERSON on DATE" once a sharer has made and uploaded a change.
  • Add the ability to share portions of a collection ie: I would like to share only the events for my All collection. See bottom of ZeroPointSixDetailView. [OI?] Not necessary if we disable everything but Events in the App bar?
  • User can set a single ACL for all sharees on the share. Options are: World readable (allows users who don't have accounts on the server to see the share), Read, Write. OSAF_OI% This sounds like a new feature and should go in List #2.

Toolbar

  • The Print icon on the toolbar for the calendar is missing.
  • The Toolbar buttons should align with the panes.
    • App Bar buttons left align with the Sidebar
    • Sync, New, Print buttons left align with the Summary table view.
    • Send button left aligns with the Detail view.
  • Add Alpha channel support so that the bitmaps/buttons look much nicer. OSAF_OI% Find out dependencies on next wxWidgets releases.

List #2: Usable Calendar

  • Proposal: Consider limiting the membership of calendar events to one per calendar for 0.6. Explore what needs to be disabled in the UI to prevent users from putting a single event in multiple calendars. Would we simply support a Copy function that would duplicate an event item but sever the link between the original event item and its duplicate?
  • Proposal: Consider hiding the summary table view and other partially complete features in 0.6. How would this effect some of the proposed functionality ie: iMip invitations would not appear in summary table view as an email, what would happen instead? Are we going to consider disabling stamping for 0.6?

  • 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.
    • [OI?] We need to discuss the issues around Search. If we disable the summary table view for 0.6, where will the Search results appear?
    • [OI?] Will search results show up in a summary table view?
    • [OI?] Will there be columns?
    • [OI?] Will they be sortable?
    • [OI?] If not, we will need navigation to go back and forward between search results in the calendar view.
    • Add Search field to toolbar
    • [OI?] Do we need a widget to search on a specific attribute or just text search?

  • Calendar detail view
  • Recurrence - OSAF_OI% Need to close on a useful subset for basic recurrence.
    • 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.
    • Advanced recurrence: Requires a custom UI. Weekly on multiple days (ie. MTTh)
    • UI for setting recurrence parameters for an event in the detail view.
    • UI for setting recurring events in the calendar view.
  • Improved date time entry widget on the detail view to make event creation easier. [OI?] Need discussion around iCalendar and Anytime 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-cal

  • Communications
  • Invitations
    • [OI?] Explore solutions for invitations with no summary table view or stamping, how will this work? Popup for received invitations, logging? MimiYin I thought we would at least allow stamping for outgoing invitations?
    • [OI?] Need to sequence work in invitations and do the most basic stuff first.
    • Sending and receiving iMip invitations from Chandler and other clients.
    • Email auto-completion and visual polish (lower priority).
    • Edit and update invitations OSAF_OI% If no summary table view, how do we support this? MimiYin Users can find and edit the event invitations in the calendar summary view.
    • Receive updates to invitations. OSAF_OI% If no summary table view, how do we support this? MimiYin I guess same as newly received invitations? In a popup log? Similar to the way alarm notifications stack up in our current alarm popup dialog.
    • Reply, Reply all and Forward - support in detail view, toolbar buttons to do this OSAF_OI% May not need this for usable calendar.
    • Attachments UI - Viewing, saving attachments that may be included with the invitation. OSAF_OI% May not need this for usable calendar.
  • Setting up a WebDAV account [OI?] Need a discussion for this.
    • How do users set up WebDAV accounts?
      • Chandler users are given OSAF hosted server accounts
      • Chandler provides users with links to WebDAV service providers in the Account setup dialog
    • How do non-account users access shares?
      • They have read-only access to shares that are world-readable.
      • Tickets are provided to allow non-account holders to access shares read-only [OI?] Or do we give users the option of sharing their calendars world-viewable in exchange for allowing sharees without accounts to access the share? [OI?] What's the best way to explain this to users?
    • [OI?] Do we allow users to set up their own WebDAV servers and accounts (in addition to the Chandler-run server), thereby complicating the sharing invitation workflows? For example,
      • Which server does the user's free-busy information live on?
      • Do we provide UI for the user to specify a server? Or do we assume we should look on all servers all the time and upload free-busy to all servers?
      • We've proposed an automatic account look-up feature to help users identify sharees who have accounts on their sharer. If the sharer has multiple WebDAV accounts on different servers, which server do we do automatic account look-up on when looking for available sharees for the sharer? Do we look on all of them? If the sharer selects sharees from multiple servers, do we upload the data to all the servers? Or do we explain to the sharer that they can only select sharees with accounts on the same server.

  • Free-busy
    • Add menu item: Publish free-busy information (preference setting)
    • Add menu item: View free-busy
    • Add UI to specifying who's free-busy information we want to see with an account lookup feature. Where would it live:
      • Dialog?
      • Detail view?
    • Allow users to specify location of free-busy data if user knows it: enter url.
    • Provide visual representation of composite free-busy information.
    • Provide corresponding legend to match free-busy block color to an individual
    • Mouseover free-busy lozenges to see whose free-busy it is
    • Integration with the event invitation workflow [OI?] Depending on scope and design of invitation workflow.
      • Add Schedule button in the detail view (next to date/time entry widget)
      • Schedule button brings up free-busy display for users in the From and To fields of the invitation
      • From and To fields of the invitation display a legent of colors that correspond to the free/busy blocks in the summary calendar view. (The lozenges or text of the email addresses can change color. We don't need a vertical, table layout of email addresses.)
      • User can select a time slot in the free-busy view
      • User clicks Done or Cancel buttons to return to regular calendar view
      • If user clicks away to a different calendar in the sidebar before clicking Done or Cancel...and then returns to this calendar, the free/busy view will still be up.
  • Sharing calendars
    • [OI?] Will we provide a summary table view for the In and Out collections so that users can view their sharing invitations? Or do we present invitations in a popup log similar to IMIP invitations?
    • [OI?] Do we assume all sharing participants are on same server?
    • Share a read only calendar.
    • Share a read/write calendar. (Read/write for account holders.)
    • Sharing a calendar specifying read/write privileges on a per sharee basis. [OI?] Is this necessary?
    • Add a new sharee to an already established share (with visual feedback)
    • Remove a sharee from an already established share
    • Provide feedback on sharee invitation status: Sent, Failed (smtp), Failed (recipient's mail server)
    • Provide feedback on sharee sharing status: Pending, Viewed, Syncing suspended, Removed from repository, Failed
    • [OI?] Can we do this without a grid layout for the sharee list?
    • Suspend syncing on a share
    • Terminating and removing a share from the server
    • Sharing conflict resolution. [OI?] Is this necessary?
      • What auto-conflict resolution features are there? ie. Intelligent merging when changes have been made to separate attributes? OR Do we provide a UI where users can explicitly resolve conflicts:
      • Dialog appears informing you of a conflict
      • User is presented with both versions of the item side by side with the conflict highlighted
      • User selects a winner
      • User has the option to copy and paste text from one version to another
      • User confirms selection

  • Interoperability
  • CALDAV support
    • Store shared events in iCalendar format.
    • Implement Free-busy CALDAV report.
  • iCalendar work
    • Finish import/export of calendars.
    • 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.
    • Add option to print a blank calendar. (not a high priority)

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r15 < r14 < r13 < r12 < r11 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.