The search for a solution

Down to business though, let’s talk nerd. In the end, that’s what most of you are here for, right? Initially, Goldee had caught my attention while searching for what we thought would make our living complete. Then a promising startup, now perhaps one of the many examples of failed.., well, whatever may cause so many of them to end bottom-up.

For those who do not know what Goldee had to offer; here’s an excerpt of their sales pitch:

“Goldee is an intelligent lighting system interface that is catered to you and your household or office needs. Just switch out your old light switch and replace it with Goldee, remove all old bulbs and add LED lights, and finally, configure the lighting to your whims.”

That sounded interesting enough at least to our ears. We had one very big issue with using just our smart phone for controlling lighting; the ease of use of a light switch is unprecedented. Walking into a room and just flicking the switch at a well known position within that area is a very strong selling point for the once-was light switch and it’s simplicity. Using my phone, I would be forced to always have it on me, grab it, unlock it, open the app responsible for taking care of my lighting, selecting the right room, and switching the lighting therein. If you compare that to a move forgotten by most because it has become so ingrained into our existence, the use of a smartphone suddenly becomes a lot more complicated than you may think.

As such one of our requirements was ease of use. And with ease of use, came for us the necessity of having a ‘controller’ of sorts per room. An easily accessible controller at that, which could mimic the function of a light switch, but would be capable of more than that.

Goldee light controller

Before Goldee went to see its doom, carefully laid out online by the way, one thing made me have sincere doubts about the product. This doubt stemmed from its price point. At roughly 250eu each, you would receive a relatively simple device which was purely suited to the end of setting light scenes and flicking them on or off. Those scenes were certainly a great idea and some of the hardware implementations seemed great. But within that price range there’s a lot more capable devices available on the market in a similar format.

Those devices have wifi, a touchscreen, bluetooth, luminance sensors, microphones, speakers, possibly temperature sensors, pressure sensors, and so on. If you have not concluded this yet, i’m talking about that one device you are probably reading this post on. If not, than that smartphone will probably be hiding in your pocket or ready for action on your desk or someplace similar.

If you compare the plethora of smartphone’s available with the feature set they expose and the price range some of them come in, it’s hard to not make the comparison with simple devices that consist of no more than a very specific user interface on top of overpriced and under powered hardware.

Yes, I said it. Goldee was overpriced. And so are many other solutions that try to be no more than a controller for a single specific part of home living. A thriving example that has not found its demise is Google’s Nest. Yes, their hardware is well thought out and feels magnificent. But still it’s controlling only one part of your housing requirements; HVAC in this case (Heating, ventilation, and air conditioning). What all can a smartphone bring to your life given the right apps? So.., much.., more.

I do realize that new development comes with great cost, which drives the consumer price up of these solutions. Smartphones have a, in tech terms, long history backing them and mass production is a given nowadays.

xkcd #927

This is where, together with the fall of Goldee, I started to lean towards a custom solution. My first inkling would involve a smartphone for each room, placed where you would normally find a light switch. The thought of custom hardware was quickly thrown out because of the complexity and costs involved in getting these to a production ready state. And once again, the competition with existing hardware in the form of smartphone’s which is simply unbeatable.

It was only at this point that I realized that the market of such devices was primarily focused on a single function each. Can you imagine a HVAC controller (Nest), light controller (Goldee), curtain controller (Somfy) and perhaps more per room? That’s mostly what you’re stuck with right now. If you would place them side-by-side, that will cost you quite some space. And what about the costs involved as previously mentioned?

Nest (HVAC), Goldee (lighting)and a Somfy (blinds) controllers side-by-side

Even centralized voice command systems such as Google’s Home or Amazon’s Alexa require these individually systems to command and control all the different items in your house worth automating. They rely on Nest or Goldee to function properly, or rather, completely. And there’s quite a bit to make things complete; lighting and HVAC have been mentioned already, but what about ovens and dish washers which some appliance vendors are providing API’s for nowadays? Or even fridges which take care of your grocery shopping, lawnmowers which you want to kick of only when the time and weather is right, vacuum cleaners which you do not want buzzing about when you’re spending your quiet time at home?

Integration is everything, and having a separate UI/UX for each integration just seemed silly to me. Let alone a separate piece of hardware on top of that.

And so I set out on creating what is currently known as ‘Glow’. A mere project name for the moment being. While designing the architecture I quickly realized the need for several interacting components to come to a feasible solution. The core concept was still the ability to control each room separately from a single controller. Functionality was not to suffer however, the hardware capabilities needed to be ‘exploited’ to their fullest.

All of this is planned to be spread to the open source community no less, thus I found myself taking up a separate challenge of structuring, architecting and documenting these solutions.

If there’s a tldr;, this might as well be it. The solution boils down to three main different components interlocked. Actually there’s more, but these 3 make up the basis for what was to control our tricked out palace.

Glow: a device spider to interact with the various hardware available. Plugins would provide hardware specific interfaces and glow itself would act as an abstraction layer to ensure similar devices from different vendors could be controller in the same way.

Xible: a rule engine which makes setting your rules easy and straightforward, while maintaining a great amount of flexibility.

Wall: a plugin into glow which renders a UI on smartphones which can replace light switches, thermostats, and what not. Wall greatly relies on the capabilities of glow.

So where to start? Wall is the reason i’m conceiving all of this, Xible is the first product to find its way to the public domain, yet it is glow that is driving all integration and where development started.

Finding myself to be a front-end developer, I started with some basic HTML views which would eventually make their way to Wall, the UI residing on the controllers, or smartphones, for each room. Getting these views to actually function quickly required the need of a working back-end, and thus ‘Glow’ was created.

Another shot of a ‘wall’ unit

Thinking of what Goldee provided in terms of scenes, I was highly motivated in bringing a similar solution to Glow, but with much more customizability. A rule engine of sorts was supposed to take control of what each ‘lighting’ scene involved. It was not long before I realized a scene can be so much more than just a means of controlling lighting. What about turning the fireplace on for certain scenes? Closing the curtains if a movie played? There’s a limitless amount of ideas to bring to the table on this one. And so Xible was born.

This story is the first in a series. In the next chapter, I will be talking about automation flexibility in the form of Xible.