The Web platform is a wonderful thing. Its reach is unparalleled in human history. It enables people all over the world to access vital information, education and entertainment. People old and young, rich and poor. It makes their lives better than they would have been without it. It also enables commerce, banking, and improved supply chains. The world’s economy would have been very different without the Web platform.
The Web platform has over 3 billion users and that number keeps climbing. It also has millions of developers. But, would you care to take a guess about the number of people that are actually working on the platform itself? Making sure that it will continue to grow, and that it would do so in the right direction? Fixing bugs, evolving features and coming up with new ideas that will make the developers’ lives easier, and the users’ lives better?
Well, how many are they? If you’re not a browser developer or involved with the Web standards community, you may have thought to yourself that there are several dozens of thousands of engineers that are working on it. After all, the world’s economy depends on it, and browsers are built by huge corporations.
The truth is, the actual number is significantly lower than that. I’d estimate the people working on browsers and standards to be only a few hundreds of engineers, and if we count only the people working on the core platform, it’s probably even less than that. That means that the people working on the platform have a lot of work on their hands, and have to laser-focus on the things that matter to them the most. That is also the answer to “Why does it take that long to get something into browsers?”
So, I’m afraid we’re heading towards…
A tragedy of the commons
Yeah, the Web is like the common grazing field of our global village, that everyone enjoys, but very few people actually care for.
How can we avoid it? How can we make sure that the people that benefit from the platform can continue to do so in the long term? How can we direct a small percentage of these huge financial gains that the Web provides back towards developing the platform?
Well, what we need is more developers involved in the Web standards and browser communities. We need them to help spec out the features that they need and think are missing, and eventually, we need them to push for these features inside of the open-source browsers, since the hard truth is no one will do it for them.
That’s what I realized after I joined the RICG back in 2012. After blabbing on about responsive images for a while, I realized that if we won’t make it happen, it just won’t. Not because of the malevolence of browser vendors, but simply because it wasn’t their main focus, and since the issue was fairly complex that meant that it’s not going to get worked on unless we do.
Since I’m (also) a C++ developer and had some WebKit
experience (read: I built WebKit once in 2008), I took on the job of
<picture> in WebKit, in order to prove the feature’s
Later on, I started working on the features themselves, both in Blink and in WebKit, and when I saw it’s going to take a long while if I’d continue to do this during my evenings, I fired my client and started doing that as my full-time job. In order to finance some of that effort, the RICG started an Indiegogo campaign. It really helped me to get through this period without having my bank manager calling me twice a week, but more than that, it helped to raise awareness to the fact that this is a thing people can do. Regular Joes, not employed by one of the browser vendors, can just start working on browsers and make things happen.
After the campaign ended, I was able to find a full-time job with an (awesome) employer that enables me to contribute to the platform. Even if Akamai is not a browser vendor, a large chunk of my job is now dedicated to working on the Web platform and on browsers, pushing forward the features that Akamai care about.
And this is what we need. We need software organizations to give their employees time to work on the Web features that matter to them and that would help drive their business. Not as charity, but as a competitive advantage.
The main hurdle is that getting started working on the platform is
hard. When I started as part of the RICG, it took me a couple of months
of my spare evenings to get everything set up and figure out all the
bits of WebKit code that I needed to mess around with in order to prototype
<picture> in WebKit. I guess I’m more stubborn than most, so I
got through that phase, but we cannot reasonably expect everyone to go through
the same hurdles.
Which is why I was super excited when I was approached in order to co-chair the Web Platform Incubator Community Group, a community group dedicated to helping people get into the Web standards world. The role of the WICG is to create a framework and a community that would be there to make it as easy as possible to go from “I think the Web is missing this thing” to a serious, well-thought-out use-case document and proposal that you can take to the relevant standards body and argue for, and turn into a Web specification yourself either as part of a W3C community group, working group, or on your own GitHub repo.
Personally, I would also do my best to help anyone that’s interested in getting started hashing out the feature on actual browsers. Prototyping can go a long way to prove a certain approach is viable, and actually working on a feature can go a long way into making sure that it makes it into browsers sooner rather than later.
Cool. Now what?
Join the WICG. Spread the word. And then, we can start building the Web together, one spec and one feature at a time.
It is time to democratize the way the Web platform evolves. And I truly believe that doing that will ensure a better Web for everyone.