Features/FlightDeck/Client side app
Status
FlightDeck as a Client-side App | |
Stage | Draft |
Status | ` |
Release target | FlightDeck 1.0 |
Health | Blocked |
Status note | In order to more fully serve FlightDeck's add-on development use-cases, the app should be transitioned to work as an open web app. This would include building XPIs on the client and enabling offline use. |
{{#set:Feature name=FlightDeck as a Client-side App
|Feature stage=Draft |Feature status=` |Feature version=FlightDeck 1.0 |Feature health=Blocked |Feature status note=In order to more fully serve FlightDeck's add-on development use-cases, the app should be transitioned to work as an open web app. This would include building XPIs on the client and enabling offline use. }}
Team
Product manager | Daniel Buchner |
Directly Responsible Individual | Sean McArthur |
Lead engineer | Sean McArthur |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | Stephen Donner |
UX lead | ` |
Product marketing lead | Dan Horner |
Operations lead | ` |
Additional members | ` |
{{#set:Feature product manager=Daniel Buchner
|Feature feature manager=Sean McArthur |Feature lead engineer=Sean McArthur |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Stephen Donner |Feature ux lead=` |Feature product marketing lead=Dan Horner |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
We are currently blocked on the SDK cfx build tool's conversion to JavaScript and the promise of support of this piece of code by the SDK team.
Stage 1: Definition
1. Feature overview
Enable saving data to the client machine that will be used in constructing Jetpack-based add-ons locally. In addition, use these features to enable the app to operate in offline mode.
2. Users & use cases
This feature will decrease build times and allow the developer to continue working when they don't have connectivity.
3. Dependencies
`
4. Requirements
`
Non-goals
`
Stage 2: Design
5. Functional specification
`
6. User experience design
`
Stage 3: Planning
7. Implementation plan
- Sync, edit, and save packages to IndexedDB
- Rework the front-end code, with the help of the Add-on Builder extension, to sync add-ons/libraries to IndexedDB for editing on the user’s local machine.
- Compile add-on XPIs locally
- With the help of the Jetpack Runner, make it possible for compilation of XPIs to be performed locally on the user’s machine.
- Enable offline use of the app
- Detect and handle the user entering offline mode. Writing of data should save on the file system and sync to FlightDeck servers when a data connection is established.
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=We are currently blocked on the SDK cfx build tool's conversion to JavaScript and the promise of support of this piece of code by the SDK team. |Feature overview=Enable saving data to the client machine that will be used in constructing Jetpack-based add-ons locally. In addition, use these features to enable the app to operate in offline mode. |Feature users and use cases=This feature will decrease build times and allow the developer to continue working when they don't have connectivity. |Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=` |Feature implementation plan=* Sync, edit, and save packages to IndexedDB
- Rework the front-end code, with the help of the Add-on Builder extension, to sync add-ons/libraries to IndexedDB for editing on the user’s local machine.
- Compile add-on XPIs locally
- With the help of the Jetpack Runner, make it possible for compilation of XPIs to be performed locally on the user’s machine.
- Enable offline use of the app
- Detect and handle the user entering offline mode. Writing of data should save on the file system and sync to FlightDeck servers when a data connection is established.
|Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Add-ons |
Secondary roadmap | Jetpack |
Feature list | Jetpack |
Project | ` |
Engineering team | Flightdeck |
{{#set:Feature priority=P1
|Feature rank=999 |Feature theme=` |Feature roadmap=Add-ons |Feature secondary roadmap=Jetpack |Feature list=Jetpack |Feature project=` |Feature engineering team=Flightdeck }}
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | sec-review-needed | when ready sched w/ curtisk |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=` |Feature security notes=when ready sched w/ curtisk |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}