Solution Space Core

The solution space core modules are a series of libraries and off-the-shelf applications which are re-used throughout many different projects. These components are sold as a closed-source, licensed product. However, to prevent vendor lock-in, the application programmers interface, as well as the various communication protocols are shared with our customers. Solution Space also guarantees the core components with a life time warranty on bugs.

Core Libraries

The libraries, often collectively called the ‘sol-core’, increase software productivity dramatically. The core enables rapid application development, since it provides a comprehensive framework for real-time information exchange, allowing the software engineer to focus on business logic. This is one of the reasons why we do not require a large team of engineers to implement relatively complex systems.
The sol-core has bindings to C++, Python and the .NET framework. Under Linux, the sol-core uses only open-source products, which allows us to guarantee service for as long as is necessary. Under Windows, the sol-core depends on Microsoft .NET, which is free for every Windows installation, but not open-source.

Solution Space Linux (SolLinux)

We maintain a highly trimmed and customized small-footprint distribution of Linux ourselves, for deployment on resource-constrained embedded controllers. Examples are display devices, kiosks, car-park machines etc. These controllers have to run 24×7, and there should be no unwanted popup messages or other unprofessional distracting software events.
When Windows is chosen as the operating system of such a controller, the user is likely to end up with a relatively expensive, virus-prone and potentially unreliable system. Using an of-the-shelf Linux distribution such as Fedora or Suse helps, but most are targeted at desktops and are bulky and difficult to customize. Moreover, window managers such as KDE or Gnome, though perfect for desktop applications, are not meant to be used in stand-alone devices. A controller inside a CCTV camera for example, does not need a window manager, it requires a small footprint Linux with carefully selected packages.

We use OpenEmbedded to maintain our Solution Space Linux distribution. As such, for embedded application, we ensure that we remain in control of every aspect of the software;  there are no blue screens, viruses, ‘upgrade now’, ‘new-hardware-found’ or other unexpected events, and all potential problems can be resolved at any level in the software hierarchy.

Vides

Vides is the screen software used in all our display systems. Vides (pronounced like ‘vee-desk’, meaning ‘you see’ in Latin) runs on the Solution Space Linux distribution (SolLinux).
Vides separates content from presentation. A layout document is an XML file definition, which instructs Vides how information is shown on the screen. A layout contains objects, components, styles and scripts, which define where, how, and, sometimes also which information is to be displayed.
An object may have a data-source associated with it, which identifies where some piece of information is to come from. For example, a data-source can be a record from a database, a piece of data from an XML file, the name of the controller, the current date and time, an RSS feed on the internet, an image on a server, and so on.
The layout allows for a very flexible and maintainable display system. The various display systems we have implemented show the versatility of the product design.

Pinxi

Pinxi (Latin for “I draw”) is a Windows tool used to create and maintain the layout documents used by Vides. Pinxi is also used to deploy the layouts; it uploads them directly to a screen or to a central repository, from where Vides obtains them in a system release.
Layouts are designed graphically; Pinxi provides a wide range of graphical design functionality to assist the designer.

Mimic

Mimic is the status monitoring tool, which visualizes the status of display devices, server hardware, external interfaces and server software modules. It shows status changes as they occur and can be used to troubleshoot problems occurring in the system. It is the graphical command center of the system, the dashboard that reads out the immediate status to the user. Iconic representations of hardware (screens, kiosks, servers, etc.), software (server modules), and external interfaces can be clicked on, and interacted with.