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.
The interactive-examples project had a great year as well. Will Bamberg coordinated the work, including some all-staff efforts to write new examples. Schalk Neethling improved the platform as it grew to handle CSS, JavaScript, and HTML examples.
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.
Kadir Topal led the rapid development of the payments project. We’re grateful to all the MDN readers who are supporting the maintenance and growth of MDN.
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.
Shipped tweaks and fixes
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.
- Add
Jest
andTrue
, and initial tests (Kuma PR 5162), from Schalk Neethling. - Fix
test_footer_language_selector
test (Kuma PR 5163), and Fixtest_header_signin
andtest_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-order
attribute (PR 3074), and Fix SVGtext
MDN URLs, andtextLength
IE support (PR 3098), to BCD from Steven Kalt. - Add Edge support for
lastElementChild
element ofParentNode
(BCD PR 3099), from Andrew Stewart Gibson. - Add Opera 36 support for
class
(BCD PR 3102), from Christian Sirolli. - Add that “Experimental JavaScript Features” preference needed for Edge support of
RegExp.flags
(BCD PR 3142), from ulrichb. - Fix typo in
KeyboardEvent
notes (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. Document.hasFocus
,ChildNode.remove
are not supported by Opera 12.18 (BCD PR 3165), from Abradoks.Lookbehind
has 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. - Simplify
Math.round
example (Interactive Examples PR 1230), from Kevin Simper. - Add
Intl.RelativeDateFormat
example (Interactive Examples PR 1245), from Romulo Cintra. - Put prefixed
position: -webkit-sticky
value 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.trunc
to negative 0 (Interactive Examples PR 1264), from Hugo Nogueira. - Fix spelling of
nonExistentFunction
(Interactive Examples PR 1274), from Dale Harris. - Drop
<length>
fromscrollbar-width
(Data PR 334), from Emilio Cobos Álvarez. - Add
lang
attribute to<span class="nt"><html></span>
element (learning-area PR 113), from Alexey Filin. - Add
id
attribute to<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