Compatibility/Tools/AWCY

From MozillaWiki
Jump to: navigation, search

AreWeCompatibleYet.com (AWCY)

Background and purpose

Bugzilla has some shortcomings for site compatibility work, mainly that it's hard to generate site-centric reports. For example, answering questions like how many open bugs affect Facebook, or how many of Alexa top-100 sites are affected by open bugs is not easy.

AWCY is an attempt at creating a sort of "Dashboard" with an at a glance overview of the compatibility status.

AWCY was first written by Lawrence Mandel (lmandel), later rewritten and maintained by Hallvord R. M. Steen (hsteen).

Features

  • Hard-coded lists of top sites for selected countries (based on Alexa data)
  • Per country todo-lists
  • Overview of open bugs per list, with historical graph of open/closed issues
  • Results of automated tests
  • Search feature to look up specific domains or create custom lists on the fly

Data management

  • Lists of hostnames are stored in JSON files in http://people.mozilla.org/~hsteen/mobilewebcompat/data/
  • List must be described in/referenced from data/toplists.js
  • The preproc/buildlists.py script downloads data from bugzilla, maps bugs by hostname, and writes data/masterbugtable.js
  • buildlists.py also adds contents of all the data/*.json host name lists to masterbugtable.js. This is to make all the required data for building the site UI load as soon as possible.
  • preproc/buildlists.py should be run regularly as a cron job

How to add lists

  1. Add JSON file in /data/
  2. Run buildlists.py to make sure masterbugtable.js contains data for the new list
  3. Add entry in data/toplists.js to make the list appear on the site

The list should now appear in the main table with data, graphs etc.

Development TODO / Wishlist

  • Lawrence's old site also listed core bugs affecting sites. Probably worth adding (especially to give visibility to issues that should be prioritised for fast analysis).
  • Lawrence's old site had "tested / not tested" indications per site. Should we try to add such a feature? Where would the data come from and be stored?
  • The JS relies on some modern ECMAScript features. It would be nice to add some polyfill enhancements to make it run in slightly older browsers too (especially since there is no graceful degradation whatsoever)
  • It's sort of possible to link to data on a specific site through custom search - but it would be really nice to have cleaner links and better UI for site-specific overviews - something like arewecompatibleyet.com/status/facebook.com would be great :-)
  • It would of course be nice to run the site off the domain arewecompatibleyet.com without redirects
  • The "resolved" bug count is growing (yay!) but including a lot of historically resolved bugs in the stats might at some point "drown" a still significant number of open issues. Should we offer an option to show stats for open bugs only?