Capstone_Project_Proposal[Jonathan Leang]v1.01.doc

Message from [email protected]:

Click to open:

10415925 Version 1.01

DRAFT

Phone Tracker Visualization

Data visualization project

<http://capstone.jonathanleang.com>

Capstone Project Proposal 

Jonathan Ka Ming LEANG 10415925

2010

 Revision History

Version

Description

Date

1

First Release

1-August-2010

1.01

Added, what this visualisation project is intended to show, why it is developed, added Timeline and Project management. Text color blue

8-August-2010

  Project Title

Phone Tracker Visualization (PTV)  Project Website: <http://capstone.jonathanleang.com>

Project Outline 

Qualitative Description

Phone Tracker Visualization (PTV) is an interactive graphical open source application written in processing (Java), PTV accesses the data from phone monitoring project (PMP) API and provides visualization from the data gathered by the PMP.

This project considers the nature of the sniffer system, the installation of the sniffer is likely to be installed at Point of interest (POI) and this visualization project is intended to optimize the visualization of such POI based data gathering system.

This project is intended to provide the user a way of viewing traffic flow, hidden data and patterns gathered by the PMP, in an easy to understand and intuitive interface to see the whole system and display useful glance-able information.

The architecture of PTV considers the Visualization Pipeline, a recommendation on how to implement a visualization.

Why is this project interest the Student

The reason I am interested in this project because in ICTA, I am a part of the team who developed a plan for the Phone Tracker system and I saw an opportunity to develop this project using the real time API of the phone tracker system.

I developed interest on visualization when I stumbled on a visualization done in processing few years ago, that was when I first discover processing and some projects in MIT media lab and found it very interesting. Detailed Description

Real-time Sniffer Monitoring (real-time)

Real Time sniffer monitoring of showing how many signals are sniffed at each sniffer, how long each signal is connected to the sniffer is represented by the height of the bar around the sniffer.

The size of the cycle represents the number of signals detected at the sniffer.

The arrows are the traffic that is currently passing from a sniffer to another.

Space-time path (non-real-time)

Provide 'space-time path' for a user (Mac address Hash), the data is gathered from multiple sniffer overtime, 

it show a individual moving in a "‘space-time path’ is a vertical trajectory representing the movement of an individual in space and time.", For example if the sniffers are installed at Olympic pack it can show how the individual is moving from one location to another over time, how much time is spend at each sniffer and how much time it takes to go from one sniffer to another. 

 

This project plans to implement using the visualization pipeline architecture.

Visualization Pipeline. Fig. 1 [dos Santos and Brodlie, 2004]  Raw data - Provided by PMP API in realtime and Non-realtime. 

Data Analysis - Data are being prepared for visualization, this stage is done by the computer with little to no user interaction, in this stage the data is checked for the valid range, expected data types and interpolating missing value (sniffed client disconnected for negligible amount of time).

Filtering - User selection of data to be visualized.

Mapping - User selection of display mode to be visualized, focus data are mapped into geometric shapes and objects, the sniffer's attributes (numbers of wifi,bt siffered, location) determine the size, position and color. This step is critical for achieving Expressiveness and Effectiveness.

Rendering - OPENGL provides the user a interactive experience with camera fly though and different zoom level.

Capabilities of the student

Programming abilities:

I am passionate about coding, I have developed a Java application in OOD a UTS subject in 2007 [Fig. 2], my learn is curiosity driven, I would like to extend my programming skills to visual and 3D graphics programming, I understand that 3D graphic is a very challenging area for programming, however I believe by using processing and its libraries, I can learn these skill quickly because processing provide a low learning curve.

I have started experimenting with processing and its library a screenshot is included below. [Fig.3]

Track record:

In 2007, OOD an UTS subject, my team and I have developed a Java application with a 2D graphic interface screenshot [Fig. 2] 

iPod Head Remote (wiiPod) – 2007

[Fig. 2]Screenshot of an other JAVA application me and my team developed in 2007

<http://www.softwarepractice.org/wiki/T3_:_Ipod_Head_Remote>

Processing experiment for the Phone Tracker Visualization - 31 July 2010

[Fig. 3] An experiment with processing, a sketch with spinning boxes in 3D, Screenshot taken 31st July, 2010.

 

Objectives and Scope

Objective of this project

  1. Develop an open source visualization application for the PMP.
  2. Provide a virtual world interface of the PMP in real time.
  1. Provide an easy to understand and intuitive way to see the whole system and display useful glance-able information.
  1. Provide a map view to for the admin to see the health of the PMP (detected offline, etc)
  2. Research, investigate and develop methods for data mining for the PMP.
  1. An educational tool and learning experience to expanding the capabilities for the capstone student.

 Need and value of this project and to whom  This project have value for the PMP as it provide a read time visualization of the data that is sniffed by the system and display information in real-time.

An example for the need of this project is to provide an interface for real-time monitoring of queues in areas such as sporting events, amusement park, and conventions.

Viability of the project, as I seek to proceed with it

The viability of this project depends on candidate's programming ability. The tools and technology used affects the viability, by using processing and its libraries it have increase the viability of the project because there is documentation, tutorial, references and similar project done using processing.

Project can be complete on time if candidate follow the timeline and every risk needs to be managed in a timely manner.

