Building a Better UI for an Open-Source IoT Platform

In just two months, our engineers worked with the founders of NervesHub to make major improvements to the NervesHub UI and implement cost-saving delta firmware updates.

Client

NervesHub

IoT Services

Software Engineering, Product Design

Project Timeline

2 months

Tech Stack

Nerves, NervesHub, Elixir, Phoenix

Since Very was first founded, we’re been huge supporters of open-source tools and communities. With speed and quality as two of our biggest measures of success for our clients, open-source tools allow us to access the most cutting-edge technology, ramp up quickly on projects, and stay cost-efficient. 

Over the years, we’ve set aside dedicated time for our engineers to contribute to open-source projects and documentation, and we’ve also sponsored open-source initiatives at the company level. Most recently, we’ve also invested valuable engineering resources into NervesHub, an open-source IoT platform built with Nerves and Elixir. 

In just two months, our engineers worked with the founders of NervesHub to make major improvements to the NervesHub UI and implement cost-saving delta firmware updates.

mockup-of-an-ipad-pro-against-a-transparent-background-23618-1

The Challenge

NervesHub has long been Very’s tool of choice when it comes to managing automated OTA firmware updates across fleets of IoT devices. NervesHub is secure and extensible, supports industry-standard authentication, and enables seamless test-driven development. 

However, the NervesHub UI had room for improvement. In addition to a lack of a consistent, engaging look-and-feel, the interface didn’t make it clear what users were supposed to do when they logged in. Status indicators for devices often caused confusion, and users with large numbers of devices were unable to effectively filter by relevant fields. 

27-inch-imac-2011-1

 

The Process

As in all of our client projects, we began the NervesHub project with a Design Sprint where we asked lots of in-depth questions about the goals NervesHub users are trying to achieve. We conducted interviews with companies already using NervesHub to understand what they liked, what they didn’t like, and what they’d like to see added to the product. 

From there, we mapped out the features that were most critical to include in our minimum viable product (MVP), which included delta updates (which reduce firmware update file size) and the ability to filter devices in a way that makes sense for users’ workflows. 

Then, we got to work on mapping out the user journeys, designing the interface in an intuitive way, and engineering the solution. Our tech stack included Nerves, NervesHub, Elixir, and the Phoenix framework.

Delta firmware updates for NervesHub are a game-changer. This work wouldn’t have been possible without Very.”

Frank Hunleth

CO-AUTHOR, NERVES PROJECT

Additionally, deploying firmware updates could quickly get expensive because of the size of the files being transmitted. Transferring 300MB for an update on a desktop computer running on a local network might not be a big deal, but for IoT devices running on cellular networks in the field, that same update would cost $120 at $.40/MB.

When you multiply those costs across your entire fleet, it’s not hard to see why IoT firmware is so often neglected. NervesHub needed a way to minimize the data being transmitted via OTA firmware updates so that users could keep their devices secure without ratcheting up costs.

Delta firmware updates resulted in...

95%

COST REDUCTION

Delta updates compare two binary files and only update the pieces of the firmware that changed, consuming less bandwidth every time. Now, with NervesHub, companies can reduce the size — and cost — of their over-the-air firmware updates by up to 95%.

The Results

In just two months, we delivered a totally redesigned UI for NervesHub that users are already saying feels more intuitive for the tasks they’re trying to accomplish with the product. 

The most valuable change, particularly for users with large fleets of IoT devices, is the addition of delta firmware updates, which means that NervesHub users now only have to send the parts of their firmware code that changed during an update to their devices, instead of duplicating information over the wire. This capability will allow companies with large fleets of IoT devices to reduce the costs of firmware updates by up to 95%. 

On top of the costs savings, management of those device fleets has been further simplified in the new UI with the ability to filter devices by:

  • Device ID
  • Device health (quarantined vs. non-quarantined)
  • Device connection (connected to the network vs. disconnected)
  • Device firmware version

Both the users and the NervesHub founders are happy with the resulting product.

“Delta firmware updates for NervesHub are a game-changer,” says Frank Hunleth, co-author of The Nerves Project. “This work wouldn’t have been possible without Very.”

Tell Us About Your Next Development Project

Get inspired

Discover how we deliver results for our customers.

FIND OUT MORE