feature article
Subscribe Now

Debate: Automatic Software Updates

Do Software Updates Add Value or Promote Laziness?
Roses are red;
Violets are blue; 
I’m schizophrenic;
And so am I.

This week we’re debating two sides of the topic, “Are automatic software updates a good thing or a bad thing?” But since my learned colleagues aren’t available – or were wise enough to avoid returning my calls – I’ll be handling both sides of the argument myself. Fortunately, I’m of two minds on this subject, so I’ve got no problem straddling the barbed-wire fence.

Ever since we started connecting our embedded devices to this thing called the Internet, we’ve had the alluring prospect of being able to fix our software bugs remotely. Everything from iPhones to PCs to the Tesla Model S sedan gets software updates over the air, whenever and wherever their creator decides it’s time. Remote software updates allow us to fix bugs in the field, and they let us upload new features to our customers’ devices. But are these after-the-fact updates a good thing, or do they, in fact, promote sloppy programming and a kind of customer contempt? First, let’s hear the argument against.

The Argument Against

I hate random software updates. Just hate ’em. It seems like every time I turn on my PC, some product from Adobe wants to update itself. Or if it’s not them, it’s Apple. I’ve got news for you, guys: You don’t own my PC. I don’t $*@!ing want to update your crappy apps right now. This is my machine, not yours, and I don’t spend my days gazing adoringly at your software, hoping to get a new love letter from the programming labs. I wish Apple would acquire Adobe; then we’d combine the world’s two worst offenders and have one less company to hate. 

Okay, so Microsoft belongs on that list too, because updates to Windows are as predictable as a tornado in a trailer park or a Jägermeister hangover. I know the company gets a lot of stick, but they’re updating an entire operating system, not just a single product, so give them some slack. If you had to keep that aging hairball of an OS current, you’d push a lot of updates, too.

So that’s the annoyance factor. Then there’s the consumer-confusion factor. Remember when Apple ditched Google Maps and replaced it with its own half-baked alternative? Nobody asked for that, yet millions of happy doe-eyed iGadget users suddenly had their mapping app taken away. An app they’d paid for, I might add. It’s possible (unlikely, granted, but possible) that some people actually bought their iPhone or iPad precisely because they liked the mapping app. But now that’s gone. Taken away by an all-seeing, all-knowing Apple that gets to retroactively decide what apps are running on your iGadget.

Amazon has been known to do similar things with books people have bought – excuse me, licensed – for their Kindle. Content unilaterally disappears, with no warning and only a feeble legal fig leaf for cover. Adobe (them again!) changes user interfaces, moves menus, and tweaks import/export options, all without any say-so from their paying customers – customers who soon will have the privilege of renting software from the company because it can’t be bothered to have real product releases anymore.

On Christmas Eve, my new PlayStation 3 took more than two hours to download updates to itself the first time it was turned on. Talk about a miserable out-of-box experience. Sony must’ve sent thousands of disappointed little kids to bed crying that night. Nice going. Maybe next year Santa will bring you something that works.

Third, constant updates promote sloppy programming. When you know you can patch the code later, you will. Oh, c’mon – you know you will. Even if you try to be a stand-up programmer and refuse, your boss will make you ship crappy code anyway because he knows it can be patched later and you need to ship this fiscal quarter.

Fourth, there’s the catastrophic-oops factor. What happens when your patch introduces new bugs? The cure might be worse than the disease. Some car owners are already nervous about automakers downloading updates mid-trip. What happens when the update leaves them stranded by the side of the highway? A free patch to the patch won’t make them feel any better.

Finally: hackers. If you can update your device in the field, so can anyone else. Oh, don’t make that face. You’re not special. The only reason no one’s hacked your device yet is because you’re small potatoes and nobody’s tried. You’re vulnerable right now, and your customers will be the losers, not you.

The Argument For

Software updates are awesome. They allow us to repair bugs that we couldn’t otherwise have fixed, with no need for a recall or an awkward EPROM replacement or memory re-flash. We can even add new features over time! The customers will love us because we keep upgrading and improving the product they’ve already bought. Yes, we’re just that nice.

First of all, bugs are a reality in all embedded systems. Try as we might, we’re never going to ship perfect code – at least, not on any kind of schedule. Given that grim reality, we might as well make provision for updating said code if we have to. Avoiding field updates doesn’t help anyone, and it prevents us from fixing important bugs. It’s all upside.

Second, we can add new features, as long as the marketing guys say it’s okay. Every now and then we can throw the customer a bone, hoping to keep them happy until the next major hardware-upgrade cycle. That keeps us in the customer’s mind, and it helps avoid some of the “Osborne Effect” when new products are on the horizon.

Third, remote updates could even be a revenue opportunity. Want to upgrade your car’s horsepower before that big road trip? Just download an ECU upgrade that adds a few HP. Want to modify photos while they’re still on your camera? Grab that Instagram applet for your Canon DSLR. In a world full of software-defined products, we’d be nuts to leave that opportunity on the table.

Permanent connectivity also works both ways. Kindle and Nook e-books both allow annotations to be uploaded to other readers, so they can all compare notes. It’s like a virtual book club, minus the cocktail peanuts. You can glean interesting usage data from your customer base too, including how they’re interacting with the GUI, what features are used most often, and how long it takes users to complete a task. That kind of silent (not to say creepy) feedback is invaluable.

