Friday, September 27, 2013

Hello Android

Progress this week was geared towards ramping up the Android application. I started with reading the documentation linked in comments on my previous blog post by Mike. I also set up the Android environment and ran through several basic Android tutorials. Using what I learned from the documentation and tutorials, I have made a basic app that displays the camera feed on the screen of an Android phone.

Next steps will be to read raw orientation and acceleration data from hardware sensors. There should also be some time devoted to developing a UI and building functionality to allow querying of Google's Directions API to get navigation directions from the user's current position.

Saturday, September 21, 2013

Initial commit

This is the first in a series of weekly posts for my DMD senior design project. My proposal for Augmented Reality Landmark Navigation and other senior projects can be found here.

The proposal outlines a mobile app that helps users navigate street directions. The main feature of the app will be displaying directions with waypoint markers overlaid on a live video feed. The app will take advantage of the phone's GPS coordinates and internal orientation sensors to achieve this.

The largest unknown in my proposal was which platform and phone to use. Since writing the proposal, I've decided to use Qualcomm's Vuforia SDK for Android. This decision was informed by a talk given by Serafin Diaz of Qualcomm Research during which the capabilities of Vuforia were demonstrated. In particular, Vuforia provides excellent object tracking, which may be necessary for calibration and ensuring the accuracy of where waypoints are rendered.

I chose to use Android as opposed to iOS because of my familiarity with Java.

Battery life is one concern that has come up from the Qualcomm talk and my readings about mobile development. Because AR applications are computationally intensive and battery life is extremely limited, this app should be optimized for conserving battery. One way to do this is with efficient data transfers, as described in this blog post. Another possibility is to use a phone with a Qualcomm processor in it, since the Vuforia SDK is optimized for these processors. A third goal for battery optimization is efficient memory usage - using RAM is power-expensive. These are all things to consider while I am developing this application, and should be outlined now as opposed to later, when I may have coded myself into a power-inefficient corner.