(no commit message)
[devwiki.git] / clientarchitecturechangeplan.mdwn
1 ##Moonshot Client Software Architecture Change Plan
2 ###Introduction
3 This document describes Codethink's plan for:
4
5 - changing the architecture of the client software (currently known as *moonshot-ui*) to give better Model, View, Controller separation;
6 - implementing any changes required of the UI flows of the Identity Selector application;
7 - implementing the changed software for Linux, Windows and Mac OS X.
8
9 The plan will deliver the following items from the Statement of Work:
10
11     2: Fix existing D-Bus compatibility issues
12     4: Port of Identity Selector to Mac
13     5: Platform-specific HIG compliance modifications
14     6.2: MVC (Model-View-Controller) architecture and implementation
15
16 This plan is the deliverable from item 6.1 in the Statement of Work.
17
18 ###Goals
19 To deliver updated client software for Linux, Windows and Mac OS X, which will allow for:
20
21 - more ways of interacting with the server than the ID Selector App and Web Provisioning. For example, install, delete and revoke identities from files attached to emails, from the command line or from scripts;
22 - different storage strategies;
23 - ease of maintenance;
24 - better compliance with platform-specific Human Interface Guidelines.
25
26 ###Deliverables
27 - Documentation (in the design pages of the Developer Wiki) of the proposed new Architecture.
28 - Changed source code. Rather than updating the existing *moonshot-ui* sub-module, we will deliver a new submodule called *moonshot-id-client*.
29
30 ###Activities and Milestones
31
32 1. Codethink: Update the [preliminary documentation of the proposed architecture changes](http://www.project-moonshot.org/devwiki/design/revisedclientarchitecture/) - Due: Friday 3rd December
33 2. Janet: Review and provide comments on the proposed changes - Due: Wednesday 7th December
34 3. Codethink: Action any review comments on the documentation - Due: Friday 10th December
35 4. Codethink: Deliver changed software for Linux, including any revisions to the UI flows - Due: Wednesday 14th December
36 5. Codethink: Deliver changed software for MS Windows,  including any revisions to the UI flows and an installer - Due: Wednesday 21st December
37 6. Codethink: Deliver changed software for Mac OS X, including any revisions to the UI flows and an installer - Due: Friday 30th December