A week with the Google Glass

I had the opportunity to borrow the Google Glass from my workplace last week.

Google Glass is a wearable miniature computer mounted on a frame you wear like glasses. It has a small display that you can see through on the right eye.  Glass is still in the development process and these units aren’t the final product, so some of the issues may be solved by the time the final product ships.

First impressions

The Google Glass I had borrowed was one without prescription lenses.  Since I need to wear my own glasses, it was hard for me to get the Google Glass to fit on top of my glasses in a way where I could see the full screen. The left edge was cut off so my experience with it was affected.

The screen is also quite small, so there’s not a lot of things to see on the screen.  The main menus are just a scrollable list of words.  The two ways to interact with the Glass are by voice control, and a touch pad mounted on the right side of the frame.


Vancouver City Hall, taken from Google Glass
Vancouver City Hall, taken from Google Glass

I walked around with the Google Glass for a bit.  Took some photos and videos just to give it a try.  I didn’t have that many apps on the Glass so there wasn’t really much I could do (also one should probably be concentrated on walking in any case…).

More photos and videos taken from my walk with the Glass can be found on my Google Plus album.

In the car

I wrote an email to ICBC to get the official word on the rules about wearing Google Glass while driving, and as you may have guessed, it’s prohibited. Here’s a copy of the email I got back.

Based on information from Road Safety BC, we can inform you that the use of Google Glass while driving in BC is prohibited.

There are several sections of the Motor Vehicle Act that apply:

  • The most directly applicable section is Section 214.2 that lays out “Prohibition against use of electronic device while driving”. The “Use of Electronic Devices While Driving Regulation” prescribes “television” as an electronic device subject to the prohibition. Mobile operating systems and devices with wireless telephony, e.g. Google glass, smart watch, etc., are considered to be a variant of a “television” for purposes of the Act. They are considered as such because they fit within definitions of a television, for example, according to the Oxford English dictionary, Television is a system for converting visual images (with sound) into electrical signals, transmitting them by radio or other means, and displaying them electronically on a screen.
  • Section 144 of the Motor Vehicle Act lays out the prohibition against “careless driving” which could apply if using Google Glass while driving.
  • Sections 181 and 183 of the Motor Vehicle Act also require that drivers and cyclists exercise due care and attention when driving, so failing to do so due to distraction from using Google Glass is another way a person could violate of the rules.

So due to this I wasn’t able to try out the GPS navigation.


It’s pretty cool wearing the Google Glass. It feels like something from a sci-fi movie. But on the practical side of things there doesn’t seem to be that much useful stuff that can be done with the Glass right now as there are only a limited number of apps.  But I’m sure as time passes there will be more and more interesting apps that will make Glass a lot more useful.

Side Project 2: Alarm synchronized with Google Calendar

I actually started on this earlier last year when I got back to school in September.  I was finding myself re-setting my alarm clock every night to a different time (due to classes each morning starting at a different time).  I got quite frustrated myself when I forgot to set the alarm or setting it to the wrong time.

I realized that all my classes were in my Google Calendar, so if I could write an alarm app that could read my Google Calendar and automatically wake me up before that (maybe 1.5-2 hours ahead, since it takes about 1 hour to commute to school).

I started in mid-September and then schoolwork hit me and I never got it to a working state.

Now that I have time (although I don’t really have a reason to set alarms these few months), I finished it off to a working state.  It’s written in Java using Google Calendar libraries to hook it up to the web service.

I’ve uploaded the Java code to my Github account.  The code is quite rough right now, probably has a few bugs.  It’s a command line Java application, as it was meant to work on a headless system.  Eventually I’ll probably add a better readme, better documentation on how to use it, and maybe even a GUI.  This project hasn’t really been a priority for me right now since I don’t have to set any alarms these few months 🙂

Side Project 1: Real Time Bus Map in Vancouver

Since TransLink released their new mobile Next Bus site with real-time GPS updates of bus locations, I’ve been trying to find ways to get the data and rehash it into something that  Metro Vancouver transit enthusiasts (more specifically, enthusiasts who chase buses and monitor the transit system’s operation) will find useful.

