r7 - 18 May 2005 - 10:15:56 - MimiYinYou are here: OSAF >  Journal Web  >  MimiYin > ItemCollectionAndSidebarBehaviors
Status Official 0.6 sidebar spec has moved to: http://cvs.osafoundation.org/viewcvs.cgi/*checkout*/docs/specs/rel0_6/Sidebar-0.6.html?rev=HEAD

Terminology

  • Date range: The date range in view in the maincal.
  • Month range: The month range in view in the minical.
  • Library collection: My items, My mail, My tasks, My calendar, In and Out (See the "Item removal and deletion spec" for more details about Library collections.)
  • Not-mine collection: A user designation assigned to user-defined collections containing items that the user doesn't want automatically picked up by their Library collections.
  • Mine collection: All of the user's Library collections + user-defined collections that have NOT been designated as "Not mine" collections

  • Appbar: Left-most toolbar above the sidebar that houses the 4 kind-based application areas: All (all kinds), Mail, Tasks, and Calendar.
  • Collection: Groupings of items that appear in the sidebar. Collections have names and will eventually be attached to specific attributes in the Detail view. Chandler will provide 4 out of the box collections in 0.6: My items, In, Out and Trash.

Anatomy of the sidebar

  • The sidebar is comprised of the App bar and a Sidebar pane containing collections
  • The App bar contains 4 App areas: All, Mail, Tasks and Calendar
  • The Sidebar contains item collections or groupings of content items
  • The App bar filters the sidebar collections by Kind
    • The All app area filter allows for all 4 Chandler kinds: Notes, Messages, Tasks and Events
    • The Mail app area filter allows for only Messages
    • The Tasks app area filter allows for only Tasks
    • The Calendar app area filter allows for only Events
    • Currently, there is
  • Because of stamping, items can be of more than 1 kind. Therefore, a single item could appear in multiple app areas.
  • The summary pane displays the results of the selected App bar filter and the selected sidebar collection.

1. Navigating between collections and across app areas

  • Sidebar collection settings across App areas
  • There are 4 OOTB collections:
    • My items. The name of My items changes depending on the selected app area:
      • My mail
      • My tasks
      • My calendar
    • In
    • Out
    • Trash
  • All other collections are user-defined or created as a result of sharing
  • All collections will have icons
  • OOTB collections have special icons unique to each collection.
  • The My items collection has 4 icons that change depending on the selected App area
  • All other collections have the same name and the same icon across all app areas EXCEPT:
    • The In and Out collections are hidden in the Calendar app area
  • Collection names are greyed out if they do not contain any items

  • View settings across App areas
  • Window size
  • Collection menu item
  • Selected collection
  • Selected item if possible
  • Overlays do NOT persist across App areas

  • View settings per collection in All, Mail and Tasks app areas
  • Selected item
  • Scrollbar position

  • View settings across collections in Calendar
  • Displayed date range
  • Mini-calendar displayed month range
  • Mini-calendar selection
  • Day v. Week view

  • View settings that persist per App area
  • Columns
  • Column sort
  • Column widths
  • Sidebar, Summary and Detail view widths
  • Show and hide panes: Sidebar, Mini-calendar, Detail view
  • All, Mail and Tasks collections display in Table view
  • Calendar collections display in Calendar view
  • Calendar day v. week view
  • Calendar date range
  • Calendar scrollbar position

  • View settings wrt Minical
  • Minical selection persists between collections across the All, Mail, and Tasks app areas
  • Minical selection is always a day selection in the All, Mail, and Tasks app areas
  • D-clicking on a date in the mini-cal takes the user to
    • the Calendar app area,
    • in the selected collection,
    • either in day or week view depending on what the user was looking at the last time they were in the calendar app
  • Once the user is in the main calendar, the minical month range and selection are slaves of the maincal date range
  • However the user can change the month range of the minical WITHOUT changing the date range of the maincal. ie. the minical can fast forward to display March of 2005 while the maincal is still displaying the 3rd week of January 2005.
  • The minical displays either a day selector or week selector depending on whether the user is in day or week view in the maincal. There is no way to switch between day and week view from the minical.
  • When the user leaves the Calendar app area:
    • if the maincal was in day view, the minical selection stays the same
    • if the maincal was in week view, the minical selection switches to the day selector and automatically selects the first Monday of the week
  • See minical spec for more details about how the minical works.

  • Running Chandler
  • User runs Chandler for the first time.
    • The Calendar app area is selected
    • My calendar and Trash are the only 2 collections in the sidebar.
    • The My calendar collection in the sidebar is selected.
    • The summary calendar view is set to week view and displays "This week".
    • My calendar contains a single welcome event set to "Today" from 12-1PM which is in view, but not selected.
    • The detail view is blank.
  • Run Chandler a subsequent time.
    • We maintain the app bar button selection from when we closed Chandler.
    • We maintain the sidebar collection that was selected from when we closed Chandler.
    • All view settings are maintained from the previous session EXCEPT: * Calendar always resets to Today's week if the user
        • Closes the Chandler window
        • Quits and restarts Chandler

