Client Developers

Let's start with the basics: just because your using open protocols to talk to the steward, doesn't mean that your client has to be open source. It can be 100% proprietary. The steward curators don't care!

What we do care about is that client developers will write spectacular clients for home automation. What the steward does is provide a uniform method for accessing information about things and controlling those things. You — as the client developer — don't need to worry about the access protocol, the network technology, the bits or the bytes. What you do need to worry about is picking an automation category and writing the best freakin' application for management.

If you've read the Philosophy section, then you know that we think that the term "home automation" is being tragically misused in the industry. Yes, it's nice to be able to inventory the Home Internet of Things. But that's just "table stakes" (i.e., the minimum cost of entry), or if you prefer the first step of the journey. It is wicked sad that a lot of folks view that as the end game.

The steward curators believe that having connected devices in the home should be frictionless. And that's where the magic comes in, and you, as the client developer, get to make the magic!

The steward is pretty good at detecting devices as they are added to the home, and connecting different devices together in an observe-perform loop. As a client developer, your job is to define a set of tasks that provide real value to the user when multiple devices are present. In steward-speak, we call these clients apprentices, and here are some examples:

And this provides a great segue back to the conversation earlier about friction. Saving energy is good and having Home and Away modes to make that happen is also good. However, using a motion detector to determine Home and Away along with "heuristics" is not-good. Seriously, it's not-good. There are literally a dozen different BLE presence generators out there. The home should know whether anyone's there or not. And it should tell the connected things in the home whether it's Home time or Away time. And that's what the steward does: it enables magic, the magic made by your apprentices for user.

If this seems "obvious" to you, great! It seemed obvious to us as well, which is why we wrote steward and curate the repository: because it was very clear to us that the market didn't get it and still doesn't get it. Fortunately, there's a Google+ community that can provide lots of information and advice. We like talking about magic, and we love making magic happen (the examples above are actually running in the curators' homes).


Next sectionDocumentation