Web Platform Docs Debuts with Developer Resources

Today, we are taking another step forward in helping developers achieve the goal of interoperability through same markup. We’re happy to be part of creating Web Platform Docs (WPD), a new W3C hosted community resource for developers and designers who use open Web standards. For developers the Web is about building great experiences with the potential to reach millions of people around the world by writing interoperable sites and applications. We’ve talked many times about the promise of interoperability through the same standards-based markup yielding the same results.

Web Platform Docs (WPD)

The W3C, Adobe, Apple, Facebook, Google, HP, Microsoft, Mozilla, Nokia and Opera have teamed up to create and seed this new community-driven site whose aim is to become a central repository for Web developer documentation.

  • Clear reference docs that are accurate, complete, and indicate adoption rate.
  • Thoughtful tutorials for existing and new technologies.
  • A sample library that takes into account real-world scenarios.
  • The ability to see—at a glance—which technologies are on a standard track and the stability and implementation status of features.

WPD uses MediaWiki as its platform, and in the model of Wikipedia, WPD’s strength comes from a global assembly of volunteer developer contributors. Anyone can become a member, anyone can contribute, and the resulting community creates and manages the content through collaboration and mitigation. The W3C is the site’s convener and administrator. The founding organizations (and others who wish to join with financial support for the project) are known as stewards. The stewards help in infrastructure decisions and will have members act as contributors with the same rights as every other member who joins on their own. The stewards seeded WPD with topics donated from already-published content (over 3,200 topics from MSDN) and will continue to add content moving forward.

We view this as an opportunity to combine our information with that of other creators of developer content in a way in which the whole will become greater than the sum of its parts. Having developer content assembled in WPD means the data that’s important to your planning is centrally located and accurate. You won’t have to look at competing sites and wrestle with conflicting information. At the same time, evolving or proprietary APIs will be included, and they will be clearly marked as such. And when a topic is missing information or contains an error, you can flag it for a community member to update—or do it yourself.

It has been a pleasure and an honor working with our global and diverse partners in making this site a reality, and this is just the beginning for WPD. Creating a comprehensive standard reference library that drives standard adoption will take an ongoing concerted effort. We believe that part of building a highly interoperable Web browser means providing developers with the resources to achieve an environment where the same code and markup delivers the same results. And that makes the Web better for everyone.

— Eliot Graff, Content Publishing, Internet Explorer

