This page discusses a rewrite of the mobile pages on AMO.
We are in the process of rewriting AMO. The first part was the discovery pane, which is a page provided by AMO and embedded inside Firefox.
The new code for the front end is contained in addons-frontend and will similarly be written in isomorphic React, rendered on the server and sent to the client where further rendering or changes can take place.
Why mobile pages first?
- limited use (breaking things has less impact and let's us scale)
- limited scope (there are only a few pages)
- limited features (there's a limited amount of features on those pages)
- mobile first anyway right?
- we can then make it responsive and scale up to the desktop
- Home page
- Search page
- Add-on details page
- Theme details page
- Rate an add-on or theme
- Categories page
- Log in, log out
Tracking bug is in github mozilla/addons#151
The search page is special. It's rendered in Firefox as XUL calling an API. It ends up having multiple problems and we'd like to rewrite to it use the new search page we are about to write.
|1424279||--||NEW||Search field input accepts very long query strings generating 414 errors|
1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);
This does mean, once we've got it working mobile, this will be the first page to make responsive and work well in Desktop.
- A new API is required. “Featured” is not done through search, it looks up a specific collection in the db (using locale and app parameters, and there is a fallback) and use that, returning add-ons in that collection in random order. #3017
- Need to be able to filter search API by category. Maybe need to solve the categories being in the database first. #3020
- As with the homepage, “Featured” means we might need a separate API.
- Search and detail API need to return the number of ratings, the average rating, the number of weekly downloads and the number of users for each add-on. #3021
- Add-on author also needs to be exposed (maybe only in the detail API?). #3022
- Add-on previews need to be exposed. Maybe in a new API, or in the detail one only. #3023
- A new API for ratings need to be added (both to fetch all ratings with the comment for an add-on, and to post a new one). #3024
- A new API to fetch all versions need to be added. It needs to display release notes and link to the source code if there is one, as well as the license. #3025
- The existing search suggestions API might be good enough to be used as-is, need to investigate.