The Open Web Developer Network (owdn.org) will be an open encyclopedia, reference library, and advocacy site for the open web. OWDN.org will have various 'branded' sections dedicated to different tasks:
"Doctype" - Reference work for the Open Web -- a reference wiki combining the material from Google Doctype initially running on Mediawiki
"View Source" - aka “The Open Web Zen Garden”. Cool, inspirational demos of Open Web technology, coupled with a cookbook style breakdown of how they are built. They could be hosted anywhere on the web by their author, we will strongly encourage the demos to be Apache 2 Licensed for reuse. OWDN will aggregate the demos, and allow them to be rated. Additionally, OWDN chould provide a shared JavaScript library to power the cookbook annotations and overlay some consistent UI and branding.
State of the Open Web - Aggregated news and updates on the Open Web. Material initially sourced from Ajaxian, A List Apart, the Webkit blog, the FF blogs, etc.
Around the Web - Useful tutorials, blog posts, reference works, videos, around the web, reddit style
High Performance Web Sites - Performance tips and tricks for faster web apps and web sites, powered by much of the material Steve Souders has been creating; also open to community engagement [Ben Ward: Would 'performance' not just be a sub-section of Doctype?]
Dashboard - User-agent support quick-reference. [Ben Ward: Again, this seems like a specific template of content that will tie into the ‘Doctype’ reference section and elsewhere in the site, rather than having a top-level item. Otherwise, we're going to have the technologies ]
Teaching & Preaching - Materials for presenting these technologies to both developers at conferences and students in classrooms. Includes slides, videos, codelabs, and suggested syllabi for full courses.
Tutorials - Traditional textual tutorials as well as video tutorials
Open Web Recipes - Library of cut and paste code snippets ready to use. Individual code snippets can be tagged by technology used and can be ranked by users with YouTube-style rating stars. Anyone can contribute; all snippets are under Apache 2 license. Google App Engine Snippets has a nice style we can mimic: http://appengine-cookbook.appspot.com/cat/?id=ahJhcHBlbmdpbmUtY29va2Jvb2tyFAsSCENhdGVnb3J5IgZEamFuZ28M
Forums - A page with pointers to popular open web forums where developers can go to ask questions (and get them answered) about using newer web technologies such as HTML5. Getting questions answered is something developers definitely need, and pointers to these forums would be an important resource for open web developers. (We may or may not want to create a forum/mailing list when we launch this site.)
The Open Web In Your Editor (better name needed) - Marked up versions of the material above that can be automated and suitable for importing/exposing through an API for cool IDE integration [Ben Ward: This might be as simple as alternate stylesheets on the actual pages, rather than a section in itself? Documentation for it might just be a piece of ‘OWDN Developer APIs’ documentation.]
[Ben Ward: I think we're over-branded. We're the Open Web Developer Network. A lot of these section names sound like standalone, top-level brands in their own right (in the case of ‘Doctype’, it already is; twice). I think that to both strengthen the OWDN name, and also not obfuscate the content in each of these sections, we should give sections clearer, more conventional, less branded names. ‘Reference Docs’, ‘News’ or ‘Blogs’, ‘User Agent Support Matrix’. I know it's less flashy, but it seems clearer to me. An exception might be ‘View Source’, which if decentralized would have its own visible branding as an advocacy aid, the rest should probably be more conventional.]
The Open Web Developer Network will have a strong focus on community in order to make the site sustainable so that new material is submitted on a regular basis, as well as to create a movement around the Open Web. It will also find ways to embrace existing, high quality content about the Open Web already published on the web (e.g. Opera Web Standards Curriculum, Mozilla Developer Center, Dive into HTML5, Doctype.com, StackOverflow…) OWDN will embrace the fact that the Open Web is decentralized.
There will be an organizing section modeled after the Barcamp and Coworking Wikis where people can organize by geographical area to do one or two day 'sprints' to contribute material to OWDN.org. Leader boards and top contributors by individuals and teams (SETI@Home style) will be identified to help create momentum. Ways to tie user contribution with contributions to related sites will also be explored.
All prose will be under a Creative Commons license (exact license still being established); all code will be under an open source license (BSD or Apache 2 - still determining).
Questions
What technologies will be covered?
To begin, we will focus on open web browser technologies, such as HTML 5, SVG, etc. Over time we will grow into the full complement of open web technologies, including OpenID, OAuth, etc.
What is an Open Web technology?
An Open Web technology has a specification, an open source implementation, or was a defacto technology that was embraced by the larger open web (such as innerHTML or the HTML 5 Drag and Drop model from Internet Explorer originally). A specification can be anything from a detailed blog post or community document (such as the original blogging autodiscovery spec or the Microformats wiki) all the way to a full-blown, 'classic' specification from the W3C or ECMA.
In other words, we can say that a technology is open when it meets the following characteristics:
Open specification (royalty & patent free) providing the freedom to implement
Has one or more open source reference implementation(s)
Is supported by more than one vendor or provider
Public involvement in evolution of the spec
Having a technology supported by multiple, possibly competitive, providers is a key charateristic of a truly open technology. SVG, Canvas, HTML, and JavaScript are all great examples.
How will we judge what technologies to include?
Ask the following questions; if any are yes then suitable for site:
Is this an Open Web technology (using definition above)? Examples include HTML, JavaScript, CSS, SVG, etc.
Is this a 'shim' technology present and suitable to use when an Open Web technology is not available? Examples includ
e VML (Vector Markup Language), Microsoft Behaviors, Flash, etc. The site will not be an exhaustive reference work for these technologies, but rather will document them sufficiently to be used in shim situations or to get the job done (i.e. we would document Flash/JS interaction but would not have an ActionScript 3 reference, or we would have an intro to Microsoft Behaviors and how they are necessary in some conditions such as PNG transparency but would not recommend them for general use if alternatives are available).
Is this a single-vendor but web-focused experimental technology either in open source or under a specification, such as Webkit's CSS Animations, Google's O3D technology, or Microsofts Web Slices? These can be present but should be clearly marked as either experimental and/or single-vendor
In general, we should balance against the following dictum: OpenWeb.org should document the web as we wish it to be while also documenting the web as it is.
What wiki will we use?
To get the ball rolling, we've decided to use Mediawiki for now. We can revisit this decision at a later date once we have an iteration or two under our belts but don't want to get caught in a long discussion on this.
Where will we host it?
We will host this with the Mediawiki Foundation.
Releases
We'd like to iterate and get a first release out the door soon (probably November).
Who is the audience?
Web developers and designers.
How will we create involvement?
The idea here is how do we create a community, a network, of people that can help to ensure that content gets created and updated and that people stay involved. Open questions
What is the community model?
What is the community model?
Rewards and incentives for participation and contribution.
Motivators -- "What is the game?"
"Gravatar for reputation" — that is, a sharable source of reputation within the Open Web world.
Acquire points for meaningful participation. Profile pages of active participants promote their effort.
Suggested that inactive participants profiles ‘fade out’ over time.
Distributed Advocacy
‘View My Source!’ - a badge that others can put on their site and follow some simple rules to create View Source style cookbook demos
Distributed Participation
It's extremely important that we don't just create a static, standalone site (that could die if content stagnates), but instead should make sure to create and be a central part of an open web community that isn't strongly bound yet. We want to create sustainable, rewarding Open Web advocacy, and the Open Web is distributed. Relevant content is being created all over the web, all the time. Answers on Stack Overflow and Doctype.com, Opera Web Standards Curriculum, bugs on HTML5, wiki edits on microformats.org, blog posts the world over. If we have a reputation model for ‘Open Web Participants’, we encompass all of these.
Aggregate user contributions from the web at large
Without our user scoring system, provide an open-standards-based system for sites like SO and Doctype.com, or wiki software, or anything to send reputation back to OWDN.
(Can we build an open-standards–based mechanism for that reputation feedback to be accepted or rejected based on the reputation of the source??)
Idea: Create stub profiles for prominent (read: famous) Open Web participants (people who may not contribute to OWDN, but do contribute to the Open Web) to demonstrate strong reputations sourced from the open web (e.g. Eric Meyer, Zeldman, Tantek Çelik, Ian Hickson)
Idea: When a user stops participating, their profile fades out, shrivels, or shrinks. After a medium amount of time, the amount of detail on their profile is reduced. After a longer time their profile becomes a stub (“Ben Ward used to contribute to the Open Web”.)
Use Cases:
[Note: this list needs to be trimmed down and prioritized. -- Brad Neuberg]
[Note: Have grouped use cases together somewhat, still require prioritization. — Ben Ward]
Advocate a strong definition for what the Open Web really is
Communicate what makes a technology Open in this context.
Communicate and provide examples of the advantages to open technologies.
“A developer wants to implement a video game using the "Open Web" platform. Dev visits owdn.org and finds content that explains what the various components and capabilities of the platform are, including SVG, canvas, audio, video, etc. By reading organized content and exploring code samples, dev is able to understand how to accomplish her objective.”
Demonstrate Open Web technologies to inspire and educate
Showing cool use cases/demos (ChromeExperiments.com) plus how they are built (like CSS Zen Garden) - We've been calling this "View Source"
Provide Quick-Reference Documentation for Open Web Technologies
A reference work for technical questions (e.g. Mozilla Developer Center, Google Doctype)
Functional reference (e.g. the function-level documentation on PHP.net; “What are the input parameters for…”, “What is the return type of…”)
Code snippets + sample code that can easily be re-used, under liberal licenses (e.g. Ben's Ajax Playground)
Answer “How do I…?” scenarios
Best Practices & different Web architectures: Web developers need a place for best practices and general Web architecture concepts. For example, the site could describe the different architectural approaches between a Single Page AJAX vs Multi Page AJAX vs Traditional paged based. Each approaches have pros and cons, and understanding the spectrum allow developers to make the right technology choice for the right application.
Provide non-partisan reference of user-agent support for Open Web Technologies
“A developer is starting a new web project and wants to understand which user-agents to target. Dev visits owdn.org and finds a "dashboard" that explains the current best understood browser market-share data and how this correlates to the capabilities of the Open Web platform. Using this information, dev is able to make his own decision on what trade-offs to make to maximize reach, capabilities, and ease of development.”
Know whether something is ready to use (When Can I Use... http://a.deveria.com/caniuse/) - Roughly what we've been calling State of the Open Web
Where is X supported? (PPK's Compat Tables/Jeff Schiller's SVG Compat Tables)
Produce more discoverable content than what is currently available
“Dev wants to know how a feature of HTML works: HTML tables (could be any feature, obviously). Dev types "html table" into Google. An OWDN link is first result in Google results. Dev clicks on link. Resulting page explains how HTML tables work [1]. Dev specifies she wants to see how HTML tables work in the union of IE6, FF3, SAF3, and OP9. HTML table page indicates how to use tables in such a way that they will work across the specified user-agent spectrum.”
Coming in from a search engine (Stack Overflow) - Probably > 80% of our traffic will come in from this
Provide content in a reusable way for standalone Tools, IDEs, cheat-sheets, etc.
“A developer is using a popular IDE (e.g., Eclipse). Dev is editing HTML. Dev hovers over <table> element. A pop-up window appears that includes the content from the OWDN database. Dev enjoys an IDE that has implemented certain features in the pop-up that require semantic understanding of the OWDN content. Because dev has specified in the IDE that he is targeting only IE9, FF3.5, and Safari 4, the OWDN content displayed in the pop-up displays the correct information for that set of user-agents.
Using an IDE and having documentations integrated with tooling (Aptana/Bespin)
Provide a launch-pad for people to become involved in Open Web efforts
“A developer wants new browsers to gain a certain feature. Dev visits owdn.org to deliver this feedback. owdn.org has a "Feedback" link. By clicking on the feedback link, Dev is taken to a page that explains how to engage and influence the various browsers. Dev is also presented with a form that sends feedback directly to a public email list specifically for this purpose (driven-by feedback) but is warned that it is not as effective a means of engagement as the others on the page. In order to use the form, dev must provide some form of credentials intended to minimize impact of spam on said mechanism.”
Expose and integrate high quality content from elsewhere on the web
The Open Web is decentralized
We are not the only resource or reference, many have come before us, many will come after
Some resources are relevant now that will not be in future, new resources will emerge
OWDN should help curate and expose existing content, and ensure that the structure of OWDN supports new content in future
Be the model Open Web Citizen
Accessible to all
Embrace all applicable open standards (HTML5, OpenID, etc.)
Validate.
Promote clear content and code licensing
. Problems that OWDN Should Solve
[Note: This list needs to be honed down. -- Brad Neuberg]
[Note: Some of these items are likely to be well solved (or partially solved) by other existing resources on the web. We need to make a call between what content we need to produce first-hand (either because the content is absent from the web, or because the content needs to be produced in a certain way to meet our use cases), and what content can be deferred for later, or remain deferred to a third party. — Ben Ward]
Finding good snippets that are also clearly licensed to use
Showing how all the different pieces of the web fit together
The open web is decentralized - this is a problem and a strength
Discovery hard for users
Sites are browser & vendor specific
Out of date resources
Discoverability is hard for writers ("I've just put up an amazing blog post tutorial, and no one knows about it")
Hard to learn about new stuff ("What is HTML 5 App Cache?")
Sites being partial or having agendas
Step by step curriculums - going from beginner up to advanced with a single information resource
Hard to know whether something is supported by what browsers
OWDN Governance
Governance and administration of the OWDN will be benevolent and respond to necessity.
Governance and administrative overhead will be kept to a minimum. Rough group consensus is forseen as the general way to make decisions for OWDN.
Run like an open source project
Recognized ‘benevolent dictator’ over this general effort is Brad Neuberg. He may delegate management of site sections where appropriate.
Strong CC licensing and open source code ensures that should power ever be abused by anyone in the future, or bad decisions made, the content may be forked and preserved.
“Better to ask for forgiveness”
Influence happens through action and contributions, not by endless discussion ("Vote with your sweat")
At some point it may be necessary to have an admins group, to handle infrastructure or some organizational issues. To be addressed when arises.
I've been through and updated the owdn.org proposal document with the remaining content from last week's coworking and IRC sessions.
* Critically, I've added some missing points around the aim and goals (embracing the decentralized nature of the open web), and also tried to provide an expansion on the decentralized user-rewards/
Sep 2 2009 by Brad Neuberg
Updated the proposal and many of it's sections based on IRC meeting: