How can we be more efficient with image use in our UI?




Firefox for Android
5 years ago
5 years ago


(Reporter: ibarlow, Unassigned)


15 Branch
Mac OS X

Firefox Tracking Flags

(Not tracked)




5 years ago
This has been a recurring theme for a while now, and a number of conversations have bubbled up in the last few days. Let's use this bug as a platform to discuss some possible solutions. 

I've cc'd Sriram, Mark, Matt, Lucas, and Madhava -- feel free to add more participants too


We have an unholy amount of images we use in our Android UI. This is partly due to
* A lot of UI customization we do to build on and enhance standard Android conventions
* Supporting multiple screen resolutions (mdpi, hdpi, xhdpi -- and soon ldpi for armv6)
* Supporting portrait and landscape action bar sizes, and using unique assets for each
* Using textures and shading that make it harder to draw colours and backgrounds with code

* We've talked about drawing our UI with code (SVG, etc)
* We've talked about adding our noise/texture in a different way, like using a transparent overlay

Other ideas?
The tabs button takes way too many forms.
There is a cropped version for the one in phones without menu.
There is a tailed version for the ones in phones with menu.
There are these versions for 7" tablet.
(2 images * 2 states * 3 resolutions * 3 orientations) = 36 images

There is a cropped version for the tablets which switches sides.
(2 states * 3 resolutions) = 6 images

So a total of 42 images just for the tabs.

There is menu button in ICS phones, an "add tab button" background, taking similar amounts of images.

Comment 2

5 years ago
Sriram, what about removing orienation-specific assets, and just making one set for Portrait mode and scaling them down for landscape? 

Would that be terrible?
Yes, that wouldn't look good.
But.. the landscape part is only for ICS+ phones. We have a choice to use 48dp on landscape mode too, as we don't use action-bar anymore. Just that we won't be like stock android apps using action-bar.
You need to log in before you can comment on or make changes to this bug.