##Moonshot Client Software Architecture Change Plan ###Introduction This document describes Codethink's plan for: - changing the architecture of the client software (currently known as *moonshot-ui*) to give better Model, View, Controller separation; - implementing any changes required of the UI flows of the Identity Selector application; - implementing the changed software for Linux, Windows and Mac OS X. The plan will deliver the following items from the Statement of Work: 2: Fix existing D-Bus compatibility issues 4: Port of Identity Selector to Mac 5: Platform-specific HIG compliance modifications 6.2: MVC (Model-View-Controller) architecture and implementation This plan is the deliverable from item 6.1 in the Statement of Work. ###Goals To deliver updated client software for Linux, Windows and Mac OS X, which will allow for: - 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; - different storage strategies; - ease of maintenance; - better compliance with platform-specific Human Interface Guidelines. ###Deliverables - Documentation (in the design pages of the Developer Wiki) of the proposed new Architecture. - Changed source code. Rather than updating the existing *moonshot-ui* sub-module, we will deliver a new submodule called *moonshot-id-client*. ###Activities and Milestones 1. Codethink: Update the [preliminary documentation of the proposed architecture changes](http://www.project-moonshot.org/devwiki/design/revisedclientarchitecture/) - Due: Friday 3rd December 2. Janet: Review and provide comments on the proposed changes - Due: Wednesday 7th December 3. Codethink: Action any review comments on the documentation - Due: Friday 10th December 4. Codethink: Deliver changed software for Linux, including any revisions to the UI flows - Due: Wednesday 14th December 5. Codethink: Deliver changed software for MS Windows, including any revisions to the UI flows and an installer - Due: Wednesday 21st December 6. Codethink: Deliver changed software for Mac OS X, including any revisions to the UI flows and an installer - Due: Friday 30th December