(This blog post is part of a 5 part series, titled “How to launch IoT devices”. It will cover the key choices and concerns when turning bright IoT ideas into a product in the market. Check out this whitepaper on IoT app stores for background reading.)
Part One can be found here: How to launch IoT devices – Part 1: Why does IoT take so long?
In our last blog on launching an IoT product, we outlined the key steps and problems in the process. We’ve studied over 30 Canonical business cases, project summaries and case studies on how customers who launch IoT devices. Let’s learn from past problems and solutions and kick start your IoT business.
This blog will accelerate the time it takes to make hardware decisions at the inception of an IoT business. It will then provide software foundations which will scale as your product matures.
Launch IoT with the right hardware
From the project summaries analysed, companies turned to Ubuntu to get hardware working with an operating system and software stack. Even multinational, tech focused companies felt that understanding how a kernel and OS worked with hardware, was a barrier to project progression. To make up time, software was often written for user-apps, before it was certain that the hardware would be usable. Mid-project changes in hardware occurred on more than one occasion.
This occurs because hardware is not commoditized despite headline statistics on IoT hardware – e.g. RAM, CPU speed – appearing standardized. Differences in physical implementations of circuits, pin layout and multiplexed peripherals make selecting hardware a hurdle at the start of the project. It risks taking IoT businesses over budget and out of time.
You can benefit from Ubuntu’s work to commoditize hardware for IoT devices and accelerate time to market by using certified hardware. Select a device such as the Raspberry Pi, and the hardware will “work out the box”. This means you can rely that Ubuntu’s OS – both Core and Classic – have been extensively tested on certified hardware. Also, future releases and updates will be tested on the hardware before it is released.
Automate Scalability for IoT devices
A number of projects switched away from great development OS’s, such as Armbian, when they started to think about deploying IoT devices. This is the opposite of automation. It’s comparable to developing an app on Android, and then writing it all over again before releasing it on iOS. Other projects started on full-featured IoT operating systems, like Yocto. The steeper learning curve meant early delays started to build up.
The decisions to switch from developer OS’s, stemmed from a need of in-field robustness, update management and a more secure operating system. These are not the features that a hack-able, developer focused OS optimizes for, and rightly so. Adding these features involves locking down an operating system, making it capable of doing less. Alternatively, starting with a production OS made sense at scale, but the cost to learn was not appropriate for a first dive into IoT.
To solve this, Ubuntu has both Classic and Core. Ubuntu Classic is the leading flavor of Linux, and the developers choice of operating system. Ubuntu Core is the locked down, minimal size and deployment focused operating system. It provides the robustness and security needed for IoT deployments. This includes options for zero-touch in-field updates coupled with failure mitigation. Both Classic and Core share foundations – like using the snap app packaging mechanism. This means developers can write an app on Classic before deploying on Core. No mid-project shifts needed.
The first phase of any project is the most delicate. Decision making needs to be accelerated to maintain stakeholder support. Contact us to take you through these decisions with a tested journey. We’ve done the hard work – certifying hardware and providing a developer friendly ecosystem – so your IoT business can start right.
Next time, we will look at the problems and solutions with writing apps for IoT devices. Learn how to leverage what your developers already know, but adding the features needed for IoT deployments.