A Google intern has come up with a clever little system that lets you transfer open applications between a computer and a cellphone simply by pointing the phone’s camera at the computer screen.
Taking a photo with Deep Shot causes the phone to automatically open the same application in the same state. It can also work in reverse, moving data from the phone to a computer. The application window is automatically resized.
Simply take a photo of your computer screen with your smartphone’s camera, and the phone automatically opens up the corresponding application in the corresponding state. The same process can also work in reverse, moving data from the phone to a desktop computer.
"People are used to using heavy tools to transfer data or synchronize two devices," says MIT graduate student Tsung-Hsiang Chang.
"You have to plug in a USB cable and maybe open iTunes and synchronize a bunch of data at the same time. But sometimes you just want to send a tiny bit of information, or a single piece of information."
Chang, together with Google's Yang Li, developed the system last summer when Chang was doing an internship at Google - which means Google owns the rights. Chang believes the company will make it available at some point.
Deep Shot exploits the fact that many Web applications use a standard format, the uniform resource identifier (URI), to describe the states they’re in.The data contained in a URI can vary widely, and URIs are a common feature of many web applications, although they're easier to extract with some apps than others.
It uses existing computer vision algorithms to identify the application open on screen. Then the Deep Shot software installed on the computer extracts and transmits the corresponding URI.
At present, the system works with several common web applications, such as Google Maps and Yelp - but with minimal additional coding it could be made to work with any application that reveals its state through URIs, says Chang.
And because URIs use a standardized set of codes, Deep Shot can even mediate between different applications, transferring data from one map application running on a desktop computer, say, to a different one installed on a cellphone.
In principle, the system could also work with off-the-shelf software: It would just require software developers to make some minimal modifications to their code.