0.4 Planning
Overview
High-level
Goal is to be experimentally usable for a few key end-user tasks
- Next rev of UI landscape
- Generic information management capabilities (primarily stamping and kind filter)
- Detailed Views of Events, Tasks and Notes (possibly Email)
- Elementary sharing
UI Landscape
0.4 Workflows
- Collecting
- Create and enter Email/Tasks/Calendar/Notes in detail view
- Receive new email from single IMAP account to "In" collection
- Processing
- Dashboard Triage Process (STRETCH)
- Triage a processing item to: "Done", "Defer", "Delegate", "Reference", "Trash"
- Change triage status in an ad-hoc manner (Dashboard, Detail view)
- Integration Point A (IP-A) status: in 0.4, Dashboard view will probably be just a collection of "All" content items
- Organizing Navigation
- Tabbed Views
- Navigate to existing tab
- Create tab
- Populate tab
- DnD items between tabs
- DnH (drag and hover) above a tab with an item to switch tabs
- Reorder tab
- Close tab
- Sidebar
- Navigating to existing sidebar (TBD: sidebar OOTB config)
- Create new sidebar item
- Delete sidebar item
- Filter sidebar items by kind
- Organizing Creating associations
- Stamping
- Stamp as a communication item
- Stamp as an event
- Stamp as a task
- Named Collections
- Create, organize and delete named collections (with associated Views) on sidebar
- Communicating
- Write and send plain text email
- Email support for sharing and sharing initiation (STRETCH)
- Sharing
- Share a home or work calendar collection
- Turn on sharing for a collection
- Access a shared collection through TrueSharing?
Draft 0.4A/B Engineering Schedule
The 0.4 engineering schedule is now at the feature complete point (post 0.4B). This section maintained by Lisa with contributions from Katie and Ted.
0.4A integration point
This integration point is scheduled to happen on the 0.3.20 milestone, July 13. That means that developers need to target their last checkins for July 6 to allow integration and fixing problems. Here's the high-level list of features, which will all be reviewed and checked in by then. During the week around July 13 we'll do some testing of the system as a whole, beyond the testing that normally gets done. For features that are not complete by July 06, we will have to review the feature's progress and our plans for 0.4 and decide either to slip the feature to 0.4B or later, or risk slipping the date for 0.4A in order to get the feature in.
- Application WG
- wxWidgets: flicker reduction: native composite
- cpia: oscon presentation, toolbar/navbar refactoring, item collection integration
- Chrome: sidebar, toolbar, create new collection, ootb collections
- Detail View: functional first pass (markup bar, stamping, from/to/core/notes, see also collections)
- Summary Table View: on draw handlers, view column headers
- dnd: content item to collection, named collection to named collection (a couple of variants)
- Calendar Blocks: basic navigation (and mini calendar), basic drawing cleanup (font/color changes, selection feedback)
- Services WG
- Content Model: work to include calendar object schema, date/time schema issues, email object schema, task schema, stamping model, processing model
- Email: ability to download IMAP content and store in repository
- Sharing/publishing: design, protocol selection, content model; write or integrate WebDAV client library, publish arbitrary collection of Content Items to a WebDAV server, ItemCollectionsProposal
- Parcel loading: performance work: use lower API, real namespace support
- Other services: schedule manager?, threading work for notification manager
- Certificates: create, password-protect, replace, verify others' certificates
- Issues
- Sharing addresses -- not sure how much
0.4A was completed July 20.
0.4B integration point
This integration point is scheduled for the 0.3.24 milestone, Sep 7, a total of six weeks after 0.4A completes. Again, we'll start reviewing features in advance (Aug 24?) to see if there are risky features or features obviously won't get completed. For those features, we'll need to decide if we cut back on the scope of the feature, cut the feature from 0.4 entirely, or slip the completion date for 0.4B in order to get the feature complete.
- Application WG
- wxWidgets: html plan, 2.5.2 integration
- cpia: additional refactoring, well articulated api
- Chrome: kind filtering, new item
- Detail View: sharing bar, email support, item collection view
- Summary Table View: icons, column header changes, image in header, width adjustment fixed
- dnd: wx.Grid support for drag and drop
- Calendar Blocks: basic in place edit items (resizing, moving, creating)
- Sharing UI: sharing and email preferences, item collection sharing, basic email integration (send and receive)
- not doing:
- widgets: active content editing, in-canvas dragging, generic drawer, notebook flicker, interapp dragging flicker, bakefiles for os x
- chrome: delete features, table sort, timestamp, ad hoc collections, forward/back
- detail view: conversations, custom widets
- calendar: ad hoc collections, advanced navigation, advanced in place editing, advanced mini calendar
- dnd: content item to adhoc collection, named collection to detail view
- other projects: dashboard view, universal text entry, rule builder
- Services WG
- Content Model: work to include clouds for core content items
- Email: Compose and send an email; SMTP support
- Sharing: Import changed items from collections on WebDAV server (read-only?), read-write access, possibly attribute merging (added) (ExportableAddressesJun2004: dropped)
- Security: SSL, account/password management
- Sharing: Email invitations (added)
- Issues
- Replication & conflict resolution issues
- Sharing UI requires more clear definition
0.4B completed September 9. Some feature integration continues into the next milestone.
0.4 Release
The 0.4 release period has no new feature work -- only feature integration work, feature polishing, code review work, and then bug fixing. When bug fixing winds down developers will contribute to testing and documentation and 0.5 planning.
Dates:
- Begin Sep 7 (or later if slippage occurs): feature integration, code reviews and work resulting from code reviews.
- 0.3.25 milestone (September 21): feature freeze (see below)
- 0.3.26 milestone (October 5): code freeze (see below)
- October 26: release
Work to do in this phase:
Here's the query I'm using to see how many bugs we have to fix in code in 0.4:
0.4 Engineering Bugs.
This query excludes later releases, enhancement, and non-engineering feature areas (like documentation). Let me know if you've got any changes to propose. --Lisa
Definitions
- Feature freeze
- happens at 9:00 a.m. It means that no features which are incomplete (unusable) at feature freeze should get checked in at that date or after. Code reviews should be completed for all 0.4 feature work. Features can be merely roughly usable in 0.4 because 0.4 is still a developers release, so our quality bar is not as high as productized software. After feature freeze, developers should only be working on and checking in bug fixes. Bug fixes need approval if they're destabilizing. After feature freeze, developers are most likely to work on bugs first, then documentation and/or testing.
- Code freeze
- happens at 9:00 am. It means active tree control, or approval to check in. A decision to accept a bug for the current release target is a decision to risk slipping, and must be approved by bug council. After code freeze, developers work on bugs only if they have showstoppers. If not working on bugs, then testing, documentation, planning for next release, or even prototyping for the next release on their local machine or a forked CVS tree.
- Release
- scheduled three weeks after code freeze in order to allow the most important bugs to be found, approved and fixed during the "freeze" period.
Community Goals
Minutes from meetings related to 0.4 planning
Inter-group issues
- What are additional engineering tasks required for 0.4? e.g. validate content model
- Current items need to be accessible by future releases of Chandler. We need to determine if we should implement forward compatibility in 0.4.
Wiki pages relating to the 0.4 Release