Calendar:Hamburg F2F Meeting
Information regarding the 2. Mozilla Calendar Developers Face-to-Face Meeting
Americans should read 20 things to keep in mind when visiting Germany first :-)
Who
| Tentative Attendees | |
|
|
Where
Meeting:
Sun Microsystems GmbH
Nagelsweg 55
20097 Hamburg
Germany
Lodging:
Junges Hotel
- Approx. 70,- € with Sun Discount, near by Sun's Office
Between 100 € - 130 €
- Hanse Clipper Haus Boardinghouse nice location
- Wedina nice location
- SAS Radisson (Favorite, good public transportation)
- Dorint Novotel Hamburg Alster
Public Transportation
Airport -> SAS Radission
- At the Airport take the Bus with the number 110
- Get out at the Station called Ohlsdorf
- Transfer to the Subway
- Take the S11 (direction: Blankenese)
- Get out at Dammtor (Messe/CCH)
SAS Radission -> Sun
- At Dammtor (Messe/CCH) take the S31 (direction: Harburg Rathaus)
- Get out at Hammerbrook (City Süd)
- this is a 6 Minutes ride.
When
| From: | Saturday | 2007-04-21 | 10:00AM |
| To: | Tuesday | 2007-04-24 | 3:00PM |
Agenda (Draft)
Day 1 (Saturday)
| Time | Topic | Description |
| 10:00-12:30 | Brunch | Meet-and-greet |
| 1:00-1:30 | Welcome | (Daniel) Agenda overview, goals |
| 1:30-2:15 | User Feedback | (chris-j) |
| 2:30-4:00 | Product and Release Strategy | done by sipaq What is our current situation (strengths, weaknesses)? Where do we go from here (Integration into TB/SM? Two product strategy?)? How can we do our releases better. |
| 4:15-5:30 | Sunbird and Lightning | (chris-j) discussion on designing features for both Apps |
Day 2 (Sunday)
| Time | Topic | Description |
| 10:00-10:45 | Feature Discussion Shorts* | Off-line Mode (Daniel) |
| 11:00-11:45 | Feature Discussion Shorts* | Searching Calendars (ctalbert) |
| 12:00-12:30 | Project Ownership | (All) |
| 12:30-3:30 | Lunch | |
| 4:00-4:45 | Feature Discussion Shorts* | Pluggable Provider Packaging (Matt, Daniel, Philipp?) |
| 5:00-6:00 | Milestone& Roadmap Planning, Wrap-Up |
Day 3 (Monday)
| Time | Topic | Description |
| 10:00-12:00 | Milestone& Roadmap Planning Continued, Cont. | |
| 12:00-1:00 | Lunch | |
| 1:15-1:45 | Test Strategies | align forces, prevent regression (ulf) |
| 2:00-3:00 | Automated GUI Testing | (Thorsten Z.) |
| 3:15-3:45 | Thunderbird Integration | (chris-j) |
| 4:00-4:45 | Feature Discussion Shorts* | Group scheduling (ctalbert, Daniel) |
| 5:00-6:00 | Automated Builds & Tinderbox | (Ause, Matt) |
Day 4 (Tuesday)
| Time | Topic | Description |
| 10:00-12:00 | QA-Track Shorts* |
(ctalbert)
|
| 12:15-1:30 | Lunch | |
| 1:30-2:30 | Feature Discussion Shorts* | Time zones (ctalbert) |
| 3:00 | End |
Note on "Shorts": These are intended to be 45min segments on a particular topic/idea. They can be demos/prototypes, architecture problems/ideas, short talks, or really almost anything. Ideally, they should be split 15min for the presenter and 30min for discussion, but this is flexible. If you wish to present here, please sign up for an open slot. More slots can be created if the need arises.
Meeting Notes and Decisions
Day 1 Saturday
- We need to focus on our testing on Lightning and because many of our new features are landing there (iTIP WCAP etc). So need to make testing easier on Lightning possibly by having an RDF to autoscript a dummy mail account so that it will be easier to install Thunderbird and run lightning without worrying about your private data.
- Philipp (xFallenAngel) has scripts to help ensure that patches have the proper style and there are no "compile" typo errors in your javascript.
- Need to talk to David B and M Scott to find out if we can make a "Thunderbird now with Calendaring" sort of idea and incorporate calendar by default into Tbird.
- Decided that there will be a tasks view because you cannot properly display tasks in the calendar view because tasks may not always have dates and will not easily be displayable. Specifically this means:
- Integrate Lightning into Thunderbird with the "today button" in toolbar. Also add set of three buttons in lower left to switch to different modes for the application: the modes are Mail, Calendar and Tasks.
- Clicking on "today button" toggles on a today column that shows you a summary of the current events and possibly another small window displaying tasks (todo: define how to decide which tasks to display). This also allows you to create simple events and tasks
- Clicking on tasks button will show a new task view with all task details available. A sort of "spreadsheet" format.
- Clicking calendar view does not show mail folders and shows essentially like the mockups that Christian has proposed.
- There will be noo merge of tasks into the calendar views at all (or that may be a preference, but this is done to remove the dependency on the spurious nature of dates inside of tasks).
Day 2 Sunday
- Discussed with mvl and the team and came to the conclusion that the project "head" should be a person that is working on the project full time. We decided that Daniel is the best person for this. Additionally, Clint will be starting at Mozilla next week (primarily working on Firefox). Daniel and Clint will work together to ensure that the project maintains a link to Mozilla and the Mozilla community.
- We will support "Lightning in Sea Monkey" but only if we can do this simply without #ifdef'ing the code in some kind of terrible way.
- Discussed offline issues with mvl. Decided several items about the offline support
- We will start out by better optimizing the recurrence lookups in the storage calendar so that storage calendar can be used as a caching mechanism.
- This will be useful in conjunction with the change-log mechanism that mvl and antonio are working on.
- offline support will also need synchronization interfaces that will encapsulate the conflict handling and will launch any conflict handling UIs that we create.
- There was some discussion on how to get changes down between the cache and the server. We believe that this can be done with etags on CalDav and WebDav. it is done via a specific server call on WCAP and a specific XML command in GData. For flat-file ICS, we are not exactly sure how this would work.
- We decided that we want to support searching for other people's calendars on the same calendar "server" type. That means we'd want to support the ability to find other WCAP or Google or Caldav users. This of course will depend on server capabilities.
- Discussed using a calISearchable interface that providers that have this capability will implement.
- Philipp gave us an update on the GData extension for Google Calendar
- Alarms will be in soon
- Attendees will be in soon - the responses and invitations are sent and processed by google. Changes to the events will come down during normal refresh events.
- Recurrence - Cannot complete this patch because of the way that the provider interface handles the deletions of occurrences. WCAP has the same problem. Essentially, removing a recurrence is seen as a "modify" by the provider. This breaks undo/redo capability because you actually performed a "delete" as far as the server is concerned. So, to undo you have to remember to tell the server to "add" the occurrence back in. Need to work out a fix to this, possibly changing the provider interface to handle this.
- Comments - Guests (attendees of an event) can leave a comment on an event. It might or might not be useful to reflect these in events. But, there is no mirror for these comments in RFC 2445. One option would be to have the GData provider create an attachment from these comments. This is low priority
- Optimistic Concurrency - Ensure that two users do not change the same event. We need to throw a conflict message if we detect that this has happened. WCAP has the same issue, and simply overwrites what is on the server in this case. This is another item that would be handled by synchronization interfaces that were mentioned w.r.t. the offline support.
- Subscription - Philipp has proposed a subscription dialog to find other people's google calendars that is very similar to the WCAP subscription dialog. The user would enter someone's google email address and the dialog would display the possible google calendars that the user has made public so that you can subscribe to those. You also get to pick the calendar color for the subscribed calendar.
- Group Scheduling - Google has a way to get a FreeBusy feed, and this could be used to populate the new prototype event dialog event F/B information.
- Providers must have a mechanism to publish their capabilities - perhaps as some kind of flag that can be checked by items like the event dialog. This would enable items to be removed based on what the provider cannot support. This capabilities querying feature will become more and more important as we expand our provider offerings.
- We began product roadmap discussions. We decided that we want a 1.0 as soon as possible that makes sense from a feature standpoint. Our philosophy here was that we wanted to only take changes that create a workable basic set of functionality that will be rich enough for end users to use, as well as being rich enough for people to create good extensions from.
- An example here is the support for SMS alarms. We decided it was a "nice to have" (NTH) because that support can be easily added either by users (sending SMS email to themselves) or by extension writers once we have the ability to send an email alarm. Therefore, the feature for email alarms will block, but SMS will not block the release. We applied this type of logic to everything.
Day 3 Monday
- Continued and completed the provider discussion. You can download a spreadsheet of it here. We will also update the wiki roadmap in the future.
- Discussed Test automation with the test automation guru at Sun. Unfortunately the test automation for Star Office will not port into the Mozilla stack. So, we decided to investigate the MochiTest (link) to see if this can be used from within calendar in the same way that it is used in Firefox. Clint and Ulf will take this on. Others are of course welcome to help out in this effort.
- We also decided that until the new UI lands, we should begin writing API tests that use XPCShell. This will be re-discussed tomorrow at the morning quick QA Session. We unfortunately could not invite others to this because of time-constraints of Thornsten, the Sun QA automation guru.