The Internet of Things (IoT) is the flavor of the month these days, so we are seeing a lot of buzz about not that much real stuff.
I’ve been doing this kind of stuff for a long, long time now—since before smartphones. (Exhibit A) Back in the day, we had to think carefully about user interfaces, because they were really hard and often required custom hardware.
These days, it has become standard to use mass market smart phones and tablets as the user interface to everything. And I do mean everything.
Clapping on a touchscreen is good idea because they are ubiquitous and cheap and everyone knows how to use them. Unfortunately, touch screen interfaces are pretty icky for many kinds of interaction. IMO, the fact that everyone is used to them means they are the least common denominator, not that they are great design or engineering.
This week I saw a new product that simplifies creating user interfaces [sic] for the Internet of Things. ThingStudio, “Real time user interfaces for the Internet of Things”. “The Internet of Anything: How to Build Mobile Apps for Your DIY Connected Gadgets“.
OK, I’ll bite. What is this, really?
First of all, the IoT in question really is “any device using MQQT”. MQQT is a protocol for devices to communicate with each other, promulgated by IBM among others. Technologically, MQQT is old hat. I have seen the same concept many times in the last 20 years. To be clear, it’s a perfectly reasonable technology, but no points will be awarded for originality (no matter what the marketing may say).
This kind of pub/sub system almost certainly won’t be terribly useful for real IoT for many fundamental reasons. We’ll start with the term “real time”, which in context really means “low latency” which really means “sub-second” communications. This amount of latency is OK for some things (e.g., IoT doorlocks and porchlights) but impossibly slow for others (e.g., biometric sampling or remote piloting).
The protocol uses standard network technology, so there will also be questions about scalability (if everything is on the network, that is a lot of things yammering at the same time) and security.
Quibbles aside, the really, really, really good things about MQQT or equivalent are standardization and open APIs. Getting a device or an app into the game is pretty simple as long as everyone is doing MQQT. (Though there is still the challenge of semantic interoperability, see this and this.) And you don’t have to negotiate with a company or buy their software in order to use your own device in your own house.
Basically ThingStudio is a simple GUI toolkit with simple support for MQQT. “You can create dynamic, real-time UI’s for the Internet of Things using only HTML based templates.” The HTML GUI part is scarcely original, we’ve had them for years. But this toolkit should make it even easier to slap a touchscreen onto a bunch of MQQT enabled devices. Yay!
While MQQT doesn’t specifically limit the geographic spread of devices, ThingStudio is designed for the crucial case of “home automation”, where all the devices are isolated in single local network. Basically, it helps you set up and control your own local ‘cloud’ of devices. Aside from the fact that this is what we really mean to do for home automation, this architecture is very beneficial for security and privacy, and also improves latency and scaling issues.
ThingStudio is touted as “The Internet of Things, the way it should be”. Well, I don’t know about that.
First, a lot of the IoT is supposed to be device-to-device communication, which shouldn’t have a touchscreen involved except for administration.
And second, the IoT is really your whole environment. The interface should be a “walk in”, whole body interface. A tiny touchscreen is just not the right modality, IMO.
I don’t have a lot of experience with this toolkit (sorry, I don’t have any MQQT devices lying around). But the examples on line aren’t really that great, just basic data and buttons. Little more than a control panel. Maybe better than nothing, but barely so. Certainly not the last word on “the way it should be”.
There is plenty of room for much, much better toolkits. The fact is, we don’t really know what a good interface to an IoT environment should be. ThingStudio should inspire people to experiment, and that’s a great idea.