Application updates are performed in the background, while the user is using the Firefox OS device.
There are three basic categories of applications that are updated using this mechanism:
- Core applications
- The core applications (those that are shipped as part of the base Firefox OS, such as Dialer) are packaged, certified, pre-installed, and non-removable. These are only updated during a full system upgrade or an update of the Gonk and Gaia levels.
- User-installed applications
- Applications installed by the user are either packaged or hosted. The update policy for these is the primary topic of this article.
- Pre-installed third-party apps
- Apps that are pre-installed by the carrier or vendor, but are not part of the core operating system platform, are updated subject to the same rules and guidelines as user-installed applications.
Assumptions about users
For at least early versions of Firefox OS, the following assumptions are made about users:
- Data transfer is slow, expensive, and intentionally constrained; in other words, we assume that the user has a slow data connection and a limited amount of traffic permitted each month.
- We assume that the user has little or no access to WiFi; most updates will be performed over their cellular data connection.
- Devices are rarely roaming.
- Users keep their data service disabled by default, enabling it only to complete certain transactions.
- Users keep and use multiple SIM cards.
These are all common user conditions in many countries, so they're fair assumptions to make. Our goal is to try to optimize the updating experience for people for which these apply. These assumptions generally won't negatively impact users that have cheap access to fast WiFi.