Yet Apple manages that part of the deal reasonably well. I'd say what's missing is an industry device standard a la IBM PC, such that drivers can be decoupled from the overall device development. It seems like low to midrange smartphones have experienced a race to the bottom before they were even in the position to lower the spending on software integration. I just hope that consumers are aware of this and choose devices that are based on standards set by the OS developer, such as Nexus and Windows Phone. Google has some homework to do in terms of the Nexus brand awareness if you ask me.
> what's missing is an industry device standard a la IBM PC
I fear that. Before the IBM PC clones the personal computer market was fragmented, but evolution was very fast. In the mid-80's, we had computers and capabilities x86 PCs would only gain in the mid-90's (for instance, plug-and-play expansion slots were present in the Apple II). Amigas had preemptive multitasking and Ataris pushed the price of 32 bit computing to impressive lows. Acorn introduced a RISC-based PC whose processor now powers just about everything that needs to process information around you.
Today, most personal computers are descendants of the IBM PC and employ an extended version of its horrid instruction set (the x86 was Intel's plan-B at the time - i432 was plan-A) running a matrioska of computers with something similar to an IBM 5150 at the core. The three major OSs in use on PCs are derived from 60's technologies, two from Unix, one from VMS. We deserve more.
While I share your feeling about x86, I don't feel PCs have stagnated since their standardization, at least not up until a few years ago. You are certainly correct that IBM PC at first was a horrid standard and until the Win95 generation other products have been ahead at least in certain aspects. However, I can't imagine the subsequent technology race between Intel, AMD, later 3Dfx, NVIDIA and ATI without that standardization. You just can't build chipfabs for billions of dollars if the market is splintered. Today we effectively got hundreds of GFLOPS accessible at our fingertips on commodity hardware, over a TFLOP if you count peak performance. Granted, bus architecture is still a bit stuck in the 80ies, which has now become a bottleneck with our SSDs - hence why Apple chose the proprietary route to get more out of their Macbook Airs.
> I can't imagine the subsequent technology race between Intel, AMD, later 3Dfx, NVIDIA and ATI without that standardization
Before the x86 dominance, you'd have Motorola in this group, making 68K chips (or, maybe, 88K). Processors today would probably be as fast as they are, maybe faster because they wouldn't need to be compatible with binaries written 30 years ago.
I didn't mean that the progress we've seen is because of x86, but because of the PC standardization.
Imagine if we had a couple of competing systems like IBM PC, Atari, Commodore and Mac, each with 20-40% market share, each with their own chipsets. Do you think we would have 30 GFLOP single threaded / 700 GFLOP multithreaded performance built in commodity systems now? I don't think so.
In mobile space it's kinda similar: Only because ARM was able to get such a dominant position in chip design we have the current speedup rate.
The thing is however, that the main chipset is not the whole story, it seems to me that the way those dozens of subsystems work together nowadays just isn't designed well - as you said it just barely works. Having a standard would help in that every subsystem manufacturer could just provide drivers for his part and the OS would then know what to do with it, it's not necessary anymore for the assembler to do all that work.