What are the key milestones you need to achieve in order to complete your project successfully?
Milestone 1: Requirements Gathering and Initial Design
Objective: Develop a comprehensive design document detailing all aspects of the Cardano application to be integrated with SeedSigner.
Outputs:
- A detailed document outlining the technical specifications, architecture, and functionality of the app.
- Documentation of all menu options and user interactions.
- Specifications for the frame structure that will be transmitted via animated QR codes.
Acceptance Criteria:
- The design document must fully articulate the app's functionalities, including interactions, user interface, and communication protocols.
- All design decisions must prioritize security, efficiency, and compatibility with SeedSigner hardware.
Evidence of Completion:
- A finalized design document covering technical specifications, architecture, menu flows, and QR frame structure.
Milestone 2: Develop initial application prototype and GUI
Objective: Develop an initial version of the Cardano application that runs on the SeedSigner hardware
Outputs:
- A working prototype that can display a graphical interface on the SeedSigner screen.
- Implementation of all menu items, with mocked versions of all screens to illustrate the intended user flow.
Acceptance Criteria:
- The application must be able to run on the SeedSigner hardware and provide a fully navigable graphical interface.
- All menu items must be present, and each screen must demonstrate the intended functionality, even if the business logic is not yet implemented.
Evidence of Completion:
- A functional prototype deployed on SeedSigner hardware.
- Screenshots/video of the graphical interface, showing the entire menu flow.
- Source code published on GitHub, showing implementation of the graphical interface and menu navigation.
Milestone 3: Seed Management Implementation
Objective: Implement seed importing and new seed generation functionalities in the Cardano application for SeedSigner.
Outputs:
- Implementation of seed importing via seed phrase input and QR code scanning.
- Functionality for generating new seeds, with both seed phrases and QR codes as output.
Acceptance Criteria:
- The application must allow users to import an existing seed by manually inputting the seed phrase or by scanning a QR code.
- The application must support generating a new seed and displaying it both as a seed phrase and as a QR code to be transcribed (see SeedSigner Bitcoin app for an example).
Evidence of Completion:
- A working demonstration of seed importing and new seed generation functionalities on SeedSigner hardware.
- Screenshots/video showing the seed importing and seed generation processes.
- Source code updates published on GitHub, documenting the seed importing and generation features.
Milestone 4: Data Transmission Protocol Implementation
Objective: Implement the animated QR code functionality for data transmission and reception on the SeedSigner.
Outputs:
- Implementation of animated QR code reading and generating functionality, enabling the SeedSigner to receive data from and transmit data via animated QRs.
- Implement exporting the root public key as the first use case for data transmission.
Acceptance Criteria:
- The application must be capable of reading animated QR codes to receive data and generate animated QR codes for transmitting data.
- The SeedSigner must successfully demonstrate exporting the root public key using the animated QR code protocol.
Evidence of Completion:
- A functional demonstration of animated QR code reading and generation on SeedSigner hardware.
- Screenshots/video showing the export of the root public key using animated QR codes.
- Source code updates published on GitHub, documenting the implementation of the QR code transmission protocol.
Milestone 5: Transaction Signing via Animated QR Codes
Objective: Implement transaction signing functionality using animated QR codes for data reception and transmission.
Outputs:
- Functionality for receiving transactions to be signed via animated QR codes.
- Display of transaction details to the user for confirmation before signing.
- Implementation of signing the transaction and transmitting the witness data to the other device using animated QR codes.
Acceptance Criteria:
- The application must be capable of reading animated QR codes to receive transaction data.
- Transaction details must be displayed to the user for review and confirmation before signing.
- The signed transaction (witness data) must be transmitted to the other device using animated QR codes.
Evidence of Completion:
- A functional demonstration of transaction reception, review, signing, and transmission via animated QR codes on SeedSigner hardware.
- Screenshots/video showing each step of the process, including receiving the transaction, displaying details, signing, and transmitting the witness data.
- Source code updates published on GitHub, documenting the implementation of transaction signing and the QR code transmission protocol.
Final Milestone: Project Wrap-Up and Integration Demonstration
Objective: Finalize the project by fixing existing bugs, completing documentation, and demonstrating integration with an open-source browser wallet.
Outputs:
- Resolution of all known bugs and issues.
- Complete user and developer documentation, covering setup, integration, and operation of the SeedSigner Cardano app.
- Proof of Concept (PoC) demonstrating the integration of the SeedSigner with an open-source browser wallet via a fork.
- Initiate communication with browser wallet vendors to explore official integration of the SeedSigner.
Acceptance Criteria:
- All known bugs must be resolved, and the application must be stable.
- Documentation must be comprehensive and easily accessible, providing clear instructions for developers and users.
- Successful demonstration of integration with an open-source browser wallet as a PoC.
- Establish initial communication with browser wallet vendors to promote official SeedSigner integration.
Evidence of Completion:
- A detailed bug report and resolution log showing all issues addressed.
- Complete user and developer documentation published alongside the final application on GitHub.
- Screenshots/video, demonstration of the PoC integration with an open-source browser wallet.
- Records of communications initiated with browser wallet vendors regarding SeedSigner integration.