WIP: Home Page Customization in Firefox for Android

Feb 3, 2014

In Firefox 26, we released a completely revamped version of the Firefox for Android Home screen, creating a centralized place to find all of your stuff. While this is certainly awesome, we’ve been working to make this new home screen customizable and extensible. Our goal is to give users control of what they see on their home screen, including interesting new content provided by add-ons. For the past two months, we’ve been making steady progress laying the ground work for this feature, but last week the team got together in San Francisco to bring all the pieces together for the first time.

Firefox for Android has a native Java UI that’s partially driven by JavaScript logic behind the scenes. To allow JavaScript add-ons to make their own home page panels, we came up with two sets of APIs for storing and displaying data:

Home.jsm contains new APIs to add new panels to the home page, including specifying which kinds of views to make in these panels, and which datasets should back those views.

During the first half of our hack week, we agreed on a working first version of these APIs, and we hooked up our native Java UI to HomeProvider data stored from JS. After that, we started to dig into the bugs necessary to flesh out a first version of this feature.

Chenxia recently landed a new page in settings to allow users to manage their home panels, and she has been working on a patch to allow them to install new panels from this settings page (bug 942878).

Lucas has been working on a patch series to allow add-ons to auto-install new panels to about:home (bug 964375). He also has patches to add images to dynamic views using the Picasso image loading library (bug 963046).

Josh (our other awesome intern), is working to support folder views in dynamic panels, similar to our built-in bookmarks panel (bug 942295), and he also added support for handling clicks on these dynamic views (bug 963721).