History of Lumo Play, Part 1



Hello there! I'm Chris, Lumo Interactive's CTO. What you're about to read is a retrospective tech-blog about the development of the newest version of our Lumo Play interactive projection software, which launched its latest update this week. To celebrate this achievement, I'll be posting the entire story over a series of blogs in the upcoming weeks.

To start, let's go over some of my personal history with the company.  I got hired by Lumo Interactive in 2015 while I was still finishing up my master's degree in computer science.  My first job here was as a computer vision programmer, building the back-end code used in Po-motion 2.x and Lumo Play 1.x.  Following that I became the lead developer for most of Lumo Play 4.x (version numbers are confusing; read on for an explanation of what happened to Lumo Play 2.x and 3.x).

Thanks in advance for reading this blog post. I hope this gives you some insight into how we do things around here.


The Lumo Play platform has gone through many iterations since launching. Originally, a software platform called Po-motion was released in 2011. Built by a company called PO-MO in Winnipeg, Manitoba, Po-motion broke onto the scene as a low-cost piece of software to make interactive effects using a data projector and a web camera or Microsoft Kinect 360 sensor.

The Po-motion Beta interface, circa 2011

The Po-motion Beta interface, circa 2011

A few years later, PO-MO released the second, and longest running, version of Po-motion: 2.x. This version added support for more hardware, higher-quality games, and new Pro features like playlists and remote content management.

Over the years, Team PO-MO learned a lot. They grew as a business, and the market changed. They learned that the names "PO-MO" and "Po-motion" are terrible for search-engine optimization: "Did you mean 'promotion?'"

We believe in making our software more affordable to buy than it is to crack.

We believe in making our software more affordable to buy than it is to crack.

In 2016 they re-branded the whole company, merged with Lumo Play, (the project I was working on), closed Po-motion, and migrated users over to LumoPlay.com with free, upgraded licenses. No longer were they "PO-MO;" now we were all under the banner of Lumo Interactive. 

Fatherly, an online parenting magazine,  made Lumo Play a recognizable household brand overnight .

Fatherly, an online parenting magazine, made Lumo Play a recognizable household brand overnight.

To coincide with the rebranding, we released Lumo Play v1.x. Under the hood we had a completely rewritten vision system that supported even more cameras (including the new Orbbec Astra line of sensors), and was capable of detecting the direction and speed of movement. We built SDKs for Unity3D and HTML5/WebGL so we could make even better games using the most popular modern game engines.

Lumo Play 1.0 – 3.0


At the time I'm writing this, Lumo Play v1.1.12 (known internally as Lumo Play Complete), is the current live version, and it's served us well. But as all technologies do eventually, it's starting to show its age. More and more of the code that makes Lumo Play work has been moved into a server process running within the .NET framework, leaving only the user interface still delivered via the Adobe AIR runtime.

Because the front end and back end of the software are using two different dev environments, we've been maintaining two inter-dependent applications that communicate with each other over a collection of local TCP and UDP sockets. This leads to higher development costs, unnecessary complexity, and increased vectors for bugs to creep in. It also means our version numbers haven't quite lined up. While the commercially released Lumo Play software has been iterating up from 1.0, the new replacement version has been following different numbering conventions, and has been developing much more quickly because the only users (until now) were all under one roof.

Lumo Play 4.0 Beta

Lumo Play 4.0 Games Interface

Lumo Play 4.0 Games Interface

The time has come to pull the plug on the last of our legacy software. Lumo Play 1.x will be the last public version of the software to rely on the AIR framework. Moving forward, we're embracing the .NET framework, and its open-source cousin in Unity3D.

The new version of Lumo Play is called v4.x out of acknowledgement for all the versions of internal code created over the past few years, and slowly but surely migrating into the commercial software. Versions 2 and 3 were internal platforms, and components were quietly added to Lumo Play Complete as we prepared for the last steps away from AIR. For over 6 months, we've rigorously field tested the upgrades in preparation for the beta launch, and we're so excited to invite you to be one of the first people in the world to try Lumo Play 4.0!

If you're interested in testing the Lumo Play 4.0 Beta, you can learn how to get started here: