Platform Overview

Basic Terminology

The reader should familiarize with these terms before going into any further reading:

  • Glassomium (or Glassomium client): the binary application that displays content to the screen.
  • Glassomium UI Server (or UI Server): the Ruby program that provides Glassomium with content to display via local web server.
  • Injection: the process of taking HTML/CSS/Javascript code and forcing it into an existing web page at runtime.
  • Glassomium API (or JS API): the set of Javascript functions that can be called within Glassomium, but that will not work on a regular browser.
  • Root directory (or /): the directory containing LICENSE.txt.

Directory structure

On Windows, by default Glassomium's root directory is installed in the %appdata% (X:\Users\<user>\AppData\Roaming) folder. The program files folder only contains the uninstaller files. On Linux there's no installer and the root folder can be placed anywhere.

  • /server is the directory containing the UI Server
  • /bin is the directory containing the Glassomium client
  • /server/WebRoot/apps is the directory where user applications should be placed.
  • /server/Themes is where system layouts are placed.
  • /server/main.rb is the script to run to launch the UI Server (see ruby main.rb –help)
  • /Launcher.sh and /Launcher.bat are scripts for Linux and Windows respectively that will attempt to launch the UI Server and then Glassomium.
  • /server/JS/injectOnLoad.js is Javascript code that will get injected in each window that is displayed on Glassomium after the content of a page has been loaded. This is also the place where the user can explore the JS API available to Glassomium applications.

Launcher scripts

Glassomium has a basic Launcher script (Launcher.bat and Launcher.sh) that allows the user to quickly get a taste for the platform without much configuration. It is however recommended that the user quickly learns how to start and restart the Glassomium client and UI Server separately from the command line. Available options are available by typing:

~/glassomium# ruby server/main.rb --help

And

~/glassomium# bin/Glassomium --help

The UI Server should always be started before Glassomium. Glassomium will fail with an error message if the server is not reachable. Make sure you allow your local firewall to allow the two programs to communicate.