There were two main shortcomings of TransLink’s site from the viewpoint of a transit enthusiast:

  1. Can’t search for a specific bus.  Often times transit enthusiasts “chase” a particular bus, usually a new bus, a fresh bus after a midlife refurbishment, or a bus with a new advertisement wrap.
  2. Can’t see the entire system as a whole.  This one’s pretty self explanatory.  It’s just fun to be able to see where all the buses are.

So I created a system which gleaned information from the TransLink site and aggregated it into a useful interface which I called “T-Comm”.

This is named after CMBC’s Transit Communications centre which has an interface similar to what I created.  Using the information I was also able to add additional functionality like grabbing the bus’s schedule for the current trip and even the entire day.

Since most transit enthusiasts would be using this on the go, I knew I had to make this site mobile-friendly. The enthusiasts I knew used a myriad of mobile devices including Blackberries, iPhones, and Androids, so it would not have made sense for me to create a native app for each of the platforms; it would have killed me in terms of time and energy.  I chose to use jQuery Mobile and Google Maps API as the basis of the frontend.  The backend is powered by PHP/MySQL. I was amazed at the ease I was able to make something mobile-friendly using jQuery Mobile.  It was actually fun too.  More importantly testers reported positively on their mobile devices.

I’m hoping that TransLink will release the GPS data officially for developers.  They’ve said after April 2012 on Twitter, so I’m crossing my fingers.

Contact me if you would like access to the site.  Since the current site hammers TransLink’s servers I’m trying to tread lightly.  Once official GPS data is used I will open it to the public, but I don’t really see this being used by the public as it is quite enthusiast-oriented.

Update: The site has been updated to use TransLink’s official data feed for real time bus data, so here’s the link: http://tcomm.bustrainferry.com.  More info on this site can be found on my T-Comm project info page.

Google Chrome

Google Chrome

Google is releasing a beta of its browser application, Google Chrome, finally.  The scheduled release date is tomorrow (Tuesday, September 2nd, 2008).

Google Chrome uses the WebKit rendering engine, which is currently being used in Apple’s Safari browser among others.  I personally prefer Safari’s speed at loading pages, and I hope Google Chrome using the same engine can achieve same or better speeds than Firefox or Internet Explorer.

Also it seems like each tab in Google Chrome will be run in its own process, which should make memory leaks easier to manage (well hopefully there won’t be any to start off with).

The Google Chrome team put together a comic book outlining the development for this browser.  Very interesting read.

Google Blogoscoped has a post on Google Chrome quickly listing a few features and also another post with screenshots of the new browser.  Google’s official blog also has a post mainly for announcing Google Chrome’s release date.  Yet another post on All Things Digital discusses Google’s tactical moves invading the browser market.

Gmail: POP and now IMAP

I’ve had a Gmail account since September 7th, 2004 and currently have 13096 conversations (and counting) in my “All Mail” box using up roughly 1GB of space.  One of my first suggestions to the Gmail team was IMAP, and I am glad to see that it has finally made its way in.

The advantage of IMAP over POP is that you can see a list of your folders (or in Gmail’s case, tags) and emails that you can move around, mark read/unread, reply, forward, etc. right in your favourite email client, and any action will be synced with the server.  Thus, you can mark mail as read, and label it some tags from Outlook, and Gmail will automatically do the same thing on their side as well.  Also, since all the actions and mail are synced with the Gmail server, whenever you login from any client configured for your email, or from the Gmail web interface, you will see the same list of emails in the same tags.  POP only allows you to get the mail (in one single inbox folder, relying on your client to filter any incoming mail), but any further actions won’t be synced up.

I’ve known that Gmail was going to add in IMAP a week or two ago while reading “Look out Outlook IMAP for Gmail is Coming” on GottaBeMobile, but I didn’t realize that I would get the functionality so quickly.  So I found the IMAP feature in my Gmail today (I don’t use the web interface much) and I thought I’d try it out.  It took a while to sync up all the folders and headers.  Anyway, I’m still debating whether or not to keep it.  I’m still trying to figure out how to archive mail from the inbox, and trying to get Outlook to download the entire messages from the server.