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

Reply via email to