Viewlity V2.0 - Diploma Project

Viewlity icon



1. Overview

Viewlity is an Augmented Reality Engine for showing nearby points of interest on your Android phone. It's a powerful, easy-to-use tool for discovering places around you, finding the nearest fuel stations, coffee-shops, restaurants, ATMs, subway stations, places of worship and many other points of interest. You can also locate them on Google Maps, in order to get a larger point of view.

The experience of Viewlity is a different story for each user. By just looking though the camera and moving your Android phone left or right, Viewlity enriches the world that surrounds you.

1.1 Project goal

This project is developed as part of my diploma thesis. The AR (augmented reality) engine was earlier developed during Android Summer School at Politehnica University of Bucharest. You can read all about it here. On top of that, I added a few features that would allow the project to move further.

One feature that was really necessary in the earlier version was the ability to receive real-time updates for locations, when moving the phone around for more than just a couple of meters. Also, an integration with social networks would allow many new development possibilites, like allowing the user to see where his friends have checked in. In this release, I used the places API from Foursquare, Google Places and Facebook Places in order to grab locations in real-time.

1.2 Screenshots

Viewlity splash  Viewlity list  Menu

2. Application Behavior

The application is definitely one of the easiest you've used. Here are 3 steps:

2.1 Features

3. Development

Viewlity architectural model is formed from the following components:

  • Web Component
  • Server Application
  • Client Application
  • Database
  • GPS Provider Services
Architecture
  • Web Component
  • Server Application
  • Client Application
  • Database
  • GPS Provider Services
The web component allows the application admin to manage the Foursquare, Google and Facebook accounts. Each of the API keys have a temporary lifetime, so the admin must reset them from time to time. For a future release, this part could be moved on client-side. A server application makes the call to each of the GPS provider services, whenever needed by an Android phone. This application connects to the database to retrieve API keys.
 
3.1 Future development
 
The application can be improved with the following:
  • Automatic re-sync with the GPS provider
  • Larger set of categories
  • View your friends
Automatic re-sync with the GPS provider
 
When the application starts, the most accurate GPS provider is selected for use. That provider could become disabled for a while or a better accurate one could be available. The new provider should be selected for use, because the phone can change its GPS location pretty often.
 
Larger set of categories
 
To valide the project, 3 categories are enough. But for the app to become really useful for a user, there is a need for a larger set of categories. There is a disadvantage here, the fact that each GPS provider (Foursquare, Facebook, Google) has its own set of POI categories and for managing each category correctly, extra processing and validation is needed.
 
View your friends
 
Foursquare displays people who checked in at a location. The information can further be processed by Viewlity to show their profile picture when they're around. This feature adds a social value to Viewlity, as each user is more attracted to locations when his friends are. Also, sending messages to people around could help.