OmniAlly
Development of a digital signage platform in Ruby on Rails
1 — About OmniAlly
OmniAlly is a digital signage company from Portland, Oregon. They provide digital signage software, hardware, and service support to their clients. You can see their devices in several hospitals, airports, and hotels across the USA.
2 — The challenge
When Robert, OmniAlly's CEO, contacted us, he had a small prototype of a digital signage device built on a Raspberry Pi device connected to a TV through an RS232 cable. He was able, through the command line, to send commands to the TV and make it change the channel, the volume, mute/unmute, input source, and even turn it on/off.
With this prototype, he envisioned building a platform for media management, starting with photos and videos. The vision was to enable 2-way communications with the device, allowing users to send commands and receive real-time updates for monitoring. The real-time updates would include their power state (on/off), channel settings, volume levels, etc.
There were 3 initial challenges: building a platform for media management, updating the existing prototype to be able to communicate with this platform, and building the communication layer to connect the two ends using an offline-first approach.
"SINAPTIA's services empowered the business to close a deal with a major client—a partnership that's still enduring. They've demonstrated their ability to roll with the punches; they're an agile bunch that can adapt to swift changes in project scope. They're a skilled, professional team."
Robert Sellman | CEO
3 — The solution
The solution consisted in developing 3 independent pieces of software: the dashboard, the device, and the communication layer.
The dashboard is a Ruby on Rails application, with the communcation layer built on top, featuring a REST API and a Websockets server. Initially, the prototype device consisted of a bunch of Python scripts in a Raspberry Pi device, which provided valuable early development insights. However, it required reimplementation to ensure seamless integration with the communication layer.
4 — The outcome
The MVP for the 3 components was a complete success, earning Robert's trust for what was coming next. We developed new features for the dashboard, such as the ability to build complex layouts for displaying several media formats with transitions, RSS, etc., rebuilt the prototype device with more powerful hardware to support this new set of features, and supported the OmniAlly team in building new device types, including a 12 screens video wall.
We can proudly say we have been a key technical partner to OmniAlly since then!
![screenshot of the app](/assets/images/case-studies/omnially/outcome.webp)