Calendar Integration

Registered by Jason Warner on 2011-10-18

With our switch to tb this cycle we let the default installation without
a calendering solution. We should decide if we need one by default.
We might not need a full client ui but we should probably at least have
a way to subscribe to a remote calendar to have desktop integration and
notifications working

Blueprint information

Status:
Not started
Approver:
Sebastien Bacher
Priority:
Low
Drafter:
Sebastien Bacher
Direction:
Needs approval
Assignee:
Chris Coulson
Definition:
Approved
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

Work done in Precise:
[mpt] look at the elementary calendar project to see if the design could fit with Ubuntu: DONE
[ken-vandine] talk to elementary about maya, about potentially using it as a starting point and help get it ready in time: DONE

Summary:

The desktop team will not aim to get a calendar application in the default
installation for precise but will try to help the elementary team to get theirs
in shape and promote it in the software-center if it's good enough

UDS Session notes:

With our switch to tb this cycle we let the default installation without
a calendering solution. We should decide if we need one by default.
We might not need a full client ui but we should probably at least have
a way to subscribe to a remote calendar to have desktop integration and
notifications working

* lightning:
- it's provided in the archive
- no integration with e-d-s (yet?)
  + Can we add (yet) another extension for eds lightning integration, like we did with Thunderbird itself?
- Chris doesn't want any extensions by default :)
- it's only an extension, so it doesn't occupy too much space

* standalone application:
- no real concrete option
- GNOME started on designing one but it's not on the 3.4 roadmap and not likely to happen this cycle: https://live.gnome.org/Design/Apps/Calendar
- Elementary calendar application? Maya http://elementaryos.org/journal/maya-needs-your-help
  + Maya might not be complete in time, they are skeptical about it being completed by Luna, and even Luna is scheduled for release AFTER precise.
  - But if they had help...

Options:
1. using gnome-online-account
 - we could use it to set up google accounts but tb doesn't use goa for emails so it would be an inconsistant experience
 - What about offline users?
2. Install Lightning by default
3. Write a desktop application (see the scope points at the bottom)
4. Adopt Maya for Ubuntu?
   - Maya is still under development, but its pretty much there, we can adopt the project and both eOS and Ubuntu will benefit.

Scope:
- local calendars
- google calendars
- exchange is out of scope, those users can keep using evolution which will still be supported
- integration with the clock applet should be working (if we use e-d-s that shouldn't require any extra work)

---- 28.01.2012 Petko D.---------------
 A calendar isn't the most complex of applications , so why don't we (I would undertake it if I had some help) write a unity frontend of a calendar indicator (that would be standalone for offline users. It would consist of a calendar panel that opens on click on the time&date indicator (rationale at bottom*)(one that's comparable to lightning/maya , as described in Solution #7 here: http://brainstorm.ubuntu.com/idea/28647/ ).

 As far as programming goes :
> the applet to draw the UI
//I'm throwing that raw drawing in , I hope I get to make a better one if development starts : http://dl.dropbox.com/u/42681910/Calendar%20blueprint.png
  view 1(normal calendar view):
     >>draw panel
     >>draw events (search DB ->display)
     >>draw other accessories ( the time , button for time&date settings,months navigation( < >) )
     >>on click expand cell (for the clicked day) (view 2 - one cell resizes to take most of the space, so you could operate easily with and overview the events for that day):
            >>>on double click or button click (say one appears in the bottom of the oversized cell) -> "add event" dialog
            >>>on single click -> go back to view 1

>event database file : a simple database that holds event objects , that the applet reads from (and writes new events to) . If there is a standard for such a DB or a standard event object - we'll use that , which would simplify various backends.

That's pretty much it , ommiting a bunch of details .

How would the OS benefit from such a design ?
>Well firstly - it's standalone (works for offline use).
>Secondly - it can have various apps linked to the database feeding/syncing events
>Thirdly - it's simple , and effective in my opinion (and if the input methods ("add event" form for ex.) get coded well - it'll be very simple and very effective)

PS: I guess I messed up some terminology (frontend/backend...) but I'm sure you'll get the idea .

* If someone clicks on the calendar indicator it's either to edit time/date settings or to view the weekday to date of month correspondence => the proposed layout doesn't attract that much attention for the users that don't use organizer functions , while being very handy for those that want to use them
-------------------- / --------------------------------------------------

pitti, 2012-03-28: Moving to Q, as the main point (calendar integration) is still not done.

(?)

Work Items

Work items:
[chrisccoulson] help to get the elementary calendar in shape: TODO