Back in 2011, Marc Andreessen of Netscape fame said “software is eating the world”. While it could have been seen then as a bold prediction, it was actually well grounded in market observations such as level of VC money, valuation, and mergers and acquisitions in the software sector. Sure, the number of gates in integrated circuit continued to increase and at the same time, OEMs were reporting significant investment in software for their devices’ development and support. The software stack residing in the devices was mostly to enable the hardware or mechanics.
From my own experience in the industry, I can say that many of the software applications back then were developed in a very ad-hoc way. Fast forward to today where we are referring to Software Defined Anything, which emerged in 2018 and interestingly enough from the IT and BYOD angle. Looking in the mirror, Software Defined Radio and later Software Defined Network pioneered adding “software” on the front end to describe an app but there is no doubt in my mind that the Software Defined Car (or Vehicles), where car features are being designed as software and not with the traditional dedicated device (i.e. engine control unit), really brought this trend into the spotlight. Two recent acquisitions of software companies from the hardware ecosystem centric players demonstrate how strategic it has become to master software. The first one is Aptiv acquiring Wind River and recently Broadcom acquiring VMWARE.
If you are an OEM developing such software enabled devices, what does it means to you? At a macro-level it means:
- Unprecedented need to recruit and retain software developers and architects
- Embracing DevSecOps practices to drive speed, collaboration, automation and adaptability
- Resilience, safety and security (of the apps) built-in from the beginning
- Factoring in the deployment and operation of the device fleet at the time of development
- High standards in overall software quality as the software is now what the user sees!
While there are a lot of details for each of the points above, in this blog I want to focus on the last two. The divide between ”the devices need to operate seamlessly when deployed” and “the device needs to be bug free out of the gate” should be eliminated. It means that the developer needs to bake into the device methods to collect insights from the device, possibly in real-time, and a path to go back to the device. Fundamentally this is a kind of feedback loop.
On the quality side of the equation during development, modern devices with thousands, if not millions, of lines of code can’t realistically be debugged using the classic printf method.
What kinds of solutions exist? What I have seen most of the time is organic solutions such as a buffer to log data from the device’s OS or app, and when the device goes back to the lab, some kind of postmortem to analyze the data. In some cases, the developer has built a cloud connection to collect data. One of the biggest challenges I see in these solutions is the fact that they are mostly one-off, designed to work for a specific hardware, OS and software configuration.
Enter Percepio DevAlert. A very elegant Cloud-Connected Monitoring Framework that spans from development to deployment for virtually any RTOS based device. With DevAlert you can
- Detect and monitor any kind of anomaly and eliminate false alerts
- Organize the information with a very intuitive interface
- Embed capabilities during development for your fleet of devices to be monitored after deployment
- Feed your developers with relevant debug information from deployed devices
- Collaborate within teams and scale to a large fleet of systems, or system of systems, thanks to the cloud connectivity
The best part is, now you have access to a pre-configurated browser-based sandbox where you can experiment and explore DevAlert for yourself. Visit percepio.com/devalert and share your experience!
Disclosure: I am an independent advisor to Percepio for this product.
Michel is a business and product executive in the Edge Compute market. He was the Former Vice President Product at Wind River Systems, the commercial leader for critical applications deployed on the edge, Michel Genard is currently advisor and board of director of several companies poised for growth.