User:Seb35/ScreenViewer

This page is about a project of a slideshow, basically on the same scenario as Erik Zachte’s one. In my mind it is intended to be a screensaver or so for presentations of Wikimedia projects in meetings, as an alternative of the location of editors around the world (link?). I worked on that project many evenings in January-February 2011, and then some days in October 2011 for the October 2011 Coding Challenge, but cannot allow a lot of time. So it is still unfinished (as of November 2011). I released the code under WTFPL 2.0.

Goals
The goals of this project is to have a slideshow with the following features:
 * Direct use of HTML to obtain a good rendering of fonts, particularly on a large screen (video projectors in meetings rooms); the images have a very bad rendering when you capture the image and then project on a different screen, particularly if the first has a small resolution and the second a large.
 * Correct compatibility to display it on many systems, so use of a navigator (pretty standard, particularly with people working with WP :) and standard technologies as HTML, JavaScript, CSS, jQuery and images (no Flash, Java) (didn’t tried until now with a text browser). I don’t know the world of mobile devices, so I don’t expect it will be fluently working without an external help. I try to make Ajax optional, there is no major problem since the basic tools are iframes and JavaScript.
 * Use of local pages: if Internet is not available (it happens sometimes in meetings, either no Internet either a very weak WiFi), try to render a slideshow using pre-saved pages/images. I’ve made some tries with Opera and it seems possible, but it still has to be written and integrated.
 * Ability to use a pre-defined diaporama, for instance a thema with various pages about the kittens for a WP introductory workshop in a kittens’ lovers association (respectively beer/beer drinkers’ association :). This is an example, but this is quite powerful: you can display images of a category, images of a pages, pages of a category, recent diffs, random images/pages, equivalent pages in different languages. The only limit is a small piece of code must be added for each type of scenario; but then Wikimedians can create different scenarios as I did on w:fr:Utilisateur:Seb35/Diaporama (some have a deprecated syntax)
 * Primary a standalone slideshow, but some controls could be added to play, pause, forward, etc.
 * Different transitions. I use basically a fade-in/fade-out, but other could be added.
 * Printing of an explaination/legend and/or metadata particularly for images, but possibly for pages also (number of contributors, activity of the article in recent days, etc.).
 * Save in cookies configuration and/or diaporamas.
 * Perhaps display two or more pages/images simultaneously to compare a WS text with its translation or an article with another or an interwiki-equivalent. This could be scripted with a sort of siteswap, or not.

Current prototypes

 * February 2011 version (Opera 11.00, FF 3.6), but you can test by clicking on "demo", then selectionning "Rennes" and Ok; you can play with the different options but some are buggy.
 * November 2011 version (/Code here on mw.org) (Opera 11.51), major refactoring by using objects (JavaScript is quite disappointing for me, so there could be some inconsistencies in the objects use). As of November 7, 2011, the basic commands for configuration are working but don’t expect to display any slideshow ;-D it will be included in a later version, but probably it will disqualify me for the coding contest, it doesn’t matter :) [but I would had prefered have a bit more than 20 days, it’s very very short]

Example
This is an example of scenario. Only lines beginning with a star/bullet and a wikilink a recognized as a page to display. And a page could contain many scenarios by using level-3 wiki-titles, as this "Example".


 * This is a normal page
 * mw:MediaWiki
 * This is a fullscreen image
 * mw:File:Cat in a tube.jpg, image
 * This is the content of a category
 * mw:Category:Extensions, static, 20 pages
 * This is various pages with the same first part in the title (useful for books on WS)
 * s:fr:Page:Vinet_-_Boutmy_-_Quelques_idées_sur_la_création_d'une_faculté_libre_d'enseignement_supérieur.djvu/*
 * This is some recent pages
 * mw:Special:Recentchanges, static
 * This is the display of interwikified pages in different languages
 * Bière, interwiki
 * Display of inter-projects pages
 * Horace, sisterprojects

In the examples, the 5 first bullets could work with the first prototype (by remplacing "static" by "content"). You will note I use "full-qualified wikilinks", I prefer so that a scenario is standalone, else it would depend of an external metadata (the wiki where the list is hosted, so problem if you save in a cookie or so)