Assumptions:

Technical Assumption

  1. PMP Data accessible though API
  2. Knowledge of the PMP API
  3. Internet/Network connectivity to the API
  4. Processing, Java and graphic/3D programming skills
  5. Basic data mining 
  6. Basic statistics

Non-technical Assumption

The phone tracker is not implemented as of writing this document, my assumption is that it will be completed before 2011 and provide an working real time and non-real time API to access the data.The client computer have enough processing power to run this application.

  1. This project assumes the sniffer position is correctly provided, and the location of the sniffer is well placed to provide a accurate data to represent the POI.
  1. An eye for graphic design and details
  2. Basic user experience knowledge

 

Method

Project Management 

Stages of the Project

1) Research

  1. Review current visualization project, from MIT SENSEable City Lab, other visualization and Processing projects.
  1. Experimental investigation – Prototype code using processing sketches. Research and try different libraries for processing.
  1. Data interpretation and Data mining – Research ways to display the data in a meaningful way.

2) Design/Analysis

  1. Design wire-frame for the UI.
  2. Design the Organization of the Classes
  1. Method of visualization the data, how to display it in a meaningful way.
  2. Model the design in OO

3.1) Code/Development

  1. Implementation

3.2) Integration

  1. Integrate the object

4) Testing

  1. Unit Testing
  2. Manual test the whole app with test data and realtime data obtained from the phone tracker API.

5) Release

  1. Release source code under GPL

Strategies and Resources

Development Strategies  Develop using a Cross-platform Technology for maximum portability: Java 

Rendering Technology: OPENGL for performance and portability

Development IDE: Processing IDE and Eclipse 

Possible Software requirements for this project.

The software application should be able to run on client machine as a compiled executable with at least one or more supported OS (Windows, OSX, Linux).

Software Packages

The table below explains why the choice of software is appropriate and states where or whether the software is accessible.

Software package

Why appropriate 

Accessible

Processing

3D and graphic programming langage

Yes.  Free/open source/MIT

processing.org

Toxiclibs – Library

Computational design tasks

Yes. Free/open source/LGPL http://toxiclibs.org/

ControlP5 – Library

GUI on processing

Yes. Free/open source

http://www.sojamo.de/libraries/controlP5/

Surfacelib – Library

Create different 3d surfaces

Yes. Free/LGPL http://code.google.com/p/surfacelib/

SQLibrary – Library

if using MySQL or SQLite

Yes. Free/open source

http://bezier.de/processing/libs/sql/

MySQL/SQLite

May need a Database to store the incoming data. 

To display non-real time data and feed in to data processing.

Yes. Free/open source

Data the project will need to obtain

This project requires real time data from the phone tracker system. The source of this data is gathered from the phone sniffer that is developing outside this project. The data is generated by 4 or more sniffers. The API has not been implemented yet, the likelihood of obtaining the data from the API later this year is high.

 

Timeline

Key Milestones 

  1. 06-08-10 Submit draft proposal to supervisor
  2. 27-08-10 Submit final proposal 
  3. 26-11-10 Submit final progress report
  4. 30/12/2010 Prototype (no API)
  5. 30/03/2011 Prototype
  6. 24-6-11 Release Project source code

Timeline

Gannt Chart

 

Risk Assessment

To minimize risk this project is

Since processing provides an easier method to do visual programming, I can make Prototype (sketches) and build the Application in small development cycles.

Risk Assessment Table

Risk

Phase

Likelihood 1-10 (Low-High)

Consequence 1-10 (Low-High)

Risk Mitigating Strategy

Contingency plan

No API accesses to Sniffer data 

*

1

10

Develop without the need of the API until it is accessible

Change to other source of data (Twitter, Cellular log)

Connection lost from the real time data

Testing/Release

3

9

Use reliable form of network connection (LAN, depends)

Run with old/demo data. (Show connection lost on screen)

Missed Deadline

*

2

9

Set achievable goals

Negotiate/redefine and make achievable goals

Unintended project disruption due to internship at Toshiba

*

2

8

Risk can be minimized when allocated tasks are completed as planned in the timeline

Use all the time I have outside work to complete the tasks.

 

References 

References used in preparing this Project proposal 

ControlP5 library, http://www.sojamo.de/libraries/controlP5/ (6 July 2010) SQLibrary, http://bezier.de/processing/libs/sql/, (6 July 2010)

Cloudkick Processing.js product, https://www.cloudkick.com/viz/mozilla/ (6 July 2010) iPod head remote, http://www.softwarepractice.org/wiki/T3_:_Ipod_Head_Remote,(28th July, 2010)

Modest Map vs processing, http://www.tom-carden.co.uk/2008/02/18/modest-maps-vs-processing/ More >

Note to self, take to easy. Don’t get stress

Untitled

Untitled

Day 1

0. Introductions and Expectations

The Web Credibility Project: Guidelines – Stanford University

Tell Google to Not Index Certain Parts of Your Page • Perishable Press

1. How to get a Pilot’s License in (just about) a week (davincoburn.com)

Fonts

Design for Hackers: Why You Don’t Use Garamond on The Web

http://www.kadavy.net/blog/posts/design-for-hackers-why-you-dont-use-garamond-on-the-web/