NOAA SOS Public Kiosk

Introduction

The NOAA SOS Public Kiosk (“NOAA Kiosk”) software, is a new product beginning 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 for SOS such as the Bishop Museum’s kiosk. The motivation for building the NOAA 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 NOAA Kiosk runs on Microsoft Windows, but was designed to be able to portable to other types of computers such as Linux and Mac OSX (should there be sufficient demand for those platforms). The NOAA Kiosk is fully supported by its NOAA software developers and is included as part of the normal SOS assistance provided at sos.gsd@noaa.gov. Suggestions for new features and submissions of bug reports is highly encouraged to keep improving the NOAA Kiosk into the future.

Overview

The NOAA 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 Administration Options section.

Public User Interface

The public UI is shown in the following screenshot.


These are the major components of the public UI with their relative locations:

  • Title Area - at the top. This includes a logo graphic at the left, title and subtitle text, and information button (“i” symbol), and a group of language buttons. The language buttons transform the language of the UI to the selected choice. The languages are preselected by the venue (see the Localization 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 with the venue’s needs.
  • 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, but can be changed to fit with the venue’s needs.

  • 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 NOAA 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 arrows next to used to rotate the sphere (don’t tap the arrow buttons, slide your finger along the arrows to rotate). Below the sphere are buttons to reset the sphere, play or pause it, turn rotation on/off (for animations), step one frame backward/forward, and a frame slider.

  • Administration Button - lower right corner. This button is used to access the administration controls. It includes the ability to lock the kiosk UI when a presenter is using the iPad controller.

How to Use the Kiosk

This is the basic approach to follow when using the NOAA Kiosk:

  1. Select a Group and view the datasets that appear.
  2. Select a Dataset and watch it appear on SOS and in the trackball controller.
  3. Read about the selected dataset in the Information Box
  4. Use the Sphere Controls to move the sphere and change which frames appear.
  5. Select one or more Overlays to appear on top of the dataset
  6. Repeat these steps as long as desired.

Other possible things a user may wish to do:

  • Use the Information Button to learn more about SOS or how to use the kiosk
  • Use a language button to select a different language for the Public UI

Required Equipment

The NOAA Kiosk software runs on a PC running Microsoft Windows. It is officially supported on Windows 7 and 8, but may also run okay on Windows 10 or XP. The User Interface scales automatically for different screen sizes, including both 4:3 and 16:9 ratios. It requires a touch screen, which can be separate from the computer or in an all-in-one configuration. The touch screen works best when mounted either in a kiosk housing near the sphere or mounted to the railing that surrounds it. The kiosk PC must be on the same network as the SOS machine, either directly connected with ethernet or by Wi-Fi.

For more specific recommendations pertaining to your particular venue, you can contact NOAA SOS support at sos.gsd@noaa.gov.

Installation and Setup

The NOAA Kiosk software is available to all current SOS customers at no cost upon request by e-mailing NOAA SOS support at sos.gsd@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 and approximately 80MB of disk space is required for the software and datafiles. Once installed, the hostname or IP address of the SOS machine must be set correctly as described in the Administration Options section.

Configuring Kiosk Settings

The NOAA Kiosk has default settings that will work well for many SOS sites. There are a number of ways to customize the kiosk to suit the needs of a particular venue:

  • Basic Settings using the Admin UI
  • Text settings in the Public UI
  • Datasets and Groups Configuration
  • Localization to Non-English Languages

Each of these of configurations is described in a separate section below. The underlying file structure the NOAA kiosk is fully described for reference in Appendix A.

Basic Settings using the Admin UI

The NOAA Kiosk is highly configurable using the Admin UI, which is launched by pressing the gear icon in the lower right corner of the Public UI. A numeric keypad appears to enter a 4 digit passcode (the default is 1234, which should be changed!). The Admin UI has three tabs as follows:

  1. Configuration Tab

    This control is used to set the position of the Kiosk relative to the SOS origin. Setting the position ensures that the trackball image on the Public UI matches what the user sees standing in front of the large sphere. These are steps to this process:

    • Press the Ready button
    • Rotate the small sphere until it looks like the actual sphere in front of the kiosk
    • Press the Set button

    Normally this operation is only required once when the NOAA Kiosk is first set up.

  2. Properties Tab

    This tab presents a table of kiosk properties and controls to change their settings. Colors are set using a popup color chooser, numbers are set using a graphical numeric keypad, and text is set using a graphical keyboard.

    • autoplay: similar to SOS Autorun mode, this controls the automatic behavior for playing datasets in the kiosk. The value is chosen with a graphical numeric keypad.
      • 0 - off: manual mode only
      • 1 - on: cycles through all the datasets in the current Group
      • 2 - on: cycles randomly through all the datasets in the kiosk

      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 resume after a length of time specified by the timeout property unless interrupted again.

      • background: color of the main area of the kiosk background.  Default is black.
      • banner_background: color of the Title Area of the kiosk background.  Default is black.
      • banner_fontcolor: color of the text in the Title Area of the kiosk.  Default is white.
      • circlecolor: color of the border drawn around the Dataset and Overlay circular buttons.  Default is gray.
      • content_fontsize: size of the text in the Information Box.  Default is 18.
      • dataset_buttons: options for showing text and/or an image for Datasets. In this version of the kiosk, both are always used (this property is for future use)
      • duration: length of time in seconds that a dataset will be displayed when autoplay is turned on before switching to the next dataset.  Default is 180.
      • fontcolor: color of the text in the main area of the kiosk.  Default is white.
      • group_buttons: options for showing text and/or an image for Groups. In this version of the kiosk, both are always used (this property is for future use)
      • kiosk_server: name or IP address of the SOS machine (typically something like sos1).  The default value 127.0.0.1 will not work and must be changed.
      • locale_default: localization string for the language the kiosk starts in. Default is en_US, which is English in the US. The localization string uses the ISO 639-1 two letter code for language an underscore (“_”) and the ISO 3166 the country.
      • locale_options: comma separated list of localization strings for the languages supported in the kiosk. It must include the locale_default string in the list.  Default is en_US.  As an 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.
      • nowcolor: color of the border drawn around the currently selected Group, Dataset, and Overlay buttons.  Default is yellow.
      • password: 4-digit passcode to open the Admin UI.  The default is 1234 and should be changed to a different value that is less easily guessed.
      • timeout: length of time in seconds after autoplay is interrupted before the autoplay resumes.  Default is 180.
  3. Function Tab

    The function tab has buttons to Exit the kiosk and Lock Screen. The latter is used to keep the NOAA Kiosk from being accessed and interacting with SOS during a presentation with an iPad controller or to prevent autoplay from being interrupted.

Text Settings in the Public UI

The NOAA Kiosk has a few UI settings that are not currently settable using the Admin UI. Most are text files that can be edited (or created) using the standard Windows notepad program. The file naming shown below is required.

The following files are all located in the C:\shared\sos\kiosk\config directory:

  • logo.png: an image to display in the upper left of the UI (the NOAA logo is default).
  • en_US.txt: text for title, subtitle, dataset label, and overlays label. These are in the English / United States locale.
  • # NOAA SOS Kiosk
    # User Interface text (English)

    title = NOAA Science On a Sphere®
    subtitle = Explore the Earth and the Solar System
    dataset = Now Playing:
    overlays = Overlays:
  • xx_YY.txt: text for title, subtitle, dataset label, and overlays label. These are in xx language / YY country codes (see the Localization section for more information). Examples are es_MX.txt for Mexican Spanish and zh_TW.txt for Chinese in Taiwan.
  • info\en_US.txt: text that describes SOS and kiosk instructions in the English / United States locale.
  • info\en_US.txt: text that describes SOS and kiosk instructions in the xx language / YY country codes (see the Localization section for more information). Examples are es_MX.txt for Mexican Spanish and zh_TW.txt for Chinese in Taiwan.

Group and Dataset Configuration

The default Groups and Datasets provided with the NOAA Kiosk setup may work well for a venue, but are easily changed to better suit the intended educational purpose. The NOAA Kiosk defines which groups and datasets are displayed by using standard SOS playlists that reside under /shared/sos/kiosk/playlists on the SOS machine. They are used in a hierarchical fashion as follows

  • kiosk.sos: this playlist includes all the playlists that define each group. The order they appear in the kiosk.sos playlist is how they appear in the kiosk. Below is the default kiosk.sos file. To make changes to which groups appear in the kiosk and their order, just edit this file using a standard text editor (e.g., vim or gedit).
    # NOAA SOS Kiosk

    # Kiosk logo: uncomment to copy the following image to /shared/sos/kiosk/config/logo.png
    # icons = /shared/sos/kiosk/images/noaa_logo.png

    # Kiosk ordered group playlists

    # popular group
    include = /shared/sos/kiosk/playlists/groups/popular.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.sos
  • groups: the groups directory includes all the group playlists included in kiosk.sos. Each group playlist includes the datasets that appear in the kiosk when that group’s button is pressed. Here is part of the land.sos group playlist:

    # NOAA SOS Kiosk
    # Ordered Datasets for Display on the Sphere

    # Group: land
    icons = /shared/sos/kiosk/images/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.sos

    Note that the icons playlist keyword specifies the image used for that group’s button in the kiosk. This differs from how this keyword is used in SOS.

Once the group playlists are all edited, they can be tested by loading them in SOS by selecting /shared/sos/kiosk/playlist/kiosk.sos in the SOS Stream GUI and checking to see if there are any errors. The next step is to run the media2kiosk utility, which is located in the bin directory of the SOS installation, in a terminal window. This program automatically generates the file hierarchy used by the kiosk for groups and datasets. This utility will automatically name the groups after the playlist filenames used to define them.

Once the kiosk’s dataset and group file hierarchy is generated by media2kiosk , it is necessary to transfer these files over to the kiosk machine. The kiosk software does not currently do this transfer, but there are a number of alternatives to choose from. Probably the easiest way is to just copy the datasets and groups directories (and their included subdirectories and files) on the SOS machine to an ordinary USB flash drive. Then copy the files from there to the Windows kiosk.

There are also a number of freely available simple FTP utilities that can do the copy electronically. To do this, a simple FTP server is installed on the SOS machine and an FTP client on the Windows kiosk. Appendix B describes how to install the FTP server and client to do the file transfer between the two systems.

Note that 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.

Localization to Non-English Languages

The term localization refers to translating text into another language, with possible variations for a particular country. The NOAA Kiosk uses playlists to define translations for dataset names and descriptions. This follows the approach used more generally in SOS, which is described in the SOS Translations Guide. The same dataset translation playlists can be used for both the Kiosk and SOS Data Catalog, although they are imported in different ways. In the NOAA Kiosk, playlists are also used to translate the names of the Groups.

Translation playlists reside on the SOS machine under the /shared/sos/kiosk/playlists/locale directory. There are subdirectories for datasets and groups, each of which hold a set of playlists following the naming convention xx_YY.sos, where xx is the ISO-639 language code and YY is the ISO-3166 country code. The default locale is en_US, which is English in the United States.

There are default en_US.sos playlists under both the datasets and groups directories. While these are not technically translations, they do provide a way to override both the default names and descriptions of datasets from the SOS data catalog and the autogenerated group names.

Here is a small part of the en_US.sos playlist for datasets:

# ID 3: Hurricane Season - 2005
include = /shared/sos/media/atmosphere/2005_hurricane/grayir/playlist.sos
rename = Hurricane Season - 2005
description = {{The 2005 hurricane season shattered records that have stood for decades - most named storms, most hurricanes and most category five storms. With 28 named storms, 15 hurricanes, seven major hurricanes, and four category 5 hurricanes, the 2005 hurricane season certainly blew the records away. It was also the first season in which four major hurricanes hit the U.S.. Even with all these records, the 2005 hurricane season will arguably be most remembered for Hurricane Katrina, which devastated parts of Mississippi, Louisiana and in particular, New Orleans.

This dataset is a gray-scale infrared satellite image available from June 1, 2005 through January 3, 2006.}}

# ID 5: Hurricane Tracks: Cumulative - 1950 - 2005
include = /shared/sos/media/atmosphere/hurricane_tracks/cumulative/playlist.sos
rename = Hurricane Tracks: Cumulative - 1950 - 2005
description = {{This dataset shows the paths of all tropical cyclones from 1950 through 2005. Circles represent tropical cyclones, squares represent subtropical cyclones and triangles represent extratropical cyclones. The colors indicate the maximum sustained wind speed with cool colors for slower speeds and warm colors for faster speeds, as indicated by the colorbar. The points are drawn at 6 hour intervals over the life of the storm. When mapped like this, definite patterns in cyclone paths are clear to see. For example, you can see that cyclones typically start near the equator and move away from it toward the poles and they don't cross the equator.}}

The playlist keywords required for each dataset are:

  • include = path to the dataset playlist
  • rename = kiosk name for the dataset
  • description = kiosk description for the dataset (description is a new playlist keyword in SOS 5.0). The description may have multiple lines, but must always be enclosed between {{ and }} characters.

Translations to other languages work exactly the same way, except that the values for rename and description will not be in English.

Groups are translated similarly to datasets, except that there is no description. Here is an example of a Traditional Chinese translation for the kiosk groups in groups/zh_TW.sos:

# popular group
include = /shared/sos/kiosk/playlists/groups/popular.sos
rename = 最受歡迎

# air group
include = /shared/sos/kiosk/playlists/groups/air.sos
rename = 大氣

# water group
include = /shared/sos/kiosk/playlists/groups/water.sos
rename = 水文

# land group
include = /shared/sos/kiosk/playlists/groups/land.sos
rename = 地表

# snow_and_ice group
include = /shared/sos/kiosk/playlists/groups/snow_and_ice.sos
rename = 冰雪

# space group
include = /shared/sos/kiosk/playlists/groups/space.sos
rename = 太空

# people group
include = /shared/sos/kiosk/playlists/groups/people.sos
rename = 人文

Whenever adding or changing the playlists under the locale subdirectory, the media2kiosk utility must be run again to regenerate the updated file hierarchy used by the kiosk for groups and datasets.


Appendix A: The Kiosk File Structure

This appendix is a reference that describes the underlying file hierarchy used to drive the NOAA Kiosk and its user interface. The kiosk software’s appearance and operations are driven entirely by a local file structure in combination with SOS automation interface commands 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.txtUI properties
    logo.png

kiosk title area image (upper left corner)

    en_US.txtTitle and label text in English / United States
    xx_YY.txt

Title and label text in xx language / YY country

info\

Info text directory

    en_US.txt

SOS info and kiosk instructions in US English

    xx_YY.txtSOS info and kiosk instructions in xx/YY locale
resource/Control button image directory
    buttonA.png

Control button image (png)

    buttonB.jpgControl button image (jpeg)


Directories and files required only on the SOS machine

These files are used as input to the media2kiosk utility and are not used on the kiosk:

images/Group images directory
    GroupA.jpgGroupA button image (png)
    GroupB.pngGroupB button image (jpeg)
    ...


playlists/Kiosk playlists directory
    kiosk.sosa playlist defining the groups in the kiosk
    groups/Group playlists directory
        overlays.sosplaylist of the overlays in the Overlays group
        GroupA.sosplaylist of the datasets in GroupA
        GroupB.sosplaylist 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/YY locale
        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.txtlisting of all the groups in the kiosk
    GroupA/Derived directory for GroupA
        datasets.txt listing of the datasets in GroupA
        group.png | .jpgimage on the group button
        en_US.txtgroup name in English / United States
        xx_YY.txtgroup 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 ID #####
        thumbnail.jpgimage on the dataset button
        sphere.png | .jpgdataset image shown in the trackball sphere (png or jpeg)
        en_US.txtdataset name/description in English / United States
        xx_YY.txtdataset name in xx language / YY country
    ID_#####/playlist_variation/ Derived directory for dataset variation ID #####
        thumbnail.jpg ...
        sphere.png | .jpg
        en_US.txt
        xx_YY.txt


Appendix B: Transferring Files Between the SOS Machine and NOAA 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. The kiosk software does not currently support a direct transfer between the two systems, but there are freely available third-party solutions that accomplish this task very well.

An easy way to set up file transfers between these two systems is by installing 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. On the Windows kiosk, two alternatives that have been downloaded, ins tested successfully are the FireFTP plugin for the Firefox web browser and the FileZilla FTP client utility.

FTP Server: vsftpd on Ubuntu 12.04

First, do an update and install the FTP server software:

$ sudo apt-get update
$ sudo apt-get install vsftpd

Next, make the following edits to the FTP configuration file:

$ vi /etc/vsftpd.conf
# line 23: change( disable anonymous )
anonymous_enable=NO

# line 26: uncomment
local_enable=YES

# line 29: uncomment
write_enable=YES

# line 97,98: uncomment ( allow ascii mode transfer )
ascii_upload_enable=YES
ascii_download_enable=YES

# line 120: uncomment ( enable chroot )
chroot_local_user=YES

# line 121: uncomment ( enable chroot list )
chroot_list_enable=YES

# line 123: uncomment ( enable chroot list )
chroot_list_file=/etc/vsftpd.chroot_list

# line 129: uncomment
ls_recurse_enable=YES

# add at the last line
# specify root directory ( if don't specify, users' home directory become FTP home directory)
local_root=/shared/sos/kiosk

Then, edit or create the following FTP users file:

$ vi /etc/vsftpd.chroot_list
# add users you allow to move over their home directory
sos

Lastly, start up the FTP server:

$ service vsftpd restart

FTP Client - Option 1: FireFTP plugin for Firefox on Windows

If the Firefox web browser is not already installed on the kiosk, you can obtain it from www.mozilla.org/firefox. Once Firefox is installed, on the menubar, select Tools > Add-ons > Get Add-ons. Search for FireFTP, locate it in the search results, and click on Install.

Here is a screenshot of FireFTP when connected to an Ubuntu machine (in this example called “cobalt”) running SOS and the vsftpd server:


The Windows files are on the left side and the Linux files are on the right.

FTP Client - Option #2: FileZilla on Windows

Download the FileZilla FTP client software from filezilla-project.org/download.php. Follow the directions to install the software.

Here is a screenshot of FileZilla when connected to an Ubuntu machine (in this example called “cobalt”) running SOS and the vsftpd server:



The Windows files are on the left side and the Linux files are on the right.

Transferring Files from SOS Machine to Kiosk

Using the FTP client of your choice on Windows, you will need to transfer the datasets and groups subdirectories (and their contents) under /shared/sos/kiosk on the FTP server (the SOS machine host) to the C:\shared\sos\kiosk\ folder on the FTP client (the Kiosk machine), replacing or adding to the files already there.

You can immediately use the updated dataset and group files by restarting the kiosk software.