Calendar Talk:Requirements

Add topic
Active discussions

An interesting table. Below are some questions about how to interpret the data.

Methodology

  • Q. What was the methodology for creating these rows?
    • Was the survey a series of questions, so absense of a row means it wasn't asked by the survey?
    • Was the survey open ended, so absense of a row means that no responses asked for it?
  • Q. What does an X in a column mean?
    • Does it mean that column product has this feature?
    • Does it mean users of column product requested this feature? (how many? one? 10%?)

Calendar Views

Day View

WeekView

Month View

Modern Look

  • Q. What does 'modern look' mean as a requirement?
    • A1. Maybe it means it should match the look and feel of the host operating system.
    • A2. Maybe it means that it should be themable, so 'modern' can be updated for the locally current culture/fashion?

Scrolling functionality

Keyboard navigation

  • Q. What does 'X' mean in each column?
    • Users of column product observed to use keyboard navigation?
    • users of column product requested better keyboard navigation of Calendar views? (What improvements did they request?)
    • Column product has adequate keyboard navigation of Calendar Views for surveyed users who can fallback to mouse pointer?
    • Column product has adequate keyboard navigation of Calendar Views for surveyed users dependent on Accessible navigation?
  • Q. Can 'keyboard navigation' be broken down more specifically for each column?
    • Keyboard navigation for choosing views (day view, week view, etc.)
    • keyboard navigation for selecting columns in grid views (day of week).
    • keyboard navigation for selecting cells in grid views (day of month, hour of day/week).
    • keyboard navigation for selecting items in grid views (events or tasks).
    • keyboard navigation for editing items in the grid views (title, location, ...).
    • keyboard navigation for moving/resizing items in the grid views (time, duration, ...).

Drag and drop support

Definition of working hours

Definition of start day of week

Viewing multiple calendar simultaneously

  • Q. Adding to multiple calendars simultaneously is mentioned in comments, but it's not clear what that means.
    • A1. Is that the same as sending an invitation?

Conflicts should be easily recognizable

  • Q. What is context? (What does 'X' mean?)
    • Are conflicts displayed in main view, or separate view?
    • Conflicts between 2 calendars? 20 calendars? 200?

Current day indicated in all views

Current day easily reachable

Month overview

Month view synchronized with main view

  • Q. What is 'main view'?
  • Q. Under what circumstances is this important?
  • Q. Under what circumstances is this detrimental?
    • A1. slows down navigation to a particular date by advancing several months.
    • A2. prevents comparing two different months.
  • Q. would a 'sync nav view' operation be better?

Display of birthdays from addressbook

Display of multiple time zones

  • Q. What does it mean to display multiple time zones?
    • A1. From multiple timezones, select one timezone in which to display.
    • A2. Convert data from multiple timezones to display timezone.
    • A3. Display multiple timezone times for each item (scheduled-timezone, display-timezone).
    • A4. Select multiple timezones, and display multiple timezone times for each item (display-timezone A, display-timezone B).

Server Integration

Appointment handling

  • Q. what does "appointment handling" mean? (How can server integration fail this?)
    • A1. Can store and pull (appointment) events on server?
    • A2. Can push updated events from server to client?

Task handling

  • Q. what does this mean? (How can server integration fail this?)
    • A1. Can store and pull ToDos on server?
    • A2. Can push updated ToDos from server to client?

Invitations

  • Q. What does 'X' in each column mean?
    • A1. Can send out email messages with VEVENT?
    • A2. Can receive and record accept/decline responses?

Reminders

  • Q. What's a reminder for a server?
    • A1. An email message?
    • A2. A text message?
    • A3. Pushing updates added to server into client so client can sound alarm.

Free/busy display

  • Q. does free/busy display require server integration?
    • A1. No, clients could publish free/busy info.

Free/busy search

  • Q. does free/busy search require server integration?
    • A1. No, clients could publish free/busy info, and other clients could retrieve it and search for intersection of free times.

Calendar subscriptions

  • Q. what is a subscription?
    • A1. pull: ability for client to poll server.
    • A2. push: ability for server to notify client of updates.

Calendar groups

  • Q. What is a calendar group?
    • A1. A set of calendars, e.g., calendars for a team?
    • A2. A set of users who have rights to modify a calendar?

Access rights

Tasks/To-do's

Specification of due dates

  • Q. May users schedule tasks/todos? (start date, duration)

Specification of repeat patterns

Assignment of tasks

  • Q. What does it mean to assign a task?
    • A1. Add it to someone else's calendar?
  • Q. How is assignment represented in RFC2445?
    • A1. Assigner is organizer?
    • A2. Assignee is contact?

Transfer of tasks

  • Q. What does it mean to transfer a task?
    • A1. Move it from one user's calendar to another's?
    • A2. Change assignee? (contact?)


Support for access rights

  • Q. What special support for access rights are needed by tasks?
    • A1. This duplicates "Access rights" above?
    • A2. Assigning and transfering a task should change the access rights to the task?

Appointments/Meetings

Title field

Date field

Location field

Descriptin field

Recurrence rules

End dates

  • Q. why plural?
  • Q. Ambiguity: start/end date (end of instance), or recur-until date (end of recurrence)?

Exceptions

Invitation of attendees from address book

Invitation of attendees from email list/alias

Email reminders

Local alarm reminders

PIM independent reminder daemon

Integrated workflow for meeting scheduling

Invitation emails

Booking resources

Attaching documents

Free/busy display

  • Q. How is this separate from free/busy display in Calendar View above?
    • A1. None: view free/busy in calendar view to pick a time.
    • A2. Separate free/busy display of attendees while editing event.

Free/busy search

  • Q. How is this separate from free/busy search in Calendar View above?
    • A1. None: search free/busy in calendar view to pick a time.
    • A2. Separate free/busy search of attendees while editing event.

Printing

Calendar views (e.g., Day, week, month)

Offline Support

Calendar data accessible without server connection

Synchronization upon reconnect

PDA Sync

Synchronization to PalmOS devices

Synchronization to Windows Mobile devices

Synchronization to Symbian devices

Search

  • Q. Are all seraches below satisfiable with one global search that covers all text fields in both events and tasks?

Searching through all appointments

Searching through all tasks

Search for event name

Search for description

Search for location

Configuration and Administration

Configuration of access rights

  • Q. How is this separate from Access Rights under Server Integration?
    • A1. No difference
    • A2. One is about having access rights, one is about changing access rights from the client.

Deputy functionality

Backup and restore of calendar data

  • Q. Does 'x' mean server-wide or for individual user?

Backup and restore of configuration data

Required Functionality

Accessibility

Localization

Undo/Redo

Performance

  • Q. With how much calendar data? (number of events) x (size of event)
    • A1. Two years per user, 10 events per week, 1KB per event? (1040 events, ~1MB data per user)

Documentation

Return to "Requirements" page.