December is when Mozilla meets as a company for our biannual All-Hands, and we reflect on the past year and plan for the future. Here are some of the highlights of 2018.
The browser-compat-data (BCD) project required a sustained effort to convert MDN’s documentation to structured data. The conversion was 39% complete at the start of 2018, and ended the year at 98% complete. Florian Scholz coordinated a large community of staff and volunteers, breaking up the work into human-sized chunks that could be done in parallel. The community converted, verified, and refreshed the data, and converted thousands of MDN pages to use the new data sources. Volunteers also built tools and integrations on top of the data.
In 2018, MDN developers moved from MozMEAO to Developer Outreach, joining the content staff in Emerging Technologies. The organizational change in March was followed by a nine-month effort to move the servers to the new ET account. Ryan Johnson, Ed Lim, and Dave Parfitt completed the smoothest server transition in MDN’s history.
The strength of MDN is our documentation of fundamental web technologies. Under the leadership of Chris Mills, this content was maintained, improved, and expanded in 2018. It’s a lot of work to keep an institution running and growing, and there are few opportunities to properly celebrate that work. Thanks to Daniel Beck, Eric Shepherd, Estelle Weyl, Irene Smith, Janet Swisher, Rachel Andrew, and our community of partners and volunteers for keeping MDN awesome in 2018.
There’s a lot more that happened in 2018:
- January – Added a language preference dialog, and added rate limiting.
- February – Prepared to move developers to Emerging Technologies.
- March – Ran a Hack on MDN event for BCD, and tried Brotli.
- April – Moved MDN to a CDN, and started switching to SVG.
- May – Moved to ZenHub.
- June – Shipped Django 1.11.
- July – Decommissioned zones, and tried new CDN experiments.
- August – Started performance improvements, added section links, removed memcache from Kuma, and upgraded to ElasticSearch 5.
- September – Ran a Hack on MDN event for accessibility, and deleted 15% of macros.
- October – Completed the server migration, and shipped some performance improvements.
- November – Completed the migration to SVG, and updated the compatibility table header rows.
There were 124 PRs merged in December, including 27 pull requests from 26 new contributors:
- 65 mdn/browser-compat-data PRs
- 22 mozilla/kuma PRs
- 20 mdn/interactive-examples PRs
- 4 mdn/bob PRs
- 3 mdn/data PRs
- 2 mdn/infra PRs
- 2 mdn/learning-area PRs
- 2 mdn/kumascript PRs
- 1 mdn/dom-examples PR
- 1 mdn/stumptown-experiment PR
- 1 mdn/html-examples PR
- 1 mdn/short-descriptions PR
This includes some important changes and fixes:
- Add the Accessibility Checker plugin to CKEditor (Kuma PR 4989), from Florian Scholz.
True, and initial tests (Kuma PR 5162), from Schalk Neethling.
test_footer_language_selectortest (Kuma PR 5163), and Fix
test_edit_sign_in(Kuma PR 5166), from Ryan Johnson, part of the successful effort to get acceptance tests working reliably again.
- Add conic gradient examples (Interactive Examples PR 1265), from Estelle Weyl.
27 pull requests were from first-time contributors:
- Add compatibility data for the SVG
paint-orderattribute (PR 3074), and Fix SVG
textMDN URLs, and
textLengthIE support (PR 3098), to BCD from Steven Kalt.
- Add Edge support for
ParentNode(BCD PR 3099), from Andrew Stewart Gibson.
- Add Opera 36 support for
class(BCD PR 3102), from Christian Sirolli.
RegExp.flags(BCD PR 3142), from ulrichb.
- Fix typo in
KeyboardEventnotes (BCD PR 3146), from Philipp Spiess.
- Samsung Browser does not support CSS media feature
display-mode(BCD PR 3153), from Sumurai8.
- Update desktop Edge compatibility data for
URLSearchParams(BCD PR 3162), from Vitaly K..
- Add node.js v11 support for
flatMap(BCD PR 3163), from Artur Klesun.
ChildNode.removeare not supported by Opera 12.18 (BCD PR 3165), from Abradoks.
Lookbehindhas no firefox support (BCD PR 3189), from StefanSchoof.
- Add support row for
for await...of(BCD PR 3194), from Yuichi Nukiyama.
- Add Safari iOS support for
animateMotion(BCD PR 3222), from Paul Masson.
- Add support for
BigInt(BCD PR 3224), from VFDan.
- Opera still supports
@keyframes(BCD PR 3227), from Tony Ross.
- Fix preference name for Firefox for CSS property
scrollbar-color(BCD PR 3234), from Josh Smith.
Math.roundexample (Interactive Examples PR 1230), from Kevin Simper.
Intl.RelativeDateFormatexample (Interactive Examples PR 1245), from Romulo Cintra.
- Put prefixed
position: -webkit-stickyvalue before the standard value (Interactive Examples PR 1249), from Daniel Holbert.
- Use example name for employee (Interactive Examples PR 1259), from Osama Soliman.
- Change expected output of
Math.truncto negative 0 (Interactive Examples PR 1264), from Hugo Nogueira.
- Fix spelling of
nonExistentFunction(Interactive Examples PR 1274), from Dale Harris.
scrollbar-width(Data PR 334), from Emilio Cobos Álvarez.
<html>element (learning-area PR 113), from Alexey Filin.
<input>element (learning-area PR 114), from lfzyx.
- Add travis-based markdown linting and spell checking (PR 6), from Ryan Johnson (first contribution to stumptown-experiment).
- Remove bulk preloading all fonts (html-examples PR 3), from Vadim Makeev.
Planned for January
David Flanagan took a look at KumaScript, MDN’s macro rendering engine, and is proposing several changes to modernize it, including using await and Jest. These changes are performing well in the development environment, and we plan to get the new code in production in January.
About John Whitlock
John is a web developer working on the engine of MDN Web Docs