The Problem with Mirror

So, two days after being published and posted to the XE community, I’m forced to take Glass Feeds offline. Why?

Google is intentionally limiting the audience of non-native Glass developers by putting a cap on the amount of timeline cards they can push. Any Glass Explorer only has the permissions to push a maximum of 1,000 cards per day, to any account. This applies for all applications from a developer; so if I were to max out my account by offering Glass Feeds to a select few users, I would be unable to develop any further applications.

Why is Google doing this? Well they are keeping that part of it a little quiet. Representatives on glass-community.com have stated that the caps are in place because Glass Apps are currently not meant to be distributed outside of the developer’s immediate network. I think this notion is ridiculous. What they have essentially done is made an art gallery under the promise to showcase all of the local talent, but then proceeded to only put up the paintings of established artists. What is the point of all that Google is doing to try and get developers in on the Glass program if they are just going to turn around and shun all their work?

If this bothers you (and it should, if you dropped $1,500 for a pair of Glasses an expected to see anything other than the core apps offered by Google), I’d suggest you make posts on glass-community or contact a Glass guide about your concerns. I have no doubt that Google will come around and remove the limitations in the coming months, especially when they figure out how the Glass App Store is going to work. The problem is, that isn’t soon enough. This is a critical moment for Glass. It’s out there, there are developers tinkering with them and spending time building applications for them. Fostering this community, not squashing it, is imperative.

As for Glass Feeds, it will be back. I will continue working on it and using it in the background until Google lifts it’s restrictions. Thanks to those who supported it during it’s brief life thus far..

GlassFeeds – RSS for Glass

I’m proud to publish my first Mirror API application, GlassFeeds. This app allows you to select several news sources which will be periodically used to push news stories directly to your Glass. From there, you can send the stories to Pocket or e-mail to be read later or share them with your friends.

GlassFeeds can be activated here:
http://glassfeeds.appspot.com

Frankly, I can’t believe this isn’t one of the first applications to come out for Glass. I mean, right from the start, one of the original “apps” that came with Glass was NYT – lending to the thought that receiving news on Glass was one of the use cases Google had imagined. RSS seemed like a natural extension of that. Personally, I never liked the way the NYT app was laid out. I thought it basically grabbed your attention with a headline but gave you very little that you could do after that. I felt that at least being able to e-mail yourself a link would have helped.

Anyhow, noone made it, so I did. I have to say, I’ve been testing this for the last week and it has quickly become the #1 use for my Glass – receiving news and judging which stories I want to read later that is. I love this app, and I hope you guys do too.

YouTube for Glass

I released the first version of this app a couple of weeks ago, but I have finally finished polishing and optimizing it! This app allows you to watch YouTube videos on your Glass. The videos are taken from a YouTube feed and placed directly on your timeline, and you need only click on the video card that you want to watch and press “View Video” to get some video action rolling!


Watch YouTube on Glass!

You can get the source code for the app here: GitHub
You can download a compiled APK (and extras) here.

Installing this app from the compiled APK will use ADB. Please see my ADB tutorial if you do not have this working with your Glass. Getting it running is pretty simple actually. Just a few quick steps:

 

