Limelight Interface Architect is a drag and drop tool which comes with all levels of Limelight XE™ that can be used to rapidly design and deploy user interfaces and display walls. The tool provides a palette of controls that can be linked with real world sources provided by a Limelight XE server. The basic controls can be expanded by building custom controls from the basic elements and storing them in the palette for future use. Once the design is complete it can be deployed to a central Limelight XE server which then is accessed by remote display clients that drive the actual user interfaces and display walls. System designers and administrators can maintain user interfaces and display walls even while the system is in operation by updating the master display files. Once a display file is updated a notification is sent to all clients to reload their interfaces so the changes are immediate.
All graphical presentations utilize hardware acceleration to provide the smoothest images that emulate real-world controls. For example, the dial gauge control has optional animation mechanisms to smooth the changes between value updates - exactly like it's real-world analog equivalent. These features allow much cleaner and scalable controls (unlike bitmap based controls).
- Modern "What you see is what you get" (WYSIWYG) drag and drop interface with command ribbon
- Instantly test your interface while in the architect tool by linking your controls to server property values
- Create custom controls from elemental components or modify and save an existing control
- Upload directly to a central command server for deployment
- Over 20 standard controls - many with over 80+ properties to customize the look and feel of the control
- All graphical controls utilize hardware accelerated vector drawing to provide update rates similar to full motion video
- Linking controls to global variables allows computational values to be displayed (via the server's scripting engine)
The Limelight Interfaced Architect application connects to a Limelight XE server but can also be used offline (with some limitations). It uses a very typical user interface complete with a ribbon control to allow easy access to functions and commands. The ribbon is dynamic and certain operations will expose additional ribbon controls to make accessing the properties fast and easy. The ribbon controls have two major themes - light and dark, however the application can be configured to any of over 40 different UI themes via the application main menu (Application Options -> Application Style).
Ribbon Home Tab (Light Theme)
Ribbon Home Tab (Dark Theme)
When Limelight Interface Architect has the focus, moving the mouse over any control and hovering will pop up a help bubble describing the function of the tool or control. Each tool provides a quick means to affect the development user interface components look-and-feel. If you are designing many displays for an organization you can even create a theme using the Theme Editor which will affect the basic color scheme and fonts used universally in the design.
The Limelight Interface Architect user interface (shown below) is divided into several sections. At the top is the control ribbon with many familiar editing functions such as cut, paste and delete along with speed buttons to global properties. There is also a tools section on the ribbon to assist with drawing and linking custom controls. Controls appear in layers, so one control can sit above another. The order can be adjusted using the Bring Forward / To Front or Send Backward / To Back functions.
Below the ribbon are the Displays tree view, drawing display grid that represents the actual display or user interface and the component palette. The Display tree view shows all connected displays (monitors) as well as any remote displays logged into the current server (supported by the Display Manager driver). The display view can be used to select specific controls and alter their properties. You can always click directly on a control while editing, but this feature is useful when changing the properties of a control that is hidden behind another control or currently invisible.
Component controls can either be dragged from the component palette onto the display grid or you can click and place where you wish the control to be located... once placed, they can be dragged around to the correct location. Below the Displays tree view is the Server Objects tree view. This control shows all the objects visible to the current user (based on credentials) of the server where Limelight Interface Architect is logged in. Under the Component palette is the Property Editor. This is used to modify properties of the current selected control or controls. At the bottom is a status bar showing various global states of the tool.
Limelight Interface Architect User Interface
Once a design is complete (or in progress), it can be saved to a display file. Conceptually, display files are used to configure control classes that reside in both the architect tool and the display client. The major difference is that the display client has no means to change or directly configure the controls in the design - it is basically "playing back" the design created by the Limelight Interface Architect application. So once the design is done and uploaded to a master server, any display client with the correct credentials can download it and connect to the underlying hardware or data sources connected by the user interface - but it cannot alter the design.
Building a Display Wall or User Interface
The Limelight XE server product can do many tasks on its own such as analyze video frames and count object, however it is often very important to display or control various aspects of an infrastructure... this was the motivation behind the display client / interface architect products which are included with all versions of Limelight XE including the freeware version. There are a few concepts that first must be understood to be successful in creating a wall display or an individual user console.
The display client / interface architect are nothing but an endpoint to a Limelight XE server. That is, the real software connection to hardware takes place at the server (with notable exceptions which will be discussed). When you drag / drop a control component on the Limelight Interface Architect's display grid, it requires linking to an endpoint on a server to affect the state of real-world hardware. Control components can be setup to locally change properties in other controls which can be extremely useful, but in general the connection follows: Display Grid Control Component - Limelight XE server - Real World Hardware. The drawing below shows connections within a control room and a remote Limelight XE server.
Connection Diagram of Display Clients, Limelight XE Servers and Hardware Devices
Any Limelight XE server can have plug-ins installed to support various hardware such as a Modbus TCP driver for programmable logic controllers or sensors or the video analytics driver for remote IP cameras. This includes local servers (those that reside within the immediate network infrastructure) and remote servers (those located off premises and connected via routers to the Internet). Typically, remote servers will be configured to "report" all their state changes to a "master" server which would reside either as a cloud Virtual Private Server (VPS) or a local machine to the infrastructure. This gives operators a consistent view of the entire system and the state of all connected hardware.
Limelight XE servers can "tunnel" between themselves via a light weight RESTful interface - the API is fully documented and can be used to build additional software that can interface directly with Limelight XE servers. This allows operators to access components that reside in remote computers once this tunnel is established. The tunnels use Digest security and require remote computers to have the correct credentials to allow the connections and the user making remote changes must have the correct level of credentials to issue the changes or updates.