2. Navigating between collections in different app areas

  • The selected collection stays the same

  • The selected item stays the same as well UNLESS the selected item does NOT match the kind of the selected app area, in which case:
    • nothing is selected and
    • the detail view is blank.
  • If the user is switching to the Calendar app and the selected item was NOT an event:
    • nothing is selected,
    • the detail view is blank,
    • the calendar is in either week or day view, depending on which view the user was in the last time they were in the Calendar app area
    • the calendar date range is set to whatever it was the last time the user was in the Calendar app area

  • If the selected item DOES match the kind of the selected area:
    • the item selection persists and
    • in the All, Mail and Tasks app areas, the scrollbar position should change such that the selected item is in view.
  • If the user is switching to the Calendar app and the selected item WAS an event,
    • the same event item is selected
    • the detail view displays the selected event item
    • the maincal should be in either week or day view depending on which view the user was in the last time they were in the Calendar app area * the maincal date range should override the persisted date range from the last time the user was in the Calendar app area, such that the selected item is in view and * the scrollbar should override the persisted position from the last time the user was in the Calendar app area, such that the selected item is in view.

3. Sidebar interaction

  • Creating new collections
  • D-click in a blank area in the sidebar to create a new collection
  • Select File>>New collection from the menu
  • Newly created collections are automatically named Untitled and the text is selected, ready to be renamed
  • OOTB collections cannot be renamed
  • Renaming shared collections only changes the name on the sharee's local machine

  • Deleting collections
  • There are 2 ways to delete collections:
    • Right click on a collection and select Delete from the context menu
    • Select the collection in the sidebar and go to the Collection>>Delete menu item
  • A dialog pops up: Delete the: Collection, Collection and its contents, Cancel.
  • Delete should be greyed out for OOTB collections.
  • Deleting a collection that is an inbound share is the same as:
    • Unsubscribing from the share AND
    • Deleting it from your repository
    • Deleting an inbound share does not delete the collection from other sharee's repositories
    • Deleting an inbound share does not delete it from the server
  • When a user tries to delete a collection that is an outbound share, they are prompted with a dialog:
    • "x-number" of people are subscribed to this share. Are you sure you want to delete and unpublish this collection? Okay, Cancel

  • Dragging items between collections always adds items to the destination collection
  • The summary pane displays the sum of the selected collection + activated (checked) collections.
  • Collections that have icons display the checkbox affordance when the user mouses over the collection row in the sidebar.

  • Collections are activated by clicking directly ON the checkbox.
  • Activating a collection does NOT automatically select the collection.
  • Selecting a collection does NOT automatically activate the collection.
  • Users should be able to switch selection between collections without activating them.

  • Multiple selection should be turned off.

  • Overlaying calendars
  • See the Calendar spec for details.

4. Sharing icons

There are different icons for:

  • Outbound shares
  • Inbound shares
  • Partial shares. Partial share icons display next to collections in the All app area when only portions of the collections have been shared. For example, if an user has only shared the Calendar portion of their My items collections,
    • a partial share icons displays next to My items in the All app area
    • no share icons display next to My mail and My tasks in the Mail and Tasks app area
    • a full share icon displays next to My calendar in the Calendar app area
    • Error: User is offline, Server error, etc.
  • Please see http://wiki.osafoundation.org/twiki/bin/view/Chandler/SidebarSpec for more detailed drawings

5. Designating a collection as "Not mine"

  • Designating an empty collection as "Not mine"
  • Users can designate user-defined collections as "Not mine" but selecting the "Keep out of My items from the Collection menu item
  • All items created in the collection are NOT automatically picked up by the user's Library collections: My items, In and Out
  • However, the user CAN explicitly add items from "Not mine" collections to "Mine" collections and vice versa. (ie. My items, My mail, My tasks, My calendar, In, Out and any user-defined collections that have not been designed as "Not mine" collections). In other words, a single item can live in both "Not mine" and "Mine" collections.

  • Designating a collection as "Not mine" after the fact
  • Users can designate collections as "Not mine" after the fact.
  • All items already living in the collection are sucked out of all other "Mine" collections.
  • All items already living in the collection are NOT sucked out of all other "Not mine" collections.
  • [OI?] Is this hard? This is a nice to have. We can disable the "Not mine" option for collections that already have items.

  • Designating an Inbound share as "Not mine"
  • This is a checkbox option in the Subscribe dialog, detailed below.
  • Users can designate a shared (Inbound or Outbound) collections as "Not mine" after the fact as described above.
  • All items added to shared (Inbound or Outbound) "Not mine" collections by OTHER sharees are treated the same way as items that are created in-place in the collection. In other words, they are kept out of the user's "Mine" Library collections.

  • A particular sharee's "Not mine" setting does not affect other sharees

