User:Amhorcher/GSOC2010

Proposal for Licensing Tutorial
A basic, high-level tutorial about copyright and free licenses is listed as a high priority for Mediawiki. The tutorial must explain the difference between unfree and freely reusable works. Users must understand that a CD cover or a random picture they find on the Internet is copyrighted, and that "freely reusable" means an explicit release by the author. During the upload process, users will have to choose between the two options, depending on what kind of file they are uploading, so it is critical that they have a basic understanding of what copyright and free works are about.

Skills Needed:

For the tutorial to be successful, you need someone who knows how to tell a story with both words and visuals. The actual coding of the presentation, once the visuals are constructed is less difficult.

Major Tasks

1. Create the basic storyboard of the tutorial Decide what points to communicate: Each major point should be a snapshot of a scene, like a slide of powerpoint. On the verizon wireless site, there are some examples of this, particularly in the demo of the "My Verizon" capability. https://ebillpay.verizonwireless.com/vzw/nos/myVerizonDemoItsHere.jsp Decide how to communicate: Due to the potential for multi-lingual and multi-cultural audiences, the use of simplified pictorials along the lines of international symbols for food, fuel, airport developed by the AIGA. Another possible technique is the use of silhouettes as the graphics, such as the shadows used in an award-winning commericial for diamonds. Where people are depicted, using a non-denominational character such as a  stick figure, or "Hai Bo", the symbol of the Shanghai expo. The lines are clean, which it easier to recognize the meaning and hopefully less to render. http://goshanghaiexpo.com/node/44 The Alice programming language might also be an option for animation.

2. Create rough versions of the tutorial "scenes" to check flow and review with mentor. These can be scans of pen and ink sketches, stick people. 3. Create SVG stills - if animation is not supported, then animation can be imitated by quick frame slips, that make an object appear to move. It is an old school technique, but still effective. The series of stills which can be flipped based on a timer, or at the users' choice should satisfy the requirement for a lightweight delivery. 4. Establish style for tutorial The establishment of a style for the tutorials will allow the addition of other tutorials. The characters or symbols can be re-used to explain other concepts. Experience:

I have previous experience working with XML, and markup languages such as SGML, and with some graphics design. I have done t-shirt designs, client interface designs, and multi-lingual instruction through tutorials.

My experience in content management gives me some expertise with copyright. In addition, I have designed several series of web pages which present content in the language of the user's choice. The techniques I used for abstracting text into a configurable layer will help in the design. Extensive use of codes or placeholders instead of text in one language sets the stage for a transition to a multi-lingual delivery.

Schedule:

Phase 1: Learning, Bonding, Design (May thru Mid-June)

1. Work on Major Task 1, defining the Storyboard

2. Learn SVG skills, work with editor such as Adobe Illustrator, Inkscape or GIMP. My preference is Inkspace, or GIMP because both of these are opensource

3. Refine milestones with mentor

'''4. Determine framework for "playing" a series of slides (after research)  Phase 2: Development and first testing (Mid-June thru July 12)''' 1. Create the graphics to be used in the storyboard creation

2. Create the SVG stills in the tutorial3.

3. Abstract text where possible to allow multilingual

4. Add information to SVG format to either pull text from a table based on language, or generate multiple language versons of SVG files. Design depends on performance and learning from Phase 1 Phase 3: Making the application flow (July 12 - Aug 2)

1. Write script delivering tutorial components

2. Integerate tutorial into new upload web page

3. Fix bugs

4. Adjust application based on input from test group

Phase 4: Deliver to production (Aug 2-9)

1. Document application components

2. Document the characters usage

3. Fix critical bugs

4. Performance tuning and testing