> I've been saying this for a while but I think what is happening, and what many developers haven't noticed yet, is that we have exhausted the utility of software for software's sake...
> Software was interesting on its own a decade ago, but the industry has grown up, its time to do things now.
Smartphones are important because they allow people to use computers in a manner that wasn't feasible in the past because of the size of computing devices.
However, smartphones have not produced any important innovations from a software point of view. They are not innovative because they don't need to be; they are simply the logical consequent of the advances in the miniaturization of hardware.
The market saturation you describe is not the result of a glut of innovation, but rather is just a consequence of developers porting existing desktop functionality onto a smartphone. You can take pictures and use voice recognition software to ask where nearby restaurants if you carry around a desktop or a laptop; you just probably wouldn't want to.
Actually, smartphones are a good example of how non-innovative and illogical the computing world can be.
Underneath the touch-based interfaces, they run on a kernel written in a memory-unsafe, non-garbage collected, insecure, and inexpressive language that was designed to target the PDP-11. Because the operating system is so flawed and incompetent that it can't be trusted to prevent rogue processes from stepping on others, you end up with a lack of a useable file system and awful communication between apps. Of course, the joke is that these restrictions are almost worthless because you can almost always bypass the system security and jailbreak the device; then maybe you can do something useful with your phone without.
Its part of a larger trend in the computing world to ignore history and reinvent wheels, and call it innovation. Case in point: web apps, which, unless you are replacing a legacy application, are a terrible idea. Not only will they always face latency issues, but they also use awful languages designed to serve and manipulate text and are at least twice as slow as native code. Software on smartphones is interesting in the same way that a "Hello world!" program is interesting to C programmer; the programmer is so surprised that he has fought an unfriendly, unintuitive system full of kludges and managed to output text to the screen without the program crashing and dumping core that he doesn't notice how trivial the output is.
Of course, what we have today is better than nothing. In a way, the massive and unnecessarily resource intensive process that we have now is uplifting because it shows the determination of the human spirit; just imagine what we could accomplish if we invested in the right things.