Installing the app

  1. Extract all the files in the same directory as ADB.
  2. Right click on the file .youtubeconfig and click “Edit” (or ‘Open with Notepad’)
  3. This is the configuration file, you will need to set it up to make the app work as you wish before you load it on your glass
    1. youtubeFeed should be set to the feed URL you wish to be sent to your Glass. I highly recommend you do your subscription feed if you are a YouTube user, and becoming a user and subscribing to some channels if you are not :) . If you go this route, you will want to un-comment the line
      `#youtubeFeed=http://gdata.youtube.com/feeds/base/users/<username>/newsubscriptionvideos`
      by removing the pound (#) sign. Then, replace `<username>` with your YouTube username. Next, comment out any other line that starts with “youtubeFeed=” by adding a pound sign to the beginning of it. Finally, copy the URL to your favorite browser to make sure it works!
    2. queryInterval is how often the app will download the feed and add new videos to your timeline, in minutes.
    3. sendAllVideos determines whether or not all videos in the feed are packaged together on your timeline every time a new video is posted. If you set this to `false`, only new videos will be put on your timeline as they come in. I recommend leaving it to true.
  4. Save the changes to your configuration file and open up a command window and browse to your adb directory.
  5. Type `adb push .youtubefeedconfig sdcard/`
  6. Type `adb install YoutubeFeeds.apk`
  7. Type `adb install com.google.android.youtube-2.apk`
  8. Type `adb shell am start -n com.appliedanalog.glass.youtube/.MainActivity`
  9. Put your Glasses on and check out your timeline.

Using the App

Once you have installed the app, you should see a new card on your timeline that tells you what YouTube feed is being pulled and how often it is being pulled. This is the controller card, you can use it to stop the feed whenever you want. When you stop the feed, the controller card is pinned to the front of your timeline. You can then use this to start your feed back up. I recommend that you do not delete this card as it will be very difficult to start the feed up if you do.


This is the controller card where you can start or stop the feed and view the configuration settings.

After a few moments (if you are connected to the Internet), you should see your first video feed show up in your timeline. From here you can tap into the feed and tap on a video to view it. The first time you view a video, Glass will ask you how you want to launch it. Use the touchpad to scroll to the bottom of the selection menu and select “Always use this option”, then select YouTube. From now on you won’t be bothered by this.


Videos show up on your timeline complete with thumbnail images and durations!

At the end of every video feed there will be a new controller card that you can use to stop the feed. You can use these when your original controller card gets (inevitably) lost in your timeline.

Good luck and have fun!
Uninstalling the App

  1. Open up a command prompt and browse to the folder that has adb.
  2. Type `adb uninstall com.appliedanalog.glass.youtube`
  3. Type `adb uninstall com.google.android.youtube`
  4. Done!

How to install native apps on Glass

The apps you can write with the version of Glass that Google shipped to the original explorers only has one documented API for developers. This is the Mirror API, a REST model that provides little in the way of user interaction and is primarily focused on beaming information to your eye. The really fun stuff you can do with Glass is done through what is being called “Native” apps, which are basically Android applications that are side-loaded and run on Glass. These applications have full access to the hardware and can do anything an Android application can do – that is, everything.

What is more important for those who have never developed for Android is: “How do I install and use these applications”? This is the topic of this post. This should be a step by step guide that gets you up and side-loading native applications onto Glass using a Windows computer as quickly as possible. This guide assumes no prior knowledge of debugging on Android so anybody should be able to use it. So let’s get to it!

Enabling Debug Mode on Glass
The first thing you need to do is tell Glass that you want to be able to debug on it. This is supported via a setting directly accessible from the stock Glass UI.

  1. Scroll to and select the settings card.
  2. Scroll to and select the “Device Info” card.
  3. Scroll over one to “Turn on debug” and press on it.
  4. Wait a moment and debugging is turned on!


Installing Drivers for Glass

So unfortunately, the stock android drivers for Windows does not properly support Windows. You can modify the drivers that come packaged with the android SDK to get this to work by following the instructions here, or you can use these drivers that I prepared, downloadable here.

Once you have downloaded the drivers or done the modifications, you will need to plug your Glass into your PC via a MicroUSB plug. Now, follow the instructions found here, using the drivers you downloaded where they are referenced. Please note that if you are using Linux or Apple, you will not need to install any drivers, you can just use the instructions found at that link to get past this step.

When you are done, your Device Manager window should look like this:


Using ADB

Normally ADB comes packaged as part of the Android SDK. However, you can get a standalone version here. Once you have grabbed this, follow these instructions:

  1. Extract the standalone ADB you obtained into some directory that you can come back to at a future date. Copy the directory path to your clipboard.
  2. Open a command prompt. You can do this on Windows 7 by pressing the Start Key, typing ‘cmd’ and hitting Enter. In Windows XP, open the start menu, click on “Run” and type “cmd”.
  3. Type `cd “`, then right click on the command prompt and click “Paste” to copy the directory path from Step (1). Type `”` and press Enter. (Command should be `cd “<directory>”`)
  4. Type `adb devices`. Verify that adb runs and that your glass shows up as a device. It should show up as just a seemingly random jumble of numbers and letters under “List of devices attached”. If all you see is “List of devices attached”, you have not installed the drivers properly.