Closed Bug 958879 Opened 10 years ago Closed 3 years ago

Ship Fira Sans for Android, beginning with FxA native UI

Categories

(Firefox for Android Graveyard :: Android Sync, defect, P3)

All
Android
defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: nalexander, Unassigned)

References

Details

(Whiteboard: [qa?])

Latest mocks from alam include Fira Sans Regular, Fira Sans Light, and Clear Sans.  Fennec already ships Clear Sans but appears to not ship any Fira Sans weight.

alam: How important is using the specified fonts?

mfinkle: How much space are we willing to give to these fonts?  We're shipping Clear Sans in 8 True Type weights at about 150k per weight, so 8 x 150 = 1.2 megs.  Link chasing from https://www.mozilla.org/en-US/styleguide/products/firefox-os/typeface/ gives the Fira Sans weights at about 180k per weight, so 2 x 180 = 360k.

The engineering effort to use the correct fonts on Android is minimal.  There are a few hurdles:

* the UI code will live in the android-sync git repo, meaning we need to find the fonts specially;

* we don't ship the Clear Sans fonts as regular Android assets (they're in the omni.ja, I think).
Flags: needinfo?(mark.finkle)
Flags: needinfo?(alam)
I'm gonna weigh in here and say a categorical "hell no" at 1.2MB, and probably still no at 360KB.

The tradeoff for me: how many users are we going to lose because Firefox is an enormous fatass (Bug 942609) versus not having precise branding agreement between native Android setup UI and FirefoxOS?

My guess for the former is "non-zero", and for the latter "zero", particularly as we don't use Fira Sans for other Fennec UI.


A brand-new install of Aurora is over 50MB, which is totally unacceptable for a broad swath of our target market. (My main Firefox is FOUR HUNDRED MEG, which is ridiculous, and a total non-starter for the majority of our target market!)

