XposeXkiosk
This living document describes our work on the XposeXkiosk product, a new way to make presentations from the X Window System.
If you only want to know how to use the kiosk medium, you find instructions below (How to use).
This document continuously reflects our work. Please come back often.
Overview
The products XposeXrecord or XmetaX with the Pose option are used for exactly and totally recording of X Window sessions or individual applications, optionally together with audio, video, or arbitrary binary data streams.
For displaying a recorded file XposeXplay is used.
Video conversion and display
XposeXplay can be used to convert a Pose file into a video format, too. Until now this was the only way to show Pose recordings on non-Unix/Linux computers.
However, converting Pose files and displaying MPEG video files yield many disadvantages:
The conversion is time consuming, only very powerful computers allow real time conversion.
You need to know in advance the supported video formats and resolutions of the computer which will eventually playback the video file.
Scaling down may result in significant information loss: thin lines get invisible, text becomes unreadable.
Zooming up may yield unesthetic jaggies and uneven text display.
The frames-per-second nature of video files counteracts the Pose principle of total and correct recording: for instance, blinking elements are not displayed correctly.
Synchronously replaying multiple screens is nearly impossible.
Video formats are optimized for moving pictures, but static solid colored or stippled areas and lines show unesthetic compression artifacts.
A converted video file is much larger than the compressed Pose file.
While even minimal compression of a video file results in significant information loss, Pose files can be compressed losslessly very efficiently.
The following table shows the results and numbers for a 8:36 minutes real life example (screen resolution 1280×1024, no OpenGL, conversion using ffmpeg under Solaris 10 on a Sun Ultra 20):
| Format | Scale | Quality | File size | Conversion time |
| Pose compressed | 1:1 (1280×1024) | 100% Pose | 6.5 MBytes | none |
| 5:4/4:3 (1024×768) | 100% Pose | 6.5 MBytes | none | |
| MPEG4/AVI (25 fps) | 1:1 (1280×1024) | 100% | 412 MBytes | 8:42 minutes |
| 60% | 333 MBytes | 8:48 minutes | ||
| 5:4/4:3 (1024×768) | 100% | 297 MBytes | 5:05 minutes | |
| 60% | 201 MBytes | 5:03 minutes |
To summarize: For readable correct display and for compact files you should not need to convert the Pose files into a video format, but use the Pose files directly.
Therefore we thought about ways to overcome the conversion process. How to natively display Pose files on unknown generic PC hardware, from sub-notebook to power desktop?
Imagine the optimum: the kiosk idea
How are presentations held? On the other side of the world a speaker, probably without technical background, at least regarding the X Window System, wants to illustrate or structure his speech using X11 recordings. He has to use unknown hardware, operating system, and player software to display the recordings. The technical setup is carried out in a hurry between two speakers.
Ideally, the speaker inserts a medium (CD, DVD, USB stick) containing the recordings into the PC, some magic software starts from the medium and presents a menu for selecting a recording, which is then displayed in a way optimally adapted to the available hardware, be it one single sub-notebook or a network of high-end PCs with multiple monitors for simultaneous display of several recordings. A simple graphical user interface and hot keys allow to pause, resume, and stop the playback or switch to another recording.
And, having a bad cold, the speaker lets the kiosk synchronously replay the audio comments recorded during creation of the presentation.
That's the kiosk.
Starting from this ideal imagination we are working on the XposeXkiosk product. This software will let you select clips from your repository of Pose files and generate a disk image containing the kiosk for autonomous display of the recordings on generic PC hardware.
The kiosk
Distributed architecture
The kiosk is based on a distributed architecture. In the simplest case one PC takes over all tasks. However, each networked computer can host one or multiple of the following functions:
Providing one or more screens for display of (part of) a recorded clip
Executing the Pose playback program, a special version of xposextool of the XposeXplay product
Displaying and monitoring a graphical user interface for screen mapping and playback control
Holding the recorded Pose files in RAM or on the kiosk medium
The automatic configuration tries to optimally distribute the tasks on all networked computers according to their relative computing power, available memory, and network performance. The GUI can be accessed on every computer with a screen.
Simple operation
The automatic hardware detection, the automatic network negotiation, and the automatic configuration minimize the number of user operations needed to get the recorded files displayed.
For mapping the recordings onto the available screens an intuitive graphical user interface with reasonable defaults is used. The user may drag thumbnails representing the clips onto screen images, choose between zoomed, panned or cropped display, and much more.
A simple GUI and hot keys may be used to control a running playback: pause and resume, playback speed, terminate, cycle through the displayed screens, etc..
Security
Each of the Pose files on the kiosk medium can be protected by encryption. When accessing a file, the kiosk will ask for a password.
The communication between the participating computers over the closed network is encrypted, too.
The kiosk will never access the hosting PC's disks.
The kiosk builder
The XposeXkiosk product will mainly comprise the kiosk builder. This program provides all functionalities to generate a kiosk medium:
Define a clip (start time and end time for a part of a Pose file, playback hints, preferred display mode, etc.).
Select clips for inclusion into the kiosk.
Specify an encryption password.
Generate a disk image containing the complete kiosk.
Copy or burn the disk image.
The Maastricht XposeXkiosk prototype
For proof of concept (or our imagination) we first concentrated on the kiosk. Currently the kiosk builder is not more than a shell script collecting the various parts of the kiosk and generating the disk image.
Limited functionality of the kiosk
The current Maastricht prototype of the kiosk does not yet provide the full functionality:
The graphical user interface for screen mapping allows basic configuration only. However, automatic mapping does work.
Graphical user interface for playback control: Fast forward and backward is not yet implemented.
Concept of clips: you can choose complete Pose files only.
How to use
Booting and hardware configuration
The following procedure is to be carried out for each participating computer. With the current prototype you will need one kiosk medium for each computer. Future versions will allow to eject and re-use one kiosk medium for multiple computers.
After inserting the kiosk disk or stick you can access this document from the file system.
Now boot the computer from the kiosk medium.

For the first time you should select the default boot sequence. The other boot method is used in special cases, if automatic graphics configuration is not successful.
After booting the kiosk scans the hardware and automatically configures known hardware components.

After a short time the standby screen shows all kiosk computers in the network:

The monitors in the network are named Alpha, Bravo, Charlie, Delta, and so on.
Each host can be manually configured:

For each graphics card you may choose the driver:

For each monitor the maximum resolution can be configured:

Playback of a Pose file
The playback screen shows all available clips:

You may re-arrange the clips in the play-list and activate individual clips. If a clip is encrypted, you will have to enter the decryption password.
Clicking on the "Play" button starts playback of the play list.
For each clip you may either use the automatically configured screen mapping or specify all properties manually:

During playback you may access an on-screen GUI by touching the lower or upper screen border with the pointer:

Future directions
Currently we are refining the kiosk.
Then we will work on the kiosk builder and a stand-alone Pose playback backend.
We will try to port the kiosk principle to Sun Solaris (SPARC).
Feedback
We really appreciate your feedback: bug reports, suggestions, additional features, new application areas, etc. Please use projects@x-software.com for technical requests and discussions and sales@x-software.com for any business related communication.
History
| Date | Modification |
| 31. January 2007 | update: the Maastricht kiosk prototype |
| 10. January 2007 | update: kiosk GUI |
| 20. September 2006 | update |
| 14. June 2006 | first public version |