Thursday, December 11, 2014

Project: Recgonize Team 4


Bringing efficient data management to a simplistic and entertaining web application.

Problem 1: Recognition had no backend.  There was no method for album management nor an avenue for serving the albums to the mobile application.
Problem 2: Images were stored in a cumbersome manner. The different levels of pixelation for the quiz image were stored as separate images, which multiplied the amount of data the mobile device had to store, decreasing efficiency.

Solution: Utilizing a Django framework, we have implemented a backend that dynamically serves the application.  This allows highly efficient performance and unique user interface designs across platforms.  Storing the images on a server frees mobile devices from the self-storage of albums, allowing faster performance and increased capacity for albums.  The pixelation algorithm we used displays the original image in pixelated form when it is the subject of a quiz.  Next, the image is methodically rendered back to its original form.  This process allows for the pixelated images to be thrown out of the database, saving storage space.

How It Works: All of our data is currently stored and hosted on a remote server with a built-in administrative interface.  The interface is uses the Django framework, and allows administrative users the ability to add, delete, and edit albums by adding and removing images from the albums.  When a new album or image is added or removed a dynamic JSON page is updated, which is how the front-end dynamically updates the contents that can be displayed to the user.

When a user visits the webpage they will choose an album to play with, when a user chooses a url parameter containing the album title is passed to the new web page.  It is at this moment that a JSON call is made to the server to pull the images that are stored in the selected album.  An image from the selected album is then randomly selected to be the subject of the quiz.  The image then goes through the pixelation algorithm.  If the user is able to select the correct corresponding image from a list of answer choices below the image, it proceeds to the next image.  If the image becomes fully rendered before the user selects it automatically proceeds to the next image.

Unfinished & Future Work
  • Facebook Integration
    • Save progress
    • Head-to-head competition
      • Facebook friends
      • Other Recognition users
  • Improved User Interface
    • Sound effects
    • Interactive menu
      • Help page
      • Leaderboard

No comments:

Post a Comment