Open source technology has been the bedrock of innovation in artificial intelligence (AI), machine learning, and the Internet of Things (IoT) and developers have sharpened their skills on Linux. By its very nature open source’s collaborative environment provides fertile ground for innovation faster than any closed system can. But while developers are well entrenched in these capabilities, businesses are still standing from a far, confused about the benefits such an ecosystem can offer.
Ultimately their confusion is understandable. As Linux grew over time, it became an archipelago of platforms. Linux fragmented into Ubuntu and Fedora, to Debian and Madegia, which was great for developers to test the latest technologies freely, but for businesses it became difficult to pin down a software strategy that delivered tools to the correct audience.
As Linux fragmented, it became complex for developers and the open source community to design applications for each distribution. But with challenge comes reward, and the solution may lie in the magic of Snapcraft and snaps. Snaps are a universal packaging format that can work across all major Linux distributions and it may just revolutionise software architecture and open the door to a new layer of profitability on top of hardware.
Snaps and Snapcraft
Snaps are containerised software packages easily managed through Snapcraft, a platform for building and publishing applications to an audience of millions of Linux users. Snapcraft enables authors to push software updates that install automatically and roll back in the event of failure. The likelihood of an errant update breaking a device or degrading the end user experience is, as a result, greatly reduced. If a security vulnerability is discovered in the libraries used by an application, the app publisher is notified so the app can be rebuilt quickly with the supplied fix and pushed out.
As application packages bundle their runtime dependencies, they work without modification on all major Linux distributions as well as being tamper-proof and easily confined. A snap cannot modify or be modified by another app, and access to the system beyond its confinement must be explicitly granted. Precision definition, therefore, brings simpler documentation for installing and managing applications. Taking into account the automatic updates, which eliminate a long tail of releases, applications perform more intuitively for both the publisher and end-user.
Snapcraft also gives managers the tools to organise releases into different release grades, or channels. One set of tools can be used to push app updates from automatic CI builds, to QA, beta testers, and finally all users. It visualises updates as they flow through these channels and helps developers track user base growth and retention. In short, they can simplify a developer’s route, and that of their company’s, to engaging with a vast number of Linux users. Streamlining a route to market not only maximises developer worth, it also opens up new revenue drivers in the process.
A note to businesses
The explosion of IoT products onto the market in recent years has pitted manufacturers against one another in a race to the bottom. Businesses risk missing out unless they differentiate on software. Snaps offer a path to creating an ecosystem of applications on top of your hardware platform that offer enhanced functionality and new revenue opportunities. It’s no longer tenable to consider internet-connected software as a finished product. Software maintenance must stretch to the lifespan of a hardware product in order to stay relevant and in the world of IoT, this is often measured in multiple years.
It all comes down to maximising the value of any application, and snaps allow businesses to reach the greatest audience with ease and confidence. The possibilities to enhance hardware is also endless with snaps. Take digital signage, for example. Its traditional use is limited to advertising - project a message and leave it there. By operating on Linux and using snaps, however, that signage can transform into a multi-purpose space: integrating the newest software that enables AI and data capture; pushing out promotional material tailored to viewers; and sending real-time analytics back to the business. As smarter products become part of the IoT, snaps will be realised as the enabler of business-led Linux adoption.
Applications published as snaps typically have lower support costs too. The fact that snaps automatically update to new versions, means businesses can be assured that all their users are on the latest version. Rollback features, meanwhile, give webcams, security cameras, and other connected devices an added layer of security, in case the hardware is ever compromised through the software. The recent high profile exposures of Meltdown and Spectre show that there’s no magic bullet to security. The response must be the ability to keep systems operational as they move through a stream of updates. It is no longer the case that you can write software once and expect it to be secure and bug free forever. Software will fail, it is how a quickly and comprehensively a business can respond to that failure that is key.
Giving developers the key
The opportunity for businesses is huge and it’s ready for the taking. Business leaders need to embrace new technologies to get the most out of their products and services. The view that the open source landscape is too complex for business use is outdated. Anyone who thinks developers are hard to please are stuck in the past. Like any employee, they want support in the areas they operate in.
Snaps have remedied previous complexity through simplicity, and given developers the tools they need to build, amend and launch applications. Now is the time for Linux developers to take centre stage with their new tools and begin to craft new revenue models for businesses – becoming vital assets in a company’s financial performance.
Jamie Bennett, VP of Engineering, IoT & Devices at Canonical
Image Credit: Chesky / Shutterstock