Support/ScreencastsPRD: Difference between revisions

category -> Support Archive
(category -> Support Archive)
 
(17 intermediate revisions by 3 users not shown)
Line 3: Line 3:
=Overview=
=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.
[[File:Watching_screencast.jpg|200px|right]]Screencasts 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 interactive live support. Not everyone is comfortable reading written instructions containing complicated computer and software terms; with screencasts, users can instead choose to watch a video demonstrating exactly how to solve the problem.
 
Since we are unable to provide live support to every single Firefox user (we have north of 250 million of them these days!), screencasts is a leveraged, community-powered solution that come pretty close to live support while still allowing it to scale to meet the demands of our growing user base.


=Requirements=
=Requirements=


==File types==
==File types==
* [Required] .swf Flash container OR .flv Flash video
* [Required] .swf Flash container ''OR'' .flv Flash video
**.swf must be supported because of our  [http://videos.mozilla.org/screencastcontest large pool of .swf screencasts] from the Screencast Contest
**.swf must be supported because of our  [http://videos.mozilla.org/screencastcontest large pool of .swf screencasts] from the Screencast Contest
**.flv must be supported because not all screencast software can export to .swf. Wordpress (Podpress) includes an open source (php) FLV player that we could use to play .flv files.
**.flv must be supported because not all screencast software can export to .swf. Wordpress (Podpress) includes an open source (php) FLV player that we could use to play .flv files.
Line 28: Line 30:
==Presentation & website integration==
==Presentation & website integration==
===Backend===
===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.
* 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, or the built-in video player with the .flv file.


===Frontend===
===Frontend===
* Link + icon above set of instructions that upon click expands into the full embedded video object
* Screencasts can be embedded anywhere in a KB article, including more than one screencast per article
**[https://wiki.mozilla.org/images/b/bc/Watch-video.png Mockup of video link]
* Typically they will be used above numbered lists of instructions, e.g. [http://support.mozilla.com/en-US/kb/Bookmarks+not+saved#Places_preferences Bookmarks not saved]
**[https://wiki.mozilla.org/images/e/e5/Video-view.png Mockup of embedded video object]
* Since screencasts can be very large in terms of screen space, they should not be embedded upon loading of the article. Instead, only a link/icon should be displayed.<br /><br />[[File:Watch-video.png|500px]]<br />
* Need a way to download/view both the .swf and .ogg files. This is especially important for article reviewers to ensure that both versions of the screencast are OK.
** Default text of link should be "Watch a video of these instructions" but it should be possible to override when embedding a screencast.
** Could be realized with a small text line below the embedded video, allowing to switch between the .sfw <object> and .ogg <video> view.
** Subtle frame around the bar to make it stand out
** Recognizable Play or Movie graphic to the left of the text
** Final design to follow shortly (Tara)
* When clicking on the video link, the whole embedded video player (or Flash .swf object) should be displayed, along with links to switch between the Flash or Ogg version of the video, if both exist.<br /><br />[[File:Screencast_box.png|500px]]<br />
** [http://www.mozilla.com/en-US/firefox/video/ Embedded Video object on already existing mozilla.com page] -- copy this
** Box should correspond to the size of the video object (with a lower limit to ensure UI doesn't look broken)
** Link at the bottom to switch source from Ogg to swf/flv and vice verca (default should be to load the Ogg file if it exists ''and'' if the browser supports it)
**Make sure the Ogg video is the default format for capable browsers, and embed the Ogg file in the same way as the flash file is embedded (i.e. don't do it like [http://www.mozilla.com/en-US/firefox/video/ they do] with just leaving the page altogether to display the raw .ogg file).


==Uploading & managing screencasts==
==Uploading & managing screencasts==
Line 44: Line 53:
* It should be possible for contributors to upload an .ogg version of an existing screencast that only has a .swf file.  
* 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. We need to track which articles use which screencasts in the database so we can identify orphans (as we do with images).  
** Need to figure out how the new .ogg file can be inserted to the article(s) that is using the screencast. We need to track which articles use which screencasts in the database so we can identify orphans (as we do with images).  
** Also need to ensure the complementary .ogg file is not malicious and that it's indeed just a converted copy of the .swf file. Maybe we only allow trusted contributors to upload complementing .ogg files of existing screencasts? -- TBD (djst/laura)
** Also need to ensure the complementary .ogg file is not malicious and that it's indeed just a converted copy of the .swf file. Maybe we only allow trusted contributors to upload complementing .ogg files of existing screencasts? Answer: ogg is no more likely to be malicious than flv.  Review to check both files as part of review.


===Frontend===
===Frontend===
[[File:Screencast_upload.png|500px]]
* Use same mechanism as for images -- two simple upload fields in the Edit Article view; one for .swf (required) and one for .ogg (optional).
* Use same mechanism as for images -- two simple upload fields in the Edit Article view; one for .swf (required) and one for .ogg (optional).
** See [https://bugzilla.mozilla.org/show_bug.cgi?id=450548#c13 bug 450548 comment 13] for how this is currently implemented for screenshots
** See [https://bugzilla.mozilla.org/show_bug.cgi?id=450548#c13 bug 450548 comment 13] for how this is currently implemented for screenshots
* Allow people to provide a url to existing .swf/.ogg files, but always grab that file and store locally
* Allow people to provide a url to existing .swf/.ogg files, but always grab that file and store locally
**'''Question:''' can URL support work in the same text field, or would we need separate fields for URLs? This requirement is not critical, so if it's too complicated to do this, let's drop it.
* Show a progress bar using jQuery when uploading a screencast, since the operation can take quite a while to complete.


==Wiki syntax for embedding screencast==
==Wiki syntax for embedding screencast==
* Simple tag taking file names and size as parameters - TBD (zzxc)
* Simple tag taking file names and size as parameters - TBD (zzxc)
* Example: {SCREENCAST(swf=jing-filename.swf,flv=flash-video.flv,ogg=theora.ogg)}Title of video{SCREENCAST}, where either swf or flv is required and ogg is optional.)}
* Example: ''{SCREENCAST(flash=>jing-filename.swf,ogg=>video.ogg,label=>Watch a video of these instructions)}Title of video{SCREENCAST}'', where either swf OR flv is required and ogg is optional.)} (flash type should support either swf or flv)
* '''Question:''' Do the dimensions have to be known by this plugin, or can that info be extracted from the video itself?
** If they have to be known, we need parameters for that too in the plugin.
** What about different sizes for different formats? (E.g. the OGG version has different dimensions compared to the SWF version.)
* The title of the video can also be a parameter if the above syntax isn't possible (it is just an example; I don't know all limitations of TikiWiki plugin syntax!). So, this works too: ''{SCREENCAST(flash=>jing-filename.swf,ogg=>video.ogg,label=>Watch a video of these instructions,title=>Title of video)}{SCREENCAST}''


=Timeline=
=Timeline=
* PRD finalized Q4 2008
* PRD finalized Q1 2009
* UI finalized Q1 2009
* UI finalized early Q2
* Server Backend up March 2009
* Server Backend / IT stuff done April 2009
* Implementation finished April 2009
* Implementation / frontend stuff finished May 2009
 
=Tasks=
* Get server storage up
** video.mozilla.org/sumo? (IT)
** Ensure that SUMO web app can write to this storage folder
* Investigate whether we can just use the open source (php) FLV player used in Podpress to play .flv files.
* Implement frontend for uploading screencast to wiki article, using jQuery for the progress bar.
** Use similar UI as the screenshot uploader, i.e. after uploading show a thumbnail that can be clicked on to insert the code snippet into the editor.
* Implement {SCREENCAST} TikiWiki plugin that can display/embed a screencast in an article.
 
[[Category:Support Archive]]
1,275

edits