Always-available updates turn hardware products into a kind of generic platform for continual software upgrades. Customers could “subscribe” to their products, allowing us (with permission, of course) to stream new content, new features, and new concepts their way. We could even cherry-pick a subset of the customer base to act as beta testers for new product ideas. Want to see what we’ve got up our corporate sleeves? Just sign here for the sneak peek preview program (just don’t store anything personal or important on your device).

The Obvious Conclusion

Now that we’ve clearly and cogently argued both sides of the case, what’s the conclusion? I think it’s clear. If I’m a developer, I want remote software updates. If I’m a user, I don’t want them. So there you have it. The decision comes down to a simple question: Are you making products for your customers, or for yourselves?

I’m sure there are other ignorant, hare-brained, ill-conceived ideas out there, so start uploading those comments, below. 

4 thoughts on “Debate: Automatic Software Updates”

  1. That’s one of the benefits of the cloud. Updates anytime without you having to do them. Oh, you didn’t want that update? Um… it already happened, sorry dude… (In fairness, EDA companies are building in the ability to lock versions… last thing you want is a synthesis engine changing everything around mid-design). See? Learn to love the cloud…

    As to Microsoft updates, yeah, what you said, but they have this thing where they want to restart you when they want (until you change that crazy-assed setting, after which their security software constantly tells you that your system is at risk because you’re not letting them restart your computer RIGHT NOW). That’s the default setting. Didn’t save your work? Well, sucks to be you. Saving your puny little document is so not important compared to us adding the next few pieces of digital duct tape to cover various security holes. I would have loved for that to happen in the middle of a Bill Gates presentation. Better than a bluescreen.

    And then there was the time I was on a call with some company trying to get their software to work, and as part of the troubleshooting, I had to shut the computer down. I did it hastily, and was greeted with “Applying 21 updates. Do not power off your computer.” Yeah, me and phone support guy got to sit and chat through 21 (or whatever) updates.

    As to whether you should be able to choose to update or not, you’re so cute and naive to think that this is all about features for you. In many cases nowadays, the update isn’t for your benefit. Especially with companies like Google and Facebook and Microsoft, pretty much nothing is for your benefit. It looks like it is, but it’s for their benefit. They want you to behave in certain ways (sorry if that sounds conspiratorial; I’m really not wearing a foil hat), and they want your information, and their changes are only for that. You’re just a pawn in their plans of world domination. So be a good little pawn and thank them for their update that changed things that were working just fine before.

  2. PS And, as if you had scheduled this, LinkedIn appears to have done a big revamp last night… So much better! OK, actually, just different… as far as I can tell so far…

  3. I agree, the Microsoft auto-restart is the worst default setting IN THE WORLD. I’m okay with automatic updates if they take 30 seconds or less. Any longer than that and it can wait until I’m good and ready to update!

  4. My favorite on this is one product that used to tell you it was going to update and then stall everything as “You do not have administrator rights”. Only way out was a forced re-boot, log in as administrator and then run the update. The update would force an auto-start. On an old machine, and one admittedly in need of a software spring clean, that could take a large chunk of time.

Leave a Reply

featured blogs
Apr 25, 2024
Cadence's seven -year partnership with'¯ Team4Tech '¯has given our employees unique opportunities to harness the power of technology and engage in a three -month philanthropic project to improve the livelihood of communities in need. In Fall 2023, this partnership allowed C...
Apr 24, 2024
Learn about maskless electron beam lithography and see how Multibeam's industry-first e-beam semiconductor lithography system leverages Synopsys software.The post Synopsys and Multibeam Accelerate Innovation with First Production-Ready E-Beam Lithography System appeared fir...
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...

featured video

MaxLinear Integrates Analog & Digital Design in One Chip with Cadence 3D Solvers

Sponsored by Cadence Design Systems

MaxLinear has the unique capability of integrating analog and digital design on the same chip. Because of this, the team developed some interesting technology in the communication space. In the optical infrastructure domain, they created the first fully integrated 5nm CMOS PAM4 DSP. All their products solve critical communication and high-frequency analysis challenges.

Learn more about how MaxLinear is using Cadence’s Clarity 3D Solver and EMX Planar 3D Solver in their design process.

featured paper

Designing Robust 5G Power Amplifiers for the Real World

Sponsored by Keysight

Simulating 5G power amplifier (PA) designs at the component and system levels with authentic modulation and high-fidelity behavioral models increases predictability, lowers risk, and shrinks schedules. Simulation software enables multi-technology layout and multi-domain analysis, evaluating the impacts of 5G PA design choices while delivering accurate results in a single virtual workspace. This application note delves into how authentic modulation enhances predictability and performance in 5G millimeter-wave systems.

Download now to revolutionize your design process.

featured chalk talk

Intel AI Update
Sponsored by Mouser Electronics and Intel
In this episode of Chalk Talk, Amelia Dalton and Peter Tea from Intel explore how Intel is making AI implementation easier than ever before. They examine the typical workflows involved in artificial intelligence designs, the benefits that Intel’s scalable Xeon processor brings to AI projects, and how you can take advantage of the Intel AI ecosystem to further innovation in your next design.
Oct 6, 2023
25,617 views