Improve stability of the software product which was key to the functioning of BBQ Guru’s temperature control devices.
Reviewed the existing product, diagnosed its shortcomings, and ported it to a more stable offering.
These smoking hot gadgets will boost your backyard grilling game - Forbes BBQ
Guru CyberQ Cloud Temperature Controller - CoolThings
BBQ Guru was a renowned manufacturer of BBQ devices which controlled the cooking temperature in charcoal and wood-burning cookers. The first of its kind technology invented by BBQ Guru allowed for slow cooking with temperature controls within a few degrees of accuracy. Their product line included the award-winning PartyQ, DigiQ DX3, and CyberQ Cloud automatic temperature control devices.
BBQ Guru’s app-enabled temperature controllers allowed consumers the freedom to prepare perfect meals without the hassle of constantly tending to their cookers. The problem confronting BBQ Guru was their existing mobile application which was prone to frequent crashes. Failure to provide a consistent user experience resulted in poor app reviews and ratings.
BBQ Guru reached out to several technology solution providers and decided to engage Tintash to address these problems.
Tintash took the BBQ Guru team through an initial discovery phase. While evaluating the existing code base, it soon became apparent that the choice of React native as a cross-platform technology was not working for the client’s product. Our team suggested shifting the applications to native iOS and Android for improved performance and stability.x
We used the discovery phase to evaluate several different options with the client. Once it was decided to port the cross-platform app to native versions, we proposed a budget and timeline for the project. It was essential to have the app updates ready in time before the peak usage in spring and summer.
Over the next two months, a team comprising two iOS and Android engineers each worked with a project manager to try and drive down the app’s crash rate. Owing to the challenging timeline, our team prioritized porting the apps over building newer features. It immediately became evident that the stability and consistency of Wi-Fi and data connections were critical to the app’s successful functioning
A team of hardware engineers investigating the customer's pain points from a hardware standpoint discovered that the unstable internet connectivity was not just because of the app but also the firmware.
We fixed the problem with the lightweight IP (LwIP) stack and resolved issues with the circular buffers carrying the IP traffic. As for the app’s inability to consistently scan Wi-Fis in the vicinity, our team found out it was in fact the hardware device which was limited to the North American region’s bands.
Porting the cross-platform app to native versions worked and we managed to successfully drive down crash rates to virtually zero. This was reflected in significantly improved user reviews and ratings. We also met our delivery commitment, launching a stable and user friendly app within the target timeline.
In parallel to our efforts on the app, another team of hardware engineers worked on the debugging process of the client's BBQ devices. There had been issues with Bluetooth connectivity. We tested the hardware unit and found out the problem was not just with the app but also with the firmware part.
It was using synchronous frame structures to pass messages between the two Bluetooth devices. That unnecessarily complicated the system, rendering it unresilient to out-of-order and dropped messages. To overcome this, we designed a new BLE service based on an optimized architecture to replace the existing BLE communication layer. This allowed for asynchronous reading and writing of device parameters
Our efforts on the whole resolved a critical problem for the client. A stable app update in time for their peak demand season afforded BBQ Guru the space to focus efforts on marketing and sales. It also ideally set them up to gradually introduce newer feature sets and further improve the user experience.