DevMo Project Plan Notes: Difference between revisions

m
Reverted edit of Oiyzytrk, changed back to last version by RyanJones
mNo edit summary
m (Reverted edit of Oiyzytrk, changed back to last version by RyanJones)
 
(31 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Vision/Mission ==
== Introduction & Caveats ==


[DevMo] is a comprehensive, usable, accurate, and up-to-date resource for the international community of Web Developers, Mozilla ISVs, and Mozilla Contributors, being the definitive resource and daily touchstone for all related documentation, training, tools, news, and community support.
This is a working document that outlines the short, medium, and long-term vision and plans for a Mozilla Developer Network.  The name of the project has not yet been decided, so "Mozilla Developer Network" is simply a working title.


[DevMo]'s mission is to provide all the documentation, training, tools, news, and community support that developers need in order to accomplish their goals quickly, easily, and effectively, regardless of their initial expertise or experience.
== Vision ==


== Goals/Objectives ==
The Mozilla Developer Network is an organized and carefully maintained collection of resources for the international community of Web Developers, Mozilla ISVs, and Mozilla Contributors.


The primary goal is to create a resource so valuable that all three types of developer will visit it on a daily basis.
=== Resources to Include ===
* Documentation
* Training and Educational Materials
* Development and Project Management tools
* Developer community news, events, and announcements
* Community support infrastructure, including forums, mailing lists, weblog hosting, and/or whatever else could be useful


This can be accomplished by:
=== Guiding Principles ===
* Creating comprehensive, usable, accurate, and consistently maintained documentation that is continually improved over time.
The guiding principles for the Mozilla Developer Network are that it be:
* Providing an extensive library of correct, tested, and well-documented code samples.
* Usable
* Creating online training resources for beginner, intermediate, and advanced developers that allow them to learn both the abstract theories and concrete practicalities of development at all levels at their own pace.  These training resources should reflect �best practices� of all types, at all levels.
* Practical
* Providing a central online Commons for developers that includes forums, mailing lists and newsgroups, weblogs, RSS feeds, news, wikis, and other tools that facilitate community communication and cooperation.
* Comprehensive
* Accurate
* Up-to-date
* Accessible, and
* A reflection of best practices at all levels


== Strategies/Tactics ==
== Goals ==


This is a huge project when taken as a whole, so the trick will be to break it up into manageable components and develop these as independent projects with separate (but integrated) requirements, project plans, development timelines, and so forth.
The goal of the Mozilla Developer Network is to become a daily touchstone for all Mozilla and Web developers.


Each of the �Components� discussed below could be treated as independent projects.  Sorting out which to work on first will be a matter of prioritization and short-term benefit for the work required.
This can be accomplished by creating:


Keys to this project�s long term success:
* A high quality documentation library that is continually improved over time.
* Create backend components in such a way that the front end �glue� (portal/CMS) can be completely torn down and reworked from scratch without having to redo huge amounts of content and structure.  We really don�t want to have to start this over again in three years.
* An extensive library of accurate, reviewed, and well-documented code samples.
* Create backend components with an eye towards future extensibility and scalability. We need to start small and grow quickly without creating an unstable and hard-to-maintain disaster.  Make sure chosen technologies are proven in the field wherever possible.
* A set of online and offline education resources for all developer types and experience levels that allow people to learn at their own pace.
* Create the system in such a way that it is easy and rewarding for users to contribute content without huge barriers to entry.  Define the expected skill sets of the various expected contributors then create the system with those skill sets in mind.  It has to be easy to add, edit, and update content without having to worry about gatekeepers, technology hurdles, and other flaming hoops.
* A central online Commons for developers that includes forums, mailing lists, weblogs, RSS feeds, news, wikis, and any other tools that facilitate community communication and cooperation.


== Implementation Plan ==
== Strategies ==


TBD
Taken as a whole, this project is entirely too large to tackle at once.  The project needs to be broken up into manageable components, each of which will be developed independently and later integrated into the greater whole.


== Site Notes and Ideas ==
Each of the “Components�? discussed below should be thought of as independent projects.  Sorting out which to work on first will be a matter of prioritization.


=== Audiences ===
Keys to this project’s long term success:


# Web content and application developers
* Components need to support and reflect open standards as much as possible, if not completely.
# Mozilla Independent Software Vendors (Moz ISVs)
# Mozilla Contributors (traditional "Mozilla Developers")


=== Components ===
* Look and feel must be kept as separate as possible from content and structure.


==== Overall Site Requirements ====
* Adopted technologies must be field-tested and easily scalable whereever possible.  We must ensure long-term maintenance and stability.


* Single account creation and login facility for the whole site, including all components and subsites.
* Adopted technologies must make it easy and rewarding for users to contribute content. The barrier to entry must be as low as practically possibleOpenness is not optional, and gatekeeping/elitism must be kept to an absolute minimum.
* All components must have a consistent look and feel and navigation systemIn an ideal world this is easily skinnable.
* Single search facility for the whole site, with advanced search that enables sub-site and component searching.
* At least three paths to any particular bit of content.
* Over all structure must be flexible � we don�t want to have to start this whole thing from scratch in a year or three.


==== Portal/CMS System ====
* Central community of contributors and volunteers must be empowered to help maintain the contributed content as much as possible.  We need many trusted eyes to keep an eye out for spam, inappropriate contributions, organizational errors, and so forth.  This central community will act as contribution facilitators, not gatekeepers.  This team is absolutely essential to the success of the project as a whole.


This would be used to create front end "glue" for the main site and three subsites.  These front ends would be used to provide at least three vectors into each of the components � Link to the component itself, finessed organization of links into the various components, and comprehensive search facilities.  The CMS facilities would be used to post news, articles, and other such things.  
* Cooperate with and help promote/support complementary projects.


# DevMo front end
== Overview of Possible Components ==
 
=== Front-end Portal/News System ===
 
This would be used to create front end "glue" for the main site and any subsites.  This front end would integrate and organize other components, provide comprehensive search facilities, and provide a news and announcements "weblog".
 
# Mozilla Developer Network front end
# Web content and applications developer subsite front end
# Web content and applications developer subsite front end
# MozISV subsite front end
# MozISV subsite front end
# Mozilla Contributors subsite front end
# Mozilla Contributors subsite front end


Requirements:
=== Mozilla Developer Documentation Library ===
* Article posting w/ RSS
* News posting w/ RSS
* Freeform HTML blobs for linking, alerts, etc.
* Comprehensive and customizable navigation scheme
* �?
 
==== Mozilla Documentation Library ====
 
Single repository of all Mozilla-created and hosted developer documentation, including:
Single repository of all Mozilla-created and hosted developer documentation, including:
* Product and Reference documentation
* Product and Reference documentation
* Mozilla Education Center documents (tutorials, lessons, classes, presentations, etc.) ** see below
* Mozilla Education Center documents (tutorials, lessons, classes, presentations, etc.) ** see below
* Task specific procedural documentation ("Cookbook"-style)
* FAQs
* FAQs
* Knowledge Base
* Developer Knowledge Base
* Annotated sample code and other examples
* Annotated sample code and other examples
* Whitepapers
* Whitepapers
Line 76: Line 78:
* ...whatever else
* ...whatever else


Requirements:
=== Mozilla Education Center ===
* tbd
Technically this could be part of the Documentation Library, but this collection of documents, files, and code samples is focused on helping people learn how to use the various technologies being discussed.  Also could be used toward developing resources for offline training and education, akin to the "Mozilla University" project idea.
 
==== Mozilla Developer Cookbook ====
 
Cookbook style documents � very task-specific procedural documentation � by developers, for developers.  These would exist for all audience types, and would likely be a structured subsection of the Documentation Library.  Would include task summaries, required tools, succinct procedures, code samples, and templates for accomplishing some particular development task.


Requirements:
=== Mozilla Code Samples Library ===
* tbd
Central repository of correct, tested, and well-documented code samples, for all developer audiences, obtained from a variety of sources (most importantly from the developer community itself).  Annotation/comments should be possible on a per-sample basis.


==== Mozilla Education Center ====
=== Mozilla Tools Library ===
Technically this could be part of the Documentation Library, but this collection of documents, files, and code samples is focused on helping people learn how to use the various technologies being discussed.  Education resources should be thought more of as "online classes" rather than reference documents -- more task specific.
Eventually this could be expanded towards creating certification programs, and possibly towards developing resources for trainers.
 
Requirements:
* tbd
==== Mozilla Tools Library ====
Single repository of all Mozilla-created and hosted developer tools, including sidebars, Venkman, validators, Bugzilla, Bonsai, Tinderbox, etc, including links to Documentation Library resources for each tool (docs, education center resources, FAQs/Knowledge Base, etc.)
Single repository of all Mozilla-created and hosted developer tools, including sidebars, Venkman, validators, Bugzilla, Bonsai, Tinderbox, etc, including links to Documentation Library resources for each tool (docs, education center resources, FAQs/Knowledge Base, etc.)


Requirements:
=== Mozilla Contributor’s Dashboard ===
* tbd
This is Chase’s idea create a system that allows us to display the current status of bugzilla, tinderboxen, bonsai, etc on the front page of the Mozilla Contributor’s subsite.
 
==== Mozilla Contributor�s Dashboard ====
This is Chase�s idea create a system that allows us to display the current status of bugzilla, tinderboxen, bonsai, etc on the front page of the Mozilla Contributor�s subsite.
 
Requirements:
* tbd


==== Mozilla Community tools ====
=== Mozilla Community Commons ===
Community tools:
Community tools:
* Wiki(s)
* Wiki(s)
Line 116: Line 100:
* ...whatever else
* ...whatever else


Requirements:
== Plan ==
* tbd
 
=== DEVMO FEATURES ===
 
==== Developer spotlight ====
Periodically we choose a developer out of the community who is doing particularly good or interesting work.  We interview him/her and bring him, and his projects, to the attention of the development community as a whole.


==== Technology spotlight ====
=== Short Term ===
Periodic articles outlining particularly interesting/useful technologies, whether they be old or new.  Do an article introducing the technology, then provide links to other resources within DevMo related to that community -- documentation, educational materials, code samples, other articles, etc.  Examples of these would be XUL, XHTML, CSS...etc.


==== Topic spotlight ====
# Set up a wiki using the MediaWiki software.
Periodic articles about a particular topic of concern/interest to the community.  These would introduce the topic, the various issues surrounding it, and some of the Mozilla technologies and approaches related to itTopics could include things like standards, accessibility, cross-browser design and development, etc.
# Set up a basic structure within that wiki towards organizing the content in meaningful ways. This would be largely, but not entirely, based off the [[Documentation Taxonomy]].
# Sort through the existing documentation and other relevant content we have and figure out what state it's in.  This has been started at [[Links to Existing Content]].
# Start moving still-valuable content into the wiki within the basic structure.
# Start promoting the wiki within the existing developer community.  Hopefully they will take the time to update, edit, and add new content where they see errors, problems, or holes.
# Finish branding and layout modifications for the wiki.  Create and brand an initial portal/news-weblog system, then launch to a wider audienceAt that point, if  we've done things properly, it will start to take on a life of its own (with some serious care and feeding in the background).


==== Tool spotlight ====
=== Medium and Long Term ===
Periodic articles about one of the Mozilla-created and/or hosted tools, such as Venkman, Bugzilla, Bonsai, whatever.  These articles would serve as introductions to these tools with links, to comprehensive documentation, articles, tutorials, FAQs, and so forth.  Bringing the tools to light so developers can take better advantage of the stuff that's available to them.


==== Developer Newsletters ====
Once we have the short term goals taken care of and an initial site launched, we'll have a better grasp of where to go from thereAt that point we'll evaluate possible options and formulate a new set of short and medium term goals.
Weekly or bi-weekly opt-in mailouts that will remind people about DevMo and bring them back to take a lookThese should not be empty missives, but should contain a summary of the news and changes that have taken place since the last newsletter went out.  Maybe have one newsletter per audience, or one big one for the whole site, or some combination.


==== Guest Articles ====
== Other Notes and Ideas ==
Weekly articles by outside contributors about anything development related, for any or all of the three developer communities.  Ideally, we would eventually have enough content coming in that we could have at least one new feature-length article per week per developer subsite.
Moved to [[Other DevMo Notes and Ideas]].
==== Tips & Tricks ====
Short, task- or topic-specific articles that reveal some bit of useful information to developers.  Each developer subsite would have its own set of tips and tricks, but they would be integrated into the Knowledge Base (or just be part of the KB).  These can be posted as often as possible, whenever they come available, and can be derived from a wide variety of sources.  Mining mailing lists and forums is a good place to get ideas -- if someone posts something useful or interesting, approach them about writing it up.
Confirmed users
503

edits