Cluster Grid

Font Size



Menu Style

  • Error loading feed data

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:

  • Start the application.  It will show a splash screen, after which the camera will be started.
  • Move the phone around. Point it to North, South, move it left or right and see locations near you.
  • Rotate the phone to point the screen upwards and it will scroll the entire list of POIs.
2.1 Features
  • Oriented locations. Each location is identified by its name, distance to it, and angle to which the phone must be oriented so the location appears in front of the camera.
  • Ordered POIs. Every list of locations in Viewlity is ordered by distance from the phone. We know that locations which are closer are far more important, so we'll show them first.
  • Clickable POIs. A click will drive you to Google Maps, where you will find the POI that you clicked on, along with the entire list pinned on the map.
  • Smooth Animations. You will find that POIs have a very smooth movement, and you can stop and capture each one on the screen. Scrolling through the entire list of locations is very accurately controlled by your phone orientation.
  • Real-time updates. Whenever you move your phone by far than just a few meters, you will notice it will update the locations with POIs from Facebook, Google or Foursquare

3. Development

Viewlity architectural model is formed from the following components:

  • Web Component
  • Server Application
  • Client Application
  • Database
  • GPS Provider Services
  • 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.