This is a rough plan for features, improvements, and fixes that the BMO team is planning to implement within 1-2 years. It will be periodically updated as items are accomplished and Mozilla's needs and priorities change. It does not represent everything we work on; there are many small items that are regularly implemented, and some bigger, urgent tasks that are inserted into our work load.
See also BMO/Roadmap_2014 for a previous version of this document, created in July 2014.
- [p1] Most Important
- [p4] Least Important
- [p4] REST Redesign
- The current REST API is based on the old RPC APIs.
- We want to move to a more intuitive, flexible design.
- We will draw heavily from bzapi's design.
- [p2] Add support for authenticating via Firefox Accounts.
- Persona will be going away; Firefox Accounts seems like the best replacement.
- [p1] Faster, better search
- Mirror relevant data from BMO MySQL db to an ElasticSearch db.
- [p1] Modal UI
- Cleaner, lighter, more responsive, and more flexible design for show_bug.
- Can currently be enabled via the "Experimental UI" option in BMO's user preferences.
- Need to get feature parity with classic UI, and then make it the default.
- [p2] user roles / show_bug alternatives
- Streamline show_bug to show only the controls and data related to a particular task (e.g. triage).
- Required: modal UI
- [p2] Responsive design.
- A version of show_bug that looks better on mobile, even if it's scoped down.
- [p3] Inbound email
- Ability to reply to bugmail to easily add comments.
- Nothing fancier than comments planned.
- [p2] (in upstream trunk) Bug updates without bugmail
- "Minor edit" mode.
- Allows bulk updates through API without generating tonnes of bugmail; means we don't have to script things.
- Restricted to a group.
- Required: Merge upstream master to BMO.
- [p2] Quick edits
- Allows updating of comment within a short period; no bugmail sent for email.
- Edit period ends if bug changes.
- [p3] In-page notifications when a bug is updated.
- Uses WebSockets and/or push notifications.
- [p3] Favourites feature
- Replace voting with favouriting.
- [p3] Complete sandstone (footer, etc)
- Nicer look & feel.
- [p3] Clean up attachment page
- Adding/modifying attachments is unnecessarily confusing.
- [p4] Markdown support
- Required: Merge upstream master into BMO (not much to do aside from this).
- [p1] Merge upstream master branch into BMO.
- There are a number of small fixes and improvements that we never backported.
- Merging in new upstream changes will be easier and can be done periodically once we are up to date.
- Easier for contributors to BMO to figure out what has been done where (i.e. confusion over whether something is not done or just done upstream and not backported).
- ([DONE] 2016/05/14) [p1] Switch all systems from Pacific Time to UTC.
- Having datetimes in Pacific Time is non-standard and causes problems around daylight savings time.
- Required for a proper AWS cluster, since the time zone in RDS cannot be changed.
- [p2] Move attachments out of db into s3.
- Will dramatically decrease db size.
- [p1] Implement CSP.
- Security enhancement.
- [p3] Migrate from YUI to jQuery.
- YUI is no longer supported and is much less popular than jQuery.
- Much of this work is being done upstream, which we can pull down.
- Required: Merge upstream master into BMO.
- [p2] API throttling
- Cache REST requests with memcache.
- Prevent too-frequent polling with identical requests, and accidental DDOS.
- A 5-minute cache of duplicate bzapi requests would have a 25% hit rate
- [p2] enter_bug perf
- enter_bug is very slow, particularly in the Core product due to tracking flags.
- [p3] Integration with Aha! for Program Management.
- They rely on this tool a lot and have been doing mostly manual integration.
- [p3] Cisco Spark integration.
- Helps out the WebRTC team.
- [p1] Work with the Bugmaster team to define some new tools and processes for bug triaging.
- At the moment this is mostly limited to consultation with the Bugmaster team, e.g. providing usage data. Work items will likely be spun off of here and categorized above.
- First part landed 2016/05/24: Readable bug statuses (bug 1268305).