No individual feature generates as much discussion as remote software update. This is because by its very nature remote software update needs to be thoroughly thought thru and executed, followed by extensive testing to verify it works as expected. There is nothing worse than creating a dead product because the upgrade process failed. That takes time – the number priority on every project. he challenge is that if a product is going to incorporate remote software upgrade. It needs to be the very first feature. No one will benefit more from it more than the developers – they are constantly upgrading. The rub comes that when the project is kicked off and a period of time has passed, someone will ask how the software is coming. And the conversation goes something like – “Great; we can now load software into the device.” “Yes, but what does it do?” “Well you can load software”…and then there is quiet. While there is nothing more powerful than the ability to remotely upgrade the software, you have to be willing to live through the hump created at the beginning. For those who do the benefits can be huge.
On a recent project, remote software upgrade was an absolute requirement. The client put the time and effort in. When they rolled the devices out at their biggest event of the year, they were able upgrade the 1,000’s of devices at the event on the spot with the latest code. The new rollout was a complete success. If they did not have the ability to upgrade, the code would have been based on that released to manufacturing several months earlier. The time between the manufacturing release and the event was used to optimize the system performance in order to handle the larger number devices at the event.