|
@@ -0,0 +1,134 @@
|
|
1
|
+<?xml version="1.0"?>
|
|
2
|
+<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+ <head>
|
|
4
|
+ <title>Android projects by Chris Smith</title>
|
|
5
|
+ <link rel="stylesheet" type="text/css" href="http://chris.smith.name/style.css"/>
|
|
6
|
+ <style type="text/css">
|
|
7
|
+ .sidebar { float: left; clear: left; margin-right: 15px; width: 128px; }
|
|
8
|
+ .sidebar img { width: 128px; margin-bottom: 10px; }
|
|
9
|
+ div.main { margin-left: 143px; }
|
|
10
|
+ h3 { border-bottom: 1px solid #ccc; clear: both; }
|
|
11
|
+ </style>
|
|
12
|
+ </head>
|
|
13
|
+ <body style="margin-top: 0; padding-top: 0;">
|
|
14
|
+ <h1 style="background: url('android.png') no-repeat right; padding-top: 50px; margin-top: 0;">Android projects by <span>Chris Smith</span></h1>
|
|
15
|
+ <div>
|
|
16
|
+ <h2>Context-aware framework</h2>
|
|
17
|
+ <p>
|
|
18
|
+ The goal of the context-aware framework is to create an open, easy-to-use
|
|
19
|
+ framework for application developers to retrieve information about the
|
|
20
|
+ user's context. This context information includes low-level activites
|
|
21
|
+ (walking, sitting, running, etc), places (home, work, travelling),
|
|
22
|
+ nearby people (friends, strangers, etc) and more.
|
|
23
|
+ </p>
|
|
24
|
+ <p>
|
|
25
|
+ At present the project is in a research and data-collection phase. The
|
|
26
|
+ applications presented below are intended to assist in gathering data
|
|
27
|
+ which can be analysed to determine suitable algorithms and parameters
|
|
28
|
+ to perform the detection necessary to correctly classify and extract
|
|
29
|
+ context information. While they are published on the Android market
|
|
30
|
+ and freely available to download, they do not provide much benefit to
|
|
31
|
+ end users, so it is not anticipated that they will be widely used
|
|
32
|
+ outside a small set of voluntary testers.
|
|
33
|
+ </p>
|
|
34
|
+ <p>
|
|
35
|
+ For more information, source code, etc see the
|
|
36
|
+ <a href="http://github.com/csmith/ContextApi">GitHub project</a>.
|
|
37
|
+ </p>
|
|
38
|
+ <div class="app">
|
|
39
|
+ <h3>Sensor Logger</h3>
|
|
40
|
+ <div class="sidebar">
|
|
41
|
+ <a href="market://details?id=uk.co.md87.android.sensorlogger" class="qr">
|
|
42
|
+ <img src="SensorLogger.png" alt="SensorLogger.apk QR code">
|
|
43
|
+ </a>
|
|
44
|
+ <a href="res/sensorlogger/introscreenshot.png">
|
|
45
|
+ <img src="res/sensorlogger/introscreenshot.png" alt="Sensor Logger introduction screenshot"/>
|
|
46
|
+ </a>
|
|
47
|
+ <a href="res/sensorlogger/resultsscreenshot.png">
|
|
48
|
+ <img src="res/sensorlogger/resultsscreenshot.png" alt="Sensor Logger results screenshot"/>
|
|
49
|
+ </a>
|
|
50
|
+ </div>
|
|
51
|
+ <div class="main">
|
|
52
|
+ <p>
|
|
53
|
+ The Sensor Logger logs data from your device's accelerometer, magnetic field, and orientation sensors.
|
|
54
|
+ It then uses some of this data to try and determine what activity you were performing.
|
|
55
|
+ </p>
|
|
56
|
+ <p>
|
|
57
|
+ Once you've confirmed or corrected the activity prediction, the sensor data, guessed activity, and
|
|
58
|
+ any corrections made are sent to this website, where they can be analysed to help improve the
|
|
59
|
+ algorithm in the future.
|
|
60
|
+ </p>
|
|
61
|
+ <p>
|
|
62
|
+ At present, the Sensor Logger can (try to!) classify: walking (normally, up stairs, and down stairs),
|
|
63
|
+ standing, sitting, travelling by bus, travelling by car, and dancing. If you regularly perform any
|
|
64
|
+ other activity with your phone on you, please run the application and submit a correction and it can
|
|
65
|
+ be included in future versions!
|
|
66
|
+ </p>
|
|
67
|
+ <p>
|
|
68
|
+ You can review the data you submit on this website. Just follow the unique link from the Sensor Logger
|
|
69
|
+ application to see graphs of your sensor readings, details about how the data has been manually classified
|
|
70
|
+ (if applicable), and a graphical representation of how the data is split up into discrete windows.
|
|
71
|
+ </p>
|
|
72
|
+ <h4>Changelog</h4>
|
|
73
|
+ <ul>
|
|
74
|
+ <li><strong>0.2.3 → 0.2.4</strong>: Added analytics</li>
|
|
75
|
+ <li><strong>0.2.2 → 0.2.3</strong>: Fix another force close, updated model for classification</li>
|
|
76
|
+ <li><strong>0.2.1 → 0.2.2</strong>: Fix force close, add reporting of exceptions</li>
|
|
77
|
+ <li><strong>0.2.0 → 0.2.1</strong>: Bug fix related to turning display off</li>
|
|
78
|
+ <li><strong>0.1.6 → 0.2.0</strong>: Near-complete rewrite: much improved UI, classification on device, bug fixes</li>
|
|
79
|
+ <li><strong>0.1.5 → 0.1.6</strong>: Fix force close on devices that use MEIDs not IMEI numbers</li>
|
|
80
|
+ <li><strong>0.1.4 → 0.1.5</strong>: Make edit boxes single line only</li>
|
|
81
|
+ <li><strong>0.1.3 → 0.1.4</strong>: Add support for horizontal layout</li>
|
|
82
|
+ <li><strong>0.1.2 → 0.1.3</strong>: Added link to portal webpage</li>
|
|
83
|
+ <li><strong>0.1.1 → 0.1.2</strong>: Fix force close when no magnetic field sensors are available, disable upload button</li>
|
|
84
|
+ <li><strong>0.1.0 → 0.1.1</strong>: Add 10s delay at start, disable auto start, disable manual stopping, fix various uploader bugs</li>
|
|
85
|
+ </ul>
|
|
86
|
+ </div>
|
|
87
|
+ </div>
|
|
88
|
+ <div class="app">
|
|
89
|
+ <h3>Activity Recorder</h3>
|
|
90
|
+ <div class="sidebar">
|
|
91
|
+ <a href="market://details?id=uk.co.md87.android.activityrecorder" class="qr">
|
|
92
|
+ <img src="ActivityRecorder.png" alt="ActivityRecorder.apk QR code">
|
|
93
|
+ </a>
|
|
94
|
+ <!--<a href="res/sensorlogger/introscreenshot.png">
|
|
95
|
+ <img src="res/sensorlogger/introscreenshot.png" alt="Sensor Logger introduction screenshot"/>
|
|
96
|
+ </a>
|
|
97
|
+ <a href="res/sensorlogger/resultsscreenshot.png">
|
|
98
|
+ <img src="res/sensorlogger/resultsscreenshot.png" alt="Sensor Logger results screenshot"/>
|
|
99
|
+ </a>-->
|
|
100
|
+ </div>
|
|
101
|
+ <div class="main">
|
|
102
|
+ <p>
|
|
103
|
+ The Activity Recorder performs similar activity classification to the
|
|
104
|
+ Sensor Logger, but does it periodically in a background service. The
|
|
105
|
+ collected data can be viewed in a basic list.
|
|
106
|
+ </p>
|
|
107
|
+ <p>
|
|
108
|
+ This will be the basis for the main context-aware framework —
|
|
109
|
+ additional sources of information (location, noise, etc) will be
|
|
110
|
+ integrated, and the service will eventually provide an API for other
|
|
111
|
+ applications to listen out for changes in the user's activity.
|
|
112
|
+ </p>
|
|
113
|
+ <p>
|
|
114
|
+ The classification algorithm now uses scores assigned to each possible
|
|
115
|
+ classification instead of merely using the results from the last
|
|
116
|
+ set of sensor input. This means that the classifications may be
|
|
117
|
+ slightly delayed (it will take a minute or so to react to changes in
|
|
118
|
+ activity), but it makes the algorithm much more tolerant of occasional
|
|
119
|
+ erroneous readings.
|
|
120
|
+ </p>
|
|
121
|
+ <h4>Changelog</h4>
|
|
122
|
+ <ul>
|
|
123
|
+ <li><strong>0.2.0 → 0.2.1</strong>: Added analytics</li>
|
|
124
|
+ <li><strong>0.1.3 → 0.2.0</strong>: Changed classification algorithm to favour existing classifications, change recording to one sample every 30 seconds instead of 2 overlapping samples every 60 seconds, disable logging, durations measured in seconds now show as "<1 min"</li>
|
|
125
|
+ <li><strong>0.1.2 → 0.1.3</strong>: More efficient updating of activity list, give feedback when starting service</li>
|
|
126
|
+ <li><strong>0.1.1 → 0.1.2</strong>: Fix various issues when starting service</li>
|
|
127
|
+ <li><strong>0.1.0 → 0.1.1</strong>: Fix exception when stopping service in some conditions</li>
|
|
128
|
+ </ul>
|
|
129
|
+ </div>
|
|
130
|
+ </div>
|
|
131
|
+ </div>
|
|
132
|
+ <div id="footer"/>
|
|
133
|
+ </body>
|
|
134
|
+</html>
|