Smart Home Appliances – Key challenges software must overcome
Android revolutionized the smartphone industry. The success of Android is due to the combination of several unique capabilities that make it the software platform of choice for developers:
- Android platform is powered by virtualization which hides low-level software and electronics to application developers
- Virtualization offers high applications portability across hardware from different manufacturers,
- Virtualization also brings a high-level of security that is fundamental for connected devices,
- Android leverages a community of over 10 million of (Java) developers
- And, finally, Android allowed the simple management of software content through an application store
Over the last few years, the smart home appliance market has been largely influenced by the smartphone industry. Customers expects nice graphical user interfaces (GUI), smooth page scrolling, Internet connectivity and the ability to add more features as our user experience is evolving.
Smart home manufacturers are well aware of these expectations. However, their maturity differ in this matter. 3 stages of maturity can be identified:
The first stage of maturity is when OEMs keep using legacy programming technologies (assembly and C languages) to develop applications, user interfaces & connectivity, focusing mainly on the cost of electronics. Those programming languages are the indisputable standard for developing low level software, they aren’t effective anymore for complex application development (GUI, Internet connectivity). Additionally, as legacy programming languages are closely linked to the hardware, reuse of software parts (assets) accross different electronic products requires important engineering efforts.
The second stage of maturity happens when developers use more advanced frameworks like Linux or other complex Operating Systems. The software assets become portable across several hardware, and software can be developed on a virtual device for prototyping. But the issue here is that the solution does not fit most embedded systems cost structure like cookers, coffee machines or vacuum cleaners for instance: the software platform requires costly electronics such as advanced processors and large memory.
The third stage consists in the use of mixed technologies allowing software development on low-cost electronics and providing GUI, connectivity and apps (“all-in-one” solution). MicroEJ provides a unique platform, often compared to the “tiny Android for Things”. Just like Android, MicroEJ VEE provides virtualization, a large developers ecosystem, consistent and appealing GUI, Internet connectivity, application store, software assets portability, etc., all while being fully compatible to legacy C/Assembly technologies
Virtualization has many benefits. Discover what you will gain by switching to a virtual environment and find out its main benefits.
Hyper Segmentation: create a product for each customer segments
In order to avoid extensive software development, the most efficient way to answer different customer needs and differenciate from other vendors is by offering software flexibility for customization.
As customer segmentation will identify valued features, MicroEJ’s solution allows you to adapt across high numbers of product variations:
- Modern software development that encourages software assets reuse, reduced development costs and speed-up access to market. By developing software independently from the hardware, manufacturers are able to leverage lasting innovation in electronics or to optimize cost structures.
- By securely opening embedded devices devlopment to third parties, manufacturers can extend product features on-demand thanks to MicroEJ ecosystem management solution. This enables partners create niche features to reach new markets.
Build a strong brand image
Branding is an important aspect of home appliance and Graphical User Interface with large displays are now part of the product design.
MicroEJ platform enables developers to keep the same Graphical User Interface software for a consistent User Experience on all products, regardless of their hardware architecture.
Large Appliance OEM’s also face another issue with branding: they own a large number of brands. How can a central R&D offer other divisions to develop a User Interface while reusing out of the box software to develop the core product? Like Android, MicroEJ helps developers define a software platform with API’s to guide other developers to design consistent software across a product range.
Make a hub to connect peripherals
Smart home Appliances such as Kitchen Electronics embraces many types of products (cookers, blenders, scales, etc.) from many brands. Combining all products together allows the creation of new use cases.
MicroEJ multi-application execution environment allows a flagship product to behave as a hub. When a new peripheral device is detected by the hub, it can simply load the related peripheral driver from an application store and instantaneously control the peripheral device. This results in the easy management of several home appliances devices by the final user.
Update software, stay reliable
As home appliances become connected to the Internet, they face new challenges like all IoT devices. One that drives Total Cost of Ownership is maintenance: indeed, Cloud APIs change more rapidly (every month) than embedded software (once a year, sometimes never).
To avoid long and continuous embedded software validation activities combined with fast changing software related to Cloud, the MicroEJ platform multi-app capability allows for partially updating embedded software: firmware that needs heavy qualification is kept unchanged while Cloud related applications are updated dynamically from an application store.
Smart home manufacturers are often facing the famous “matrix of pain” when it comes to choosing the appropriate microprocessors and/or microcontrollers, real-time operating systems, software stack, etc. for a future smart product. It has been estimated that manufacturers have over 500 million permutations to choose from while developing a new consumer electronic device. Once you eventually make a choice, if you went the traditional way, you may feel sooner or later the limitations of your choices (development time, flexibility, software assets reuse, etc.).
The good news is that smart home software is now more mature, and once you have chosen to add a Virtual Execution Environment that abstracts hardware, you – CxO, Product/Marketing Managers and Developers – will focus less on electronic matters and spend more time on your creativity by launching new, smart products that answer your consumers expectations.