Calendar:User tasks

From MozillaWiki
Jump to: navigation, search

We began first with a brainstorming session that simply listed all of these tasks as people came up with them. Later, we triaged them into the four categories:

  • Core: No reasonable calendaring application can ship without
  • Necessary: No calendaring application targeting our target users can ship without
  • Nice to have: Items that will add substantial value to our product, but which will not block a release of 1.0
  • Extension Fodder: Items which we feel do not belong in the shipped application, but which would be good areas to explore in extensions.

Core

  • Create an event/task
  • Edit an event/task
  • Delete an event/task
  • jump to a date
  • import
  • export
  • print
  • create a new calendar
  • delete a calendar
  • view event/task by day
  • " " " week
  • " " " month
  • Make an event/task repeat
  • Be reminded
  • Search my events/tasks
    • By specific criteria
  • back up my calendar
  • change a repeating pattern
  • change an instance of a repeating event
  • work offline
  • show/hide calendars

Necessary for our target users

  • Access my addressbook while inviting (Lightning+)
  • Cancel a meeting
  • Accept an invitation
  • Change your response to said invitation
  • subscribe to calendars
  • publish a calendar/event
    • with specific information removed
    • to my cell phone
  • Find when someone else is free (multiple people)
  • what else is on today?
    • search public calendars
    • for my version of "today"
  • find out a week number
  • assign a time for a task
  • share a calendar with others
    • configure calendar permissions (rw/ro)
  • move an event to another calendar
  • copy an event to another calendar
  • assign a task
  • classify an event (tags)
  • set up an event in a different timezone
  • publish an event/notes from it
    • send mail to everyone at a meeting
  • look at my past events
  • set an event as not blocking my time
  • create an event from an email
  • low cost calendar sharing
  • remind me on my mobile phone
  • calendar should know my public holidays
  • warn of event conflicts when scheduling
  • set a reminder about an email (create a task)
  • create a task from a webpage
  • group calendars
  • show me changes to events I have accepted/been invited to
  • display attributes of events visually
  • clone a event
  • time sensitive priorities on tasks

Nice to have

  • view calendars once and dispose (transient calendars)
  • archive old calendar data
  • automatically move uncompleted tasks
  • don't show me invites I'm not interested in
  • automatically discover calendars of people in my address book
  • publish
    • available time ranges for invitations (holidays)
  • Suggest an alternate time/reschedule
  • Find free time in my calendar
  • Schedule a meeting before a deadline
  • automatically discover physically near calendars
  • automatically discover geographically near cals
    • have my calendar inform me of events I may be interested in (based on previous action)
    • teach my calendar to discriminate different kinds of events for me (from public calendars)
  • my cal should know where i am (scheduled to be)
  • change the timezone of your calendar
  • find attendees for meetings
  • attach a "thing" (including application) to an event/task
  • create/remove/edit subtasks
  • annotate events on read-only calendars
  • set up events for plane flights between timezones
  • create a set of events from a single template
  • access information based on selected date/range
    • from web services (ex: flickr, gmail)
    • on my computer (ex: files)
    • on the internet (ex: firefox)
    • integrate with financial apps
  • view events/tasks by year
  • manipulate events by classification
    • change, move, show, hide
  • link two events together so they always move together
  • create events with ambiguous ends
  • classify events in email categories
  • reschedule an event to an ambiguous time
  • use natural language event creation
  • use natural language to find an event
  • drag natural language events
  • infer additional days off from extra info
  • separate/understand my work/home availability (the same event has different free/busy implications depending on who's asking)
  • presence integration (IM)
  • warn me about overly busy days
  • handle travel time for events
  • designate ranges/rules for handling/accept/decline invitations
  • get birthdays from addressbook
  • tell me how old someone is
  • handle event importance
  • change the appearance of my calendar
  • send out an invite with customize appearance
  • make a webpage from my calendar
    • publish an hCalendar microformat
  • rich notes
  • layer weather forecast on calendar
  • display attributes of days visually (density)
  • annotate/describe time ranges with variable attributes
  • show events that *can* be bumped
  • schedule a meeting from a mailing list
  • import to calendar from a blog/journal/rss
  • auto-archive
  • spellcheck my events
  • delegate an event
  • password protect my calendar/my private events
    • encrypt calendar/calendar data
  • keep my calendar preferences in my calendar
  • auto-assign tasks to time based on priority
  • IMIP over IM
  • accept SMS invites
  • be informed when an event changes
  • schedule vacation time

Extension fodder

  • find out what time it is in another timezone
  • create timezone independent events
  • reserve a room
  • reserve a resource
  • merge calendars
  • track a task (get alerts? watch over assigned task?)
  • tivo integration
  • make my calendar available to an OS widget
  • generating reports from done tasks
  • make a gantt chart/view
  • summarize/report on my calendar
  • view emails by calendar date (in calendar view)
  • configure per-person calendar permission
    • and for time-range
  • schedule a conference call (skype)
  • automatically shuffle tasks by priority
  • use or view alternate calendar types (jewish, buddhist, martian, astrological)
  • group attendees
  • translate an event
  • show trends in my events