Hi Yuriy,
Oh yes, completely well aware of software complexity issues... Intimately so...
The problem with the smartphone environment is two-fold (actually probably three or four-fold) but as far as software goes here are some of the fundamental issues. -And this is general, common knowledge...
The development environments are going toward multi-platform and are trying to support BlackBerry, i(Apple-Stuff), Symbian, Droid, Palm (and a host of others) all under one hood. As you said, any software that's complex has bugs. -And when you cram that much bad technology (and some of it flawed technology at that) into a small place, you get well, high density bugs. I couldn't count the number of bugs, my teams have encountered which were traced back to the development environment (Eclipse, Netbeans, VS, etc). And these are fundamental bugs such as linker offset problems there were darn near impossible to find. Classic and simple case in point. Take your software, upgrade the development package and recompile. -Dollars to donuts it won't even compile much less run right. I know better. And when you release your app using version X of some package, you will find it conflicts with someone else's app that was made with version Y of the same (or some other) environment.
Configuration Management: I've used about every known CM package out there (and still do, every day). All of them are buggy as heck.
Other Software: No matter how good your app is and how much time you've spent chasing-out the bugs, there's always going to be someone else's Free (or 99 cent) app that brings the whole cardhouse down. -And it may manifest itself only when your app is running -and thus, you will be given due credit.
OS Changes: The problem is systemic. I couldn't shake a stick at all the apps I've made over the years that stop working properly when the OS is upgraded -and the smartphone OSs are highly complex (and usually very different than the OS's in notebook and general computing devices) and in a constant state of flux. Software is only as good the OS it runs in and it's a constant moving target.
I could go on ad-infinitum about these types of issues and not even scratch the surface of proprietary information issues (which are systemic and deep seated).
I happen to have detailed information about cell phones and it's common knowledge that most folks power-off / reset their devices on a regular (almost daily) basis. Why? Because something goes quirky and it's the fastest way to make a bug temporarily go away.
BTW: Your idea of of putting a BT xmitter at the end of a DRO is probably worth a design patent (I sat on the Patent committee at Motorola)... Your idea is good, very good. Now get away from the smartphone environment lest you get blamed for every weakness they have... Notepad, GC platform -good place to be for your idea.
Ray
Ray,
What do you mean by "removed from a smartphone environment"? (Just curious). I haven't tested too much on the phone (mine has $600 replacement cost, so it's not going into the garage...), but the tablet running clean Android has been pretty reliable so far.
As a professional software developer I can say with 100% certainty: all non-trivial apps are buggy, and that is due to a lot of factors, ranging from issues in the author's DNA to stray neutrinos hitting the processor at the right time
Regards
Yuriy