Content List
This is a list of all the existing content that has been donated to the webplatform.org project. I (CHRIS MILLS) have broken it into batches, of roughly the same size. For each batch, we need someone to take ownership of it, and then:
See https://docs.google.com/a/chromium.org/spreadsheet/ccc?key=0AkRs-89PKiZpdHBqN2poNnJjV1c0N1FCYlN3ZUtpZ3c#gid=0 for our work tracking sheet
- As you do these steps, update them to make them more concrete so people who follow in your footsteps won’t have to figure it all out from scratch.
- Make sure your pages are covered by the existing page types and doesn’t require new ones. If you find ones you need, e-mail the list and propose it.
- Check the content structure for the subject you are currently dealing with. For anything that doesn’t make sense, or needs adding, modifying or deleting, make changes as necessary.
- Fit existing articles into the content structure as well as you can and document your work. TODO: where should you do this?
- Think through the best migration strategy. Assume that writing each import script will take ~5 hours and need to be tweaked for every small difference it encounters. Is it faster to do your batch by hand or with an import script? That is, how diverse/messy is your content?
- Look at the list of page types WPD/New_Page and figure out which page types will be appropriate for each article. Then, for each applicable page type, look at the template. What additional fields should be there? Look at Template:CSS_Property and others for inspiration.
First week: stop here
Check that all the existing articles listed have been imported into the Wiki. Most of these will be done automatically using a batch import, but you may need to import some of them manually.
Create new pages/stubs for articles that are yet to be written.
Make sure all articles have the correct URLs and tags.
Go through the list of items that must be added to each article before publishing (NEEDS FINISHING) and make sure they are added:
- browser compatibility
- flags
- license
- ??
also need to proof/edit articles at some point
Tutorials
ARTICLE BATCH 1
OWNER: CHRIS MILLS
Notes: There is some good material in this section, but a lot of it probably needs to be rejigged or trimmed, and a lot needs to be added. I don’t think this section is as high a priority as the raw technology stuff, but we should still add stubs and leave it for the community to pick up, in the immediacy?
- Introductory text. We’ve already got [Introduction to the Web Standards Curriculum] (Opera), but this is hardly ideal, as it is specific for the web standards curriculum.
Introduction to the world of web standards
- The history of the Internet and the web, and the evolution of web standards (Opera)
- How does the Internet work? (Opera)
- The web standards model - HTML CSS and JavaScript (Opera)
Web Design Concepts
- Introduction to planning a web site
- Scoping and user research
- Information Architecture - planning out a web site (Opera)
- What does a good web page need? (Opera)
- Colour Theory (Opera)
- Building up a site wireframe (Opera)
- Colour schemes and design mockups (Opera)
- Typography on the Web (Opera)
- Colour schemes and design theory
- Mockups and prototypes
- User experience design
ARTICLE BATCH 2
OWNER: CHRIS MILLS
HTML beginnings
- The basics of HTML (Opera)
- Doctypes and markup styles (Opera)
- The HTML <head> element (Opera)
- More about the document <head> (Opera)
The HTML body
- Marking up textual content in HTML (Opera)
- HTML Lists (Opera)
- Images in HTML (Opera)
- HTML links — let’s build a web! (Opera)
- HTML tables (Opera)
- HTML forms - the basics (Opera)
- HTML5 form additions (Opera)
- HTML structural elements (Opera)
- Lesser - known semantic elements (Opera)
- Creating multiple pages with navigation menus (Opera)
- Validating your HTML (Opera)
ARTICLE BATCH 3
OWNER: Eliot
Notes: Someone with a good knowledge of accessibility should handle this section, preferably someone from WAI, like Shawn. The WAI should at least be consulted, as I believe they have done some work on working out a11y content for webplatform.org already.
Accessibility
We’ve already got
- Accessibility basics (Opera)
- Accessibility testing (Opera)
But I THINK THIS NEEDS TO BE EXPANDED OUT TO SEVERAL ARTICLES, TO COVER DIFFERENT ASPECTS, SOMETHING LIKE:
- WRITING A PLAN FOR A11Y TESTING, INCLUDING USE OF REAL USER TESTING, CONFORMANCE CRITERIA, AUTOMATED TOOLS, AND GOOD OLD COMMON SENSE
- THE LEGAL SIDE OF THINGS, EXPLAINED IN DETAIL
- DECIPHERING WCAG, AND OTHER CONFORMANCE CRITERIA SUCH AS SECTION 508
- ACCESSIBILITY TOOLS, WHAT TO USE AND WHAT TO AVOID. HOW FAR WILL THESE GET YOU?
- REAL A11Y TESTING WITH REAL PEOPLE, HOW TO PUT TOGETHER FOCUS GROUPS, WHAT TO LOOK FOR HERE
- COMMON SENSE - SOLUTIONS FOR COMMON ACCESSIBILITY ISSUES - A ROADMAP FOR FIXING ISSUES. START WITH SEMANTIC HTML, THEN GO TO VIDEO AND AUDIO CONTENT, JAVASCRIPT, AJAX, ALTERNATIVES. }
Accessibility sources
- Accessibility (W3C)
ARTICLE BATCH 4
OWNER: CHRIS MILLS (Lea to help)
CSS
- What is CSS (Mozilla)
- Why use CSS (Mozilla)
- CSS basics (Opera)
- Selectors (Mozilla)
- Advanced CSS selectors (Opera)
- Inheritance and cascade (Opera)
- Cascading and inheritance (Mozilla)
- CSS text styling part 1 (Opera)
- Text styles (Mozilla)
- Readable CSS (Mozilla)
- CSS text styling, part 2: cover the nu school CSS3 stuff, like text-shadow, web fonts, hyphens, font-features, etc.
- The CSS layout model - boxes, borders, margins, padding (Opera)
- Boxes (Mozilla)
- Layout (Mozilla)
- Content (Mozilla)
- CSS background images - add multiple background images (Opera)
- Color (Mozilla)
- CSS gradients
- Border-image
- box-shadow
ARTICLE BATCH 5
OWNER: CHRIS MILLS (Lea to help)
Notes: the owner of this batch should checkout the Adobe http://beta.theexpressiveweb.com/ resource, to see what tutorials we can use from there. They are willing to donate those to the project/
CSS
- Styling lists and links (Opera)
- Lists (Mozilla)
- Styling tables (Opera)
- Tables (Mozilla)
- Styling forms (Opera)
- Floats and clearing (Opera)
- CSS static and relative positioning (Opera)
- CSS absolute and fixed positioning (Opera)
- New CSS layout tools - flexbox, multi-col, background-clip, etc.
- Debugging CSS (Opera)
- CSS shorthand reference (Opera)
- Media (Mozilla)
- JavaScript and CSS (Mozilla)
- SVG and CSS (Mozilla)
- CSS and XML data (Mozilla)
- NEW CHAPTER - CSS3 TRANSFORMS
- NEW CHAPTER - CSS3 TRANSITIONS
- NEW CHAPTER - CSS3 ANIMATIONS
- NEW CHAPTER - MEDIA QUERIES
- NEW CHAPTER - VIEWPORT
- NEW CHAPTER - CREATING AN ADAPTIVE DESIGN, USING MEDIA QUERIES, VIEWPORT, MULTI-COL, ETC.
- NEW CHAPTER - OBJECT FIT/OBJECT POSITION
- NEW CHAPTER - OPTIMIZING CSS (INCLUDE IDEAS FOR OPTIMIZING FOR MOBILE ETC.)
- NEW CHAPTER - State in CSS (Lea)
Sources
Adobe are willing to donate the great tutorials available at http://beta.theexpressiveweb.com/.
ARTICLE BATCH 6
OWNER: PAUL IRISH
Notes: This batch may seem like a lot, but it is in fact not that big - many of these are just stubs.
JavaScript
The following is a list of proposed topics: there is still much that can be added here, but we wanted to get the initial idea posted and will continue to add/update.
Hello world! in JavaScript
Variables (Values, variables, and literals - Mozilla)
- Defining variables
- Variable scope
- Don’t pollute the global object
- The single var ‘pattern’
Basic operations
JavaScript data types
- Floats and Integers
- Booleans
- Strings
- Arrays
- Objects (Working with objects - Mozilla; Objects in JavaScript - Opera - duplicate of batch 8)
- Predefined core objects - Mozilla
Statements - Mozilla
Operators (Expressions and operators - Mozilla)
Conditions
Loops
Functions (Functions - Mozilla; JavaScript functions - Opera - duplicate of batch 8)
- Declaring functions
- Functions as Objects
- Anonymous functions
- Recursion
- Context
- The callback pattern
Animation
- Animation loops with setInterval
- Other…
- could use some of JavaScript animation (Opera)
Objects in JavaScript (Opera) - duplicate of batch 8
Details of the JavaScript object model (Mozilla)
Iterators and generators (Mozilla)
Traversing the DOM (Opera) - duplicate of batch 8
Creating and modifying HTML (Opera) - duplicate of batch 8
Dynamic style - manipulating CSS with JavaScript (Opera) - duplicate of batch 8
Handling events with JavaScript (Opera) - duplicate of batch 8
- Probably needs expanding
ARTICLE BATCH 7
OWNER: ELIOT GRAFF (maybe break off the Canvas pieces)
Notes: This batch may seem like a lot, but it is in fact not that big - many of these are just stubs.
JavaScript
User interaction
- Clicking buttons
- Interacting with mouse movements
- Keyboard controls
- touch events/gestures
Tool Chest
Testing and Debugging
- Tools for testing and debugging
- Unit testing with QUnit
- Cross browser JavaScript (Ouch ;))
Code Quality
- JSLint and JSHint
Production ready
- Google Closure Compiler
Closures (Closures - Mozilla)
JavaScript Libraries
- jQuery
- jQuery UI
- Modernizr
- Yepnope
JavaScript Polyfils
- When to use and when not to
JavaScript on the Server
- Nodejs - There is a lot to discuss here, we can break this down as we progress
JavaScript for Mobile
- The frameworks
- Considerations for mobile JavaScript (This can have many ‘subdivisions’)
- Best practices when writing for mobile
JavaScript Gotcha’s
- Why eval() is evil
- Use === not ==
- Don’t forget the ;
- The problem with using typeof for testing for null
- Avoid built in Object wrappers for primitives (This of course is for the most part)
APIs
- The basics of using an API
- HTML5 APIs
- MEDIA API
- GEOLOCATION (YEAH, NOT HTML5, BUT HEY)
- WEB WORKERS
- WEB SOCKETS
- APPCACHE
- WEBSQL/INDEXEDDB
- WEB STORAGE
- CANVAS (SHOULD PROBABLY HAVE ITS OWN SECTION ENTIRELY)
Canvas tutorial (Mozilla)
Optimizing canvas (incomplete)
- HTML5 HISTORY API
- DATASETS
Sidebar: A Short History of JavaScript
- Popular 3rd party APIs
- Google Maps
- Flickr
- Popular 3rd party APIs
ECMAScript 5
- Browser support
- Cover additions…
ARTICLE BATCH 8
OWNER: CHRIS MILLS (to likely find someone from Opera)
Notes: Most of these will have been added in as part of one of the previous JS batches, but just give this a quick check to see if anything has been missed.
JavaScript
Opera has the following available:
- Programming - the real basics! (Opera)
- What can you do with JavaScript? (Opera)
- Your first look at JavaScript (Opera)
- JavaScript best practices (Opera)
- The principles of unobtrusive JavaScript (Opera)
- JavaScript functions (Opera)
- Objects in JavaScript (Opera)
- Traversing the DOM (Opera)
- Creating and modifying HTML (Opera)
- Dynamic style - manipulating CSS with JavaScript (Opera)
- Handling events with JavaScript (Opera)
- JavaScript animation (Opera)
- Graceful degredation versus progressive enhancement (Opera)
- NEW CHAPTER - OPTIMIZING JAVASCRIPT (INCLUDE IDEAS FOR OPTIMIZING FOR MOBILE ETC.)
- NEW CHAPTER - TOUCH EVENTS. THESE DEFINITELY NEED COVERAGE, AS THEY ARE GETTING VERY BIG THESE DAYS. TOUCH DEVICES ARE IMPORTANT.
ARTICLE BATCH 9
OWNER: JANET SWISHER
Notes: Some of these will have been added in as part of one of the previous JS batches, but give this a check to see if some of these have been missed, and think about where they might go in the JavaScript article structure.
These are available from Mozilla:
- JavaScript Guide (16 pages)
- About this guide
- JavaScript overview
- Values, variables, and literals
- Expressions and operators
- Regular expressions
- Statements
- Functions
- Working with objects
- Predefined core objects
- Details of the object model
- Inheritance revisited
- Iterators and generators
- Closures
- LiveConnect overview
- Processing XML with E4X
- Getting started with JavaScript (1 page)
- A re-introduction to JavaScript (1 page)
- Introduction to object-oriented JavaScript (1 page)
ARTICLE BATCH 10
OWNER: TOBIE LANGEL
Facebook HTML5 API content
- HTML5 Showcase
- Building Web Apps
- Building HTML5 Games
- Additional HTML5 Features
- Audio and Video
- Forms
- Geolocation
- Make it Work Offline
- Optimize for Mobile
- Testing Web Apps
- Distributing Web Apps
ARTICLE BATCH 11
OWNER: SCOTT ROWE
Google HTML5 API content
Donated from http://www.html5rocks.com/en/tutorials/
- Quick Guide to Implementing the HTML5 Audio Tag
- A Simple TODO list using HTML5 WebDatabases
- Using the Notifications API
- A Simple Trip Meter using the Geolocation API
- Best Practices for a Faster Web App with HTML5
- Introduction to Chrome Developer Tools, Part One - Chrome only
- A Beginner’s Guide to Using the Application Cache
- Reading files in JavaScript using the File APIs
- Practical Guide to Take Your TODO List Offline
- The Basics of Web Workers
- Auditing Your Web App For Speed
- "Offline": What does it mean and why should I care?
- Quick guide to webfonts via @font-face
- HTML5 Video
- 3D and CSS
- Case Study: Drag and Drop Download in Chrome
- Case Study: HTML5 in deviantART muro - Schmarketing?
- Native HTML5 Drag and Drop
- Client-Side Storage
- Quick hits with the Flexible Box Model - Out of date
ARTICLE BATCH 12
OWNER: SCOTT ROWE
Google HTML5 API content (donated from http://www.html5rocks.com/en/tutorials/)
- Introducing WebSockets: Bringing Sockets to the Web
- Stream Updates with Server-Sent Events
- Case Study: Getting Entangled with HTML5 Canvas
- A Simple TODO list using HTML5 IndexedDB - Out of date
- Exploring the FileSystem APIs
- Case Study: Page Flip Effect from 20thingsilearned.com
- Case Study: HTML5 MathBoard
- No Tears Guide to HTML5 Games
- Case Study: Onslaught! Arena
- Improving the Performance of your HTML5 App
- Typographic effects in canvas
- “Mobifying” Your HTML5 Site
- Case Study: Converting Wordico from Flash to HTML5
- Case Study: Real-time Updates in Stream Congress
- Multi-touch Web Development
- This End Up: Using Device Orientation
- Chrome Experiments Demo Harness
- Image Filters with Canvas
- New Tricks in XMLHttpRequest2
- Rendering HTML5 in older browsers with Google Chrome Frame
ARTICLE BATCH 13
OWNER: SCOTT ROWE
Google HTML5 API content (donated from http://www.html5rocks.com/en/tutorials/)
- Working Off the Grid with HTML5 Offline
- An Introduction to Shaders
- Getting Started with Three.js
- Making Forms Fabulous with HTML5
- HTML5 vs Native: The Mobile App Debate
- Feature, Browser, and Form Factor Detection: It’s Good for the Environment
- Simple Asset Management for HTML5 Games
- Auto-Resizing HTML5 Games
- How Browsers Work: Behind the scenes of modern web browsers
- Integrating Canvas into your Web App
- Improving HTML5 Canvas Performance
- Measuring Page Load Speed with Navigation Timing
- Introduction to Raphaël.js
- HTML5 Techniques for Optimizing Mobile Performance
- Getting Started with Web Audio API
- The Synchronous FileSystem API for Workers
- Using CORS
- Migrating your WebSQL DB to IndexedDB
- Case Study: Building the Stanisław Lem Google doodle
ARTICLE BATCH 14
OWNER: WAI SETO
Notes: This section will be mostly stubs, and we really need someone to think carefully about what structure our mobile and device material should have.
Mobile and devices
We already have
And the following available from Nokia:
Reusable mobile templates or components
Mobile web development shortcuts articles
(Some don’t seen to fit WPD anymore after revewing our content style/types)
PROPOSED STRUCTURE
- [About the mobile web] Mobile beginnings: An introduction to the mobile web (include history of mobiles, how mobile networks work, what the hardware looks like, what the software looks like)
- [Learning what mobile devices look like] What do the devices look like? (a fairly detailed reference showing the types of devices you are likely to need to support when building cross device adaptive apps. Include data such as screen resolution, espect ratio and dpi of the different devices. This kid of reference material will be very useful to developers.)
- [Learning mobile constraints and advantages] Mobile constraints and advantages (what are the specific constraints you need to work around for mobile and alternative browsing devices? What are the advantages, eg the context specific technologies you can take advantage of?)
- [About mobile friendly web design and development overview] Mobile friendly: web design and development Overview (start with a basis of semantic HTML, accessibility best practices are Making an app or site mobile friendly - do you create a different site, or do you adapt your existing site for mobile? A brief introduction to Adaptive design - graceful degradation, progressive enhancement, using media queries and viewport to adapt layout, using feature detection to server appropriate content and services, geolocation, multimedia, offline apps, don’t use browser sniffing!) A lot of this will be covered elsewhere.
- [Implementing mobile browser feature detection] Feature detection, polyfilling, graceful degredation, etc. An article on this would be good, maybe something which showed how to detect for all different features. Kind of like Mark Pilgrims’ No bullshit guide to detecting everything. Before he took it all down.
- [Testing with mobile browsers] CoreMob specs, Ringmark
OTHER THINGS TO ADD ELSEWHERE IN THE MATERIAL
- WE SHOULD WRITE AN ARTICLE TITLED "ONE WEB, MANY DEVICES", PLACED INSIDE http://www.w3.org/wiki/Web_Standards_Curriculum#Introduction_to_the_world_of_web_standards
- WE SHOULD ALSO SAY SOMETHING ABOUT SEMANTICS AND DIVERSE DEVICES IN http://www.w3.org/wiki/The_web_standards_model_-_HTML_CSS_and_JavaScript
ARTICLE BATCH 15
OWNER: DOUG SCHEPERS (Doug to communicate with Jeremie, and SVG WG)
SVG
Source of inspiration :
- http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html
- https://developer.mozilla.org/en/SVG/Tutorial
SVG BASICS
- History and usage : As for HTML, it could be good to start by giving some context: What is it, Where does it come, What is it made for, How is it different than HTML? (Introduction from Mozilla)
- Syntax and deployment : This part would introduce the basic syntax, the concept of viewport and absolute positioning and finally how to embed an SVG document inside other language (basically HTML and CSS). (Simple example, basic properties, file types from Mozilla)
- Basic shapes : This part will be dedicated to the basic shapes available in SVG (Basic Shapes from Mozilla)
- Position and transformation : To go deeper inside the viewport thing and to explain the role of the transformations. (Positions and Basic transformations from Mozilla)
- Using text in SVG (Texts from Mozilla)
- Styling SVG : This is where we would detailed how to use presentation attributes and their CSS counterpart.
- Scripting SVG : Where we could introduce the SVG DOM API.
Part 2 : SVG ADVANCED
- How to build Pathes : To dig into the syntax of the d attribute on path elements (Paths from Mozilla)
- Fills and strokes (Mozilla)
- Animating the web with SVG Animations : How to use SVG Animations
- SVG Filters : This would be an introduction to filters but each filters could have it’s own article (Filters a really hard things) (Filter effects – incomplete, from Mozilla)
- Clipping and Masking (Mozilla)
- Patterns (Mozilla)
- Gradients (Mozilla)
- Dealing with the external : This part would be dedicated to the foreignObject element but also to links and images elements. (Other content in SVG from Mozilla)
- SVG fonts (Mozilla)
- SVG image element (Mozilla)
Other content sources
Ex-Opera articles
- SVG Primer (written by David Storey, but unused)
- SVG Links (written by David Storey, but unused)
ARTICLE BATCH 16
OWNER: DOUG SCHEPERS (Doug to communicate with Jeremie, and SVG WG)
Notes: This is basically just a list of demos, but we should go through them to see where we can use these.
SVG WOW (http://svg-wow.org/) Demos:
- Animated Lyrics
- Chiseled
- Mustache
- Photo Album
- Ripple
- Twirl
- Video
- Alternate Stylesheets
- Camera
- Bokeh
- Pointilizer
- Graffitis
- picture-shuffle
- Text Effects
- Gandhi Quotes
- Rotozoom video
ARTICLE BATCH 17
OWNER: PETER LUBBERS
Supplementary articles
- Getting your content online (Opera)
- Common HTML entities used for typography (Opera)
- The Opera Web Standards Curriculum glossary (Opera) This is incomplete, and will be added to as time goes by.
Internet Basics
- HTTP status codes
- MIME Types
- TCP/IP
- other protocols like UDP (see http://www.skullbox.net/tcpudp.php)
- packet diagrams
- see http://www.xoc.net/works/jigsaw/internetbasics.asp
- SPDY
- ARD
- NAT
- Network topology
- Domain names and DNS
- How Web fits on top of Internet
- Basic security
- History of Internet and Web
References
ARTICLE BATCH 18
OWNER: ELIOT GRAFF
HTML
HTML Reference (Microsoft)
HTML Reference (W3C)
ARTICLE BATCH 19
OWNER: ELIOT GRAFF
CSS
- CSS Reference (Microsoft)
ARTICLE BATCH 20
OWNER: ELIOT GRAFF
CSS
- CSS Reference (W3C)
ARTICLE BATCH 21
OWNER: ELIOT GRAFF
Canvas
- CANVAS reference (element and 2D API) (Microsoft)
ARTICLE BATCH 22
OWNER: ELIOT GRAFF
SVG
- SVG reference (Microsoft)
ARTICLE BATCH 23
OWNER: ELIOT GRAFF
DOM Transversal
- DOM transversal reference (Microsoft)
ARTICLE BATCH 24
OWNER: ELIOT GRAFF
DOM
- DOM General reference (Microsoft)
ARTICLE BATCH 25
OWNER: ELIOT GRAFF
DOM Events
- DOM Events (Microsoft)
ARTICLE BATCH 25A
OWNER: ELIOT GRAFF
ARIA
- ARIA reference (Microsoft)
ARTICLE BATCH 25B
OWNER: ELIOT GRAFF
Web Apps
- AppCache reference (Microsoft)
- File API reference (Microsoft)
- Geolocation reference (Microsoft)
- IndexedDB reference (Microsoft)
- Messaging reference (Microsoft)
- Timing reference (Microsoft)
- Web workers reference (Microsoft)
- Websocket reference (Microsoft)
- Web Storage reference (Microsoft)
- XHR reference (Microsoft)
ARTICLE BATCH 25C
OWNER: ELIOT GRAFF
Media (Audio and Video)
- Media reference (Microsoft)
Curriculum structures
Seed content taken from WaSP InterACT Curriculum structures. Most recent versions kept at Overview of InterACT curriculum articles
ARTICLE BATCH 26
OWNER: DOUG SCHEPERS
Basics and “soft” skills
- Internet Fundamentals
- Digital Design Production
- Writing for the Web
- Project Management
- Professional Development
- Independent Study
- Internship
ARTICLE BATCH 27
OWNER: DOUG SCHEPERS
Web design
ARTICLE BATCH 28
OWNER: DOUG SCHEPERS
Web development
Miscellaneous - not sure what to do with these yet
ARTICLE BATCH 29
OWNER: DOM (Doug to followup with Dom)
Notes: low priority, but it might be nice to get someone to investigate these and see what we should do with them, where we should put them, etc.
- Internationalization (W3C)
- Tutorials (W3C)
- Cheatsheet (W3C)
- Podcasts and Videos (W3C)
- Primers (W3C)