Hello! Kadir Topal and I are on the Developer Outreach team, and have spent some time this year looking at web platform development and adoption patterns.
We presented some initial findings and recommendations at the San Francisco workweek, and are now looking for broader feedback from the Gecko developer community. Why are we doing this? The goals of this effort are to ensure that the web platform technologies we're investing in are meeting the highest priority needs of today's designers and developers, and to accelerate availability and maximize adoption of the technologies we've prioritized to meet these needs. We've interviewed a number of Gecko developers and our standards-process participants, and looked at the overall lifecycle of some web features to identify pain points, bottlenecks and blind spots. We’ve also looked for patterns that were effective at driving multi-vendor implementation, or improving the rate of adoption by designers and developers. Based on the work so far, we’ve initiated a few different efforts, and also have some recommendations for how we make and ship the web that best meet the needs of developers. Research One of the big gaps we've identified is around research. To our knowledge, no browser vendor is doing broad research into the needs of modern designers and developers for the purpose of influencing the direction of the web platform. And while we do a lot of usability research in browser features and our web properties, we don't do this with our web APIs and CSS properties. We're proposing two research efforts: * Research services for Web platform development teams - A researcher will work with you to find the right audience and gather their feedback through surveys and real user testing as you’re building web platform features. We're interviewing candidates now for a contract position to trial this. * Annual MDN Developer Needs Report - We'll publish an annual report of designer and developer needs, both on the web and off of it, to help guide prioritization of web platform development efforts. Measurability The web platform contains >9k unique parts (https://twitter.com/dietrich/status/998978915912663040). We're measuring a tiny percentage of it, and only on Nightly. Some browser vendors measure some parts of CSS and share those numbers publicly, but we need to measure real world usage of high-priority features in Firefox in order to reasonably determine whether the features we’re investing in are actually being adopted by Firefox users. Measurability is also key to understanding if our adoption efforts in Developer Outreach and Developer Marketing are actually having impact over time. We've started work to expand Gecko’s use-counters to cover more of the web platform and also to turn on reporting on the release channel. Some challenges are ensuring no PII in the reported data, that client-side performance isn’t impacted, and determining an effective sample size for meaningful results without overwhelming data processing requirements on the server. Bug for enabling use-counters on release: https://bugzilla.mozilla.org/show_bug.cgi?id=1477433 Bug for auto-generating use-counters in WebIDL: https://bugzilla.mozilla.org/show_bug.cgi?id=1470241 Web Platform Development Recommendations From the work so far, we've identified a few actions we're recommending to product owners, module owners, reviewers and developers: * 1. Use-counters: As mentioned above, we’re enabling use-counters on release. We recommend that teams and reviewers request that use-counters are added in patches for new web platform features. * 2. Tools: We’re recommending that new web features ship with devtools support in the same release to maximize adoption. This is already happening to some extent, but should be the default. * 3. Use the MDN Developer Needs report for guidance in deciding what to implement, and prioritization. Ok, this doesn’t exist yet. But when it does, we should use it as an input when determining where we put engineering time. What we need from you... * What do you think about the recommendations above? What challenges do you see? What solutions do you recommend? * What research should we do next? We’re considering further research into things like identification of complexity in the web stack for web designers and developers, a better articulation of which use-cases make the web *not* an option, and whole-lifecycle workflows (eg, developers consider “server side” as part of the web, while browser vendors might not). What research would help you in your work making Gecko? * Do you have ideas for maximizing adoption? We’re only looking at a few small areas that we think we can have impact. What else should we be looking at? Thanks, Dietrich and Kadir _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform