Why Modular Smartphones Are Such a Nightmare To Develop
itwbennett writes: Last week Google postponed tests of its Project Ara until next year. Mikael Ricknäs has written about why developing such devices is particularly difficult. The biggest challenge, writes Ricknäs, 'is the underlying architecture, the structural frame and data backbone of the device, which makes it possible for all the modules to communicate with each other. It has to be so efficient that the overall performance doesn't take a hit and still be cheap and frugal with power consumption.' For more on Project Ara and its challenges, watch this Slashdot interview with the project's firmware lead Marti Bolivar.
It is literally a circular network connected to one CPU and a bunch of dumb nodes.
Each node has a network ID. They can pass messages and only the nodes that are listening for it will get it.
High bandwidth data bus for it.
Why is that so complex?
Anything can be made to sound easy by describing the overall concept in a few sentences. Devices are built in the real world, not on a whiteboard, and here in real world, the devil is in the details.
Irony: Agile development has too much intertia to be abandoned now.
Sorry Ara team; but the whole concept is a fail.
I do lots of electronic product development, and this concept has so many problems
- Electromagnetic Compliance. Every time a new module is created, are you going to go through the expense & time of compliance testing.
- Where is consumer demand for such a device? Consumers are becoming dumber; they are flat out finding a power button, let alone selecting complex modules for a phone. This makes it a niche market device, thus low volume, thus expensive.
- Connectors in any design are one of the common fail points. In this design you have lots of them.
- There's a lot of effort just to reliably mechanically retain the modules.
- Having discrete modules makes layout inefficient, as you have to per-decide the size of a function.
- A lot of added complexity/power consumption, as each module needs a hardware/software interface layer common to all modules to abstract their native interface.
- plus all the other mentioned in the link
Now if Google has some spare cash lying around, I've got a lot great projects going on they could invest in!!!
46137
yeah I know, right!
Just make a high speed, low power, multi-point data bus.
Just use.... wait there isn't anything available that meets all of those requirements.
There are a lot of point to point high speed low power buses.
There a lot of low speed multi-point buses too.
High speed and low power means impedance matched differential pairs.