Scala in Malvern, PA offers their digital signage software which provides Designer for content design, Content Manager for content organization and control, and Player for content viewing. Notably the software supports a wide array of digital signage including touchscreen kiosks and service for direct customer engagement and interaction.
N/A
XhibitSignage
Score 8.0 out of 10
N/A
XhibitSignage from Mvix Digital Signage in Sterling, VA is a cloud-based content creation and distribution platform designed to support a network of illustrative and interactive displays, billboards, video walls and kiosks. Mvix also supplies hardware appliances to support digital signage networks with always-on functionaliy, and other features.
If you are in the data science world, Scala is the best language to work with Spark, the defacto data science data store. I think that is really the main likely reason I would ever recommend Scala. Another reason is if you already have a team of programmers familiar with functional programming, e.g. they all have years of Haskell experience. In that case, I definitely think Scala is a superior and faster-growing language than Haskell and that picking up Scala after Haskell should be quick.
Large organizations can really take advantage of their ability to create playlists, schedules, and zones for digital signs. So if you have a lot of digital content you want to display across many screens it is really well suited. Even small organizations, like us, can really benefit! Their pricing plans are flexible and they're willing to work with you to strike a deal. Whether that means extending a contact out longer than usual or dropping some features you don't necessarily need, their sales team is great.
Compatibility with Java: if you are switching off of Java onto a new language, one reason to pick Scala is that it is about 99% compatible with Java, so any Java libraries or code you were using before can be called from Scala (not vice-versa though).
Great built-in features for managing concurrency (e.g. Futures, Actors, and Akka). Making the most of every single thread on the machines your Scala code is running on is much easier and safer than doing it with Java. Scala abstracts away thread pools and threads quite well with Futures. I wouldn't say Futures are easy to learn though....but they are definitely safer to use than pure threads.
Null-pointer safety: In Scala, null pointers are rare because most libraries pass around a class called Option when whatever you are referencing could possibly be null. Options are first-class and the functional nature of Scala combined with Options means you can almost always avoid referencing a null directly using Option.map or Option.flatMap (see here for what they do https://www.scala-lang.org/api/current/scala/Option.html). That means you'll almost never encounter another null-pointer exception unless you do something quite stupid and avoidable. Java has Options for helping with this now, but it's not widely used and not nearly as powerful.
One major flaw can be the installation of their software on various applications. The documentation they had was good but didn't always work, at least in our case on Google Chromeboxes but they helped to resolve any issues.
Support case creation to resolution time span occasionally can take longer than we'd like.
The Scala community is still pretty active and friendly. Martin Odersky, the creator Scala, and his team are sill quite passionate and gone above-and-beyond to fix bugs and address the need for more features. They also have a company called Lightbend that will help you integrate Scala into your engineering stack. I have heard mixed things about them but never worked with them myself so take what I say with a grain of salt.
We actually didn't test very many other signage companies, we really liked Xhibit and the pricing fit our budget for what we needed! We left Rise Vision because the software felt old and clunky and the functionality just wasn't there. We wanted to upgrade, not just pay more money for an added software package on top of something we already we're in love with.