Engineering
May 17, 2024

Continuous improvements over-the-air with Viam for Android

Matt Vella
Developer Relations
On this page

We are nearing almost 4 billion active Android devices in the world, a number that is ramping up to over a billion additional devices being added per year. From phones to tablets, vehicles to retail, these devices are ubiquitous and are relied upon by most of us on a daily basis. Typically, capabilities are either custom-built for a single purpose device (like a point-of-sale kiosk), or managed via app store installation (for end-consumer devices). In both cases, a human would update the software (Android APKs) through a manual process, which can be labor intensive and lead to scheduled maintenance windows.

Viam server running on Android devices breaks that paradigm - new capabilities can now be added and managed over-the-air.

Let me paint a scenario. I have an Android-based retail device that uses machine learning models to identify buying patterns in order to make custom recommendations to shoppers. The machine learning models are being iteratively improved as more data is collected.  Perhaps the efficiency of these models is also being improved - so initially these models are running in the cloud, but later are moved on-device. Normally, one would need to create new versions of their Android application and deploy this new application to each Android device.

Updates to all devices rolled out smoothly and securely with one central action

With Viam, updating ML models and even updating where these models are running can be accomplished with no code changes and no app updates. One can instead change the device configuration for the fleet through a secure web-based administrative interface and deploy the changes over the air. So from one day to the next, the retail device can become more effective without any in-person human intervention.

Beyond the iteration of existing capabilities, new capabilities can also be added remotely. Let’s say we now want the retail device to be able to handle sales directly -  the devices now need to be able to plug into physical receipt printers near the store exit. A viam module that contains the logic and API to interface with this printer would be configured centrally in the Viam cloud app by an administrator and rolled out to all devices. If a wireless receipt printer were installed later on, no code changes would be required to the Android app, as the same standard API for receipt printing would be used.

The Viam platform has a number of built-in capabilities, but engineers can create their own modules to extend this functionality. For example, I was recently using an Android tablet to manage the security of an entryway. In order to lock and unlock, I selected a Numato USB relay, which allows Android devices to directly control a lock through serial commands. Reading the Numato documentation and using an Android library that brokers serial commands over USB I was able to create a module using the Viam Java SDK, then deploy it to the registry making it available for use. Now unlocking a door is a single line of code:

await relay.do_command({'on': 1})

Moreover, adding this capability to any Android device running Viam is simply a matter of selecting this module from a drop-down menu.

Over-the-air updates for interoperability and iterative improvements allow Android-based product lifecycles to be accelerated. With billions of Android devices out there, that’s a lot of speed. Want to add Viam to your Android product? Learn more about the benefits here.

twitter iconfacebook iconlinkedin iconreddit icon

Find us at our next event

May 14, 2025
,

AuthCon

In Person
New York
Don't let your toaster order unauthorized parts! The adoption of devices that monitor and automate our world continues to grow at a rapid pace, including mobile robots, smart appliances, cameras & sensors at the edge.
Register now
May 15, 2025
,
6:30-9:00PM

Fireside Chat & Networking Reception

In Person
New York
​Join us for an intimate evening with Viam and Joyful Health. Hear directly from Viam Founder and CEO, Eliot Horowitz, on his entrepreneurial journey, gain valuable insights into the future of technology and AI, network with industry professionals, and meet hiring managers at Viam and Joyful Health.
Join us
Jun 4, 2025
,
5:00PM-8:00PM

NY Robotics - ROS Meetup w/ OSRA and Viam

In Person
New York
Stop by the Viam office during NY tech week to learn how Viam complements ROS with cloud-ready architectures with senior developer advocate, Nick Hehr.
Check it out
Jun 12, 2025
Jun 16, 2025
,

JS Nation

In Person
Amsterdam
WebRTC is most often associated with building video and text chat into browsers but this peer-to-peer technology can also be used to monitor and control machines from anywhere in the world! Join Nick Hehr to learn about industrial arms, DIY rovers, and dashboards of data in real time.
Register Now
Jun 23, 2025
Jun 25, 2025
,

Open Source Summit North America 2025

In Person
Denver, CO
Edge-based computer vision gives us real-time insights, but getting that data where it needs to go without high bandwidth, lag, or hardware strain is a big challenge. Learn how to build a fast, event-driven vision pipeline.
Learn More