Sunday, October 25, 2015

Augmented reality whiteboard

I often do remote video meetings which require writing and discussing math: formulae and plots. I've tested couple virtual whiteboard software applications but they are inconvenient and require using tablets of writing with your mouse. I ended up pointing my camera to a regular whiteboard during the meeting and photographing and emailing content as meeting minutes. Obviously there are more sophisticated solutions like these which cost thousands of dollars. The main problem with such solutions is that you have 2 whiteboards instead of one. Both parties do not draw on the same surface, but each draws on it's own. You could not correct or modify other person's writing. Even more expensive solutions like this, replace whiteboard with huge touchscreen TV solve this problem.

I thought that that this problem could be elegantly solved by augmented reality using Google or Oculus Rift VR glasses. Your correspondent's drawing is virtually projected on your whiteboard and yours is projected on his. While each whiteboard only has physical drawing from one of you, when you look at it through the glasses you see both whiteboard contents superimposed on top of each other. This should work with regular $40 whiteboard and crayons or even with a piece of paper. The solution is very portable. All you need is to carry your glasses and you can project a piece of paper from your hotel room.

Monday, September 21, 2015

ranting on Android Permissions

I have a bunch of applications installed on my Android phone. Most of them are frequently updated by developers. If the update does not require any new permissions it is installed automatically. So one could expect that after some time my app eco system will “settle” and most of the apps will be updated automatically. Unfortunately this is not what happening. Pretty much every other day I have to go into update manager and approve new updates granting additional permissions. 

From that one can conjecture that the apps tend to steadily expand their permissions “footprint”. I guess that makes sense, as new functionality require additional permissions. That would be OK, if Android permission system would not be fundamentally crippled. By that I mean their “all or nothing” permission model. User can either grant all the permissions an app requests or not to use this app at all. For example if some app requires access to my SMS messages for non-essential feature which I would never  use anyway, there is no way for me to refuse it to read my messages but still use the app. There are some indications that Android 6.0 “Marshmallow” will finally allow users to grant individual permissions to the app. Until then millions of users mindlessly keep pressing OK granting unnecessary permissions.

Sunday, July 12, 2015

Pebble Chaser watch face concept

Back in 2014 I wrote:

"When things get virtual we usually start by mimicking familiar physical world. We have mailbox, folder and envelope icons, "old phone" ringtones, and lot of other UI metaphors inspired by things now obsolete. Nothing wrong with that, as long as by doing this we do not limit our creativity. Take a look at this picture of Pebble watch:

In pebble argot this is called "watchface." This is a particularly popular one and there are dozens of variations of it in the Pebble store. The problem shown is that sometimes date "window" (at least this is what it is called on mechanical watches) is obstructed by watch hands and you could not tell the date. There is nothing you can do about it in old style mechanical watch, but on Pebble you can, for example, move the date window position around to make it always visible."

I was really missing this feature and finally took matters in my own hands and implemented this idea:

You can install it following this Pebble App Store Link. You are welcome to fork the github project and improve.

Monday, April 13, 2015

smart watches

Being a Pebble happy user for a while I am convinced smart watches have a future.  I would like to share one pretty obvious feature which I hope to see soon. I want my watch to connect not only to my phone but also directly to my computer, TV, electric skateboard, etc. using bluetooth. For example if I am away from my desk but within bluetooth rich my watch should notify me about incoming message or other desktop notification.

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!