There are many paths to technology. Our modern smart phones are the most perplexing to me because I, for one, think that overall having more specialized technology is a good thing. For example, a dedicated physics processing unit on a GPU, a dedicated camera, specialized speakers for high end audio manipulation ....<p>Though where is the line between specialization and generalization, for which one is more appropriate or better? For most people (the general public):<p>Is is better to have a general widget that does many things well enough, or have several unrelated widgets that each does it's own one thing extremely well?
Computer + X = Computer<p>Keyboards, screens, mice, network terminals, speakers, microphones, radio antennas, gyroscopes, GPS receivers, cameras, etc, etc. Over time computers integrate everything they touch into themselves.<p>Specialisation at the component level (radio chips, GPUs, GPS chips, etc) is fine, but modern smartphones often have some or all these features integrated onto the same silicone as the CPU anyway.<p>Who wants to carry a handheld games console, a handheld GPS, a phone, a pager, a camera, an alarm clock and a palm computer? I used to routinely carry a London A-Z map book. Not long ago these were all naturally considered to be separate functions requiring a separate device. Smartphones are perplexing to you because you think they are phones. They are not. They are computers.
I think for the general public something general that does everything well enough is what people like. It simplifies the choices they have to make and/or think about and wraps everything into a convenient package.<p>But there will always be a market for specialized and interchangeable parts, as they're will be people who need that level of control to do what they need to do. ie a professional photographer will always use a dedicated camera because quality, ability to change lenses etc. are crucial for them to be able to accomplish what they need to do.
I think it's a function of cost. If it cost $100k design, build, and test prototype a feature/widget and you have 1000 users than it costs $100/user versus 10 cents/user if you have 1 million users * lots of features an you havelots of costs. I think thats why you add plug-ins or usb connectors, etc.