Hacker News new | ask | show | jobs
by Schuback 4718 days ago
I had the unique experience of borrowing a pair of Google Glass for a multi-day hackathon. The very first thing I did was figure out how to develop and install actual Android apps on it, because the "card" system isn't conducive to developing interesting applications. Frankly I'd rather go with a smart watch if cards are all I could do.

During my time with Glass I prototyped 3D interactive software where you could load up models of human body parts, physical structures, etc, and swipe the side to rotate them around and view from all angles. This ran pretty well on the embedded processor, and I was importing relatively large 3D models.

As well, I tried running computer vision algorithms on the device. This did not go so well. I could not run a basic Canny edge detection algorithm at more than 1 FPS. FYI this algorithm - and similarly complex ones - are fundamental to doing anything remotely useful in image processing. The alternative is doing all your image processing offline, which may be fine in the future as internet becomes super fast. Some people are doing facial recognition like this, at a whopping 2 FPS.

About the product. There's the issue of the screen size. Small, hard to focus on, and up to the right. Not really conducive to augmenting your vision. I think it's fair to say that Glass was meant as an information retrieval device - which again, makes me wonder, why not just use a smart watch? Frankly I think the screen quality could be better on the watch too.

All in all, the platform is an interesting foray into wearable computing but I reckon it will take multiple iterations (and years) to get it to the point where I can run more interesting CV and AR applications. In the meantime, I've been building my own wearable computing hardware to enable the types of software I want to build. The Alan Kay quote, and all that.

1 comments

How were you implementing the Canny edge detector? As a GLSL shader or on the CPU?

I implemented a (simple, not quite Canny) edge detector in GLSL and it runs fast enough not to be distracting (https://github.com/matt-williams/Optometrist).

I've tried using OpenCV (which isn't GPU-accelerated on Glass because I think OpenCV is only accelerated on Tegra) - this _was_ too slow.

Yep, via OpenCV. If I still had access to Glass I'd love to try out your library. Do you have any first-person videos of your application? If you have an iPhone 5 you can hold it up to the prism in good lighting and record first-person (it's a real pain though).
I don't have any first-person videos yet, but I should give it a go. (I don't have an iPhone 5, but I can try with my HTC One X.) I'll link to it from the project's github page.