Back when I worked at Apple, one of my jobs was to manage the power budget for the first iPhones. As part of that effort, I benchmarked all the devices I could get my hands on to see how they managed their power use in various operating modes - idle, web browsing, email, that sort of thing.
Even though the on-screen keyboard was still being tweaked, we knew that the iPhone was going to make a great emailing device - but, new emails would take tens of seconds to show up even when “push” was enabled. As an ex-Blackberry owner, I knew the experience should be better - the reason people called them Crackberries was the almost instant delivery of messages that meant you sometimes ended up instant messaging in an email thread.
So why was the Blackberry so fast compared to the iPhone? Both were running on slow 2G networks, but the iPhone had much more RAM and a much much faster processor!
The reason was the architecture: Blackberries relied heavily on the Blackberry Enterprise Server, which sat between the email servers and the handset, dealing with heavy protocols and authentication, whittling down messages to just the basics so they could be sent quickly to the devices in the field. This was why Blackberries were so fast, so light on data usage, and had such long, long battery life.
In comparison, even when an iPhone was told there was a new message waiting, the device had to connect to the remote email server, authenticate, and issue a slew of commands - over a slow, high latency connection - to even know who the new messages were from.
The concept of having a “brain in the cloud”, unencumbered by restrictions like bandwidth and power, really helped the Blackberry shine. Over time, as mobile networks got faster, the speed advantage shrunk but - as any wistful ex-Blackberry owner will attest - the power advantage remained.
What does this have to do with IoT?
In the world of smartphones, evolution is forever upwards; bigger screens, faster processors, faster networks, and bigger and bigger batteries to get through a single day of intensive usage. IoT is different, though; devices may only be touched by a human twice in their life - once during installation and once at the end of their life. Devices need to be able to work within strict power constraints in order for their use cases to be viable - if you need to send someone out to change batteries every year, you might just have wiped out your application's ROI.
Plentiful bandwidth is also not a given for these devices. The appearance of ultra low bandwidth networks such as Sigfox, optimized for devices that send only a handful of bytes a day, shows that a tiny amount of timely data can be enough to build useful applications on. In the world of cellular, Cat-M and NB-IoT are now arriving as the first machine-centric networks, promising long battery life, ubiquitous connectivity and low costs.
The problem is, connecting these low power, low bandwidth things to enterprise applications is painful; you either need to re-engineer the apps to be less profligate with bandwidth and round-trips (and live with the trade-offs you made forever, because complex enterprise projects have a life of their own), or put up with short battery life and excessive bandwidth costs.
There’s a third way, and it’s the solution Electric Imp has been shipping since 2013. It's now available on cellular.
Electric Imp: The Architecture for Cellular IoT
Like Blackberries, imp devices have cloud processing - a tiny virtual server for each device - which is used to deal with the complexities of data integration without placing any burden on the device itself. Not only can this “agent” speak all the common internet protocols - HTTP, MQTT, AMQP - but it’s programmable. Need to fetch a customer identifier from Salesforce before feeding device data into your Azure IoT pipeline for instance, or push copies of device data into three different department’s backends? You can… and it works at scale.
For data that’s going from the cloud to the real world, the agent also helps, stripping out all superfluous information so the device only gets sent what it actually needs to operate. When you’re dealing with networks that charge you by the byte transferred, this is really very useful.
Removing the Barriers to Cellular IoT
Electric Imp’s agent technology is only part of the puzzle, though. Up until now, even so-called integrated cellular IoT services were very much just thin veneers over SIM billing services; any device you had in the field needed to be activated, triggering the monthly billing cycle, you had rules to deal with runaway devices to ensure they didn’t bankrupt you as you slept, and you had to somehow weigh the costs of deploying an OTA OS update vs the risks of being hacked.
Besides all this you had to pick a carrier, deal with complex certifications, and actually find time to implement your application.
When designing impCellular, we did so in the most application-centric way we could; after all, if a customer spends any time working on anything but their application, they’re just pushing out their ship date.
When a customer picks cellular, they want to make their device work everywhere; more coverage is better, so we made impCellular work with the top networks in the US and Europe, seamlessly - you get the superset of all these carrier networks for your device to operate on, without needing to think about the details.
Why do carriers bill monthly fees for devices that aren’t online? Well, people forget to deactivate devices and that’s literally money for nothing. That really didn’t seem fair to us, so we got rid of it. If a device doesn’t connect in a month, you don’t pay. When it comes back, it’s as if it never went away - no activation procedure needed.
What about controlling runaway devices? Pretty much every provider can turn off a device that has used too much data, but only we can leave that device online, but muted, allowing you to remotely diagnose and fix the problem. How? It’s all in our managed architecture. Oh, and you get near real-time minute-by-minute data usage reporting by device or device group.
We also wanted to ensure that - just like our WiFi and Ethernet devices - every device in the field was kept up to date with all the latest security patches and bug fixes. So, that’s included in our service. These updates are automatically pushed OTA to your devices, at our cost.
Lastly, we’ve streamlined certifications to help you get your devices shipped. Whilst no electronic device ever escapes into the world without a little time in an RF lab, we’ve dealt with as much of the expensive, complex testing as we can up front.
We’ve taken a long, hard look at cellular, and reinvented it for IoT. I hope you enjoy shipping it!
Co-Founder & CEO