Thursday, February 12, 2015

Underground dead reckoning

During a lunch chat with some friends we come up with interesting idea for small mobile app. Here it the gist:

Why: While taking a train (specifically underground) in unfamiliar city it is quite an effort to keep track of station names not to miss your station. This is not always easy. Some trains have electronic displays showing next/current station name; some don't. For example in Japan JR trains there are such displays but they circle station names in 3 languages and you need to wait to catch the English name.

What: It would be nice to use mobile phone to keep track of my position along the route and warn me just before my destination. I can safely dose off or read a book and wait for my phone's vibration or sound signal to disembark.

How: Obviously one could not use GPS underground. Another solution would be to use some wireless fingerprinting to determine your position: name of mobile cells or SSIDs of WiFi networks. Given the limited wireless coverage this might not always work. So the idea is to use accelerometer. Sampling accelerometer and integrating estimated acceleration would give us a speed estimate. Since the train moves along a fixed route we can then estimate our position along the route over time. Of course it is not very accurate, but could be good enough for practical use. When train stops at an intermediate station we can snap our position to the nearby station. The distances between the stations could be learned via simple training. Pilot users would ride the train marking each station by pressing a button on the phone to collect training data. Additional improvement might be to use a magnetometer data in addition to accelerometer. On a curvy route our orientation could help you to identify your position more accurately.

Should be a find side project and a useful mobile app. Unfortunately I do not have time right now to work on it myself right now :( Hopefully I would, on some rainy weekend ....

Tuesday, February 10, 2015

Digital Signature (sort of)

While doing business I have to sign a lot of paperwork: contracts, NDAs, amendments, etc. One would think that companies in Silicon Valley (this is where majority of our customers are) should be done with the paper and should be all using digital signatures by now. Unfortunately this is not the case. In last 10 years I can recall only one instance where we were offered to use digital signature.

(A pile of printed contracts I am using as a scap paper)

Most people print sign, scan, and email the paperwork. Oftentimes people just sign and send you back the signature page. Frankly this is bothering me a little bit. I am not a lawyer and I am not sure of all implications. What if remaining pages were changed (hopefully inadvertently)? On the other hand it is a lot of work to print and scan 20-page contract just to sign a single page. That made me thinking if there is a low-tech temporary solution to this, at least until everybody switches to digital signatures?

A trivial workaround would be to tag (via watermark or a footer) every printed page with the hash (like MD5 or SHA-1) of the whole original document (PDF file). Then a single page could be printed and signed but if needed it could be checked to what document it belongs. Implementation-wise it could probably implemented as printer driver or via simple utility which produces watermarked PDF for printing from the original one.

Monday, February 9, 2015

Driving directions

Imagine you are driving with a friend who is giving you directions from passenger seat. He might say something like this "turn right after 3rd traffic light" or "take next turn". This is not how GPS navigator would instruct you. You more likely hear "in 300 feet take right." But for humans it is easier to count traffic lights or intersections than to estimate a distance in feet or meters. Can't wait for new navigation software to catch up.

And while I am on the subject of navigation, here is another annoying feature I have noticed in Google Navigation while driving in France: it reads French street names using English pronunciation rules. When read this way they sound funny and are difficult to recognize. I think it should be smart enough to know than even while my language is English I am driving in France and names of the places should be read in French!