r9 - 17 Nov 2007 - 03:07:31 - MimiYinYou are here: OSAF >  Notes Web  >  DesktopOneDotZeroPlanning > MonthView

Bugs (in order of importance)

  • Superbug - Bug#10907 A hybrid weekly/monthly calendar view

  • Bug#11409: Month View: Clicking in empty space and typing causes a traceback.
  • Bug#11356: Provide visual feedback for calendar navigation
  • Bug#11408: Calendar view should persist as users navigates between collections
  • Bug#11387: Spacing and Visual Bugs in the Month View

Nice to haves / Non-critical

  • Bug#11371: Shift/Cmd/ Ctrl-Click to select multiple weeks in Month View
  • Bug#11319: Dynamically adjust how many all-day / multi-day items we display in Month View
  • Bug##11410: Month View: Keep order of all-day / multi-day events consistent

FUTURE

  • Bug#11357: Integrate week view navigation with the way month view navigation works
  • Bug#11411: Month View: Edit events in-place

Tentative Design Planning Proposal

Scenarios:

  • See my travelling schedule
  • People who only have 1 or 2 events per day

Phasing Proposal

Read-only Month View

  • Show one month at a time
  • Back and Forward buttons to navigate months

  • Remove Week column in Month View
  • Remove Dates in the Day columns
  • May Day column headers just plain text

  • State for selected day (use same grey color as in Week View)
  • State for 'Today' (use same grey color as in Week View)

Display details

  • Calendar date goes in the upper right hand corner
  • Match color of text to the collection it belongs in
  • 1 line of text per event
  • Display start-time and event title (use superscript for minutes)
  • Rectangular, color lozenge for all-day, anytime and multi-day events with white text

All-dayness

  • Limit all-day / anytime events to 2 per cell
  • Add ellipses above the all-day / anytime lozenges if there are more than 2

...
[All-day Event 1]
[All-day Event 2]

Timed events

  • Timed events that span multiple days only appear on the Month Calendar as an entry on the start date

In-place navigation in the calendar

  • Buttons for each day
  • Buttons for each week
  • Button for the month

Button States

Unselected - Rollover effect

  • Text stays black
  • Rectangular block highlight that is the same color as the highlight color used in the mini-cal (80% grey I think)

Unselected - Mousedown effect

  • Text stays black
  • Rectangular block highlight darkens to 66% grey #a8a8a8

Selected

  • Text is white
  • Rectangular block highligh darkens to 50% grey (same as 'work hours' portion of timeline)

Selected- Rollover effect

  • Text stays white
  • Rectangular block highlight that is the same color as the highlight color used in the mini-cal (80% grey I think)

Selected- Mousedown effect

  • Text stays white
  • Rectangular block highlight darkens to 66% grey #a8a8a8

Note: The Month Header does not need to have selected states.

  • Month-Integrated_Navigation.png:
    Month-Integrated_Navigation.png

Week and Day View Integration

This design will transition nicely to allow users to build custom multi-week views. However, it does call for quite a few changes to the current Week/Day view. It is also intended to minimize strange 'jolting' as the user transitions from Month/Multi-Week view to Week/Day view.

  • Change the header so that it only displays the day of the week, not the date
  • Move day-navigation into the "all-day area"
  • Custom all-day area splitter
  • Add in tabs for Week navigation

  • Week_View-Integrated_Navigation.png:
    Week_View-Integrated_Navigation.png

  • Day_View-Integrated_Navigation.png:
    Day_View-Integrated_Navigation.png

Visual Design
  • Grey lines should be same grey as the column dividers in the week view
  • No column header widget (just text) for 'Days of the Week'
  • Days of the Week: Medium (12pt), Black, Center-aligned
  • Event text: XSmall (10pt) and same color as the left side of the gradient for the 'selected' version of the event lozenge
  • Numbers for dates: Medium (12pt), Black

Read-Write Month View

  • Integrate navigation to move between month, week and day view
  • Select and view details of event from month view
  • Visual feedback for selected event
  • Visual cue for Today

Nice to Haves (in order of 'User Experience' importance)

  • Bug#11319 Dynamically display as many all-day events as possible
  • DONE Display events for days that are not 'technically' in the month when a month begins/ends mid-week

  • Create new event in-place
  • Select/multi-select to drag and drop
  • Resize all-day / multi-day events
  • Edit new event in-place

  • Month/Year pulldown to navigate months

  • DONE Noon bar (only display this if there are timed events)
  • Bar graph to show 'morphology' of schedule for each day
  • Display ellipsis and # of missing events if there are too many events (+3)

  • Color swatches to indicate membership in multiple collections
  • Visual cues to differentiate 'on-top' calendar versus underlayed calendar events
  • Visual cue to distinguish between all-day and anytime events

  • Expando weeks
  • Zoom in/out 'contextualized' navigation

Navigation between views via Mini-Calendar?

  • Click on Month title for Month View
  • Click on rectangular week handles for Week View
  • Click on specific day for Day View
  • This gives us the flexibility we need for moving towards user-definable multi-month/week/day views, etc...
  • It could also be re-used in the Table View to define date parameters for what you see in the view

  • Mini-Cal-Selectors-Week.png:
    Mini-Cal-Selectors-Week.png

  • Mini-Cal-Selectors-Month.png:
    Mini-Cal-Selectors-Month.png

End Goal: Facilitate full-range of planning workflows

  • Expanding & collapsing weeks so users can build custom multi-week views

Implementation Notes

  • try to keep controller and view separate?
  • MultiWeekView and MultiWeekViewController

Things Current View Does Okay

  • async notifiactions
  • onIdle
  • recurrence aware
  • update
  • cache canvasItems

Using GraphicsContext

  • cache paths
  • have a path for one week of boxes and re-use it over and over
  • separate ends of lozenges - don't want them to scale
  • try to be smarter about cached items
    • keep more data? 6 weeks before and after today? 8?

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | 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.