By now if you've been following the European Galaxy Nexus launch, you'll be aware of the infamous volume bug that results in volume levels spiking all over the place when the phone (or something else nearby) is in 2G mode on a 900MHz network. This morning Google and Samsung confirmed that they're aware of the problem and have a software fix ready to go. However that hasn't stopped the cries from across the blogosphere (and beyond) that the root cause is a hardware fault, and that Google is papering over the cracks by fixing it with software. Some have even called for Samsung to issue a recall of all Nexuses sold over the past week.
Enter systems engineer, app developer and all-round voice of reason Lee Johnston (known here on AC as britishturbo). He posted the following explanation in our comments section, and again on his Google+ page. For us mere mortals, it does a great job of explaining what's really going on, why it's a common issue with complex electronic devices like cellphones, and why we don't need to worry.
I'm a Systems Engineer and also a Developer. I deal with things like this every day. What we have here is indeed a hardware issue, in that the radio interference is coming in through the radio hardware. However things like this can be fix fairly easily in software. It's called debounce.
When you monitor an electronic input like the buttons on a phone there is always noise and flutter even when you just press the button. If testing by Google has shown that they just need to turn up the debounce time (the time which an input must exceed for it to be determined to be a genuine press) then it will more than likely just work and no one will ever see it again.
Like I said I deal with this kind of thing every day, it's not a big deal as long as your debounce time is not excessive. But noise happens down on the order of 1 to 40 ms, real inputs when you press a button last from 100 or 200ms if you tap the button, up to seconds if you hold it down.
This is nothing like Apple and the iPhone 4 antennae problems that could not be fixed in software. I'm sure everyone will see in due time, the problem will be fixed, and the dust will blow over.
And people will be saying "wow, I was wrong, Google rocks!"
Over on Google+, Google engineer Dan Morrill reshared the post, saying Lee's post was "completely accurate" description of a "very common phenomenon", with the increase in debounce time being the "classic fix". So that's that.
Our own Jerry Hildenbrand had similar things to say when this first cropped up a few days ago -- it's impossible to completely protect a complex device like a smartphone from RF interference, and some of it has to be managed with code. As such, something like the Nexus volume bug can absolutely be fixed with a software update, just as Lee Johnston explains above.