FxA is already going to grow our install size somewhat (more -- totally necessary -- UI, more strings, more icons). We need to keep that size top-of-mind as we add features, and weigh that significant cost against proposed benefit, as well as continuing to do work to reduce our impact on non-high-end phones.
(In reply to Richard Newman [:rnewman] from comment #1)
> I'm gonna weigh in here and say a categorical "hell no" at 1.2MB, and
> probably still no at 360KB.

Sorry -- I wasn't clear: we *already* ship 1.2M of Clear Sans (and, I think, 4 x 1.5M = 6M of CharisSILCompact; see http://mxr.mozilla.org/mozilla-central/source/mobile/android/fonts/).  So this is strictly about *adding* 360KB.

> The tradeoff for me: how many users are we going to lose because Firefox is
> an enormous fatass (Bug 942609) versus not having precise branding agreement
> between native Android setup UI and FirefoxOS?
> 
> My guess for the former is "non-zero", and for the latter "zero",
> particularly as we don't use Fira Sans for other Fennec UI.

Leaving aside size for a moment, I think it is critically important that the Fennec Firefox Account UI match the rest of Fennec's UI.  The sign up/sign in pages can be quite different, but the status activity will almost always be navigated to from Fennec's preferences menu and so needs to match the rest of that UI.
We only use Charis and Clear Sans for web content at the moment. We use system fonts for all native UI.

If we want to FxA UI to match the rest of the Fennec UI, we should just use the standard Android fonts.
Flags: needinfo?(mark.finkle)
> > versus not having precise branding agreement
> > between native Android setup UI and FirefoxOS?
> > 
> ... I think it is critically important that the
> Fennec Firefox Account UI match the rest of Fennec's UI.

We'll already match the rest of Fennec's UI without adding fonts. Adding Fira Sans would have us match FxOS, which was my point.

If nobody is asking us to match FxOS's branding, then this is a WONTFIX.

If somebody is asking that, then we need to have a bigger conversation about the rest of Fennec and the amount of additional space it would take.
(In reply to Richard Newman [:rnewman] from comment #4)
> > > versus not having precise branding agreement
> > > between native Android setup UI and FirefoxOS?
> > > 
> > ... I think it is critically important that the
> > Fennec Firefox Account UI match the rest of Fennec's UI.
> 
> We'll already match the rest of Fennec's UI without adding fonts. Adding
> Fira Sans would have us match FxOS, which was my point.
> 
> If nobody is asking us to match FxOS's branding, then this is a WONTFIX.
> 
> If somebody is asking that, then we need to have a bigger conversation about
> the rest of Fennec and the amount of additional space it would take.

That is my point.  The current mocks I have are quite detailed and specify the fonts (and font sizes); clearly somebody felt this mattered in one context.  We are still waiting for confirmation (alam) if anybody is asking for this to match on Android.
Whiteboard: [qa?]
Wow, so much discussion here, don't you guys ever stop working? ;) 

Maybe I can provide some context from the design end of things. Anthony feel free to weigh in if I'm missing anything. 

Nick is right, we would like to use Fira Sans for some elements in the Firefox Accounts UI. This is part of a larger effort being coordinated across the various product design teams at Mozilla, called Project Chameleon. If you haven't heard about that, do read on!

----------

Project Chameleon aims to find ways to unify the visual design of all our products, and make them feel uniquely Mozilla-like, while staying true to their respective platforms. Over the course of this year, you will start to see more refinements like this coming in, relating to typography, icon styles and visual metaphors, and colour. 

I want to be 100% clear on one thing though, since I saw it in one of Richard's comments. This is absolutely NOT an effort to just look like FirefoxOS. It's a much more nuanced project than that.

----------

So to bring it back to this discussion, one of the ways we are trying to converge on visual design is in the typography of some of our common UI elements, like content UI. In this case I believe it comes down to using Fira for titling, and Clear Sans for text. This will start in Firefox Accounts, but will likely start showing up elsewhere too, like network error pages, possibly even our Home page and core UI, depending on where we end up with those design explorations. 

Yes, it increases file size. I also want to recognize that the timing of the Firefox Accounts project may make us less eager to discuss this right now, but I wonder -- are there any other alternatives to embedding them? Can they be hosted online somewhere? I also just filed bug 959203 which is about trying to remove some visual assets we may not need, maybe that will make up some of the difference? 

Either way though, while this change may a small amount of weight to the size of the app, the benefit will be a more harmonized design across all of our products which is an important thing. It's little things like this kind of polish that increase the perceived quality and trustworthiness of our products.
I would have to agree with Ian here. Due to the recent kick off and efforts of Project Chameleon, I have opted to use specific fonts (Fira Sans and Clear Sans) that are not currently included in Android stuff. 

Although this increases the overall file size, I would insist that we do stick with these and not Android fonts just because of Project Chameleon. Moving forward, we will be using these two fonts more and more and I think this is a great opportunity to start things off. Rest assured, these are not isolated cases where we require said fonts. I can foresee us using them more and more in the future.
Flags: needinfo?(alam)
OK, that's important context we were all missing. Thanks, chaps!

So then the only question IMO is: are we happy paying that cost now versus later, particularly if we can cut some fat in the meantime?


(In reply to Ian Barlow (:ibarlow) from comment #6)
> Wow, so much discussion here, don't you guys ever stop working? ;) 

Hey, it's Sunday! It's like a free work day! :D


> This is part of a larger effort being coordinated
> across the various product design teams at Mozilla, called Project
> Chameleon. If you haven't heard about that, do read on!

Sidenote: are me and mfinkle the only folks who haven't, or should we message this out to the rest of the front-end team?


> I want to be 100% clear on one thing though, since I saw it in one of
> Richard's comments. This is absolutely NOT an effort to just look like
> FirefoxOS. It's a much more nuanced project than that.

Gotcha.


> are there any other alternatives to embedding them? Can they
> be hosted online somewhere?

There are two things we're worried about, to greater or lesser extents:

* APK size. If it gets too big, people have trouble grabbing or installing Firefox, or they might abort when they see the progress bar.
* On-disk size. This is our footprint on your device. It's a superset of the APK size.

Downloading stuff at runtime is only really a big deal if we can download some user-specific data -- e.g., just the locales you use, rather than every locale. Probably not worth it for a font that everyone will use.


> I also just filed bug 959203 which is about
> trying to remove some visual assets we may not need, maybe that will make up
> some of the difference? 

Every little helps! :D
Summary: Ship fonts for Android FxAccount native UI → Ship Fira Sans for Android, beginning with FxA native UI
I have a concern with using non-system fonts for parts of the UI. As long as we limit the usage to in-content or in-content "like" situations, I won't get clenched.

I assume the usage with FxAccounts in be in-content "like" situations and not menus, settings or other system UI.
(In reply to Mark Finkle (:mfinkle) from comment #9)
> I have a concern with using non-system fonts for parts of the UI. As long as
> we limit the usage to in-content or in-content "like" situations, I won't
> get clenched.
> 
> I assume the usage with FxAccounts in be in-content "like" situations and
> not menus, settings or other system UI.

I think that's accurate, yes. The jury is still out on whether or not to use it in browser chrome -- to be honest I also share some Mark's clenched feelings around this. It's territory where we are still exploring the edges of "what makes us Mozilla" vs "what makes us blend with the platform". Shouldn't have any effect on the Sync work now, though.
We keep growing our apk size and just shrug our shoulders. There are repercussions to this, it affects startup time, it affects download time, it affects first run...etc.
(In reply to Kevin Brosnan [:kbrosnan] from comment #11)
> We keep growing our apk size and just shrug our shoulders. There are
> repercussions to this, it affects startup time, it affects download time, it
> affects first run...etc.

See Comment 1 where I veer very much towards ranting and away from shrugging. :P
Blocks: 963833
No longer blocks: 951304
Priority: -- → P3
Product: Android Background Services → Firefox for Android
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.