A few words to manufacturers and vendors of tech toys: to really be ready for the holiday, if your product requires software updates in order to work or is in any way internet connected, make sure your site stays up. Otherwise, you just shipped coal.
- Provide more than one distribution point for downloadable updates/binaries
- Rely on CDNs for static assets (like installers and documentation)
- If your update process must rely on live services, make sure they're scalable
- Load test subcomponents/microservices AND the end-to-end process
- Be prepared for damage control by:
- Monitoring site uptime and availability to know when things are broken
- Proactively establish a communication channel with customers during issues
- Properly staff IT and support for during AND post-season issues
- Make sure the cost of downtime is factored into your next sales cycle
Santa Brought Us a Brick?
Let me start by admitting how 1st-world this example is. Robots as play-things are still not exactly 'so easy, a child could do it', and Roomba's have been around for almost two decades, but we still have yet to see a really down-to-earth home robotics project that really works for children under 10. I don't just mean toys that are not pre-assembled, even the right-out-of-the-box kind often require firmware updates or online services to really work as expected.
Case in point, the Meccano MAX. Though it only took about 3hrs total to put together, this morning when we finally turned it on and went to connect for a firmware update, the vendor's website was down...hard. The instructions said, before anything else, update the 'MeccaMind' and voice commands weren't working without, so, blocker.
As an ops nerd, I slapped an uptime monitor on it to know when (if ever) it was back up:
That didn't stop the whole multi-day experience from deflating to a dud. We all worked on this thing together and then before it can do anything, we are stuck guessing about when we can actually enjoy it. Don't blame Santa, blame the geniuses at Meccano.
Performance, of your product, of your service, of your site, is imperative to delivering what you sold people. Availability, uptime, scalability, and reliability matter by default now. Everyone has downtime, but 4hr recovery time on your corporate domain isn't just irresponsible and costly, it's plain embarrassing...and transparent.
Why Is This Even Important?
My 7yr old is crazy into coding right now. Granted, we use a visual Code Block Editor mostly for lights and tones, but it's a great way to introduce concepts like flow control and formal logic. As soon as she saw an example I built that used function blocks to encapsulate and reuse logic, she instantly understood and started refactoring her programs.
But finding the right project for varying stages of aptitude, appetite, and enjoyment is a real challenge. No thanks to marketing, but also unanticipated road-blocks like service and subscription dependencies are hard for consumers to factor in when purchasing. Even when you do find a right-fit project, if bone-headed problems like website downtime occur, it can become a negative experience for the child (or student).
It's important for STEM product manufacturers and software vendors to really think about the impact of what they're selling, how they're delivering it, and how to support people who paid them money for something to accomplish a goal. If you don't have the optimal consumer's experience in mind, it will eventually cost you.
Need the Robot Software Updater?
I can't archive everything on their site, and it's their job to provide reliable content distribution, but in case you find yourself stuck like I was, here are links to at least the firmware updater tool:
Also, never ask a consumer if they want to choose (null).
And if the updater gives you flashbacks to DirectX drivers from 1997, don't worry. It only looked like it bricked my robot for about 4mins before providing UI feedback:
Once you do get back to the modern era, a 98.6MB mobile app to control it shouldn't be too hard on your data plan. They also need to know your GPS location, phone contacts, and file storage for some reason.