So I’ve gotten a little carried away with the Glass-Android thing. My posts are as disorganized as my thoughts, so I thought I’d organize my posts a bit. Here is the set of posts for Android & Glass Development as of Feb 15th, 2014:
The first 2 parts are more of a Curious George couple of articles telling people what to expect from Glass. Everyone asks me what they are. I end up telling people “its just a pair of sunglasses” or “its a computer” and of course they are speechless and I walk away quickly before a long discussion ensues.
The next 2 parts are for developing web service apps for Glass. Glass can work with web based apps which run on a server and interact with Glass |OR| Glass can have native apps installed into it which it can run on.
The last 4 parts starting with First Android App and finishing with First Google Glass App, is a set of posts for learning how to create native apps for Glass.
This is version 0.4.2 but there is a new build, 0.4.3 (Canary) to date of this publication.
Its ok if you choose Eclipse, the differences are minimal in general usage terms.
Android SDK 15 & GDK
If you’re used to iOS, where the IDE (Xcode) already includes the SDK, you’re in for a treat. In this case its necessary to manually get the SDKs; both API 15 as well as GDK. To do this you use the Tools menu & select AVD Manager:
Now you must pick the right SDKs. I recommend getting these options:
To install you must then click on Install Packages and individually Accept each license. This will take a while for the SDKs to download.
Now you’re ready to start programming, sorta. You need the Android Debug Bridge, ADB. This allows us to connect to Android/Glass devices and debug directly on them. Again, if you’re coming in from an iOS environment you test on the iPhone Simulator and thats good enough to get started. However, on Android, BELIEVE me, you DO NOT want to test on the emulator. Both Eclipse and AS bring the AVD Manager, Android Virtual Device Manager which creates emulators in many configurations. Just launching these can sometimes waste up to 15 minutes of your precious time. This means that in a day of coding you can literally waste HOURS just waiting for the emulator to fire up.
Besides, as we mentioned, you can’t test Glass apps on anything but Glass devices. So this is necessary.
Fortunately if you installed Android Studio, adb is already in Android Studio.app/sdk/platform-tools. If you’re on a mac you will need to add this path as an environment variable. You might even need to create a symbolic link. This is due to the fact that Android Studio is contained in one of these peculiar .app folders. As you will see later, its hard to configure some neat development tools if you have files you need to get at, stored inside one of these .app packages. You can inspect the application package in Finder:
In order to add an environment variable we first need to edit our ~/.bash_profile from terminal by doing this:
this is assuming you installed Android Studio inside your Applications folder.
Now dab is accesible from any terminal. So test it by opening a terminal and doing this:
this should start the adb daemon and list all devices plugged into your USB ports which are in Debug Mode.
Finally, a cool dev tool is an app called Droid@Screen which can be used to display your Glass screen on your development computer screen. you can get the latest version of it here:
The most current version was 1.0.2 to date of this publication.
In order to configure Droid@Screen we need to tell it where adb is. The Android Studio.app folder structure we talked about is not recognized by most apps. This it is necessary to create a symbolic link to our dab file. We can do this by using this command:
Every app needs to provide the user with a direct connection to the company’s customer service department
Above all an app must be responsive and quick. The best app in the world is useless if it takes too long to open.
Great apps do one thing and do it right! If you try to juggle too much functionality into one app, the user gets overwhelmed.
The best way nowadays to keep users interested is to Gamify or Socialize. Gamify means give your users that carrot they need to keep coming back. Socialize means connect your users to social media sites so that they can share their experience.
The shortest distance between two points is a straight line. If you want the user to do something make it easy and quick to do so.
Keep a certain uniformity between your website and your mobile app. If users find your website easy-to-use they will find your mobile app easy to use as well.
Include some analytics in your app so that you can keep track of the users experience throughout the process. This will provide you with market information as to how to improve your product.
Make sure your app is usable both with or without Internet conductivity. Give users will really thank you for this.
Whenever possible and if it’s beneficial to the user try to customize the user experience. For example storing user credentials or personal preferences is a very big plus in the eyes of the beholder.
Remember it’s a mobile device. The user will eventually try to contact your service or your company. Making direct links to telephones, email or websites will make the user experience that much better.