Menu

Case Study

BOWERS & WILKINS

MAKING A NOISE ABOUT EMBEDDED FIRMWARE PAGES

Specialising in designing real-time embedded technology solutions, developed using some of the most innovative software designs, at Coderus we turn great ideas into market leading, connected products.

We understand the challenges of compact coding and building efficiency, low power and high performance into devices in rapidly developing markets. What’s more, we make it our business to fully understand the supporting technologies available to us and to use them creatively to deliver optimal results.

BOWERS & WILKINS

Bowers & Wilkins is a UK based, premium audio equipment manufacturer producing high quality loudspeakers and portable wireless loudspeaker devices that play streamed music from Apple iPhone, iPad and iPod products.

Innovating into the future, Bowers & Wilkins’ next generation range of wireless speakers have introduced new embedded firmware requirements and delivery challenges.

The brief

Understanding their new embedded firmware requirements needed a unique approach, Bowers & Wilkins briefed Coderus to design and deliver web pages to integrate into the speakers’ firmware, allowing advanced user control of network configuration, while also providing device information.

The Coderus solution

Tasked with delivering a first-class solution while on a short and aggressive timeline, we explored methods to accelerate development but found no commercially available options that met their needs. So we decided to build our own, allowing us to deliver the firmware web pages in parallel with the firmware development.

This new custom toolset has been designed to support the rapid development of reusable web pages that can be applied to a broad range of embedded devices, not just wireless speakers.

While the look and feel of these firmware pages needed to be synonymous with Bowers & Wilkins’ existing speaker pages, they also needed to incorporate Responsive Web Design (RWD) to ensure optimal user experience across all devices. From mobile phones to desktop browsers – with varying screen sizes and aspect ratios.

Limited memory storage capability of embedded systems is a major challenge in delivering high quality user experience and functionality. This restricts the use of third party development tools that could otherwise make development much easier.

Methodology

The main building block for this project was a simulator that could replicate a speaker’s APIs and behaviours and facilitate automated testing.

Supporting many browsers, operating systems and devices, manual testing would be a huge task, so automated testing played a major role for us. Allowing us to identify issues, this testing method allowed us to move forward with confidence and in much less time.

Development followed an agile software development methodology. Close collaboration with Bowers & Wilkins, as well as other firmware partners, ensured the pages were kept aligned with firmware feature development. This close collaboration gave us early visibility of changes, enabling us to contribute to the design process.

Technology

Our custom toolset supported the entire development and testing of the web pages, with two parallel streams driving the implementation of the pages’ development and automated test development. An HTML5 front end powered by JavaScript was used to develop pages.

Opting to use Ender.js, we combined independent modules of code into a single library, effectively combatting storage constraints.

For the software architecture, we used Browserify to modularise the application, separating it into distinct components to allow different developers to work independently, yet simultaneously.

The modules could be easily tested and reused across different projects. The development environment made heavy use of Node. js, a JavaScript runtime, and Node.js package manager npm.

The build system used Gulp, a JavaScript build system for automating tasks, helping development, build and test. Automated testing used Cucumber, Watir and Selenium to validate pages, with continuous integration being handled by Jenkins.

The results

Meeting the challenging deadlines for this product range, we incorporated many new features and enabled parallel development of the firmware.

The simulator aspect of our toolset was crucial to the development and testing process, helping us to accelerate page development in the absence of physical hardware or fully featured firmware. It also allowed us to simulate many different speaker behaviours – difficult to reproduce on a physical device.

A combination of automated testing, top level manual testing of the implementation, and regression testing of full user journeys, confirmed that we had delivered a quality, fully functional product that met all requirements. The testing combination also reduced the overall testing phase by an estimated 30%.

The custom firmware pages toolset has proved invaluable for this project and provides a complete solution, not only for future Bowers and Wilkins projects, but for firmware page development for many other applications.

“There is great synergy between Coderus and Bowers & Wilkins in our shared objective to deliver quality and excellence in our products.”
Bowers & Wilkins


BOWERS & WILKINS

MAKING A NOISE ABOUT EMBEDDED FIRMWARE PAGES

Thank you for requesting access to our case studies. Complete your details and we will redirect you straight away.

*Required fields.

This website uses cookies to ensure you get the best experience on our website. Learn more

Got it!