Changes

Jump to: navigation, search

Support/ScreencastsPRD

3,443 bytes added, 16:09, 3 December 2008
New page: This is a product requirements definition for screencast support on SUMO. =Overview= Screencast can be thought of as animated screenshots. A good screencast can serve as the unique user ...
This is a product requirements definition for screencast support on SUMO.

=Overview=

Screencast can be thought of as animated screenshots. A good screencast can serve as the unique user experience that bridges a well written how-to article together with live support. With a set of screencasts, a user not only will read the accompanying article that might solve the issue they are having, but also he or she will see exactly how to perform the fix to the problem. Without being able to provide live support to every single end-user (we have north of 200 million users these days!), screencasts are a leveraged solution that come pretty close to live support.

=Requirements=

==File types==
* [Required] .swf Flash container
**Must be supported because of our [http://videos.mozilla.org/screencastcontest large pool of .swf screencasts] from the Screencast Contest
**All screencast uploads must include a .swf file.
* [Optional] ogg/theora
** During or after a screencast upload, it should be possible to also upload an already converted ogg/theora version of the .swf file, in addition to the required .swf file. The ogg/theora file would be used in browsers that support them.

==Infrastructure==
* Need a server to store screencast files on, e.g. videos.mozilla.org -- location TBD
** SUMO server app needs write access to the storage
* Storage requirements: 10 GB
** May expand depending on how many contributors upload localized content
* Bandwidth requirements: ~ 1500 GB/month
** We get approximately 30,000,000 page views per month
** The average file size of a screencast is 1 MB
** Let's assume that 5% of all page views will load a screencast
** 30,000,000 * 0.05 / 1024 = 1,464 GB

==Presentation / Website integration==
===Backend===
* If an ogg/theora version of a screencast exists ''and'' the browser supports the <video> tag, the ogg/theora file would be used. Otherwise, it would fall back to an <object> tag with the .swf file.

===Frontend===
* Link + icon above set of instructions that upon click expands into the full embedded video object
* Mockup coming soon

==Uploading/managing screencasts==
===Backend===
* All screencasts must be stored on our server to ensure we control the content. If screencasts are stored externally, people might replace an existing screencast with offensive/illegal content.
* When uploading a screencast with the same name as an existing screencast, the old file should not be overwritten. Need some unique hash to ensure that all file names are unique.
* Because of SUMO's review system, a screencast will always show up on the staging article first, allowing reviewers to approve the content before it's shown to our users.
* It should be possible for contributors to upload an .ogg version of an existing screencast that only has a .swf file.
** Need to figure out how the new .ogg file can be inserted to the article(s) that is using the screencast. Do we need a db that stores which articles are using which screencasts? -- TBD

===Frontend===
* Use same mechanism as for images -- two simple upload fields in the Edit Article view; one for .swf (required) and one for .ogg (optional).
* Allow people to provide a url to existing .swf/.ogg files, but always grab that file and store locally

==Wiki syntax for embedding screencast==
* Simple tag taking file names and size as parameters - TBD (zzxc)
* Example: {SCREENCAST(flash=foo.sfw, ogg=bar.ogg, height=400, width=600)}
1,623
edits

Navigation menu