Features/FlightDeck/Client side app

Please use "Edit with form" above to edit this page.

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=` }}