GitHub Repository: here
This work was done in the context of a Stanford Senior Design Project.
Smartphone User Interface Cloning is the idea of using a large, fixed touchscreen mounted in a car to interact with the driver’s smartphone. The static touchscreen displays exactly what the phone is displaying, and the phone responds to touch gestures on the display as though they were on the phone itself.
(We called this ‘User Interface Cloning’ (UIC) instead of ‘Mirroring’ because when explaining this idea to people, they frequently misunderstood the idea as not including the touch input capability.)
The big picture motivation including explaining why good smart device integration is important, is discussed in Stanford Senior Design Project. There’s also the added bonus of making it easier and safer to use existing OpenXC projects!
There are currently several forms of smartphone integration in cars. Two main trends are:
Button-based feature access. Each new feature requires a new button, as exemplified by Chevy’s Siri commercial.
-> This clearly isn’t a very adaptable or modular system.
Touchscreens running interfaces developed by car manufacturers, recently compatible with certain pre-approved apps that have custom-coded interfaces. (Example: Cadillac CUE.)
-> This is only falsely modular as there is no way a manufacturer will be able to keep up with the multitude of useful apps being developed.
Both of these lack modularity and don’t give users the choice of an interface they are comfortable with. Here are 2 ways to solve this:
The car directly clones the phone’s interface, and we trust users and developers to make responsible choices about how they use this interface. A manufacturer could still work towards driver saftey by moderating the interaction between driver and display. (E.g. infrared hand sensors near the screen, eye movement detection coupled with audio warnings or warnings through vibrations, etc.)
-> We chose to demonstrate this idea as UIC.
A smart-device-related company such as Apple or Google takes responsibility from car manufacturers to deliver a good and familiar experience that complies with official driver distraction guidelines.
-> Apple announced iOS in the Car two days after the end of this project. :) This isn’t open source and will likely provide limited functionality, but it’s a step in the right direction.
For the sake of time, our implemenation simply piggybacked off an Android app-pair called MirrorOp Sender and MirrorOp Reciever.
Hardware:
How to set up:
root [device name and model]
.Usage recommendations: