Move the Web Forward

You can make the web as awesome as you want it to be.

You love web standards. You want to give back to the community. Curious about where to start? We're here to help.

Whether you're a talented web developer, web-slinging since the days of tables and font tags, or you're a hobbyist hacker, there are a number ways for you to give back. Below, we list some of the ways that anyone can contribute back to the web platform.

Our goal is to make it easy for anyone to get started contributing to the platform, whether that's learning more about how it works, teaching others, or writing specs. The web has grown due to people like you, and we want to make it even easier for people like you to give back.

Also available in عربى, 中文 and Brazilian Portuguese.

Level up!

You're damn good at what you do. Let's dive into the community!

Learn

One of the most beautiful things about the web is that it's constantly changing. While these changes and improvements can be overwhelming, we're here to help you get caught up! Here are some great resources to walk you through how browsers work, and help keep you up to date on their improvements.

How do I keep up with what’s landing in browsers?

Follow them on Twitter

You should probably follow: @oDevRel (Opera developer relations), @ChromiumDev (Chrome developer relations), @mozhacks (Mozilla's web developer outpost) & @IEDevChat (Internet Explorer developer relations).

How do I understand how browsers work?

Other learning resources

  • CSS-tricks - provides a wealth of articles, tutorials, and downloads for the web design community.
  • HTML5doctor - a great resource for people wanting to learn about HTML5, its semantics, and how to implement it today!
  • WebPlatform.org - Community web development documentation wiki.
  • Dive into HTML5 - takes an in depth look at a selection of HTML5 features.
  • Addy Osmani’s blog - tons of great articles for people who want to learn more about jQuery, JavaScript, HTML5, and CSS3.
  • Paul Irish’s blog - all about helping you build cool websites and keeping you up to date on the latest news.
  • Dev.Opera - articles for learning about HTML5 features.
  • IE Blog - talks about updates to Internet Explorer
  • Web browser, frontend and standards feeds to follow
  • YUI Theater - videos of talks about frontend engineering and web technologies given at Yahoo! over the years (many of them unrelated to YUI).
  • Adobe Developer Connection - articles and videos for learning about HTML5, CSS3 and mobile development.

Reference docs/wikis

  • Mozilla’s MDN - awesome documentation regarding HTML, CSS, JavaScript, the DOM, and more. It’s also a great place to contribute! Read How to help and learn how to get started.
  • dochub.io - quick access to MDN-docs, includes HTML, CSS, JavaScript, and DOM.
  • Forward-compatible websites - list of best practices for creating websites that won’t break when browsers are updated.
  • HTML5 Please - Use new and shiny responsibly - Encyclopedia for HTML5 features across browsers, look up specific features and see when/if you can use it.
  • Can I Use - Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers.

Itching to learn?

All it takes is a quick read of a few articles or tweets and you can scratch that knowledge bug! Trust us – once you’ve gotten started, it just keeps getting easier.

Yes, I want to do this!

Here are some developers who want to do this too:

Meet like-minded folks

Attending local meetups and conferences is a great way to connect with other developers to learn, share resources, and bring new ideas and collaborations to life. Sites like Meetup and Lanyrd can help you find events in your neighborhood.

Ask for help

Answer questions and participate in conversations on IRC

How to get started with freenode and irc

  • Freenode IRC channels: #html5 / #css / #javascript / #whatwg / #jquery / #yui / #dojo / #web / #bbg (on irc.freenode.net)
  • Mozilla IRC channel: #js (on irc.mozilla.org)

How to ask for help

  1. You’ll probably want to make a jsfiddle first.
  2. Create a reduced test case.
  3. Remember: be specific!
  4. Ask on IRC, StackOverflow (even its javascript chatroom), or a group of friends.

A helping hand.

We've all gotten to where we are by relying on others for help at some time or another. Don't be shy, and just ask! Just please make a jsfiddle first. =D

Yes, I want to do this!

Here are some developers who want to do this too:

Dig Deep

You clearly know your way around. Now it's time to show it.

Help others

We've all got to start somewhere! Helping others reassures your knowledge, and also broadens the amount of concepts you're exposed to. Below are some great open-source projects that are always looking for help. Remember - no patch is too small!

Open-Source projects worth your time

Do what is asked in ‘ask for help’ above and check out Addy Osmani’s podcast about getting involved!

Write documentation

  • Web Platform - a community-driven source for comprehensive web developer documentation

Pass it on!

Reading awesome code leads to writing awesome code. Look into the great projects listed below, and help them grow to be even more great than they already are.

Yes, I want to do this!

Here are some developers who want to do this too:

Give feedback on specifications

Specs codify the expected behavior. They are developed by Working Groups (WG) along with active discussion on mailing lists. While we can’t always be certain that all browser vendors will adhere to the rules set forth in a spec, they provide us with something that we, as developers, can standardize against.

  • Learn the history of HTML.
  • Take an inside look at how the CSS WG works.
  • Subscribe to these mailing lists to follow and contribute to the discussions that drive the web:
    • public-webapps - technical discussion for the Web Applications Working Group
    • www-style - technical discussion on Cascading Style Sheets (CSS) and its specifications
    • whatwg - WHATWG's mailing list
    • public-html - W3C HTML Working Group
    • www-dom - where the DOM is improved
    • public-fx - issues affecting the CSS and SVG Working Groups
  • Read through the HTML5 Spec for developers (the implementor stuff removed, formatted beautifully for you).
  • The easiest way to comment or give feedback on the contents of the HTML specification is to select the text you want to comment on and leave a message using the form at the bottom of the page.
  • See the latest commits to the HTML and CSS specs by following their respective working groups on Twitter:

Are you specced out?

We're the ones using the specs, so why don't we help make specs we love? Let's stand up for standards, and help make these even better!

Yes, I want to do this!

Here are some developers who want to do this too:

Explore frontend features

Once you’ve picked up the basics, it’s time to dive a bit deeper into the current (and future) state of web standards! Get excited, because here, we check out advanced CSS, brand-new HTML5 features/APIs, and even what the future of these languages are expected to be. Several new capabilities are now available in browsers, and exploring these new capabilities will help us push the web forward!

Examples of how to explore features well

Cool features to explore more (and write about)

Browsers ship new CSS features all the time. The vendor prefixes we love to hate are actually there so we developers can provide feedback on whether the feature meets our needs. Encourage yourself to investigate if they do! This vendor-prefixed CSS property overview, by Peter Beverloo, has a lot of experimental CSS mentioned; much of which is not well understood. Consider writing about them and the items below:

Explore the unknown!

Go for it! The only way to move the web forward is to dig in and used advanced features and APIs. Have fun - we know you will!

Yes, I want to do this!

Here are some developers who want to do this too:

Write

Publish what you learn and don’t be afraid to make mistakes. Publish to your personal blog and keep your posts updated. Be sure to speak with your own voice! Remember that it is okay to not be an absolute authority on a subject to author a post! Always ask questions and prompt conversations. There is seldom a wrong question or a wrong answer.

Teaching is a great learning tool as well. So, even if you are getting started in an area, you’re helping yourself by writing about it as well. You can always consider asking a mentor or friend for a technical review. (Addy’s done that with aplomb.)

What should you write about?

Something you can teach others! Here are some ideas:

  • Why do the <br> and <hr> elements (or any element) exist?
  • How to create a slideshow with the least amount of code?
  • What is the DOM? Why does it exist?
  • Check how browsers implement a specific property and compare it to the spec.
  • How a popular website implements its homepage (with suggestions for improvement).
  • How you would fix a popular website's faults (long load-time, invalid JS, etc.).
  • Take a popular demo and make it something else (or use it practically).
  • Make a summary of popular ideas around the web lately.
  • Your experience contributing to an open-source project.
  • How CSS preprocessors can lead to stringy and bad code if not managed correctly.
  • If you are a native speaker of a language other than English:
    • Translate some popular English web dev posts.
    • Elaborate on some of the features in the specs.

Write this down!

Regardless of how many twitter followers or github watchers you have - write about what you learn!

Yes, I want to do this!

Here are some developers who want to do this too:

File bugs

Seriously, all browser vendors would much rather you file tickets with them than tweet about bugs. =D

Stop bugging out!

This is the quickest way for browsers to get better - by filing and working on bugs. It takes just a few moments, and anybody can do it.

Yes, I want to do this!

Here are some developers who want to do this too:

Virtuoso!

You've come a long way; you clearly know your stuff! May we suggest you these?

Hack!

Push the web to its limits! Hack on CSS, advanced HTML, and JavaScript. Hack on the browser's rendering engine. Fork github repos, dig through the code, and keep on learning. Let's make the web more awesome. There are so many ways:

Contribute to browsers

Contribute to Test Suites

Test cases are fundamental to standards and to browsers. They assure things work the same across browsers. Yet right now, the W3C test suites don't have nearly as many tests as they need. Tests are written in the languages of web developers: HTML, CSS, and JavaScript.

Contribute to specifications

Contribute to validators

Contribute to projects

  • Lazyweb Requests are some ideas for awesome projects the web would love to see built.

I’m in your codez!

Just build stuff. Experiment, fork repos, dig through code. Contribute to the browsers, specs, validators, or great open-source projects!

Yes, I want to do this!

Here are some developers who want to do this too: