Just my personal life online !
Archive for August, 2010
12 Standard Screen Patterns
Aug 25th
Send2
Aug 20th
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
- Develop an open source visualization application for the PMP.
- Provide a virtual world interface of the PMP in real time.
- Provide an easy to understand and intuitive way to see the whole system and display useful glance-able information.
- Provide a map view to for the admin to see the health of the PMP (detected offline, etc)
- Research, investigate and develop methods for data mining for the PMP.
- 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
- PMP Data accessible though API
- Knowledge of the PMP API
- Internet/Network connectivity to the API
- Processing, Java and graphic/3D programming skills
- Basic data mining
- 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.
- 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.
- An eye for graphic design and details
- Basic user experience knowledge
Method
Project Management
Stages of the Project
1) Research
- Review current visualization project, from MIT SENSEable City Lab, other visualization and Processing projects.
- Experimental investigation – Prototype code using processing sketches. Research and try different libraries for processing.
- Data interpretation and Data mining – Research ways to display the data in a meaningful way.
2) Design/Analysis
- Design wire-frame for the UI.
- Design the Organization of the Classes
- Method of visualization the data, how to display it in a meaningful way.
- Model the design in OO
3.1) Code/Development
- Implementation
3.2) Integration
- Integrate the object
Capstone_Project_Proposal[Jonathan Leang]v1.01.doc
Aug 20th
10415925 Version 1.01
DRAFT
Phone Tracker Visualization
Data visualization project
<http://capstone.jonathanleang.com>
Capstone Project Proposal
Jonathan Ka Ming LEANG 10415925
2010
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 |
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
- Develop an open source visualization application for the PMP.
- Provide a virtual world interface of the PMP in real time.
- Provide an easy to understand and intuitive way to see the whole system and display useful glance-able information.
- Provide a map view to for the admin to see the health of the PMP (detected offline, etc)
- Research, investigate and develop methods for data mining for the PMP.
- 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
- PMP Data accessible though API
- Knowledge of the PMP API
- Internet/Network connectivity to the API
- Processing, Java and graphic/3D programming skills
- Basic data mining
- 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.
- 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.
- An eye for graphic design and details
- Basic user experience knowledge
Method
Project Management
Stages of the Project
1) Research
- Review current visualization project, from MIT SENSEable City Lab, other visualization and Processing projects.
- Experimental investigation – Prototype code using processing sketches. Research and try different libraries for processing.
- Data interpretation and Data mining – Research ways to display the data in a meaningful way.
2) Design/Analysis
- Design wire-frame for the UI.
- Design the Organization of the Classes
- Method of visualization the data, how to display it in a meaningful way.
- Model the design in OO
3.1) Code/Development
- Implementation
3.2) Integration
- Integrate the object
4) Testing
- Unit Testing
- Manual test the whole app with test data and realtime data obtained from the phone tracker API.
5) Release
- 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 |
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
- 06-08-10 Submit draft proposal to supervisor
- 27-08-10 Submit final proposal
- 26-11-10 Submit final progress report
- 30/12/2010 Prototype (no API)
- 30/03/2011 Prototype
- 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 >