When surveyed, 38% of developers in general seem to dread using Web technologies (HTML & CSS, JS in StackOverflow 2022 survey); and when asking Web developers and designers more specifically, 23% aren’t satisfied with the Web platform (MDN DNA 2020 survey). This could be worse – but how can we make it better?
As a development platform, the Web platform is fairly unique in being provided through competing browsers which implement a shared set of standardized technologies. This combination of cooperation in defining the technologies and competition in implementing them has long been recognized as an important driver of improvements for the platform as a whole, as implementers innovate on new user facing features and protections, improved developer tools, and increased performance.
While competing implementations are a great driver of innovation, it also creates fragmentation, a regular top pain point that developers report (e.g. browser compatibility pain point in MDN DNA survey 2020). What feature can developers rely on to ensure that their app will work on the combination of devices, operating systems and browsers that they need to serve?
Understanding and monitoring what constitutes the interoperable surface of the Web platform is a non-trivial task, especially as browsers now get updated on a very regular basis.
The Interop project is an ongoing effort to bring cooperation not just about the definition of technologies, but also about their deployment, with the clear goal of reducing fragmentation developers most suffer from.
To build on these positive patterns, the WebDX Community Group was launched a couple of weeks ago with a mission to facilitate coordinated approaches to improve the overall experience of developing for the Web platform. The group will initially focus on two key areas.
First, it will enable shared research on the pain points that developer face. Previous shared research efforts include the MDN Web Developer Need Assessment surveys that ran in 2019 and 2020. Their results unambiguously highlighted the cost of fragmentation for developers, and with additional complementary research, were key drivers of improvements in this space, in particular via the Interop project. The WebDX Community Group intends to provide a home to discuss topics and infrastructures for shared research on developer needs and wants. Our efforts start with a collaboration on short surveys that will run on a regular basis on MDN (with our deep gratitude to Mozilla and the MDN team). During W3C TPAC unconference in September, we also collected a number of other suggestions about how shared and curated research could help us take better decisions for the platform.
In complement to that, we want to provide structural improvements in how developers can understand and manage fragmentation: reducing fragmentation (as proposed by the Interop project) is the preferred approach, but some fragmentation is unavoidable (e.g. because hardware capabilities may differ across devices), and some of it is probably a necessary consequence of the competitive model of the platform.
We want to make it easier for developers to track the list of features that are widely available and those that are under development. My colleague and WebDX Community Group co-chair François Daoust developed an analysis of how features get described and their implementation tracked across a variety of tools and systems, including MDN Browser Compatibility Data and Can I Use that many developers already call upon to answer these questions. We believe that we can improve our approaches towards reducing fragmentation and making sure that developers know about it, provided that we can describe and agree on features that compose the Web platform.
It’s still early days! If you want to contribute and improve the developer experience of the most popular platform, please join the WebDX Community Group or bring your input to our GitHub repositories.