|
@@ -149,6 +149,130 @@ LatexCommand tableofcontents
|
149
|
149
|
Introduction
|
150
|
150
|
\end_layout
|
151
|
151
|
|
|
152
|
+\begin_layout Section
|
|
153
|
+Proposal
|
|
154
|
+\end_layout
|
|
155
|
+
|
|
156
|
+\begin_layout Quote
|
|
157
|
+Objective: to create an API for android applications to query the user's
|
|
158
|
+ [probable] current activity, and to consider and implement possible uses
|
|
159
|
+ for this API in existing applications.
|
|
160
|
+ The user's activity would be determined based on available sensor and ambient
|
|
161
|
+ data (e.g.
|
|
162
|
+ time, location, orientation/movement of device, background noises, camera
|
|
163
|
+ image, in-range bluetooth devices, etc), previous behaviour of the user,
|
|
164
|
+ and possibly behaviour of other users which has been shared between devices.
|
|
165
|
+\end_layout
|
|
166
|
+
|
|
167
|
+\begin_layout Quote
|
|
168
|
+Motivation: Activity-awareness would be a major step forward in making mobile
|
|
169
|
+ devices better able to adapt to what the user wants to do with them.
|
|
170
|
+ The latest generation of mobile phones have made location-aware applications
|
|
171
|
+ quite ubiquitous, and a lot of these could be further enhanced by making
|
|
172
|
+ them activity aware.
|
|
173
|
+ For example, an application which lists businesses in a certain area could
|
|
174
|
+ not only know the search area (by merit of being location-aware), but could
|
|
175
|
+ also make an educated guess at what you're looking for (e.g.
|
|
176
|
+ the activity API may suggest the user is likely to be going to lunch, so
|
|
177
|
+ the application could initially show nearby eating establishments instead
|
|
178
|
+ of requiring the user to search for them).
|
|
179
|
+\end_layout
|
|
180
|
+
|
|
181
|
+\begin_layout Quote
|
|
182
|
+Challenges/issues: primary challenge is developing an algorithm which can
|
|
183
|
+ make reasonable estimates as to the user's activity (or attempting and
|
|
184
|
+ then justifying why such an algorithm is not feasible, and investigating
|
|
185
|
+ requirements or alternatives), and would form the bulk of the project.
|
|
186
|
+ Sub-challenges within this include: researching/implementing machine learning
|
|
187
|
+ techniques so the algorithm can take previous behaviour into account, processin
|
|
188
|
+g data from 'messy' inputs such as mic/camera, and designing an API that
|
|
189
|
+ would enable third-party app developers to easily make their applications
|
|
190
|
+ activity aware.
|
|
191
|
+\end_layout
|
|
192
|
+
|
|
193
|
+\begin_layout Quote
|
|
194
|
+Approach: data from sensors would need to be processed (e.g.
|
|
195
|
+ mic input processed into a figure for ambient noise level in dB).
|
|
196
|
+ The combination of this processed data would then need to be fed into an
|
|
197
|
+ algorithm (possibly a neural network) to determine likelihood of various
|
|
198
|
+ activities.
|
|
199
|
+ There would need to be some mechanism for users to correct or train the
|
|
200
|
+ system (at least initially), and it's possible that this data could then
|
|
201
|
+ be shared to other users of the api/application.
|
|
202
|
+\end_layout
|
|
203
|
+
|
|
204
|
+\begin_layout Section
|
|
205
|
+Aims and Motivation
|
|
206
|
+\end_layout
|
|
207
|
+
|
|
208
|
+\begin_layout Standard
|
|
209
|
+The primary aim of this project is to create an application for the Android
|
|
210
|
+ platform that can sense the user's context in some fashion.
|
|
211
|
+ This application will have a public interface which will allow other applicatio
|
|
212
|
+ns written by third party developers to read and receive updates about the
|
|
213
|
+ user's context.
|
|
214
|
+\end_layout
|
|
215
|
+
|
|
216
|
+\begin_layout Standard
|
|
217
|
+The ease of access to location aware services in modern smartphone platforms
|
|
218
|
+ has lead to a surge in the number of applications which improve their utility
|
|
219
|
+ or behaviour by integrating location information.
|
|
220
|
+ It stands to reason that if additional context information were available,
|
|
221
|
+ developers would be able to take advantage of this and further improve
|
|
222
|
+ the utility of their applications.
|
|
223
|
+ This, in turn, would increase the productivity of the end-user.
|
|
224
|
+\end_layout
|
|
225
|
+
|
|
226
|
+\begin_layout Standard
|
|
227
|
+As discussed in
|
|
228
|
+\begin_inset CommandInset ref
|
|
229
|
+LatexCommand ref
|
|
230
|
+reference "par:Background"
|
|
231
|
+
|
|
232
|
+\end_inset
|
|
233
|
+
|
|
234
|
+, a large amount of existing research has been done on context-aware devices,
|
|
235
|
+ and specifically on activity-aware systems.
|
|
236
|
+ There have also been some limited implementations for smartphones.
|
|
237
|
+ Unfortunately, the end product of most of this research is not suitable
|
|
238
|
+ for deployment or use in practical, every-day circumstances.
|
|
239
|
+ This project aims to produce a working prototype which can be used on a
|
|
240
|
+ day-to-day basis on an Android smartphone without significantly degrading
|
|
241
|
+ performance.
|
|
242
|
+\end_layout
|
|
243
|
+
|
|
244
|
+\begin_layout Section
|
|
245
|
+Issues and challenges
|
|
246
|
+\end_layout
|
|
247
|
+
|
|
248
|
+\begin_layout Standard
|
|
249
|
+One of the main challenges for this project will be accomplashing accurate
|
|
250
|
+ and useful context-awareness without significantly hindering the battery
|
|
251
|
+ life or performance of a typical device.
|
|
252
|
+ Existing algorithms tend to be extremely verbose, sometimes performing
|
|
253
|
+ upwards of thousands of calculations per classification; on a mobile device
|
|
254
|
+ this is likely to severely cripple battery life.
|
|
255
|
+\end_layout
|
|
256
|
+
|
|
257
|
+\begin_layout Standard
|
|
258
|
+The problem of battery life affects all areas of the project - from how
|
|
259
|
+ often data is collected, how the data is then analysed, and which sources
|
|
260
|
+ of potential data are consulted.
|
|
261
|
+ A large amount of time will need to be spent analysing the various potential
|
|
262
|
+ data sources and establishing whether or not the cost in consulting them
|
|
263
|
+ is worth the reduction in battery lifetime and any gain in the reliability
|
|
264
|
+ or accuracy of context information.
|
|
265
|
+\end_layout
|
|
266
|
+
|
|
267
|
+\begin_layout Standard
|
|
268
|
+The aim of the application is to provide the context data to third-party
|
|
269
|
+ applications, so another challenge will be designing an appropriate interface
|
|
270
|
+ which will allow applications to query and receive updates about the user's
|
|
271
|
+ context.
|
|
272
|
+ Consideration will have to be given as to any security measures (such as
|
|
273
|
+ access control) which may need to be applied in order to protect user privacy.
|
|
274
|
+\end_layout
|
|
275
|
+
|
152
|
276
|
\begin_layout Standard
|
153
|
277
|
\begin_inset Newpage pagebreak
|
154
|
278
|
\end_inset
|
|
@@ -158,6 +282,13 @@ Introduction
|
158
|
282
|
|
159
|
283
|
\begin_layout Part
|
160
|
284
|
Background
|
|
285
|
+\begin_inset CommandInset label
|
|
286
|
+LatexCommand label
|
|
287
|
+name "par:Background"
|
|
288
|
+
|
|
289
|
+\end_inset
|
|
290
|
+
|
|
291
|
+
|
161
|
292
|
\end_layout
|
162
|
293
|
|
163
|
294
|
\begin_layout Standard
|