Features/Platform/OfflineApps
Status
Support for Offline Apps | |
Stage | Development |
Status | ` |
Release target | ` |
Health | OK |
Status note | Many of these are in progress, some still need to be staffed or scoped. |
Team
Product manager | Chris Blizzard |
Directly Responsible Individual | Jonas Sicking / Johnny Stenback |
Lead engineer | ` |
Security lead | ` |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | ` |
UX lead | ` |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
Open issues/risks
`
Stage 1: Definition
1. Feature overview
This is actually a collection of bugs that we need to fix in order to effectively support a class of offline applications.
2. Users & use cases
We want to enable a developer to write an application that can:
1. Be used on airplanes. That is, the entire application is cached and can be used.
2. To be able to store and process large amounts of data. This includes both data that's the size of smallish jason blobs (measured in kilobytes) but also large images or even videos (megabytes.)
3. To give users decent feedback about progress and important state changes. This means guidance on app changes (when it's updated), excellent responsiveness and startup time.
4. To be able to use the network when required, with decent fallback.
3. Dependencies
`
4. Requirements
`
Non-goals
`
Stage 2: Design
5. Functional specification
`
6. User experience design
`
Stage 3: Planning
7. Implementation plan
Must-have bugs:
- HTML5 App Cache: We do not fire the onupdateready event - needs investigation & a test
- IndexedDB: Set Version API will change
- IndexedDB: Can't delete a database - do this with Set Version
- IndexedDB: Enable storing files See also: [Features/Platform/LargeFilesForIndexedDB feature page for this bug] - Jan is working on this
- App Cache: Clear Recent History should be able to clear offline cache - Who?
Waiting on specs from Jonas & Robert:
- Need an API for querying permission to make a Database
- Need an API for revoking permission to make a Database (shared computer use case.)
- Jonas will be working on a testing plan to test IndexedDB performance with Clint.
Nice-to-have bugs:
- AppCache: Remote @font-face fails when used with appcache
- IndexedDB: Can only create simple key types
- IndexedDB: Can only create indexes on the root object
- API to trigger asking for the data storage permission dialog (HTML5 App Cache) or stop asking
- There's no easy way to know if you're getting the offline/cached version of a file or the one off the network. (Nice to have for testing.)
- Support for LevelDB
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
`
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | Experience |
Roadmap | Platform |
Secondary roadmap | ` |
Feature list | ` |
Project | ` |
Engineering team | DOM |
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | ` | ` |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | ` | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |