Public Kiosk Manual
Overview
The NOAA SOS Public Kiosk (“Public Kiosk”) software initially debuted with the SOS 5.0 release. It provides a touch screen controller intended for a general public audience to interact with a Science On a Sphere® (SOS) exhibit when there is no docent present. It has some similarities with other third party kiosks created in the past for SOS, such as the Bishop Museum’s kiosk. The motivation for building the Public Kiosk was to provide a flexible and easy-to-administer public controller that can be localized to native languages by using standard SOS playlists.
The Public Kiosk is fully supported by its NOAA software developers and is included as part of the normal SOS customer support provided at sos.support@noaa.gov. Suggestions for new features and submissions of bug reports is highly encouraged to keep improving the Public Kiosk into the future.
System Requirements
The Public Kiosk software runs on a PC running Microsoft Windows. Details about the system can be found in the Equipment List.
Installation and Setup
The Public Kiosk software is available to all current SOS customers at no cost upon request by e-mailing NOAA SOS support at sos.support@noaa.gov. Instructions will be provided on how to download the software, which is provided as a standard Windows setup.exe program that unpacks and installs the software as well as the default configuration files on the PC. Most of the files reside under c:\shared\sos\kiosk
, so the Windows user must have privileges to write to the C:
drive. The kiosk software doesn't use the Windows registry. Approximately 80MB of disk space is required for the software and data files.
Once installed, the hostname or IP address of the SOS machine must be changed in the
kiosk_server property for the Kiosk to operate. See the Administration User Interface section for more information. To tell if the Public Kiosk is correctly connected to the SOS machine, look at the colored dot in the lower left corner of the Public User Interface. If it is green, the connection is working correctly, but if it is red, they are not connected and either the settings or the networking must be changed. NOTE: SOS must be running in order for the kiosk to be connected.
The Public Kiosk software may occasionally crash, leaving the Windows PC with the desktop showing. To remedy this situation, you can install an application that will automatically detect that the kiosk is no longer running and restart it automatically. One free application that does this is called Restart On Crash and it has been successfully used with the Public Kiosk. Instructions on how to download and install this utility are described in Appendix D. There are many other Windows restart applications available that may work with the Public Kiosk and NOAA is not specifically endorsing the use of Restart On Crash.
Public User Interface
The Public Kiosk has two main user interfaces (UIs), one for public interaction with SOS and another for administration of the kiosk. The public UI is normally the one displayed and is described in this section, while the latter is described in the Admin UI section.
The default public UI is shown in the following screenshot:
These are the Major Components of the public UI :
- Title Area - at the top. This area includes a logo image at the left, title and subtitle text, an information button (“i” symbol), and a group of language buttons. The language buttons transform the language of the UI to the selected choice. The supported languages are preselected by each venue (see the Localization/Translations to Non-English Languages section for information on how to set up translations).
- Groups Column - on the left side. This is a scrollable set of rectangular buttons, each of which defines a related set of datasets. By default, these are largely the same as the Major Categories in the SOS Data Catalog, but can be changed to fit each venue’s needs (see the Group and Dataset Configuration section).
- Datasets Row - on the bottom. This is a scrollable set of circular buttons, each of which defines a dataset for the currently selected group. By default, these are NOAA’s selection of the best and most popular datasets for each group, but can be changed to fit each venue’s needs (see the Group and Dataset Configuration section).
- Overlays Column - on the right side. This is a scrollable set of circular buttons, each of which defines an overlay dataset that may be shown on top of the current dataset. By default, these are all of NOAA’s set of overlay datasets, but fewer may be shown to can fit with the venue’s needs.
- Information Box - left of center. This is a text area that usually displays a brief description of the currently selected dataset. When the information button is selected, this area displays an introduction to SOS and instructions on how to use the Public Kiosk.
- Sphere Controls - right of center. This is a collection of controls to manipulate the sphere. A spherical trackball controller is used to drag the sphere horizontally and vertically with curved arrow next to it used to tilt the sphere (by tapping or dragging it). Below the sphere are buttons to reset the sphere position, play or pause it, turn globe rotation on/off for animations, step one frame backward/forward, and a frame slider.
-
Administration UI Button - lower right corner. The "gear" button is used to access the user interface for kiosk administration controls. It includes the ability to lock the kiosk UI when a presenter is using the iPad controller.
Quick Start: How to Use the Public Kiosk
Basic workflow
- Select a Group (Component #2) and scroll through its Datasets (Component #3).
- Select a Dataset (Component #3) and watch it appear on SOS and on the trackball controller (Component #6).
- Read about the currently playing dataset in the Information Box (Component #5)
- Use the Sphere Controls (Component #6) to position the sphere and change which frames are displayed on SOS.
- Select one or more Overlays (Component #4) to display an overlay on top of the Dataset currently playing on SOS.
- Repeat these steps as long as desired.
Other options
- Select the Information Button (Component #1) to display information about SOS or how to use the kiosk (Component #5)
- Select a language button (Component #1) to change the language text used in the kiosk
Configuring Public Kiosk Settings
The Public Kiosk has default settings carefully selected by NOAA that will work well at many SOS sites. However, there are many ways to customize the kiosk to suit the needs of a particular venue:
- Administration User Interface
- Group and Dataset Configuration
- Localization/Translations to Non-English Languages
Each of these of configurations is described in a separate section below. The underlying file structure used by the Public Kiosk is also fully described for reference in Appendix A.
Administration User Interface
The Public Kiosk is highly configurable using the Administration User Interface (Admin UI), which is launched by pressing the gear icon in the lower right corner of the Public UI (Component #7). A numeric keypad appears to enter a 4-digit administration passcode (the default is 1234
, which should be changed!). The back-arrow key is used to delete a mistyped digit. Note that if the kiosk was previously locked, a 4-digit lock code must be entered (the default is 4321
, which should also be changed).

The Admin UI has five tabs (described below) and a set of common buttons, Apply and Close at the bottom right and X at the top right, that are used for all options. Apply must be pressed for changes to be saved. Pressing either Close or X simply dismisses the Admin UI without saving changes made.

Viewpoint Tab

Normally this operation is only required once when the Public Kiosk is first set up.
- Press the Ready button to begin
- Rotate the sphere image until it matches what is displayed on SOS directly in front of the kiosk
- Press the Set button to finish
Properties Tab
(screenshot expanded to show all the properties)The Properties tab presents a table of kiosk properties and controls to change their settings. Colors are represented with hexadecimal characters for red-green-blue that are set using a popup Color Chooser. Numbers are set using a graphical Numeric Keypad or a dropdown Number Chooser, and text is set using a Graphical Keyboard. Examples of each of these controls are given after the property list. Note that for more extensive editing, a regular keyboard may be attached to the kiosk machine and used instead of the graphical keyboard and numeric keypad.
- locale_options (default =
en_US
). A comma separated list of localization strings for the languages supported in the kiosk. It must include the locale_default value in the list. These are used to specify the language buttons shown (on the right side of Component #1). Note that if only one locale is specified, the language buttons are hidden. Set using the Graphical Keyboard.For example, to use American English, Mexican Spanish, and Traditional Chinese in Taiwan, the value would be:
en_US,es_MX,zh_TW.
If new locale_options are added, it is necessary to restart the kiosk for them to take effect. - locale_default (default =
en_US
, English in the United States). The localization string for the language in which the kiosk starts. The localization string uses the ISO 639-1 two letter code for language an underscore (“_”) and then the ISO 3166 for the country or region. Set using the Graphical Keyboard. - group_buttons (default =
both
). Options for showing text and/or an image for Groups. In this version of the kiosk,both
is always used. - dataset_buttons (default =
both
). Options for showing text and/or an image for datasets. In this version of the kiosk,both
is always used. - kiosk_server (default =
127.0.0.1
). The name or IP address of the SOS machine (typically something likesos1
). The default will not work and must be changed to a valid value. Set using the Graphical Keyboard. - ftp_server: (default =
127.0.0.1
). The name or IP address of the machine configured for FTP (typically the SOS machine, something likesos1
). The default will not work and must be changed to a valid value. Set using the Graphical Keyboard. - ftp_username: (default =
test
). The username being used for FTP transfers on the SOS machine (typically something likesos
). The default will not work and must be changed to a valid value. Set using the Graphical Keyboard. - ftp_password: (default =
test
). The password being used for FTP transfers on the SOS machine (typically the password used for thesos
user). The default will not work and must be changed to a valid value. Set using the Graphical Keyboard. - ftp_save_path: (default =
C:\shared\sos\kiosk
). The root directory on the Windows kiosk machine where the Public Kiosk data files are installed. Normally will not need to be changed. Set using the Graphical Keyboard. - autoplay (default =
0
). Analogous to the SOS Autorun mode, this property controls the behavior for automatically playing datasets in the kiosk. Set using the Numeric Keypad. 0
- off: manual mode only1
- on: cycles repeatedly through all the datasets in the Group specified by the value of the autoPlayGroup property.2
- on: cycles randomly through all the datasets in the kiosk- autoPlayGroup: (default =
popular
). Used when autoplay is set to1
and specifies the group from which datasets will be automatically displayed. Set using the Graphical Keyboard. - timeout (default =
180
). Length of time in seconds after autoplay is interrupted before the autoplay resumes (when autoplay's value is1
or2
). - duration (default =
180
). Length of time in seconds that a dataset will be displayed when autoplay is turned on (value =1
or2
) before switching to the next dataset. Datasets that are narrated movies will play to the end even if they are longer than the duration time. - background (default =
ffffff
, black). The color used for the main area of the kiosk background (below Component #1). Set using the Color Chooser. - fontcolor (default =
000000
, white). The color of the text in the main area of the kiosk (below Component #1). Set using the Color Chooser. - banner_background (default =
ffffff
, black). The color of the Title Area (Component #1) of the kiosk background. Set using the Color Chooser. - banner_fontcolor (default =
000000
, white). The color of the text in the Title Area (Component #1) of the kiosk. Set using the Color Chooser. - circlecolor (default =
55555
, gray). The color of the border drawn around the Dataset and Overlay circular buttons (in Component #2 and Component #4). Set using the Color Chooser. - nowcolor (default =
ffff00
, yellow). The color of the border drawn around the currently selected Group, Dataset, and Overlay buttons (in Components #2, #3, and #4). Set using the Color Chooser. - content_fontsize (default =
18
). The font size of the text in the Information Box (Component #5). Set using the Number Chooser. - title_fontsize (default =
48
). The font size of the text in the main title (top-left of Component #1). Set using the Number Chooser. - subtitle_fontsize (default =
36
). The font size of the text in the secondary title (bottom-left of Component #1). Set using the Number Chooser. - langbtn_fontcolor (default =
ffffff
, black). The color of the text used for the language buttons (right side of Component #1). Set using the Color Chooser. - langbtn_bordercolor (default =
ffffff
, black). The color of the border around each language button (in Component #1). Set using the Color Chooser. - password (default =
1234
). The 4-digit passcode used to open the Administration UI. This should be changed to a different value that is less easily guessed. Set using the Numeric Keypad. - lockcode (default =
4321
). The 4-digit passcode to lock and unlock the kiosk. This should be changed to a different value that is less easily guessed. Set using the Numeric Keypad. - sphere_load_delay (default =
5
). The length of time in seconds that the kiosk waits after a dataset has been selected before it will allow another dataset to be selected. This prevents a user from rapidly selecting datasets in succession, which causes SOS to cycle too quickly between datasets. Set using the Numeric Keypad. - sync_enable (default =
1
). Synchronize rotation of the trackball image with the SOS display. Use0
to turn this off if the kiosk computer or networking equipment used is unable to handle the increased system load this feature may cause. Set using the Numeric Keypad.
When autoplay is on, each dataset plays for the length of time specified by the duration property. If autoplay is interrupted by a person manually selecting a dataset, the autoplay will restart again after a length of time specified by the timeout property until interrupted.
Color Chooser example

When you are finished, press OK to accept the new color or Cancel to keep the previous color. (note: the Close button at the bottom-right will close the Admin UI).
Numeric Keypad example

Number Chooser example

Graphical Keyboard example

FTP Tab

- Server to Kiosk: this option copies files from the SOS machine to the kiosk. This needs to be used whenever the media2kiosk command line utility has been run on the SOS machine to update which groups and datasets are shown on the kiosk, along with related text including translations.
- Kiosk to Server this option copies file from the kiosk to the SOS machine. This generally needs to be done only once after the kiosk is installed and its purpose is to copy the default kiosk configuration to the SOS machine so it can be customized. If there are no files in the /shared/sos/kiosk directory on the SOS machine, this option will copy those files from the kiosk as the initial starting point.
The purposes of the files transferred are described below in the sections entitled Group and Dataset Configuration and Localization/Translations to Non-English Languages. For even more information, the file structure is documented in Appendix A. Also, an FTP server must be set up on the SOS machine in order for these options to work properly (see Appendix B for instructions).
Note: the Apply button at the bottom-right applies all previous edits made in any tab of the Admin UI, while the Close button next to it will close the Administration UI.
Language Tab
The Language tab controls are used to set the text for the small amount of text in the Public user interface of the kiosk for each of the languages specified by the locale_options
property (described above). Note that this tab is not used to translate groups, dataset names and descriptions, or text in the Admin UI, which are described in the SOS Translations Manual. The definitions of each of these text properties are as follows:
- title. The text for the upper part of the Title Area (Component #1). This is the primary text for the Kiosk and normally has the largest font size.
- subtitle. The text for the lower part of the Title Area (Component #1). This is the secondary text for the Kiosk and normally has the second largest font size.
- dataset. The text appearing immediately above the Information Box (Component #5). This text appears when a user has selected a dataset manually.
- overlays. The text appearing at the top of the Overlays Column (Component #4). This text indicates the purpose of the overlays dataset thumbnail buttons below it.
- autoplay_title_1 (new in v5.2). The text appearing immediately above the Information Box (Component #5). This text appears when the
autoplay
property is set to1
(cycles within a group). The%0
symbol is a placeholder for the group specified by theautoPlayGroup
value and is automatically filled in by the software.
- autoplay_title_2 (new in v5.2). The text appearing immediately above the Information Box (Component #5). This text appears when the
autoplay
property is set to2
(randomly chosen from all the datasets).
- info. The text that appears in the Information Box when the information button (“i” symbol) is pressed in the Title Area (Component #1). Note that this is actually a multi-line block of text with only the first line showing in the Language tab. It contains an introduction to SOS and brief instructions on how to use the Public Kiosk controls.
To edit the value of any of any text property, just click in the Setting field space next to it and use the Graphical Keyboard to edit the text. If there are characters you need that are not available in the Graphical Keyboard, you will need to attach a physical keyboard and mouse, then copy and paste the text you want from another source, such as a website or text document. If you add a new language to the kiosk with the locale_options
property, the Language tab will show its text properties with blank lines for the translations. If there are any blank values in the Language tab , the kiosk will use default American English text.
Note: the Apply button at the bottom-right applies all previous edits made in any tab of the Administration UI, while the Close button next to it will close the Admin UI.
Function Tab
The Function tab has buttons to close the kiosk application, to lock down its operations, and reset the properties.
- Exit Kiosk: closes the kiosk interface and terminates the program. This is typically used only when administrative work is needed on the kiosk machine and normally the kiosk will always be up and running.
- Lock Screen: locks the kiosk user interface so that none of its controls can be operated and autoplay is suspended. This should be done whenever a presenter is using the iOS Remote App to control SOS. A separate 4-digit lockcode is entered to unlock the kiosk as shown in the following screenshot.
- Reset: resets all the properties to their default values.
Group and Dataset Configuration
The default groups and datasets provided with the Public Kiosk setup may work well for your venue, but are easily changed to better suit your intended SOS viewers. The Public Kiosk defines which groups and datasets are displayed by using standard SOS playlists that reside under /shared/sos/kiosk/playlists
on the SOS machine. General information about SOS playlists is available in the Playlist Reference Guide.
Organization of groups and datasets in playlists
kiosk.sos:
this playlist hasinclude
lines for all the playlists that define each group. The order they appear in thekiosk.sos
playlist is how they are displayed in the kiosk UI. Below is the defaultkiosk.sos
file.# Public Kiosk
# Kiosk logo
icons = /shared/sos/kiosk/images/n.png
# Kiosk ordered group playlists
# popular group
include = /shared/sos/kiosk/playlists/groups/popular.sos
# movies group
include = /shared/sos/kiosk/playlists/groups/movies.sos
# air group
include = /shared/sos/kiosk/playlists/groups/air.sos
# water group
include = /shared/sos/kiosk/playlists/groups/water.sos
# land group
include = /shared/sos/kiosk/playlists/groups/land.sos
# snow_and_ice group
include = /shared/sos/kiosk/playlists/groups/snow_and_ice.sos
# space group
include = /shared/sos/kiosk/playlists/groups/space.sos
# people group
include = /shared/sos/kiosk/playlists/groups/people.sosNote that the
icons
playlist keyword here specifies the image file for the logo graphic used in the upper left corner of the kiosk. This differs from how this keyword is used in regular SOS dataset playlists. If you are using your own logo instead of the SOS graphic, the icons value should specify the full path to your image file.-
groups/
: thegroups
directory contains all the group playlists included inkiosk.sos
. Each group playlist hasinclude
lines for each of the datasets that appear in the kiosk when that group’s button is selected. For example, here is part of theland.sos
group playlist:
# Public Kiosk
# Ordered Datasets for Display on the Sphere
# Group: land
icons = /shared/sos/kiosk/images/groups/land-kiosk.jpg
# ID_82: Blue Marble
include = /shared/sos/media/land/blue_marble/blue_marble/playlist.sos
# ID_88: ETOPO1: Topography and Bathymetry
include = /shared/sos/media/land/etopo1/playlist.sos
# ID_118: Age of the Seafloor (topography)
include = /shared/sos/media/land/sea_floor_age/topo/playlist.sos
# ID_127: Earthquakes - Real-time
include = /shared/sos/rt/noaa/quake/hires/playlist/playlist.sos
# ID_472: Dams and Reservoirs - 1800 - 2100
include = /shared/sos/media/land/dams/global/playlist.sosNote that the
icons
playlist keyword here specifies the image used for that group’s button in the kiosk. This differs from how this keyword is used in regular SOS dataset playlists.
Customizing groups, datasets, and graphics
- If this is the first time you are customizing your Public Kiosk groups or datasets, it is necessary to transfer the default kiosk playlist files to your SOS machine from the kiosk machine using the controls in the FTP tab of the Admin UI. It is important to note that this step should only be done the first time as a starting point for you to make your changes and will not be needed again.
- Decide how you will be editing the kiosk text files. Currently the recommended approach is to use a standard text editor such as vim or gedit. In the future you may be able to use other tools such as the Visual Playlist Editor to do your edits.
- Edit the
kiosk.sos
file.- You can change the value of the
icons
property if you'd like to replace the NOAA logo with one of your own. For best results, use a size similar to the NOAA logo's dimensions, which is 260x260 pixels. Copy your logo image file into the/shared/sos/kiosk/images/
directory and change theicons
value to match its path. - Edit, remove, or add
include
lines to the dataset groups you plan to use in the kiosk. Eachinclude
line refers to a group playlist that will appear in the public UI represented with a rectangular group button. The groups will appear in the kiosk (in Component #2) in the same order (top-to-bottom) as they are listed in thekiosk.sos
file.
- You can change the value of the
- Create new and/or edit existing groups.
- To create a new group, start by copying an existing group playlist file to a new name. The filename stem (e.g.,
air
forair.sos
) will be used as the group name in the kiosk. - For each group playlist, edit the value of the
icons
property if you wish to change the image for that group's button in the public UI. There are a number of image files you may choose to use located in/shared/sos/kiosk/images/groups/
. You may also create your own, but any images you use should have pixel dimensions about 500x417 and have empty space at the bottom for where the group name will be displayed. We also suggest that you copy your image files into the/shared/sos/kiosk/images/groups/
directory. - For each group playlist, add, remove, or modify
include
lines for each dataset you plan to use in the kiosk. Eachinclude
line refers to a dataset that will appear in the public UI represented with a circular thumbnail button. The datasets will appear in the kiosk (in Component #3) in the same order (left-to-right) as they are listed in the group files. - The sphere frame image that is displayed on the trackball control (in Component #6) for each dataset listed by an
include
line is usually derived directly from the dataset's image data itself, but there are a number of different ways that this image may be generated for use in the kiosk. Here are the available options in priority order of precedence:- If the
icons
keyword is set immediately following the dataset'sinclude
line in the group playlist, the trackball image will be set to the file path for any existing image file anywhere on the SOS machine. This option overrides any other source for the trackball image. Note that this is not the standard use of theicons
keyword in an SOS dataset playlist. For example: - For a movie file or directory of images, if the
stopframe
keyword is set immediately following the dataset'sinclude
line in the group playlist, the trackball image is extracted using the frame index specified. This keyword is ignored for a single frame image dataset. Note that this is not the standard use of thestopframe
keyword in an SOS dataset playlist. For example: - If there is a
sphere_frame .jpg or .png or.tiff
file located in the dataset'smedia
sub-directory (where the thumbnails are located), that will be used as the trackball image. NOAA supplies these as part of some datasets and any site may specify these files for their own datasets installed under the/shared/sos/media/site-custom
directory. - The default option is to use the image itself as the trackball for single frame datasets or by extracting the middle frame number as the index into the dataset's movie file or directory of images. In the latter case, for example, if a dataset has 200 frames, then frame 100 would be used to generate the trackball image.
include = /shared/sos/media/land/blue_marble/blue_marble/playlist.sos
icons = /home/sos/my_images/my_sphere_frame.jpginclude = /shared/sos/media/extras/frozen/playlist.sos
stopframe = 50 - If the
- There is one special group playlist named
overlays.sos
that may also be modified. This group is not listed inkiosk.sos
and does not have its own group image.overlays.sos
is used to specify the overlay layers that may be displayed on top of the regular datasets in SOS. As with the other groups, the datasets inoverlays.sos
appear in the kiosk in the same order as they are listed, except that overlays are shown top-to-bottom in the Overlays part of the public UI (in Component #4).
- To create a new group, start by copying an existing group playlist file to a new name. The filename stem (e.g.,
- Test your kiosk playlists on SOS with the File > Open Playlist menu item in the SOS Stream GUI, by loading the file
/shared/sos/kiosk/playlist/kiosk.sos
. Check for any dataset loading errors that indicate invalid include paths to the datasets you selected and correct them in the group playlists. - Verify that the directory
/shared/sos/kiosk
exists on your SOS system. If it doesn't, you can use the FTP tab of the Admin UI to transfer the default kiosk-related files from the kiosk to the SOS machine. You may also need to install and configure a simple FTP server on the SOS machine to handle the FTP file transfers between the two systems. See Appendix B for instructions on how to set up your FTP server. - Run the media2kiosk command line utility in a terminal window (it is located in the
/shared/sos/bin
directory of your SOS installation). This program automatically generates the file hierarchy used by the kiosk for groups and datasets. The options formedia2kiosk
are described in Appendix C. It automatically names the groups after the playlist filenames used to define them, such asair
for the group playlist/shared/sos/kiosk/playlists/groups/air.sos
. It also generates files the kiosk uses to show each dataset in the public UI (Appendix A has a full description of the kiosk file hierarchy). By default, the dataset names and descriptions are obtained from the SOS Data Catalog. The descriptions tend to be longer than desirable for a kiosk user, so there is a way to replace those with your own text. This is done with the same approach as for translating English to other languages, which is covered in the next section. - Transfer the kiosk dataset and group file hierarchy using the controls in the FTP tab of the Admin UI.
- Restart the kiosk software (using the desktop or from the Start menu) and verify that you are satisfied with how your changes appear in the public UI, including group names and button images and dataset names, descriptions, and button images. Test the kiosk with SOS to make sure all the datasets load and display properly.
- Repeat these steps until the kiosk is configured the way you want it.
Localization/Translations to Non-English Languages
The term localization refers to translating text into another language, with possible variations for a particular country or region. A locale is defined as xx_YY, where xx is the ISO 639-1 language code and YY is the ISO 3166 country or region code. The default locale is en_US, which is English in the United States.
In the Public Kiosk, translations are created and edited in several different ways depending on which part of the kiosk is being localized.
Translations made on the Kiosk machine
- Public UI text translations are created and edited using the Language tab in the Admin UI on the Windows kiosk machine.
- Administration UI text translations are made using a set of utilities run on the Windows kiosk machine. This is a more advanced localization activity that may require assistance from the SOS team. Steps to perform a translation of the Admin UI are described in the Admin UI Translations section of the SOS Translation Manual.
Translations made on the SOS machine
- Dataset names and descriptions are translated using the
SOS Data Catalog and playlists as described in the section. Kiosk Dataset Translations of the SOS Translation Manual.
- Group names are translated using playlists as described
in the Group Name Translations section SOS Translation Manual.
Appendix A: The Kiosk File Structure
This appendix is a reference that describes the underlying file hierarchy used in the Public Kiosk and its user interface. The Public Kiosk's appearance and operations are driven entirely by a local file structure in combination with SOS Automation Control Protocol made from the kiosk to the SOS machine. All media used in the kiosk software is locally resident and set up in advance.
Most of the kiosk files are autogenerated on the SOS machine using the media2kiosk utility found in the bin directory of the SOS software installation. This utility must be run from the command line. There are also some files that must be configured directly on the kiosk.
The files structure described below is relative to the kiosk root directory, which is /shared/sos/kiosk
on the SOS machine and C:\shared\sos\kiosk
on the kiosk machine.
Directories and files required only on the kiosk machine
These files are edited on the Kiosk and are not used on the SOS machine:config\ |
UI settings directory |
settings.txt |
UI properties |
logo.png |
Image in Kiosk title area (upper left corner) |
en_US.txt |
Title and label text in English / United States |
xx_YY.txt |
Title and label text in xx language / YY country |
admin\ |
Admin UI translations directory |
en_US.ts |
Admin UI interface elements for US English in text (editable) |
en_US.qm |
Admin UI interface elements for US English in binary (used by kiosk software) |
xx_YY.ts |
Admin UI interface elements for xx language / YY country in text (editable) |
xx_YY.qm |
Admin UI interface elements for xx language / YY country in binary (used by kiosk software) |
info \ |
Info text directory |
en_US.txt |
SOS info and kiosk instructions in US English |
xx_YY.txt |
SOS info and kiosk instructions in xx/YY locale |
resource\ |
Control button image directory |
buttonA.png |
Control button image (png) |
buttonB.jpg |
Control button image (jpeg) |
... |
|
Directories and files required only on the SOS machine
These files are used as input to themedia2kiosk
utility and are not used directly on the kiosk:
images/ |
Images directory |
groups/ |
Group images directory |
GroupA.jpg |
GroupA button image (jpeg) |
GroupB.png |
GroupB button image (png) |
... |
|
playlists/ |
Kiosk playlists directory |
kiosk.sos |
a playlist defining the groups in the kiosk |
groups/ |
Group playlists directory |
overlays.sos |
playlist of the overlays in the Overlays group |
GroupA.sos |
playlist of the datasets in GroupA |
GroupB.sos |
playlist of the datasets in GroupB |
...
|
|
locale/ |
Media translation playlists directory |
datasets/
|
Dataset translation playlists directory |
en_US.sos
|
dataset names/descriptions playlist in US English |
xx_YY.sos |
dataset names/descriptions playlist in xx language/YY country |
groups/
|
Group translation playlists directory |
en_US.sos
|
group names playlist in English / United States |
xx_YY.sos
|
group names playlist in xx language / YY country
|
Directories and files generated on the SOS machine by the media2kiosk
utility
These files must be transferred to the kiosk machine:
groups/ |
Derived directory for groups |
groups.txt |
listing of all the groups in the kiosk |
GroupA/ |
Derived directory for GroupA |
datasets.txt |
listing of the datasets in GroupA |
group.png | .jpg |
image on the group button (png or jpeg) |
en_US.txt |
group name in English / United States |
xx_YY.txt |
group name in xx language / YY country |
GroupB/ |
... |
datasets.txt |
|
group.png | .jpg |
|
en_US.txt |
|
xx_YY.txt |
|
… | |
overlays/ |
... |
datasets.txt |
|
en_US.txt |
|
xx_YY.txt |
|
datasets/
|
Derived directory for datasets |
ID_#####/playlist/ |
Derived directory for dataset with ID ##### |
thumbnail.jpg |
image on the dataset button |
properties.txt |
dataset properties used by the kiosk |
sphere.png | .jpg |
dataset image shown in the trackball sphere (png or jpeg)
|
en_US.txt |
dataset name/description in English / United States |
xx_YY.txt |
dataset name in xx language / YY country |
ID_#####/playlist_xyz/ |
Derived directory for dataset variation xyz with ID ##### |
thumbnail.jpg |
...
|
properties.txt |
|
sphere.png | .jpg |
|
en_US.txt |
|
xx_YY.txt |
|
… |
|
Appendix B: Setting Up File Transfers Between the SOS Machine and Public Kiosk
File transfer between the SOS machine and the kiosk is not trivial since these two machines use very different operating systems, Ubuntu Linux and Microsoft Windows, respectively. Beginning with version 5.1, the kiosk software supports a direct transfer between the two systems from the FTP tab in the Administration UI. This functionality uses the industry standard File Transfer Protocol (FTP) software. On the SOS machine, the very secure FTP daemon (vsftpd) server can be installed using the normal Ubuntu apt-get commands and by editing a few configuration files.
To install vsftpd, follow these steps:
- Open a terminal window using the Terminal application
- Install the FTP server software:
- Edit the FTP configuration file with a Linux text editor, usually one of these options: If you're comfortable using a command line editor:
- Locate the following lines, uncomment them as needed by removing the leading # character, and make sure the values are set exactly as follows:
- Add the following line at the end of the file:
local_root=/shared/sos/kiosk
- Save the file and exit the editor.
- Create a file the FTP server will use to authorize the
sos
user to access the/shared/sos/kiosk
directory: - Add the following line:
sos
- Save the file and exit the editor.
- Start up the FTP server:
- Verify that the FTP server is running:
- Create the kiosk root directory if it's not already there:
- You are now ready to transfer files between the kiosk and the SOS machine.
$ sudo apt-get update
$ sudo apt-get install vsftpd
$ sudo vi /etc/vsftpd.confor if you prefer a more visual editor:
$ sudo gedit /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES
$ sudo vi /etc/vsftpd.chroot_list
$ sudo service vsftpd restart
$ ftp localhostIf the FTP server is running, you will see something like this:
Connect to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:sos):
$ mkdir /shared/sos/kiosk
Appendix C: The media2kiosk Utility
The media2kiosk
command-line utility is used in a terminal window on the SOS machine to prepare files for use by the Public Kiosk. This utility resides in the bin
directory of the standard SOS installation, typically /shared/sos/bin
. It is normally used to generate the kiosk file hierarchy as shown in Appendix A. The generated files are then transferred from the SOS machine to the Windows kiosk machine using the FTP tab in the Administration User Interface.
The available options are displayed by running the following at a command prompt:
$ media2kiosk --help
Usage:
--verbose - write timestamps with logged messages (default is no timestamps)
--logging level - set logging level for messages (default is INFO)
Valid level values are: FATAL, ERROR, WARN, INFO, DEBUG, TRACE
--root directory - specify the kiosk root directory (default is /shared/sos/kiosk)
--remove_all - remove all previously generated dataset/group files
--tr_root directory - use a different translations root directory (default is /shared/sos/kiosk/config/admin)
--skip_datasets - skip dataset conversions (use with ts_to_tsv or tsv_to_ts)
--ts_to_tsv - convert Kiosk ts files to tab separated value (tsv) files. Can't combine with tsv_to_ts!
--tsv_to_ts - convert tab separated value (tsv) files to Kiosk ts files. Can't combine with ts_to_tsv!
The most common use of media2kiosk
is to generate the kiosk files that are transferred to the kiosk machine after changing the main group file (/shared/sos/kiosk/playlists/kiosk.sos
, the group playlists under (/shared/sos/kiosk/playlists/groups)
, or translation playlists under (/shared/sos/kiosk/playlists/locale
. Less commonly, media2kiosk
may be run when changes made to the SOS Data Catalog need to be updated in the corresponding kiosk files.
Important Note: It is a good practice to use the --remove_all
option when running media2kiosk
to ensure that all the files are generated correctly with the latest changes. Any hand editing of files made under /shared/sos/kiosk/datasets
or /shared/sos/kiosk/groups
will be overwritten. For that reason we don't recommend doing any file edits in those sub directories. Instead, hand editing should be done in the files under the /shared/sos/kiosk/playlists
directory.
The other options available in media2kiosk
are not routinely used.
--verbose
and--logging
are helpful when troubleshooting problems runningmedia2kiosk
.--root
and--tr_root
are used for developer testing.--ts_to_tsv
,--tsv_to_ts
, and--skip_datasets
are experimental and will become regular features in a future release.
Appendix D: Using a Utility to Automatically Restart the Kiosk
As mentioned in the Installation and Setup section, you may wish to install a separate application that automatically restarts the Public Kiosk if it crashes or a clever kiosk user finds a way to close it intentionally. One free application that does this is called Restart On Crash. It has been successfully used with the Public Kiosk is described in this appendix. Note that there many other Windows restart applications available that may work with the Public Kiosk and NOAA is not specifically endorsing the use of Restart On Crash.
Information about Restart On Crash is at the link Automatically Restart Crashed Or Hanged Applications. Here are the steps to set up Restart On Crash:
- In a web browser, click on the link Download Restart on Crash, which puts the file
RestartOnCrash-v1.4.1.zip
in your Downloads folder (or a different download location, depending on your browser settings). - Double-click on
RestartOnCrash-v1.4.1.zip
to unzip the utility. It does not have an installer and it's easiest to just put theRestartOnCrash.exe
on the Kiosk machine's Windows Desktop. - Select Settings and enter the full path to a log file where crashes will be recorded in the Settings window. There are a few other options for Restart On Crash you can choose, with suggested settings shown in the screenshot.
- Select Add and enter the full path to the Kiosk application (
C:\shared\bin\Kiosk.exe
) in the Add New Application window. There are a few options you can choose on restarting the kiosk when it isn't running, with suggested settings shown in the screenshot. (the example shown is for Edit Applications Settings, which has exactly the same options).
- To turn off Restart On Crash, first open it by right-clicking on its icon in the icon tray (the lower right side of the Windows taskbar), then choosing Show/Hide. In the window that opens, just uncheck the box next to the Application name (
C:\shared\bin\Kiosk.exe
) in the utility's main window. The Status indicated by Disabled means that the kiosk won't be automatically restarted when it's not running. If you check the box again, then Restart On Crash will start monitoring and restarting it when needed.
Note: When the Restart On Crash program is running and you want to close down the kiosk, you will need to bring up the Restart UI and disable the Application (step 5) within the Grace period time which we recommend set to 30 sec. However, even if the kiosk is running, if you have a keyboard you can also use Alt-Tab to bring up the Windows task bar, then right click the icon in the icon tray (right side) to open the UI.