Closed Bug 1194338 (downloadable-fonts) Opened 9 years ago Closed 3 years ago

[meta] Fennec support for downloadable fonts

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: rnewman, Unassigned, Mentored)

References

(Depends on 1 open bug)

Details

(Keywords: meta)

This is a long story.

In Bug 1063868 we made it possible to exclude Clear Sans from the build. This drops our initial APK size by 2.75MB.

But we still want to deliver those fonts to most users, if they have the space.

This bug is the first stab at Fennec 'DLC', soon to be followed by Bug 945123 and Bug 1095719.

We chose fonts precisely because we always want to download them.

Work will probably proceed as follows:

0. Verify that our app is usable on a range of Android versions with no fonts at all.

1. Figure out how to package fonts separately so that we can install them alongside the build. This will get reftests working even if the fonts aren't in our APK.

2. Optional: turn on font exclusion for constrained builds! Hooray for Gingerbread!

3. Build a small chunk of code, probably in an Android service, to download fonts from a CDN into that 'alongside' location. This takes some care: we need to worry about captive portals, MITM, cert pinning, filesystems being full, memory pressure notifications, retry/interruption, etc.

Take a look at the Updater code and some of our background services for inspiration.

4. Trigger that code behind the first-run experience. Exactly when and how depends on how bad things look without our fonts, and how we can signal to Gecko that the fonts are available after download.

5. Implement a simple package registry on the device. This keeps track of which versions of the fonts are installed, allows us to check hashes, and update when necessary. This will be where we track all DLC; for now just fonts.

6. Implement a simple package service client. This pulls down changes into that registry, allowing the client to make decisions about when to download new content.

7. Thoroughly test on Nightly, and eventually let this ride the trains.


You might notice that Bug 648548 exists. Why is this a different bug?

1. No UI.
2. This is part of our stock assets, not an optional in-line content feature.
3. This is a generalized first step towards downloading much more stuff.
This looks like a main work bug, so I removed "[meta]".
tracking-fennec: ? → 44+
Summary: [meta] Fennec support for downloadable fonts → Fennec support for downloadable fonts
(In reply to Mark Finkle (:mfinkle) from comment #1)
> This looks like a main work bug, so I removed "[meta]".

Actually I was planning to add more sub bugs for the specific tasks as I start to work on them. :)
Summary: Fennec support for downloadable fonts → [meta] Fennec support for downloadable fonts
Depends on: 1210385
Meta bugs don't need to track a release.
tracking-fennec: 44+ → ---
I do not need to be assigned to the meta bug.
Alias: downloadable-fonts
Assignee: s.kaspari → nobody
Mentor: s.kaspari
Depends on: 1260485
Blocks: fennec-dlc
No longer depends on: fennec-dlc
Keywords: meta
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.