Comments (18)

  1. Randy S says:

    Excellent!  Count me in…

  2. Meni says:

    +1, happy to see this rare collaboration between Microsoft and Google. Keep it up.

  3. WebGL & IE10 says:

    I'm happy to see that WebGL is referenced as a hot topic in this WebPlatform effort from Microsoft.

    WebGL, TypeScript… It looks like Microsoft is trying to bring back the heart of web developers! Kudos to the IE team!

  4. Stilgar says:

    I hope WebGL dies a horrible death and no one tries to put my games in a browser ever again.

  5. David says:

    I'm fine with this as long as Microsoft doesn't fill these resources up with their UPPER CASE TAG MESS or their camelCaseAttributeGarbage… And if they do it needs to be immediately edited… This is the primary reason MSDN documentation is the worst available on the web.

  6. Olivier says:

    Nice, 8 Errors, 1 warning(s) :


    Wonderful, 5 Errors, 1 warning(s) : validator.w3.org/check

  7. Eng/ Ronald says:

    @David, first of all CamelCaseAttributes not the camelCase… and well-elaborated, vast MSDN library compared to… what exactly?

    Secondly thanks for letting us know that you are yet another troll against Microsoft corporation with "Everything developed by Microsoft is a garbage" kind of mentality. Such a good troll against MSFT, you might get yourself hired at Google (if you are not already working for them). You must be really ashamed of yourself for the times when you used products developed by MSFT; Windows OS, CE OS, XBox, Visual Studio, or even AVI file format etc etc…

    Hey, do yourself a favor and don't bother to come back here.

    Tip: communities like engadget, slashdot and google etc. do share your thoughts and these are some good places to promote your anti-MSFT propaganda.

  8. Observer says:

    ^ Ronald. Recognises troll, responds anyway in fury

  9. Brian says:

    @Eng/ Ronald  MSDN documentation does have lots of issues you can look up pretty much anything to find bad examples.  Case in point a random article about appendChild() a fairly modern API:


    Lets start the complaint list:

    1 – code sample is using Hungarian Notation (oDiv).  This sets a VERY BAD example for modern web code snippets

    2 – script tag outside the body AND NOT inside a head tag

    3 – document.createElement() used with UPPER CASE tag names

    4 – no quotes on the ul id attribute

    5 – odd spacing on all attributes on the input tag. e.g. should be: attribute="value"

    (we are trying to teach developers best practices here!)

    but it gets worse… lets try something that has worked for over 15 years… how about document.write:


    Lets look at the example code…. (here's a copy of it)

       IHTMLDocument2 *document; // Declared earlier in the code

       BSTR bstr = SysAllocString(OLESTR("Written by IHTMLDocument2::write()."));

       // Creates a new one-dimensional array

       SAFEARRAY *psaStrings = SafeArrayCreateVector(VT_VARIANT, 0, 1);

       if (psaStrings == NULL) {

           goto cleanup;


       VARIANT *param;

       HRESULT hr = SafeArrayAccessData(psaStrings, (LPVOID*)&param);

       param->vt = VT_BSTR;

       param->bstrVal = bstr;

       hr = SafeArrayUnaccessData(psaStrings);

       hr = document->write(psaStrings);


       // SafeArrayDestroy calls SysFreeString for each BSTR

       if (psaStrings != NULL) {



    I'm sorry… what planet are you on? which part of this has **ANYTHING** to do with JavaScript? SafeArrayCreateVector()? come again… SafeArrayUnaccessData()? who writes these mangled APIs? SafeArrayDestroy calls SysFreeString for each BSTR? Can I buy a vowel?

    There are literally dozens of issues like this in Microsoft Documentation – and we therefore are MAJORLY PARANOID that Microsoft is "donating" any code/documentation to an open project.

    3rd time's a charm?… nope!



    Notice how the description is correct: "Closes an output stream and forces the sent data to display."

    But the example is completely incorrect, showing code that applies to the "window.close();" API call, NOT the "document.close();" API call which does completely different things.

    Long story short… MSDN Documentation is some of the WORST documentation I have ever seen and I fully agree with David in my hopes that the BAD stuff is NEVER ported to the new Web Platform site.

  10. zoe says:

    MSDN samples are brutal!

    how can a click() sample be so bad?





    function simclick1()


    chk1.focus(); //focus is explicitly set



    function simclick2()





    <SCRIPT FOR=chk1 EVENT=onfocus>

    alert("check box is in focus!");




    <P STYLE="font-family:sans-serif;font-weight:bold">DEMO: USING CLICK METHOD


    <UL STYLE="color:blue;font-family:sans-serif;font-weight:bold">

    <LI>Both these buttons apply the click method to the check box. </LI>

    <LI>An alert has been set to fire when the check box is put into focus.



    <INPUT Type="CHECKBOX" id=chk1></INPUT>


    <BUTTON onclick="simclick1()">This button <B>applies the focus method</B> to

    check box</BUTTON>

    <br><BUTTON onclick="simclick2()">This button <B>does not apply the focus

    method</B> to check box</BUTTON>




    what is a PLI element? why are some tags UPPER CASE and some lower case and some attributes are UPPER CASE some are lower case and some are Sentence case!

    I've got a 10 year old that could write cleaner code than this with his eyes closed!

  11. Arieta says:

    @Olivier: Now run the validator on google.com or mozilla.com 😉

  12. Douglas says:

    The part I hate most about MSDN documentation is the complete lack of consistency which is so bad when trying to teach new developers good habits!

    Check out this example code they have for the input tag:


    <form action="http://intranet/survey&quot; method=post>


    <br><input name="control1" type=text value="Your Name">


    <br><input type="password" name="control2">


    <br><input type="radio" name="control3" value="0" checked>Red

    <input type="radio" name="control3" value="1">Green

    <input type="radio" name="control3" value="2">Blue


    <br><input type="TEXT" name="control4" size="20,5" maxlength="250">

    <p><input name="control5" type=checkbox checked>Send receipt</p>

    <p><input type="submit" value="OK"><input type="reset" value="reset"></p>


    1) some tags are in uppercase, why?!

    2) some attribute values are in uppercase, why?!

    3) some attribute values are not quoted, why?!

    4) self closing tags like br and input are not closed, why?!

    5) invalid size attribute values are supplied, why?!

    6) Boolean attributes are not properly qualified, why?!

    7) why are all the fieldnames named so anonymously when their purpose is fully known?

    Why even bother posting a sample if you're not going to put a descent effort into it?

  13. Marblo says:

    How about this mess for the form element documentation!


       <FORM ACTION="example.microsoft.com/sample.asp" METHOD="POST">

           Enter your name: <INPUT NAME="FName"><BR>

           Favorite Ice Cream Flavor:

           <SELECT NAME="Flavor">

               <OPTION VALUE="Chocolate">Chocolate

               <OPTION VALUE="Strawberry">Strawberry

               <OPTION VALUE="Vanilla" SELECTED>Vanilla


           <P><INPUT TYPE=SUBMIT>



    All upper case tags! (Looks like 1996!)

    No head or body tags

    Input without type attributes!

    Why are all the closing tags and slashes missing!

    Such horrible examples on MSDN! Please do not submit any of these bad examples to the new site! Please!

  14. Tom P. says:

    @Brian, @David

    I am working for an organization which is working closely with RedHat at NYC. But admittedly, MSDN documentation is one of the greatest repository for developers. The WORST examples Brain has filtered from over 10,000,000 pages doesn't invalidate/void the relaibility of MSDN.

    Now tell your employer Google to come up with something really tangible examples and tools to troll against Microsoft.

  15. Marc says:

    Glad to see that MSDN documentation failures are making it to the surface!  Even if Microsoft doesn't contribute them they can at least spend some time to re-vamp them correct all the errors and make them at least useful for once!

    Whenever I see a fellow developer (that isn't trying to solve an IE-only bug) on MSDN I've had to stop and make sure they were only reading it for humor not for actual facts examples and advice.

  16. aaWish for the again says:

    Release the Internet Explorer 10 for Windows 7!

    Please hurry.

  17. Marc says:

    Just kidding. Actually MSDN documentation is first class. Since I am not a developer nor a professional, so I don't know anything about it.

  18. Nathan says:

    I think this is my personal favorite on MSDN.  Lets count the WTFs!


    snippet 1:


      <FORM ACTION="example.microsoft.com/sample.asp"


         Enter your name: <INPUT NAME="FName"><BR>

         Favorite Ice Cream Flavor:

         <SELECT NAME="Flavor">

            <OPTION VALUE="Chocolate">Chocolate

            <OPTION VALUE="Strawberry">Strawberry

            <OPTION VALUE="Vanilla" SELECTED>Vanilla





    1 – no doctype

    2 – no head

    3 – no body

    4 – uppercase tags

    5 – uppercase attributes

    6 – self closing tags not closed

    7 – quotes missing on attributes

    8 – no closing option tags

    9 – no closing p tag

    10 – boolean attribute not properly referenced

    but it gets better, here is snippet 2:

    <form ACTION="mailto:sales@widgets.com" method=GET>

     <input name=subject type=hidden


     Enter your full mailing address<BR>

     <TextArea name=body cols=40></textarea>

     <input type=submit value="Send Request"


    11 – what is a "TextArea" tag? and why doesn't it have a matching closing tag?

    12 – poor submit tag not only is missing a closing slash, but also a closing angle bracket

    13 – still have upper case tags

    14 – still have upper case attributes (and values!)

    All in all the quality of examples (as well as detail & accuracy) of MSDN documentation is beyond pathetic.  I seriously hope that absolutely **NONE** of this content gets submitted to the Web Platform Documentation site.