6. Importing calendars

  • Users have a choice of importing calendars to:
    • My calendar
    • A new collection

7. Sharing a collection

See Sharing spec for more details

8. Focus

  • The selection focus is always in the summary pane.
  • Sometimes it is also in the detail view.
  • It should never be in the sidebar or the mini-calendar.

9. Editing the item in the detail view and summary pane

  • Editing any field in the detail view should automatically update the corresponding field in the summary pane upon clicking or tabbing out of the field. [OI?] Just wanted to confirm that we still can't make commits in real-time?
  • Editing any field in the detail view should NOT move within the summary pane UNTIL the user clicks away from the item in the summary pane.
  • Editing any field in the summary pane should automatically update the corresponding field in the detail view.
  • Editing any field in the summary pane should NOT move the within the summary pane UNTIL the user clicks away from the item in the summary pane.
  • Editing any field in the detail view or summary pane should not remove the item from the collection UNTIL the user clicks away from the item in the summary pane.
  • [OI?] Ted, do you want me to go through each field individually for all the different kinds, making thing anytime events etc?
    • TedLeung - you don't need to do that unless there's something really different, like "a date picker widget pops up" or something like that. I'm assuming that any visual details for the affected areas are already on "List 1".

10. Stamping and Unstamping items

  • 1. In any collection in the All, Mail, and Task app areas, stamping or unstamping the currently selected item should update the stamp columns in the summary table view immediately.
  • 2. Unstamping an item of a particular kind does not cause the item to disappear from the summary table view or the summary calendar view until we click away from the item in the summary pane.

11. Menus

  • The collection menu contains the following items:

    • New
    • Delete
    • Rename
    • Duplicate

    • Subscribe
    • Share ...
    • Manage ...
    • Copy URL(s) to clipboard
    • Sync ...
    • Take ... offline

    • Keep ... out of My

  • ... = name of collection selected in the sidebar
  • For more details on which menu items are active v. greyed, see Context menu spec and the Sharing spec.


Not for .6

1. Updating items in a collection

  • 1. Collections should be updated when the user goes to view them. The status bar should give the user
    • 10 messages were added by ShareeUser?
    • 5 events were deleted by AssistantUser?
    • 3 messages were deleted by you in a different email client, etc...
    • 14 items were added because they were marked as Done
    • [OI?] Ted asked: Are these example feedback messages or are they specific messages that we expect to see? I'd like to see the set of message we expect to see, so we can make sure that the lower levels of the system actually provide enough information to construct these messages.
      • MimiYinI? think I would need to work on this with you and Brian K and Morgen. I'm not sure I know what all of the scenarios are for why items would appear or disappear from any given collection. Not only do we need to understand what the scenarios are, but we also need to know how much Chandler can actually figure out. For example:
      • An item might disappear because the user deleted it from a different IMAP client.
      • Would Chandler know who deleted it? if it was deleted via IMAP or Sharing?
      • When it was deleted?
      • What client was used to delete it? etc...
      • Caveat For .6, we can probably focus mostly on the Sharing scenarios and worry less about email.
      • [OI?] TedLeung - we should probably work with Morgen / Brian K to get a first cut at the list of reasonable messages.
  • [OI?] TedLeung - are use cases 6 and 7 also supposed to cover changes via background tasks? I think that the answer is yes, but just want to be sure.

2. Search collections

  • 1. When users search within a collection, we should display the # of results in the sidebar next to the collection. The # of search results should update in real time as items are found. (John said this fell out naturally.)
  • 2. It would also be nice if we could simultaneously search across all collections in the sidebar and display the # of search results found in each collection next to each collection name in the sidebar. The # of search results should update in real time as items are found.
  • 3. When we have email, we will need to be able to display the # of unread messages in each collection. This should be updated in real time
    • As well as Mail is synced
    • As rules are fired
    • When users add and/or remove unread items from collections
  • [OI?] TedLeung How much search is in scope for 0.6
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r7 < r6 < r5 < r4 < r3 | 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.