Add in-place benchmarking to tagin sdk

Registered by Primal Pappachan

Various thresholds have to be determined to simplify the process of URN generation by the Tagin! engine. The purpose of in-place benchmarking is to help characterize the background "noise" present during fingerprinting.

Blueprint information

Status:
Started
Approver:
Jorge Silva
Priority:
Undefined
Drafter:
Primal Pappachan
Direction:
Needs approval
Assignee:
Primal Pappachan
Definition:
New
Series goal:
Proposed for android-sdk
Implementation:
Started
Milestone target:
milestone icon sdk-v0.1-alpha
Started by
Primal Pappachan

Sprints

Whiteboard

UI Enhancements:
* Provide basic instructions when app starts. You can use the textview below the buttons for this purpose.
* The in-place/moving button needs to be more descriptive. Try something like the layout at the top of this image: http://androidpartaker.files.wordpress.com/2010/07/android_preferences_1.jpg using either a checkbox or a toggle button (http://www.laoguo.org/android/sdk/api/image/togglebutton.jpg) is ok.
* Do not print the full fingerprint on the textview, we should print more meaningful data (in human readable form) like:
** Time previous fingerprint taken
** Number of beacons in previous fingerprint
** Time latest fingerprint taken
** Number of beacons in latest fingerprint
** Distance from latest to previous fingerprint
** Time taken by fingerprinting (e.g., "Fingerprint collected in X.XX seconds")
** Time until next fingerprinting (e.g., "Next fingerprint will be taken in X seconds")
This data will be replaced every time a new fingerprint is obtained, it is just a human-readable monitor to have a rough idea of what the app is doing.
* Somehow show progress during fingerprinting so the user knows the app is doing something. One option is to do what the Bluetooth settings activity does when searching for devices: it puts an indefinite progress icon on the Bluetooth Devices title bar

Refactoring:
* Create a separate package "test" for this and other logging/benchmarking code
* Change the title of the activity to "Benchmarking" in Manifest
* Change project name to "tagin! SDK"

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.