Using physical activity transitions to reduce the · Web viewUsing Physical Activity...
Transcript of Using physical activity transitions to reduce the · Web viewUsing Physical Activity...
Using Physical Activity Transitions to Reduce the Perceived Burden of Interruption by Wearable Devices
by
Kelly Jayne Whitacre
B.S., University of Colorado at Colorado Springs, 2005
A thesis submitted to the Graduate Faculty of the
University of Colorado at Colorado Springs in partial fulfillment of the
requirements for the degree of
Master of Science
Department of Computer Science
2009
© Copyright By Kelly Jayne Whitacre 2009All Rights Reserved
This thesis for the Master of Science degree by
Kelly Jayne Whitacre
has been approved for the
Department of Computer Science
by
____________________________________Dr. Sudhanshu K. Semwal, Chair
____________________________________Dr. Xiaobo Zhou
____________________________________Dr. C. H. Edward Chow
__________Date
Whitacre, Kelly Jayne (M.S., Computer Science)
Using Physical Activity Transitions to Reduce the Perceived Burden of Interruption by
Wearable Devices
Thesis directed by Professor Sudhanshu K. Semwal
Ubiquitous computing devices have become integrated into the consumers’
everyday life, meant to enhance and enrich daily activities by providing automatic and
autonomous support. Ill equipped to communicate with humans, wearable devices
proactively communicate through a bombardment of messages regardless of whether or
not the user is available to receive them. Causing a disruption in his/her primary task, the
message often leaves the consumer with feelings of frustration or anxiety.
This research effectively mediates the delivery of device generated notifications
by offering only non-time critical messages during physical activity transitions. During
activity transition, the user’s perceived burden is lower because they are actively
changing their primary task to prepare for another. This work compares the user’s
receptivity to messages delivered during activity transitions and of those delivered at
random. An IPhone is augmented with an application that detects physical activity
transitions using the data acquired from a built-in LIS302DL tri-axial accelerometer. The
results suggest that context aware notification mediation can be used to reduce the
perceived burden of an interruption and to augment wearables with this type of mediation
would be valuable to the consumer.
CONTENTS
CHAPTER
TABLE OF TABLES....................................................................................................X
LIST OF TABLES AND FIGURES...........................................................................XI
1 INTRODUCTION.................................................................................................1
1.1 Motivation....................................................................................................1
1.2 Problem Statement.......................................................................................2
1.3 Approach......................................................................................................3
1.4 Contributions................................................................................................3
1.5 Overview......................................................................................................4
2 RELATED WORK................................................................................................5
2.1 Cost of Interruption......................................................................................5
2.2 Modeling Interruption..................................................................................6
2.2.1 Breakpoints..............................................................................................7
2.2.2 Detecting Interruptibility with Sensors...................................................8
2.2.3 Detecting Interruptibility with Machine Learning..................................8
2.2.4 Detecting Interruptibility with Natural Breakpoints...............................9
2.3 Activity Recognition..................................................................................10
3 DESIGN................................................................................................................11
3.1 Designing an iPhone 3G Application.........................................................11
3.1.1 iPhone OS..............................................................................................11
3.1.2 Limitations............................................................................................14
3.1.3 Designing Views...................................................................................15
3.1.4 Generating Messages.............................................................................16
3.2 Calculating Activity Transitions................................................................17
3.2.1 iPhone OS Accelerometer.....................................................................17
3.2.2 Determining Periods of Activity and Rest............................................20
3.2.3 Decision Tree Algorithm.......................................................................21
3.3 Designing an Interruption Study................................................................22
4 IMPLEMENTATION.........................................................................................23
4.1 Hardware Requirements.............................................................................23
4.2 Tools Used..................................................................................................23
4.2.1 iPhone SDK...........................................................................................24
4.2.2 Programming Language........................................................................25
4.2.3 iPhone Developer Portal........................................................................26
4.3 iPhone OS Application...............................................................................27
4.3.1 Determining Activity Transitions..........................................................27
4.3.2 Generate, Store, and Deliver.................................................................32
4.3.3 View Message.......................................................................................36
4.3.4 User Survey...........................................................................................36
4.3.5 Application Settings..............................................................................38
4.3.6 Transferring Data off the iPhone 3G.....................................................39
5 RESULTS.............................................................................................................43
5.1 Verification of Transition Detection Algorithm.........................................43
5.1.1 Evaluating Classification using Precision and Recall...........................45
5.1.2 Evaluating Classification using ROC....................................................47
5.2 User Experiment.........................................................................................49
5.2.1 Device Placement..................................................................................49
5.2.2 Control Group vs. AT Group................................................................49
5.2.3 Participant Interview.............................................................................50
5.2.4 Activity Transition Group.....................................................................51
6 FUTURE WORK.................................................................................................53
7 CONCLUSIONS..................................................................................................54
WORKS CITED...........................................................................................................55
APPENDIX A: ACTIVITY TRANSITION TRIALS...............................................59
APPENDIX B: USER EXPERIMENT.......................................................................71
Table of Tables
Table 5-1: Precision and Recall Metrics............................................................................47
Table 5-2: True and False Positive Rate............................................................................48
Table 5-3: Receptivity Values for Participant...................................................................50
Table 5-4: Receptivity Responses.....................................................................................54
Table 5-5: Receptivity Responses.....................................................................................56
List of Tables and Figures
Figure 3-1: iPhone OS Layers [App09].............................................................................12
Figure 3-2: Visualizing the Accelerometer Axes..............................................................17
Figure 3-3 Determining Postural Orientation [Kar06]......................................................19
Figure 3-4 Activity Transition Classifier Decision Tree...................................................22
Figure 4-1 Isolating the Bodily Component......................................................................29
Figure 4-2 Calculating SMA and Tilt................................................................................30
Figure 4-3 Determining Activity Transitions....................................................................32
Figure 4-4 Generate Random Messages............................................................................34
Figure 4-5 Store Messages in Notification Array..............................................................34
Figure 4-6 Deliver Notifications........................................................................................36
Figure 4-7 View Before and After the User Takes Survey...............................................36
Figure 4-8 SurveyViewController View...........................................................................37
Figure 4-9 Application Settings.........................................................................................38
Figure 4-10 MSThesisReportViewController View..........................................................40
Figure 4-11 NSMutableURLRequest................................................................................41
Figure 4-12 PHP Script on Server.....................................................................................42
Figure 5-2:.........................................................................................................................52
Figure 5-3zxzx...................................................................................................................52
Chapter 1
1 Introduction
1.1 Motivation
With the increasing popularity of wearable devices, interruptions from these
devices generate new demands on the attention of the consumer. Whether it is e–
mail, or telephone calls, upcoming meetings notifications, changes in the stock
market or navigation directions, notices on a wearable computer can happen
anywhere and at any time. Ubiquitous and mobile devices have become integrated
into the consumers’ everyday life, as they do enhance and enrich daily activities by
providing automatic and autonomous support. For example, a mobile device could
provide a daily reminder to take prescription medicine or an convey an
announcement of a newborn baby via a text message from a loved one; however,
although proactive messages are at times welcomed, there are times when such
interruptions are inappropriate or unwanted. For instance, a user receiving a
newborn baby announcement during a critical work related task would most likely
view the timing of receiving this message as inopportune. Even though most of the
devices come with off or inactive option, many of us forget to turn our devices off
while working.
Wearable devices proactively communicate through a bombardment of
messages thereby interrupting the consumer from his/her present task which is most
often independent of the deviceChe06. Furthermore, if several devices access the
user, this could lead to multiple and simultaneous interruptions that are insensitive
to the user’s workload or context Che04. Studies have also shown that delivering
notifications in this proactive manner runs the serious risk of interrupting the user’s
ongoing task creating feelings of frustration and anxiety Bai08.
Because consumers are not always available to receive messages and
because ubiquitous and wearable computing devices are pervasive in nature, users
perceive these notifications as disruptive. Disruptive notices can lead to feelings of
information overload and “interruption irritability”HoJ05. Therefore, there is a need
to minimize the perceived burden of proactive messages with the careful
management of notifications. Management of notifications should consider the
user’s availability by analyzing their context as well as the message content.
1.2 Problem Statement
This work addresses the problem of managing the overwhelming
interruptions which are generated by wearable computing environments around us.
As pointed out earlier, applications such as instant messaging clients and Gmail
mail client provide some basic mechanisms for managing interruptions with the
communication of user availability; however, this may become inconvenient when a
user is busy and neglects to update their status Che06.
To address this problem, we examine a passive approach for wearable
devices to deliver notifications at opportune times while measuring the receptivity
of the message upon delivery. Having such a valuable measure, suggests that
mobile devices may be improved by the effective mediation of device generated
notification delivery.
1.3 Approach
Because wearable devices proactively deliver messages that are meant to
enhance and aid our everyday lives but often burden us with unwanted and
detrimental interruption, a simple augmentation to the device is needed to allow it to
recognize opportune times for communication. Motivated by the observation that a
transition between two different physical activities may strongly correlate with
switching tasks, a time where it is also noted to be of decreased mental load by Ho
and Intille HoJ04HoJ05, and Kern and Schiele Ker051Ker05, this research
augments an iPhone 3G device with an application that mediates the delivery of non
time-critical messages with the detection of four postural activity transitions—
sitting to standing, standing to sitting, standing to walking, and walking to standing.
A measure of the user’s receptivity of messages delivered during activity transitions
and of those delivered at random is also explored.
1.4 Contributions
This work’s main contribution is an iPhone 3G application built for the iPhone
2.2.1 operating system. This includes associated source code (implementation and
NIB files), resources, Xcode 3.2.1 project and executable. Additionally, associated
data files collected for the verification of physical activity transitions and the study
of the burden of interruption will be available.
1.5 Overview
We start with a discussion of related work in examining the effects of
interruption in the field of the Human-Computer Interaction. Next, Chapter 3
presents design considerations for an iPhone application capable of detecting
physical activity recognition. In Chapter 4, we discuss the hardware, tools, and
implementation details required for the execution of an activity transition classifier
(ATC) and the associated iPhone application. Chapter 5 explains the accuracy
results of the ATC and presents a discussion of a set of iPhone application tests by
users in a workplace setting.
Chapter 2
2 Related Work
Over the last several years, there has been a proliferation of research focused
on methods for endowing computing devices with an understanding of interruptibility
and the perceived burden of interruption to the user. While many of the recent
interruption studies concentrate on the personal computer
Iqb08Wal04Wil06Wil08McC03Bai08 as the producer of interruption, studies have
also focused on interruption by wearables
HoJ04HoJ05Ker05Ker051Oul04Che06Che04 device. In this chapter, we provide a
discussion of all such studies.
2.1 Cost of Interruption
Disruptive notices from wearables or Personal Computers can lead to
feelings of information overload and “interruption irritability” HoJ05Wal04.
Delivering notifications in a proactive manner often interrupts the user’s ongoing
task. For example, studies have shown that interrupting the user’s task at random
moments can cause decreased performance on the task at hand as well as feelings of
frustration and anxiety Bai08.
Furthermore, these interruptions commonly associated with delays, errors,
mistakes, and frustration can carry with them an additional social and cognitive
costBai08Oul04. In a social interaction, interruptions delay and distract natural flow
of human-to-human conversation and can render actions of people
incomprehensibleBai08. Similarly, in the cognitive sense, switching attention
between information sources or tasks costs at least seconds, hampering recollection
by causing memory to be more susceptible to omission and distortions Bai08. In
addition, an interruption, which is unrelated to the tasks at hand, takes longer to
process and return back to original task Wal04Iqb08. The interruption also creates an
added memory load making it difficult for the task to be resumed, as user must
remember what task was being processed before the interruption Wal04.
Although the effects of interruption are more often thought of as negative
Wal04 influence on the work being done, there is some evidence that interruption can
increase efficiency, productivity, prevent errors, and even influence behavior if the
interruption aids the current task Oul04Wal04 in some way.
2.2 Modeling Interruption
Two key factors contribute to the user’s receptivity of interruption. The first
includes the selection of the most appropriate time for the user to receive interruption.
The moment chosen to gain the user’s attention can drastically alter the user’s
receptiveness towards the interruptionHoJ04. Related to the timing of the
notification, the utility of a message or the message contents may also be a factor at
the user’s perception of burden of interruption. For instance a critical message might
be better suited for immediate delivery, whereas a non-time critical message might be
better received if it was delayed to a later moment HoJ05HoJ04.
The medium of interruption or the method by which a message is delivered
has also been observed to affect the receptivity of interruption HoJ04Wal04. For
example, consider an office worker engaged in a critical task. He/she might be more
receptive to a SMS message alert rather than if the phone were to ring. Because
aurally presented interruptions are thought to be acknowledged more quickly than
visual stimuli and as a result more resistant to interruptions than visual ones Wal04,
the visual notification is less likely to disrupt the flow of the current task, perhaps
lowering the perceived burden of the interruption HoJ04. Furthermore, thermal
interruptions have larger detrimental effect than light on disruptiveness and
performance. Additionally, motion as a notification system is effective compared
with static items as traveling motions, such as a visual stimuli, are more disruptive
than anchored motions Wal04.
2.2.1 Breakpoints
An emerging body of empirical research is now beginning to probe how
manipulating the time at which a notification is delivered relative to the execution of
the ongoing task impacts costs of interruption. Notifications have shown reduced
interruption cost if delivered at moments of lower mental workloads or breakpoints.
A breakpoint represents the moment of transition between two observable,
meaningful units of task execution reflecting transitions in perception or action Iqb08.
Recent studies in the field of Human-Computer Interaction have employed techniques
to identify breakpoints with the use of sensors and sensors accompanied by machine
learning. Moreover, the novel work of Wilson and Miller Wil08Wil06 in which the
observation of natural breakpoints were exploited, is explored as the work takes the
research in the direction of using sensors for pinpointing if it is a good time to
interrupt or not.
2.2.2 Detecting Interruptibility with Sensors
One approach to detect and differentiate breakpoints in user tasks is to use
statistical models that map user interaction with physiological measures of the heart’s
electrocardiogram and the brain’s electroencephalogram as shown in Che06.
Similarly, McCrickard and Chewer McC03 use physical or biomedical sensors to
infer workload characteristics; yet, they are augmented with sensors that monitor eye
gaze to detect breakpoints. Along the same lines, Bailey and Iqbal Bai08 use an eye
tracking system to collect pupil dilation data, a reliable measure of workload, to align
task models for the determination of the best time to deliver notifications. Sawhney
and Schmandt Saw00 use auditory cues of current activities and conversations in the
room to determine breakpoints.
2.2.3 Detecting Interruptibility with Machine Learning
Additionally, machine learning techniques have been used to learn relatively
accurate models for predicting the interruptibility of users. This is accompanied by
the incorporation of sensor data which the techniques quite rely on. For example,
Horvitz et al. Hor08Hor03 monitors the activity of a user interacting with different
client devices augmented with event sensing and abstraction which sense computer
events from the operating systems and applications executed on their clients
accompanied by a microphone to report visual pose and nearby conversation, a
camera to capture nearby conversations, and online appointment information to
extract meeting properties. With sensor data, a Bayesian head tracking system, audio
signal processing, learned models, and decision graphs Horvitz et al. Hor08Hor03 is
able to delay a message during higher mental loads until a user is more susceptible for
delivery. Furthermore, Gievska and Sibert Gie05 created a framework based on an
interruption taxonomy and Bayesian Belief Networks learning algorithm to aid
interface designers selecting the most appropriate timing for interruption.
Kern and Schiele Ker051Ker05 use a Bayes’ rule learning technique for the
classification of activity transitions, showing that the period of activity transitions is
one when mental load is low, with the aid of acceleration, audio, and location sensors.
Ho and Intille HoJ04HoJ05 also rely on activity transitions to mediate interruptions;
however, Ho and Intille use accelerometers as its sole sensor to classify activity
transitions and a C4.5 decision tree learning algorithm to deliver messages during
transition. Our work also uses the accelerometer to identify the activity transition as
is described next.
2.2.4 Detecting Interruptibility with Natural Breakpoints
Alternatively, rather than attempting to build a model of the user’s mental
workload, slow-growth notification—a novel method of notifying users through the
use of gradual changes in the visual representation of a message, relies on the user’s
own internal interruption model. Because the point at which the user tends to notice
the slow-growth notification corresponds to a time at which they are more ready to be
interrupted, Wilson and Miller Wil08Wil06 exploit these natural breakpoints with
slow-growth notification to reduce the perceived burden of interruption.
2.3 Activity Recognition
This work employs techniques presented by Ho and Intille HoJ04HoJ05, and
Kern and Schiele Ker051Ker05 using activity transitions as an opportune time to
deliver messages to the user. Similar to Ho and Intille HoJ04HoJ05 an accelerometer
is used to collect movement data to aid in the classification of activity transitions;
however, Ho and Intille HoJ04HoJ05 used two accelerometers in their study, one
ankle mounted and the other thigh mounted.
Chapter 3
3 Design
To ease the burden of the sensors and the ubiquitous device on the user and to
promote use, a single triaxial accelerometer built into the waist mounted wearable is
employed. As a result, the iPhone OS was chosen as the wearable device to augment
with an activity transition classifier. Also similar to Ho and Intille HoJ04HoJ05, and
Kern and Schiele Ker051Ker05, a machine learning algorithm is augmented with
accelerometer data to determine an activity transition. However, unlike Ho and Intille
HoJ04HoJ05, and Kern and Schiele Ker051Ker05, a basic decision tree learning
technique is used as the decision-support aid. This is because the data describing the
user’s context is discrete and the memory on the iPhone device is limited. In this
chapter, we discuss the how we design an iPhone 3G application with a focus on the
iPhone OS and limitations that come with it.,
3.1 Designing an iPhone 3G Application
3.1.1 iPhone OS
The iPhone OS is comprised of an operating system and technologies used to
create advanced applications that respond to touch events and display high quality
graphics App09. It is currently supported on only two devices—iPhone, an internet-
connected multimedia smartphone1, and iPod Touch, a portable media player,
personal digital assistant, and Wi-Fi mobile platform2. Acting as intermediary
between the hardware and applications that appear on the screen; the iPhone OS
interact with the appropriate drivers so the applications never have to interact directly
with the hardware App09. In addition to the basic application infrastructure, iPhone
OS gives you access to Multi-Touch events, the hardware accelerometers, camera
features, and more App09.
Figure 3-1: iPhone OS Layers App09
The iPhone OS features can be viewed as a set of layers, which are illustrated
in App09. Most applications should be designed from the top layer down using
higher-level frameworks over lower-level frameworks whenever possible. The Cocoa
touch layer provides the key infrastructure needed for implementing graphical and
1 http://en.wikipedia.org/wiki/IPhone2 http://en.wikipedia.org/wiki/IPod_Touch
event-driven applications via three frameworks, UIKit, Foundation, and Address
Book UI. The frameworks provide a core set of features including application
management, standard system views and controls support, graphics and windowing
support, touch event handling, user interface management, access to acceleration data,
camera features, user’s photo library, device name and model information, and
support for text and web content App09.
The Media layer enables the iPhone OS to play audio and video. This
includes the ability to play back or record high-quality audio and the ability to trigger
the vibration feature on the devices as well the ability to use OpenGL graphics on
devices.App09. Graphics technologies include Quartz—the same advanced, vector-
based drawing engine that is used in Mac OS X, Core Animation—an advanced
animation and compositing technology that uses an optimized rendering path to
implement complex animations and visual effects, and OpenGL ES which is based on
the OpenGL ES v1.1 specification and provides tools for drawing 2D and 3D content
App09. Media Layer also provides support for full-screen video playback through
the Media Player framework supporting the playback of movie files with
the .mov, .mp4, .m4v, and .3gp filename extensions.
The Core Services is the layer that provides the fundamental system services
that all applications use. Most applications will not use Core Service services
directly, but every technology in the system is built on top of themApp09. Core
Services include programmatic access to the address book, Core Foundation
interfaces for data management, CFNetwork framework for working with network
protocols—sockets, SSL, TLS, DNS, HTTP, HTTPS, FTP, etc, Core Location
framework for determining the current latitude and longitude of the device, Security
framework for managing certificates, public and private keys, and trust policies,
SQLite library for the embed of a lightweight SQL database into applications, and
XML support for retrieving and parsing XML documentsApp09.
Similar to the Core Services layer, the Core OS is meant to not be used by the
applications directly. Managing the virtual memory system, threads, the file system,
the network, and inter-process communication, this layer encompasses the kernel
environment, drivers, and basic interfaces of iPhone OS App09. The drivers at this
layer also provide the interface between the available hardware and the system
frameworks that vend hardware features.
The iPhone OS version 2.2.1 is used for this work. Apple announced on
March 17th, 2009 that iPhone OS 3.0 was expected to be rolled out by the summer of
2009. During the process of implementing this study, the iPhone OS went through 4
releases and ended with iPhone OS 2.2.1. Each time an update was rolled out, Xcode
and the device were updated taking which added several hours to complete the
development of the code.
3.1.2 Limitations
The main limitations of the iPhone OS are that only one application can run at
a time and third-party applications never run in the backgroundApp09. After an
application is launched, aside from the kernel and a few low-level daemons, it is the
only application running on the system. Although having the system solely allows
the application to take advantage of built-in hardware such as the accelerometer,
camera, and graphics hardware without competing for resources App091, this means
that when users switch from our application to another, answer the phone, or check
their email, our application quits. This is a severe limitation as we cannot detect
activity transitions, deliver messages, or survey the user if the application is not
running. We avoid this problem by actually simulating events.
Since our application has to run continuously, another limitation the iPhone
OS brings is the issue of “battery life”. Battery life is the time the device will run
before it needs to be recharged App091. The iPhone 3G offers up to 5 hours of talk
time on 3G, 10 hours of talk time on 2G, 5 hours of Internet use on 3G, 6 hours of
Internet use on Wi-Fi, 7 hours of video playback, or 24 hours of video playback on a
full charge if the battery is charging fully App091. There are no statistics on the
length of continuosly running a third-party application. We assume it to be similar to
the numbers on Internet usage and battery life. Yet, using the accelerometer
decreases the battery life further and it is suggested to be used sparingly to conserve
battery lifeApp09.
In addition to the fact that only one application runs at a time and third-party
applications cannot spawn background processes, the iPhone OS has limited RAM
memory. The iPhone 3G comes with 128 MB of RAM, and after the OS and Apple
applications take their share, there can be anywhere from 40 MB to less than 4 MB of
free RAM available for a third party application DrD09. Given this limitation, the
application is to be designed with memory management in mind.
Lastly, the iPhone OS limits third-party applications to the intercept of
notifications from the device. At any time, a third party application is susceptible to
interruptions from incoming calls and SMS text messages causing pause or
termination of the application based on the user’s wish. Due to this limitation, during
testing, the phone is set to forward all call and incoming text messages. In the
unlikely event of a phone or SMS message, the participants are instructed to restart
the experiment.
3.1.3 Designing Views
In an iPhone OS application, there is no concept of separate document
windows for displaying content. Instead, all of the application’s data is displayed in
a single window. This leads us to create an application with multiple views and
controls that allow us to design the application in terms of objectives. Our iPhone
application has four main objectives:
1. If the user is not a control subject, calculate physical activity transition,
pausing after each activity transition (AT) allowing the user to restart
calculations.
2. Provide a list of simulated phone and text messages intended for the user
when the appropriate time is reached (randomly for control group, at the
point of AT for others)
3. Collect user annotated receptivity value of each message.
4. Get the data collected by the application off the device for analysis.
As such, four views are created with only the above mentioned corresponding
objectives in mind. Because objective 3 requires a different view based on the
content of the message, the application is designed to allow the load of a configurable
view that appear to the user as different views.
3.1.4 Generating Messages
Because third-party iPhone applications are unable to intercept messages,
simulated notifications are randomly generated by the application. 30% of the time
the application creates a simulated text message and 20% of the time the application
generates a simulated Phone message. 50% of the time, the application does not
generate a message.
If the user is in the control group, the randomly generated messages are
immediately delivered to the application and visual alert and vibration notifies the
user. On the other hand, if the user is not in the control group, the application stores
the randomly generated messages and delivers upon detection of an activity
transition. The user is also visually alerted and the device vibrates to notify the user
to check for new messages. After the user has been notified of new messages, the
activity transition classifier is turned off to gather receptivity information. Messages
continue to randomly generate and are immediately delivered to the user while in this
state. Once the user has given receptivity information, they are able to turn the
activity transition classifier back on.
To allow for the transfer of results off of the iPhone after the experiment, the
user is able, but not required to, turn off the generation of new messages.
3.2 Calculating Activity Transitions
3.2.1 iPhone OS Accelerometer
Figure 3-2: Visualizing the Accelerometer Axes3
As part of determining postural activity transitions, the data from the built-in
triaxial accelerometer is used. When configured to use the accelerometer, an iPhone
application receives 3 values from the operating system—x, y, and z. X corresponds
to roll, or rotation around the axis the home button to the earpiece. Values vary from
0.5 (leftmost) to -0.5 (rightmost). Y corresponds to pitch, or the rotation around the
axis formed by drawing a horizontal line half-way down the screen. Values vary
from 0.5 (headphone jack straight down) to -0.5 (headphone jack straight up). Z
refers to whether the iPhone is face up (-0.5) or face down (0.5). When placed on its
side, the z value equates to 0. It is of note to recognize why the z value is not Yaw;
Yaw is a compass value, something the iPhone can't measure and x, y, and z are linear
acceleration values pointing to whichever way gravity is operating. Together x, y and
3 Source: http://www.forestgumpsays.com/?p=42
z form a 3 Dimensional acceleration vector that indicates the direction of
gravitySad07.
The waist-mounted iPhone is oriented in a way such that one axis is aligned
with the gravitational axis and another one along the medial-lateral direction when the
person is standing. Assuming proper mounting, we expect the accelerometer will
measure the gravitational acceleration g in the vertical direction and zero in the other
directions with iPhone reports of 0, 0.5, 0 for x, y, and z respectively. Because similar
values are expected while the person is sitting, differentiating between sitting and
standing simply based on the static accelerometer signals is not possible. On the
other hand, by determining the orientation of the device with respect to gravity, the
tilt of the iPhone may be determined. Tilt can be leveraged in differentiating between
sitting and standing. For example, in a real-time movement classification study to
provide valuable information regarding an individual’s degree of functional ability
and general level of activity in aging people, Karantonis et al. Kar06 uses a single
waist-mounted triaxial accelerometer to recognize the postural orientation of the
wearer or the relative tilt of the body in space. Karantonis et al. Kar06 found that tilt
angle, the angle between the positive z-axis and the gravitational vector g by the
relation,
Φ=arccos ( z ) ,
indicates the various postural orientations as illustrated below.
Figure 3-3 Determining Postural Orientation Kar06
Because the iPhone device accelerometer axes differ from the device used in
Kar06, the tilt angle is determined by taking the negative of the y-gravitational
component as seen in the following:
Φ=arccos (− y ) ,
It is of note that because they employ fixed thresholds to determine postural
orientation, the calculation of the exact tilt angle value in degrees is not needed, but
rather only comparisons of the negative y-axis data with equivalent thresholds of the
same units is required to be performed. In addition, a tilt angle between 20 and 60°,
is a definite indicator of sitting, and angles of 0 to 20° due to the posture of the
individual may designate either sitting or standing; Karantonis et al. Kar06 recognizes
that because of this, sitting and standing may sometimes be incorrectly classified;
however, in a laboratory-based experiment, the set of tasks (Stand-to-sit, Sit-to-stand,
Lying, Lying-to-sit, Sit-to-lying) associated with postural orientation were carried out
with 94.1(±4.9)% accuracy. Consequently, our work uses the tilt values calculated by
Karantonis el al. to classify the activity transitions of sitting to standing, standing to
sitting, standing to walking, and walking to standing.
3.2.2 Determining Periods of Activity and Rest
In addition to the distinction between sitting and standing, the distinction
between periods of user activity and rest is required for the calculation of activity
transitions. A method applied in several postural activity classification studies using
accelerometers Kar06Bid07Mat02 called normalized signal magnitude area (SMA)
showed promise and is defined below:
SMA=1t (∫
0
t
|x (t )|dt+∫0
t
|y ( t)|dt+∫0
t
|z( t)|dt)
x(t), y(t), and z(t) refer to the body components of the x-, y-, and z-axis accelerometer
samples, respectively. Calculation of SMA is performed by summing each sampled
value progressively over the time elapse of one second, t. Also, based on the studies
outlined in Kar06Bid07Mat02 an appropriate threshold (th) of 0.4 is used as the
default value to determine the occurrence of an activity vs. a period of rest. However,
th is exposed to the user for manipulation as to adjust the accuracy of the
classification algorithm.
3.2.3 Decision Tree Algorithm
Furthermore, in addition to the sensor data, the determination of postural
orientation, and distinction of periods of activity and rest, a decision tree learning
algorithm is used to classify activity transitions. Decision tree learning is a method
for approximating discrete-valued functions in which the learned function is
represented by a decision tree, classifying instances by sorting them down the leaves
of the tree to a leaf node, which provides the classification of the instance Mit97.
Figure 3-4 Activity Transition Classifier Decision Tree
The decision tree algorithm depicted in Figure 3-4 accompanied by gathered
accelerometer values determines the moment of physical activity transition calculated
by the iPhone application by following the leaves of the tree to reach a decision. In
this case, a yes or no answer to the question, am I in a state of transition?
Chapter 4
4 Implementation
4.1 Hardware Requirements
To develop applications for the iPhone OS 2.2.1, an Intel-based Mac running
Mac OS X Leopard version 10.5.4 or later is required. We used a MacBook Pro with
a 2.16 GHz Intel Core 2 Duo running Mac OS X, Leopard version 10.5.6. To
perform experiments and test hypotheses, an iPhone 3G running the iPhone OS 2.2.1
was also purchased.
4.2 Tools Used
In this section we outline the tools used in the implementation of this work.
Most of the tools we obtained free of charge whereas others required a subscription to
the iPhone Developer Network, a yearly subscription with prices of $99 (Individual)
and $299 (Team) depending on how many developers you plan on supporting.
Because this work required the use of only one developer, the iPhone Developer
Network was joined as an Individual. The iPhone Software Development Kit (SDK)
is available for free and to those users who register with Apple.4
4.2.1 iPhone SDK
The iPhone SDK, Apple’s suite of development tools, is also required to
develop applications for the iPhone OS. The iPhone SDK contains the code,
information, and tools needed to develop, test, run, debug, and tune applications for
the iPhone OS App09. The most used SDK tools were Xcode and Interface Builder;
however, Instruments were also explored. Only the SDK tools used in this work are
discussed in this section.
4.2.1.1 Xcode
At the center of iPhone SDK is the Xcode application itself, an integrated
development environment that provides tools needed to create and manage iPhone OS
projects and source files App09. In addition to providing the basic editing,
compilation, and debugging environment, Xcode also provides the launching point
for testing applications on an iPhone or iPod Touch device. Xcode lets you run
applications in iPhone simulator, a platform that mimics the basic iPhone OS
environment on your local Macintosh computer App09.
4.2.1.2 Interface Builder
The Interface Builder (IB) is a tool used to assemble an application’s user
interface visually. It is possible to construct views within code; however, IB allows
for drag and drop of preconfigured components such as switches, text fields, buttons, 4 The iPhone Developer Network Portal and iPhone OS SDK is available at http://developer.apple.com/iphone/
and custom views into it [App09]. IB creates a nib file, which is a custom resource
file format that the UI Kit needs to recreate the same objects in the application at
runtime. It also uses connection information specified to establish connections
between the nib and application objects to update values and perform user actions.
4.2.1.3 Instruments
Instruments is comprised of a set of tools used to measure an application’s
memory usage, disk activity, network activity, and graphics performance. The most
effective tool being Leaks, a tool which allows the developer to find memory leaks
that if left unchecked—will crash the application. We used the Leaks performance
tool to identify places where there were memory leaks due to improper memory
management
4.2.2 Programming Language
The iPhone OS is built using the Objective-C language and all native and third-
party applications that run on the OS is built using Objective-C. Objective-C extends
the standard ANSI C language by providing syntax for defining classes, methods, and
properties, as well as other constructs that promote dynamic extension of classes
App09. The class syntax and design are based mostly on Smalltalk, one of the first
object-oriented programming languagesApp09. Objective-C is a superset of the
ANSI version of the C programming language and supports the same basic syntax as
C. As with C code, you define header files (files with the extension .h), and source
files (files with the extension .m) to separate public declarations from the
implementation details of your codeApp09.
4.2.3 iPhone Developer Portal
Because the iPhone SDK does not support testing accelerometer within the
simulator, a subscription to the iPhone Developer Portal was required for this work.
In order to install and test our application on an iPhone OS device, the following steps
must be completed using the Program Portal:
1. Set up a development team (if enrolled as a company)
2. Request and Authorize iPhone Development Certificates
3. Register iPhone OS devices for development
4. Create unique App IDs for iPhone OS applications
5. Create and download a Development Provisioning Profile
Because we registered as an individual, step one was omitted from the process
of signing the application to deploy on the iPhone device. To request an iPhone
Development Certificate, we needed to generate a Certificate Signing Request (CSR)
with Keychain Access, an application in Mac OS X Leopard. Keychain Access
generates a public and private key pair establishing an iPhone Developer
IdentityApp09 and stores the private key in the login Keychain. Secondly, the
Unique Device Identifier (UDID), a 40 character string shipped with the device, was
obtained with iTunes and registered with the Developer Program Portal Devices
section. Thirdly, an App ID, a unique identifier that the iPhone OS used to grant an
application access to a portion of the KeychainApp09, was created by Apple
consisting of a 10 character “Bundle Seed ID” prefix and “Bundle Identifier” suffix
and entered into the Developer Program Portal. Lastly, using the products from the
previous steps and the Developer Program Portal tools, a provisioning profile is
created. The final step required to deploy an application to a device and sign the
executable is to install the created provisioning profile using Xcode.
4.3 iPhone OS Application
In this section we will discuss in detail the Objective-C code required to create
a cohesive iPhone application to test our hypothesis that activity transitions are an
opportune time to deliver device generated interruptions. The section is divided into
subsections describing the following objectives necessary to carry out our task:
1. Use the built-in triaxial accelerometer to determine activity transitions
2. Generate, Store, and deliver simulated notifications randomly
3. Allow the user to view messages
4. Allow the user to notate their receptivity to the message
5. Allow application settings to be user configurable
6. Allow results to be retrieved from the device for analysis
4.3.1 Determining Activity Transitions
We start by describing the method to compute activity transitions using the
iPhone OS and associated accelerometer values. To determine activity transitions, we
first isolate the gravitational component of each sample, and then after one second has
elapsed the gravitational components collected are used to compute Signal Magnitude
Area (SMA) and tilt, lastly, the decision tree algorithm presented in Figure 3-4 of
section 3.2.3 is employed.
4.3.1.1 Isolate the Bodily Component
Due to the nature of the accelerometer, the values reported by the iPhone OS
contain both the acceleration due to gravity and to movement, the gravitational and
bodily component respectively. Because the SMA equation requires just the bodily
component, a method to isolate the bodily component from gravity is employed.
Figure 4-5 demonstrate how the bodily component from the accelerationX,
accelerationY, and accelerationZ values using a low-pass filter Dud08Ell07
negating the effects of gravity. A low-pass filter takes a single accelerometer reading
and applies it to previously-calculated accelerometer readings, using only a small
fraction of the new value Ell07. These values are subtracted from the original values
to gain a fairly accurate measure Dud08Ell07 of the bodily component of x, y, and z
accelerometer values. Furthermore, the calculated bodily component of each axis is
stored in NSMutableArray as seen in Figure 4-5 below:
// Use a basic low-pass filter to keep only the gravity component of each axis.
lowPassFilteredX = (accelerationX * kFilteringFactor) + (lowPassFilteredX * (1.0f - kFilteringFactor));
lowPassFilteredY = (accelerationY * kFilteringFactor) + (lowPassFilteredY * (1.0f - kFilteringFactor));
lowPassFilteredZ = (accelerationZ * kFilteringFactor) + (lowPassFilteredZ * (1.0f - kFilteringFactor));
// Subtract the gravity component of each sample to get bodily component
CGFloat bodilyX = accelerationX - lowPassFilteredX;CGFloat bodilyY = accelerationY - lowPassFilteredY;CGFloat bodilyZ = accelerationZ - lowPassFilteredZ;
//add to mutable arrayBodilyComponent bc ={ fabsf(bodilyX), fabsf(bodilyY), fabsf(bodilyZ)
};[bodilyComponentMutableArray addObject: [NSValue value:&bc
withObjCType:@encode(BodilyComponent)]];
Figure 4-5 Isolating the Bodily Component
4.3.1.2 Compute SMA and Tilt
SMA is computed by the summing the sum of collected bodily component for
each axis and then dividing by the accelerometer frequency. The Objective-C code
for calculating the SMA is shown in Figure 4-6. Only the gravitational component of
the Y accelerometer signal is used because we are dealing with static accelerations
where tilt is measured.
/** * Calculate SMA for values collected over a 1 second interval */-(CGFloat) calculateSignalMagnitudeArea {
CGFloat sma = 0.0f;CGFloat sumBodilyComponentX = 0.0f, sumBodilyComponentY = 0.0f,
sumBodilyComponentZ = 0.0f;
for(int i = 0; i < [bodilyComponentMutableArray count]; i++){BodilyComponent bc;[[bodilyComponentMutableArray objectAtIndex:i] getValue:&bc];
sumBodilyComponentX += bc.X;sumBodilyComponentY += bc.Y;sumBodilyComponentZ += bc.Z;
}
sma = (1.0f/accelerometerFrequency) * (sumBodilyComponentX + sumBodilyComponentY + sumBodilyComponentZ);
[bodilyComponentMutableArray removeAllObjects];return sma;
}
/** * Calculate Tilt for the gravity value of –y. Angle in degrees
=arccos(-y)* (180/PI) */
-(CGFloat) calculateOrientation : (CGFloat) gravityY {CGFloat tiltAngle = acosf(gravityY)*(180/M_PI);return tiltAngle;
}
Figure 4-6 Calculating SMA and Tilt
4.3.1.3 Apply Decision Tree Algorithm
After SMA and Tilt values are calculated, the decision tree algorithm can
determine which activity the user is currently engaged in (Figure 4-7). With the
user’s current and previous activity, an activity transition can be found. Due to the
dimensions of the device and in order to be worn in most comfortably by the user, a
belt clip is used on the user’s pocket of their jeans causing a greater angle between the
y axis and gravity. An upper bound of 90 degree is used to classify an upright
posture, resulted.
/** * Employ Decision Tree */-(ACTIVITY) decisionTree:(CGFloat) sma with: (CGFloat) tilt {
ACTIVITY activity = UNCLASSIFIED;//activeif(sma >= th){
//uprightif(tilt>0 && tilt<=90){
activity = WALKING;}//not uprightelse {
//UNCLASSIFIEDactivity = UNCLASSIFIED;
}}//restelse{
//uprightif(tilt>0 && tilt<=90){
//sittingif(tilt>=20){
activity = SITTING;}//standingelse {
activity = STANDING;}
}//not uprightelse {
//UNCLASSIFIED
activity = UNCLASSIFIED;}
}return activity;
}
/** * With current activity, an activity transition is reported */-(TRANSITION) determineActivityTransition:(ACTIVITY)current{
TRANSITION currentTrans = None;switch (current) {
case SITTING:if (previousActivity==STANDING) {
currentTrans = StandToSit;}break;
case WALKING:if (previousActivity==STANDING) {
currentTrans = StandToWalk;}break;
case STANDING:if (previousActivity==WALKING) {
currentTrans = WalkToStand;}else if (previousActivity==SITTING){
currentTrans = SitToStand;}break;
default:currentTrans = None;break;
}return currentTrans;
}
Figure 4-7 Determining Activity Transitions
4.3.2 Generate, Store, and Deliver
4.3.2.1 Generate
Next we discuss the generation, store, and deliver of notifications. In order to
randomly generated notifications, a NSTimer is configured to repeatedly call the
method notificationGenerator at a specified timeInterval as shown in Figure 4-8
below.
/** * Configures the NSTimer for the generation of messages. */-(void) configureNotificationGenerator{ [NSTimer scheduledTimerWithTimeInterval:timeInterval target:self
selector:@selector(notificationGenerator) userInfo:nil repeats:YES];
}
/** * With a interval of 3 seconds, text messages are generated about * 30% of the time and phone messages are generated on average 20% * of the time. */-(void) notificationGenerator{ if(createMessages){
//generate random numberint value = arc4random() % seed;if(value>=0 && value<=2){
messageCount++;
//generate simulated text messageif(classificationEnabled && !duringTransition){
[self addToNotificationArray:@"This is a simulated text message." Type:@"Text" withNumber:messageCount];
}else{
NSString *timeValue = [[NSString alloc] initWithString :[self currentTime]];
[self addNotification:@"This is a simulated text message." withType:@"Text" withNumber:messageCount];[timeValue release];[self callRefresh];
}}else if(value>=9 && value<=10){
phoneCount++;//generate simulated phone messageif(classificationEnabled || duringTransition){
[self addToNotificationArray:@"This is a simulated phone message." Type:@"Phone" withNumber:phoneCount];
}else{
NSString *timeValue = [[NSString alloc] initWithString :[self currentTime]];[self addNotification:@"This is a simulated phone message." withType:@"Phone" withNumber:phoneCount];[timeValue release];[self callRefresh];
}}
}}
Figure 4-8 Generate Random Messages
Within notificationGenerator, a random number is created by using the
arc4random() function and taking the modulus by the seed. With a seed of 10 and
interval of 3 seconds, on average text messages will be generated 20% of the time and
phone messages will be generated 30% of the time. 50% of the time, no message is
generated.
4.3.2.2 Store
As shown in Figure 4-9, if the user is not in the control group
(classificationEnabled is set as true), then the messages to be delivered during activity
transitions are stored in an NSMutableArray, called notificationArray. Once the
activity transition is detected, the NSMutableArray is transferred to the
NotificationTableViewController for display to the user.
/** * Stores messages in NSMutableArray, notificationArray */-(void) addToNotificationArray:(NSString*) message Type:(NSString*)
type withNumber:(int) messageNumber{if(classificationEnabled){
Notification no;no.message = message;no.title = type;no.number = messageNumber;no.selected = false;no.messageTime = [self currentTime];no.uuid = [[NSMutableString alloc] initWithString:[self
getUUID]];no.annoyanceRating = 0;no.associatedTransitionUUID = [[NSMutableString alloc]
initWithString:@"None"];
[notificationArray addObject:[NSValue value:&no withObjCType:@encode(Notification)]];
}}
Figure 4-9 Store Messages in Notification Array
4.3.2.3 Deliver
If classification is enabled on the iPhone application, the messages are stored in
the aforementioned array to be sent when activity transitions are detected. When
activity transitions are detected the sendNotificationViewControllerMessages is
called (see Figure 4-10 below), the notification object is updated with a unique
identifier of the transition and sent to the NotificationTableViewController discussed
in more detail in section 4.3.3.
/** * Send stored messages to NotificationTableViewController */-(void) sendNotificationViewControllerMessages:(NSString*)uuid{
for(int i = 0; i < [notificationArray count]; i++){Notification thisNotification;[[notificationArray objectAtIndex:i]
getValue:&thisNotification];
thisNotification.associatedTransitionUUID = [[NSMutableString alloc] initWithString:uuid];
[notificationArray replaceObjectAtIndex:i withObject:[NSValue value:&thisNotification withObjCType:@encode(Notification)]];
}[notificationViewController
addNotificationMessages:notificationArray];//reset array[notificationArray removeAllObjects];[self callRefresh];
}
/** * Create and send notification to NotificationTableViewController */-(void) addNotification:(NSString*) message withType:(NSString*)
type withNumber:(int) messageNumber{Notification no;no.message = message;no.title = type;no.number = messageNumber;no.selected = false;no.messageTime = [self currentTime];no.uuid = [[NSMutableString alloc] initWithString:[self
getUUID]];no.annoyanceRating = 0;no.associatedTransitionUUID = [[NSMutableString alloc]
initWithString:@"None"];
if(!classificationEnabled){[self vibrate];[thesisViewController messageAlert:@"Check Messages."
alertTitle:@"New Notification"];}[notificationViewController addNotificationMessage:no];
}
Figure 4-10 Deliver Notifications
Conversely, when classification is disabled the messages are delivered
immediately to the NotificationTableViewController via the addNotification method.
4.3.3 View Message
Figure 4-11 View Before and After the User Takes Survey
Furthermore, the method to view device generated messages is presented. To
4.3.4 User Survey
Next we discuss the user annotated value of the burden of interruption. The
SurveyViewController and associated View allow the user to communicate his/her
receptivity of the device generated message. When the user selects an item in the
message list, like the one in the first iPhone illustration in Figure 4-11, the user is
taken to a screen like that shown in Figure 4-12. Once there, the user can view details
about the notification such as type, message contents, and time it was created.
Figure 4-12 SurveyViewController View
Additionally, the user is asked to annotate their receptivity to the message
upon delivery. To annotate, the user is asked to click on the number value next to the
question and update using the number pad provided. The value will not upon unless
it is a number between 1 and 5. Once the value is updated, the user is asked to submit
the value. Once the value is submitted and the user navigates back to the viewing the
notifications, the question is marked as survey taken by the display of an empty green
circle next the notification title as seen in the second iPhone illustration of Figure 4-
11.
4.3.5 Application Settings
Figure 4-13 Application Settings
Furthermore, we discuss the use of application settings. Instead of having to
create a new view for application settings, the iPhone OS provides means for
application-level preferences to be displayed using the system-supplied Settings
application. Figure 4-13 depicts the user flow when using the settings application
interacting with our application’s Settings.bundle. In the first illustration of an
iPhone, you see the user’s home screen where all applications are displayed and
available to deploy. The Settings application is the upper rightmost application in the
first illustration of Figure 4-13. Once the user clicks on the Settings application, they
are presented with lists of applications that have application settings as shown in the
second illustration in the Figure 4-13 above. The last illustration in Figure 4-13
depicts the applications settings we expose to the user. The user is asked to input a
unique name for the Username value. The rest of the settings are used by the
application to setup the SMA threshold, the frequency of accelerometer sampling, and
which group the user is in. If enabled is set to OFF, then the user is in the control
group and activity transitions will not be detected.
4.3.6 Transferring Data off the iPhone 3G
Lastly we discuss the method to retrieve survey results and activity transition
observations off the device. In this section we will discuss user interaction with the
MSThesisReportViewController View, the Objective-C Code used to send the results
to the server, and the PHP code used on the server to log results to text files for
analysis.
4.3.6.1 User Interaction
The third tab in our iPhone application presents the participant with options to
send an activity transition report or survey results to the server shown in Figure 4-14.
A simple point and click will seamlessly transfer the results using the underlying
Objective-C code provided in the MSThesisReportViewController class.
Figure 4-14 MSThesisReportViewController View
4.3.6.2 NSMutableURLRequest
The iPhone OS 2.2.1 provides the NSMutableURLRequest to make HTTP
POST requests. To send activity transition results, first the reports stored in an array
are parsed to create the body of the HTTP POST message. Next the
NSMutableURLRequest method is set up with the request, server details, and method.
Once the NSURLConnection is created, the request is sent to the server as shown in
Figure 4-15.
/** * Sends Activity Transition Results to the Server */-(void) sendATResultsToWS{
[atResults addObjectsFromArray:[thesisViewController getReportArray]];
NSMutableString *sRequestString2 = [[NSMutableString alloc] init];
[sRequestString2 appendString:[self createReportString]];[self initiateConnection:sRequestString2];[sRequestString2 dealloc];[atResults removeAllObjects];
}
/** * Sends Survey Results to the Server */-(void) sendSurveyResultsToWS{
[surveyResults addObjectsFromArray:[notificationViewController getMessages]];
NSMutableString *sRequestString = [[NSMutableString alloc] init]; [sRequestString appendString:[self createSurveyReportString]];[self initiateConnection:sRequestString];[sRequestString dealloc];[surveyResults removeAllObjects];
}
/** * Creates the request and sends to server */- (void)initiateConnection:(NSMutableString*) sRequest{
NSMutableData *myMutableData;
// The URL of the Webserver NSURL *myWebserverURL = [NSURL
URLWithString:@"http://michaelandkelly.com/mylog/log.php"];
// Override setAllowsAnyHTTPSCertificate for homemake SSL cert otherwise popup a error when use home make ssl
//[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[myWebserverURL host]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myWebserverURL];
// Set the action to Post [request setHTTPMethod:@"POST"]; // Set the body [request setHTTPBody:[sRequest
dataUsingEncoding:NSUTF8StringEncoding]]; // Create the connection NSURLConnection *conn = [[NSURLConnection alloc]
initWithRequest:request delegate:self];
// check the connection object if(conn) {
myMutableData=[[NSMutableData data] retain]; } }
Figure 4-15 NSMutableURLRequest
4.3.6.3 PHP Script
In order to have something receive the request sent from the device, a server
was set up with a PHP script to log the results. Figure 4-16 illustrates the code used
to log incoming HTTP POST requests. The script takes the body of the HTTP
request and either appends it to an existing log file and places it on the server or it
creates a new log file and places it on the server depending on the IP address of the
sender and the time received.
# simple php script to log incoming HTTP POST requests<?php
if ( isset($_POST) && is_array($_POST) && count($_POST) > 0 ) { $log_dir = dirname( __FILE__ ) . '/logs/'; $log_name = "posts-" . $_SERVER['REMOTE_ADDR'] . "-" .
date("Y-m-d") . ".log"; $log_entry = gmdate('r') . "\t" . $_SERVER['REQUEST_URI'] .
"\r\n" . file_get_contents('php://input') . "\r\n\r\n"; $fp=fopen( $log_dir . $log_name, 'a' ); fputs($fp, $log_entry); fclose($fp); }
?>
Figure 4-16 PHP Script on Server
Chapter 5
5 Results
In this Chapter, we discuss a set of trials for the determination of the accuracy
of activity transition detection. Each trial was performed on the same person with a
Signal Magnitude Area (SMA) threshold of 0.3. An SMA value of 0.3 was chosen by
consulting the study ofMat02 in which a threshold value of 3.0 was optimal
producing a sensitivity of 0.99 and a specificity of 0.94 in a controlled experiment.
Because the iPhone OS normalizes its accelerometer values, a value of 0.3 would be
similar to that of 3.0 in the aforementioned study. Additionally, a user experiment is
presented in which six colleagues were asked to participate in a test of the iPhone
application in a workplace environment. A summary of the experiment along with
lessons learned follows.
5.1 Verification of Transition Detection Algorithm
The performance of the activity detection algorithm was measured against 240
physical activity transitions. The strategy used to validate the activity transition was
user annotated activity transitions with the comparison to the results logged from
transferring the data from the device to the web server. In a controlled environment,
a set of actions were performed to calculate the predictive accuracy of the physical
activity classifier that was using a SMA threshold of 0.3. The user was instructed to
carry out four activity transitions of sitting to standing (SIST), standing to sitting
(STSI), walking to standing (WAST), and standing to walking (STWA) by
performing a sequence of routine actions as follows:
1. Sit for 5 seconds, stand for 5 seconds, walk for 5 seconds, stop for 5
seconds, and sit for 5 seconds. (SIST, STWA, WAST, STSI)
2. Stand for 5 seconds, walk for 5 seconds, stop for 5 seconds, sit for 5
seconds, and stand for 5 seconds. (STWA, WAST, STSI, SIST)
3. Walk for 5 seconds, stop for 5 seconds, sit for 5 seconds, stand for 5
seconds, walk for 5 seconds, and stand for 5 seconds. (WAST, STSI, SIST,
STWA)
4. Stand for 5 seconds, sit for 5 seconds, stand for 5 seconds, walk for 5
seconds, and stand for 5 seconds. (STSI, SIST, STWA, WAST)
5. Repeat Steps 1-4, four times.
6. Stand 5 seconds, sit 5 seconds, and stand 5 seconds.
7. Repeat Step 6, nine times. (STSI, SIST)
8. Walk 5 seconds, stand 5 seconds, and walk 5 seconds.
9. Repeat Step 7, nine times. (WAST, STWA)
10. Sit 5 seconds, stand 5 seconds, and sit 5 seconds.
11. Repeat Step 10, nine times. (SIST, STSI)
12. Stand 5 seconds, and walk 5 seconds, and Stand 5 seconds.
13. Repeat Step 12, nine times (STWA, WAST)
14. Repeat Step 6-13.
Each set of transitions were annotated a trial, i.e. AT_Trial_1, and by using the
iPhone application settings to set the username reflected as such with a total of 28
trials performed. After each trial, the activity transitions detected by the device are
sent to the web server. An evaluation of the test results involved comparing the
subject’s actual movements with the movements classified by the device. For
example, if during a trial the user was asked to perform a set of transitions such as
SIST, STWA, WAST, and STSI, but the user only experienced notifications from the
device during the STWA, WAST, and STSI transitions, the SIST transition would be
marked as missed and the STWA, WAST, and STSI transitions would be compared
with the transitions reported by the device. If the device reported the same transitions
as the user acted out, each transition was marked as successful. On the other hand, if
the transitions reported by the device did not match the actions the user carried out,
the transitions that were not reported were marked as missed and the transitions that
were incorrectly classified were also marked as such. If at any point, the iPhone
application detected a transition outside of trials that is also marked; however, during
the trials the iPhone application did not report phantom transitions. Refer to
Appendix A for full details of the 28 trials.
5.1.1 Evaluating Classification using Precision and Recall
In order to measure the predictive accuracy of the activity classifier of the
iPhone application, the metrics of precision and recall were used. To calculate
precision and recall, the following sets are desired Kal07:
S++: denotes the number of positive examples in the test set that are
correctly classified positive
S+-: denotes the number of positive examples in the test set that were
incorrectly classified positive
S--: denotes the number of negative examples in the test set that are
correctly classified negative
S-+: denotes the number of negative examples that were incorrectly
classified positive
From these sets precision is calculated by:
¿¿
From these sets recall is calculated by:
¿¿
Although, usually one only considers the positive examples of precision and recall
formulated by the calculations above, the negative examples can be obtained in a
similar fashion.
For four activity transitions SIST, STSI, WAST, and STWA, precision and
recall are calculated by obtaining S++, S+-, S-+, and S--. With a set of SIST transitions,
S++ is the number of times a SIST transition was detected by the iPhone application as
the user performed a SIST transition, S+- is the total number of SIST activity
transitions that were reported but not performed by the user, S-+ is the number of
activity SIST transitions that were performed by the user but not reported as a SIST
activity transition, and S-- is the number of times the iPhone application correctly did
not detect a transition SIST activity transition. Because for each trial there was five
second duration for all activities and because the classifier attempts to determine
activity transition each second, S-- is calculated by the multiply of SIST activity
duration with the number of SIST activity transition trials subtracted by the number
of activity transitions detected for the duration. S++, S+-, S-+, and S-- values for STSI,
WAST, and STWA are calculated similarly.
Activity Transition S++
S+-
Total True+ S-- S-+
Total True- Total Precision+ Recall+ Precision- Recall-
SIST 56 0 60 236 4 240 296 93.33% 100.00% 100.00% 98.36%STWA 57 0 60 237 3 240 297 95.00% 100.00% 100.00% 98.77%WAST 57 4 60 234 3 240 294 95.00% 93.44% 98.36% 98.77%STSI 57 1 60 231 3 240 291 95.00% 98.28% 99.59% 98.77%
Table 5-1: Precision and Recall Metrics
contains a summary of the results. As the above table suggests, a SMA
threshold of 0.3 produces fine results providing precision values of 93.33% and 95%
for SIST and STWA, WAST, and STSI respectively. Recall values are likewise
admirable results of 100% for SIST and STWA, 93.44% for WAST, and 98.25% for
STSI transitions.
5.1.2 Evaluating Classification using ROC
Because the trials were only performed once for one individual, precision and
recall curves cannot be generated. In order to do this, we believe that an automated
way to gather metrics must be created because hand calculation in imperfect and
takes too much time. Instead, a Receiver Operator Characteristic Curve (ROC) is
created by calculating each NER classifier’s true positive rate (TPR) and false
positive rate (FPR) and plotting TPR vs. FPR. A ROC depicts relative trade-offs
between true positive (benefits) and false positive (costs)5.
From the sets presented above TPR is calculated the same as recall:
¿¿
From the sets presented above FPR is calculated by:
5 http://en.wikipedia.org/wiki/Receiver_operating_characteristic
¿¿
The following table and figure presents the results:
Activity Transition TPR FPRSIST 100.00% 1.67%STWA 100.00% 1.25%WAST 93.44% 1.27%STSI 98.28% 1.28%
Table 5-2: True and False Positive Rate
Figure 5-17 Receiver Operator Characteristic Curve
The ideal ROC Curve would be point [0,100] on the above curve representing
100% sensitivity (all transitions were classified) and 100% specificity (no false
positives). Because all the activity transitions are shown to perform in the upper left
hand quadrant, the physical activity transition classifier is shown to perform very
well; however, because the test set does not seem to contain a large number of
examples, further testing should be performed.
5.2 User Experiment
To test the burden of interruption by the augmented iPhone, six colleagues
were asked to participate in an informal experiment. The experiment consisted of two
groups of participants, those in the control group and those actively receiving
messages only during activity transition. The duration of the experiment was one
hour. All participants were told to go about their activities as normal were unaware
of the hypothesis of the study and told that the application was going to tell them
when it is a good time to check their messages. The participants were then told to
rate their receptivity to each messages given to them by the device. Refer to
Appendix B: User Experiment for additional details.
5.2.1 Device Placement
The iPhone was clipped, using a belt clip, to the participants left pocket
orienting the device facing up with screen accessible to the user. They were told to
place and replace the iPhone before application start and after all surveys have been
taken before pressing the restart button. A restart button was used so as not to
interrupt the user while taking the surveys since the device is removed from their
body to interact with the survey.
5.2.2 Instructions
All participants were given the same written instructions. The following
sections, 5.2.2.1, 5.2.2.2, and 5.2.2.3, are representations of the handout given to the
participant. All tables and figures in these sections were also included and the user
was told to refer back to the depictions for reference.
5.2.2.1 Setup1. Read all instructions before starting.2. Go to the iPhone Settings Application and input your username. Before you
start testing, give to the test administrator for inspection.3. Clip the iPhone device to the left pocket of your pants.4. Click the MSThesis iPhone Application to start.
5.2.2.2 MSThesis1. When a notification that new messages may be in your inbox is received, click
the OK button. (There may be not be new messages)2. Goto the Messages Tab.
Figure 5-18: Picture of Message Tab for Participant
3. Select a message in the list. This will open a survey. Click on the small box with a number on it, a number pad will popup. Enter a number between 1 and 5 indicating how receptive you are to receiving a message at this time. Refer to the scale below:
5 Most Receptive4 Mostly Receptive3 Somewhat Receptive2 Not Really Receptive1 Not at all Receptive
Table 5-3: Receptivity Values for Participant
Figure 5-19: Illustration of Survey Screen for Participant with Instructions
4. Click the submit button. Important! Without hitting the submit button, the value is not saved.
5. Once all surveys are taken per message, Go back to the Home screen (first tab on the left) and click the restart button.
Figure 5-20: Illustration of Send Report Screen for Participants with Instructions
5.2.2.3 End of Survey1. Go to the Send Report screen (last tab on the right).
Click on both buttons, Send Survey Results and Send Activity Transition Report.
2. Shutdown the MSThesis application by clicking the iPhone Home button. 3. Fill out the wrap-up interview.4. Return device to test administrator.
The participant was also given verbal instructions not to turn off the
application at any time during the hour and to treat incoming messages without
context and as non-time critical. All participants seemed to grasp the instructions
with ease.
5.2.3 Control Group vs. AT Group
Three of six participants were sent random messages during the hour and three
were sent messages only during physical activity detection. All participants were
unaware which group they were placed in so as not to affect the receptivity of
messages. All participants were between the ages of 23 an 45, healthy, and work on a
computer at a desk during work hours.
5.2.4 Participant Interview
After the experiment, the participant was asked to fill out an assessment of
their experience. The following questions were asked of the participant:
1. Is this your first time interacting with an iPhone?
2. Do you find using the iPhone difficult? Did you find using the iPhone
application during testing difficult? Please describe.
3. Did anything out of the ordinary happen during the test?
4. How many times did the iPhone interrupt you today?
5. Did you find yourself becoming more or less receptive as time
progressed?
6. Can you put in your own words how you were interpreting each of the
receptivity numbers, and what it meant in terms of your interruptibility?
7. How much time would it take to respond to each interruption typically (in
minutes)?
8. Can you think of a different way that it could have interrupted you so that
you would have been more receptive?
9. In the situation where you answered a 1 (Not at All Receptive), do you
think you would have been more receptive to an interruption of a different
type (i.e. not Phone or Text)?
10. Was wearing the iPhone on the belt clip cumbersome? How can we
improve your comfort level?
11. Did you notice any pattern behind the interruptions?
12. How did people around you respond to the system when an interruption
occurred?
13. Do you have any questions or comments on the test?
Question 1 and 2 were asked to get a feel of how interacting with the iPhone
and an application on the iPhone was to users who already knew how to use an
iPhone and those who did not. Question 3-7 are used for the interpretation of the
survey results. Question 8, 10, 12 and 13 is used for the possible improvement of the
iPhone application and its comfort level. Question 11 is used to determine whether or
not the participant noticed the point of interruption is during activity transitions or is
completely random. Additional questions were asked by the administrator of the test
to interpret a receptivity of messages.
5.2.5 Likert Scale of Receptivity
We use a Likert scale as a measure of receptivity of messages because we are
asking the participant their feeling or attitude about how irritated or receptive they are
to receiving a message at the time of receipt. A Likert scale is designed as a uni-
dimensional scaling method and is assumed that the concept measured is one-
dimensional in nature6, in this case, how receptive are you to receive this message?
The respondents must indicate how closely their feelings match the question on a
rating scale of 1-5, 5 being the Most Receptive and 1 indicating Not at all Receptive.
Given that a Likert scale is inherently an imperfect due to its inherent biases,
respondents may avoid using extreme response categories, (central tendency bias);
agree with statements as presented (acquiescence bias); or try to portray themselves
or their organization in a more favorable light, (social desirability bias)7. Because of
the small sample size, we cannot state any conclusions about the responses with
6 http://www.socialresearchmethods.net/kb/scallik.php 7 http://en.wikipedia.org/wiki/Likert_scale
statistical significance. However, we can deduce improvements to the iPhone
application and testing methods with the following analysis of user responses.
5.2.6 Activity Transition Group
Participant A, B and C were in the activity transition group. Each response
was collected by the transfer of survey results reported by the device and sent to the
web server. The answers were then downloaded and imported in a spreadsheet
application as well as written and verbal responses in the wrap-up interview were
collected for analysis. All receptivity answers were grouped by experiment group
and averaged to get individual and group values as seen in Table 5-4 and Figure 5-21
below.
User
Not at all Receptiv
eLess
Receptive
Somewhat
Receptive
Mostly Receptiv
eMost
ReceptiveAverage
ScoreA 0 1 3 4 8 4.1875B 0 3 2 3 1 3.2222C 1 2 0 2 0 1.4444
All 1 6 5 9 9 3.6333
Table 5-4: Receptivity Responses
Figure 5-21: Receptivity of AT Group
Table 5-4 depicts the participant responses for the experiment. Participant A
had an average receptivity score of 4.2 but was less receptive to messages during
STWA transitions bringing down her average response. 4.2 is somewhere between
Mostly Receptive and Most receptive and a seemly good indication that participant A
is Mostly to Most receptive during activity transition. When asked why a low rating
was given at this time, the participant noted irritation was due to how quick the
interruption was after a previous one. In fact, a STWA transition would have been
more received if it hadn’t just come within minutes of a previous transition.
Participant B noted similar irritation. At first glance of participant B’s
receptivity answers with an average of 3.2, it seems that participant B is only
Somewhat Receptive during activity transition. However, after the wrap-up interview
low receptivity was due to again receiving messages within minutes of each other.
This leads us to conclude that perhaps the receptivity of notification mediation would
improve if there was an inherent delay between deliveries of messages even if there
are detected activity transitions. Yet, receiving a message so close to when the
messages are checked is unlikely to happen in real life and the application would not
interrupt the user without a stored message to send. Nonetheless, consideration to
improve the iPhone application is given.
Participant C seems to invalidate our premise of notification mediation and
delivery message only during activity transition will reduce the perception of burden
of the user. Again, the wrap up interview was a useful tool in analyzing the results
received. Participant C noted much irritation to messages delivered during the set-up
of an office projector. The iPhone application interpreted three activity transitions as
a pause in the primary task when in fact, it was all part of participant C’s primary task
at the time. This leads us to correlate a low receptivity of device generated
interruption when the user’s primary task is of physical activity. Augmenting the
algorithm with other sensors such as location or GPS sensors or with Calendar
information in this situation would possibly allow the device to be better equipped to
decide the best time of interruption.
5.2.7 Control Group
In addition to the activity transition group, individuals were also tested by
random interruption. Participant D, E and F were in the control group. Again, each
response was collected by the transfer of survey results reported by the device and
sent to the web server. The answers were then downloaded and imported in a
spreadsheet application as well as written and verbal responses in the wrap-up
interview were collected for analysis. All receptivity answers were grouped by
participants group and averaged to get individual and group values as seen Table 5-4
and Figure 5-22 below.
User
Not at all Receptive
LessReceptiv
eSomewhat Receptive
Mostly Receptiv
eMost
ReceptiveAverage
ScoreD 0 0 0 0 3 5.0000E 0 0 0 1 2 4.6667F 0 1 1 1 2 3.8000
All 0 1 1 2 7 4.3636
Table 5-5: Receptivity Responses
Figure 5-22: Receptivity of Control Group
Participant D had a high receptivity value of 5.0 leading to conclude that
random interruption is well received. We expected results to be lower and when
asked, participant D responded that Fridays are slow workdays. Furthermore,
participant D suggested that anytime during a Friday would be a good time to
interrupt. Because there will be days and long periods of time where this is the case,
perhaps an on/off function would benefit the augmented device. This would give the
user their messages throughout the time the activity detection is paused saving
annoyance of the user having to needlessly wait for messages as well as battery life.
Participant E, on the other hand, had seemingly very high receptivity to all
random messages but the user interview did not match survey results. When
interviewed, participant E indicated a strong irritation to receiving a message during a
phone call but marked the irritation as Mostly Receptive. When asked about how the
receptivity scale was interpreted, participant E understood the correct difference
between Mostly Receptive (4) and Not at All Receptive (1). Was participant E trying
to be nice? We believe greater numbers in testing would alleviate any confusion on
such a discrepancy. Participant E also leads us to believe that perhaps a better scale
in testing the device is desired. Conceivably a yes or no answer to, Are you available
to take a text or phone message at this time? Additionally, augmenting the device to
allow the user to set when the next time to ask if the user is available similar to a
Calendar application that allows the user to set when to be next reminded of an
appointment could improve overall receptivity of device generated interruptions.
Conversely, Participant E produced results closer to those expected with a
receptivity average of 3.8, somewhere between Somewhat Receptive and Most
Receptive. Mimicking real life, there were times when the user was available to be
interrupted and there were times were she was unavailable to be interrupted. When
asked why low receptivity answers were given, participant E noted that receptivity
was lower when messages were delivered close together as also noted by participants
A and B.
5.2.8 Conclusions
We feel that this small user experiment was beneficial to the understanding of
how users will interact with the device, what improvements can be made to testing
the application, and what improvements can be made to the iPhone application.
Testing should be performed on a larger sample size, for much longer duration, and
with a more interpretive scale of interruptibility of the device at the time of delivery.
Furthermore, perhaps additional smaller tests rather than a more formal large scale
test are preferred to work out additional kinks in the system. Also, a more cut and
dry, yes-no, answer would perhaps give greater insight to the right timing of
interruption than a Likert scale with inherent bias.
Improvements to the iPhone application could also be made. Buttons need to
be bigger with more readable text. In addition, a more audible form of interruption is
desired. Most participants did not feel the device vibrating. This could also be due to
the placement of the iPhone. On a belt clip, in the users pocket does not allow
contact with the device itself during notification. One participant noted that they
would rather wear the device horizontally on their belt. This could be achieved with a
minor tweak to the tilt detection algorithm. First the algorithm could check the
orientation of the device, and then calculate the orientation of the user with respect to
gravity. Furthermore, incorporating a delay after activity transition detection and
allowing the user to set delay user notification reminders is desirable.
Chapter 6
6 Future Work
In addition to the improvements discussed in the previous section, this work
would benefit from additional sensors and methods that detect when the user is
available to receive interruption. Augmenting the device to detect lulls in brain
activity would help distinguish when a user is not physically moving but also not
currently engaged in an activity requiring a high mental workload. In addition, if the
application took advantage of GPS and Calendar events, specific locations or
appointments could be tagged with do not disturb or freely disturb status. The
application would then sense user preference when in a specific location or during an
event and act accordingly.
Furthermore, the context of the message could be of great importance to the
user’s perceived burden of interruption. For example, if a message is sent by the
user’s boss or marked as urgent by a friend, the user would want to receive those
messages immediately. If contacts were marked as always receive from or always
hold and messages could be marked as urgent or not urgent, the application could
then take advantage of the user’s set of contacts and how the message is marked.
This work would very also benefit from a more formal interruption study with
a diverse set of participants with varied age and occupation. Perhaps notifications
during physical activity transition are only well received to those with more sedentary
jobs. The device could avoid delivery messages during activity transition or when
detecting a large quantity of transition during a short period of time, continue to hold
messages only to delivering messages during infrequent activity transitions.
Chapter 7
7 Conclusion
This thesis has presented insight into related work in the study of interruption
due to the personal computer and wearable devices. Because during times of
unavailability users perceive device generated notifications as disruptive, devices
need to be augmented to recognize when the user is not available to receive
interruption or when they are available. This work focuses on the latter using
physical activity transitions as a time to deliver device generated notifications.
An iPhone application was designed to calculate four physical activity
transitions of sit to stand, stand to sit, walk to stand, and stand to walk. During these
times, the user is more susceptible to interruption because they are already
interrupting their current task and preparing for another. Implemented to cluster
randomly generated messages for the delivery only during physical activity transition
and to allow the user to annotate their receptivity, the application was meant to reduce
the perceived burden of interruption. To test this theory, the activity transition
classifier was tested for accuracy with a set of user annotated trials. An experiment
was also designed to compare the results of random interruption with those sent only
during activity transition. The results advocate the activity classifier performs well
in a controlled environment and suggest that users are receptive to messages delivered
during activity transitions as long as the transitions are not too closely grouped.
Furthermore, improvements of user-device interaction, testing the application,
and the iPhone application itself were uncovered during experimentation. This work
has been successful, personally rewarding, and has possibilities for future work.
Works Cited
[Che06] D. Chen, "The Physiologically Attentive User Interface Towards A
Physiological Model of Interruptability," February 2006.
[Wil06] T. B. Wilson, "Gradual Awareness Notification for the Desktop
Environment," M.Eng. Thesis, Department of Electrical Engineering and
Computer Science, Massachusetts Institute of Technology, June 2006.
[Wil08] T. B. Wilson and R. C. Miller. User Interface Design Group. [Online].
http://groups.csail.mit.edu/uid/projects/slowgrowth/slow-growth-
technote.pdf
[McC03] D. S. McCrickard and C. M. Chewar, "Attentive user interfaces: Attuning
notification design to user goals and attention costs," Communications of
the ACM, vol. 46, no. 3, pp. 67-72, Mar. 2003.
[Oul04] A. Oulasvirta and A. Salovaara, "Environments, A Cognitive Meta-
Analysis of Design Approaches to Interruptions in Intelligent
Environments," in CHI '04 extended abstracts on Human factors in
computing systems , Vienna, Austria, April 2004.
[Saw00] N. Sawhney and C. Schmandt, "Nomadic radio: speech and audio
interaction for contextual messaging in nomadic environments," in ACM
Transactions on Computer-Human Interaction (TOCHI), vol. 7, September
2000, pp. 353-383.
[Hor08] E. Horvitz and D. Achloptas. (2008) Microsoft Research. [Online].
http://research.microsoft.com/~horvitz/bounded_deferral.pdf
[Hor03] E. Horvitz and J. Apacible, "Learning and reasoning about interruption," in
ICMI '03: Proceedings of the 5th international conference on Multimodal
interfaces, Vancouver, British Columbia, Canada, November 2003, pp. 20-
27.
[Gie05] S. Gievska and J. Sibert, "Using task context variables for selecting the
best timing for interrupting users ," in sOc-EUSAI '05: Proceedings of the
2005 joint conference on Smart objects and ambient intelligence:
innovative context-aware services: usages and technologies , Grenoble,
France, 2005, pp. 171-176.
[App09] (2009) Apple Developer Connection. [Online].
http://developer.apple.com/iphone
[App091] Apple. (2009) IPhone. [Online].
http://www.apple.com/batteries/iphone.html
[Che04] D. Chen and R. Vertegaal, "Using Mental Load for Managing Interruptions
in Physiologically Attentive User Interfaces," in Ext. Abstracts CHI '04,
Vienna, Austria, 2004, pp. 1513-1516.
[DrD09] Dr. Dobb's. (2009, Mar.) Dr. Dobb's Portal: The World of Software
Development. [Online]. http://www.ddj.com/mobile/216300179?pgno=4
[Sad07] E. Sadun. (2007, Sep.) iPhone Coding: Using the Accelerometer. [Online].
http://www.tuaw.com/2007/09/10/iphone-coding-using-the-accelerometer/
[Kar06] D. M. Karantonis, M. R. Narayanan, M. Mathie, N. H. Lovell, and B. G.
Celler, "Implementation of a real-time human movement classifier using a
triaxial accelerometer for ambulatory monitoring," Information Technology
in Biomedicine, IEEE Transactions on, vol. 10, no. 1, pp. 156-167, Jan.
2006.
[Bid07] N. Bidargaddi, et al., "Wavelet based approach for posture transition
estimation using a waist worn accelerometer," in Engineering in Medicine
and Biology Society, 2007. EMBS 2007. 29th Annual International
Conference of the IEEE, Aug. 2007, pp. 1884-1887.
[Mat02] M. J. Mathie, N. H. Lovell, A. C. F. Coster, and B. G. Celler, "Determining
activity using a triaxial accelerometer," in Engineering in Medicine and
Biology, 2002. 24th Annual Conference and the Annual Fall Meeting of the
Biomedical Engineering Society, Oct. 2002, pp. 2481-2482.
[Mit97] T. M. Mitchell, Machine Learning. Boston, United States of America:
McGraw-Hill Companies, Inc., 1997.
[Dud08] B. Dudney, C. Adamson, and M. Molina, iPhone SDK Development, D. H.
Steinburg, Ed. Raleigh, North Carolina: The Pragmatic Bookshelf, 2008.
[Ell07] E. Ellingsen. (2007, Aug.) iPhone accelerometer source code. [Online].
http://blog.medallia.com/2007/08/iphone_accelerometer_source_co.html
[Kal07] J. Kalita, Measuring Performance of an Unsupervised Learning Algorithm.
Draft Unpublished, 2007.
[Dab04] L. Dabbish and R. E. Kraut, "Controlling interruptions: awareness displays
and social motivation for coordination," in Proceedings of the 2004 ACM
conference on Computer supported cooperative work, Chicago, Illinois,
Nov. 2004.
[Bai08] B. P. Bailey and S. T. Iqbal, "Understanding changes in mental workload
during execution of goal-directed tasks and its application for interruption
management," ACM Transactions on Computer-Human Interaction, vol.
14, no. 4, p. 28, Jan. 2008.
[HoJ05] J. Ho and S. S. Intille, "Using Context-Aware Computing to Reduce the
Perceived Burden of Interruptions from Mobile Devices," in Proceedings
of the SIGCHI conference on Human factors in computing systems,
Portland, Oregon, USA, 2005, pp. 909-918.
[HoJ04] J. Ho, "Interruptions: Using Activity Transitions to Trigger Proactive
Messages," M.Eng. Thesis, Department of Electrical Engineering and
Computer Science, Massachusetts Institute of Technology, August 2004.
[Ker051] N. J. Kern, "Multi-Sensor Context-Awareness for Wearable Computing,"
Darmstadt University of Technology Dr.-Ing. Dissertation, 2005.
[Ker05] N. Kern and B. Schiele, "Context-aware notification for wearable
computing," in Proceedings of the IEEE International Symposium on
Wearable Computing (ISWC 2003), 18-21 Oct. 2005.
[Iqb08] S. T. Iqbal and B. P. Bailey, "Effects of intelligent notification
management on users and their tasks," in CHI '08: Proceeding of the
twenty-sixth annual SIGCHI conference on Human factors in computing
systems, Florence, Italy , April 2008 , pp. 93-102.
[Wal04] M. Walji, J. Brixey, K. A. Johnson-Throop, and J. Zhang, "A Theoretical
Framework to Understand and Engineer Persuasive Interruptions," in
Proceedings of the Twenty-Sixth Annual Conference of the Cognitive
Science Society, Mahweh, NJ, 2004.
Appendix A: Activity Transition Trials
This appendix presents the activity transition results logged by the web server
and user annotated experiences. At no point during the test did the activity transition
classifier report transitions when no transition was attempted. At times transitions
were incorrectly classified or not classified at all. To keep things simple, the user
annotated a correct classification with a 1 in the order of sitting to standing (SIST),
standing to sitting (STSI), walking to standing (WAST), and standing to walking
(STWA) transitions. The annotations and additional notes are as follows:
1. Trial 1- did not detect StandtoWalk 10112. Trial 2- detected all transitions 11113. Trial 3- did not detect WalktoStand, incorrectly Classified StandtoSit 11004. Trial 4- did not detect StandtoSit 1110
5. Trial 5- did not detect StandToWalk, WalkToStand 10016. Trial 6- all 11117. Trial 7- all 11118. Trail 8- all 1111
9. Trial 9- 111110. Trial 10- 1011, did not detect standtowalk11. Trial 11- 111112. Trial 12- 1111
13. Trial 13- 111114. Trial 14- 111115. Trial 15- 111116. Trial 16- 1111
17. Trial 17- 111118. Trial 18- 111119. Trial 19- 0111, incorrectly classified sittostand as walktostand20. Trial 20- 1111
21. Trial 21-incorrectly classified SittoStand as WalkToStand 3 times. (7++,3)22. Trial 22- (lost count, threw out first trial 22) all correct, had to restart the standtowalk,
43FE4A10-8B75-4856-8AC6-28A2E59BBCE9 because I didn't start out walking when reset was pushed. (so it correctly classified a Standtowalk but I am throwing it out)
23. Trial 23-(9++,1) (10++)24. Trial 24- all correct25. Trial 25- all correct26. Trial 26- all correct27. Trial 27- all correct
28. Trial 28- all correct
The following is a log of activity transitions detected during 28 trials. Refer to
Section 5.1 for details of the trials. The logged transitions follow:
Fri, 01 May 2009 00:57:43 +0000 /mylog/log.phpAT_Trial_1: Activity Transition Results time=4/30/09 6:56:57 PM MT uuid=6AA5E5FB-458B-4485-85A3-31C1FDA65AAB actTran=SitToStand sma=0.2277 tilt=16 time=4/30/09 6:57:12 PM MT uuid=A86D30BE-68F4-4D9F-9041-D8B8714CCA98 actTran=WalkToStand sma=0.2745 tilt=9 time=4/30/09 6:57:30 PM MT uuid=083DBC2F-FFA8-4AC8-B764-C37B29DBA7B0 actTran=StandToSit sma=0.2241 tilt=68
Fri, 01 May 2009 01:10:33 +0000 /mylog/log.phpAT_Trial_2: Activity Transition Results time=4/30/09 7:09:17 PM MT uuid=876C8CCA-F839-4CC8-81B9-510DA1D34B24 actTran=StandToWalk sma=0.4305tilt=11 time=4/30/09 7:09:41 PM MT uuid=5297582F-8FF3-4D42-9805-E088000D3836 actTran=WalkToStand sma=0.0470 tilt=6 time=4/30/09 7:09:58 PM MT uuid=17B58F69-B93A-49D7-96DD-3D314745DE9C actTran=StandToSit sma=0.0445 tilt=62 time=4/30/09 7:10:20 PM MT uuid=DA3A1D15-6C89-4171-89DA-AFC384B9F708 actTran=SitToStand sma=0.0747 tilt=4
Fri, 01 May 2009 01:15:58 +0000 /mylog/log.phpAT_Trial_3: Activity Transition Results time=4/30/09 7:15:29 PM MT uuid=9FA5975D-DE47-4813-9C8F-ADDF1714DD7F actTran=WalkToStand sma=0.2473 tilt=18 time=4/30/09 7:15:40 PM MT uuid=82D88F30-56A7-484F-B2D1-277D01E3FB16 actTran=SitToStand sma=0.2136 tilt=21 time=4/30/09 7:15:49 PM MT uuid=9459DEA2-4F4E-4CEB-85E3-C2327794D09A actTran=StandToWalk sma=0.4477 tilt=12
Fri, 01 May 2009 01:24:36 +0000 /mylog/log.phpAT_Trial_4: Activity Transition Results time=4/30/09 7:23:07 PM MT uuid=52DB0316-C6A4-4C98-88F2-B618C6129FF7 actTran=SitToStand sma=0.1774 tilt=13 time=4/30/09 7:24:04 PM MT uuid=8363BCE8-B582-44ED-B733-8F0AA7C3E137 actTran=StandToWalk sma=0.3645 tilt=20 time=4/30/09 7:24:21 PM MT uuid=D9F2DEB5-AB01-443F-9020-CAA56AB4169F actTran=WalkToStand sma=0.1843 tilt=6
Fri, 01 May 2009 01:38:47 +0000 /mylog/log.phpAT_Trial_5: Activity Transition Results time=4/30/09 7:38:11 PM MT uuid=D670DA29-14F3-489A-8D9B-421CAA23D481 actTran=SitToStand sma=0.2384 tilt=16 time=4/30/09 7:38:38 PM MT uuid=B0505DCE-A616-4EC4-9D5A-0BB0EE45B9AB actTran=StandToSit sma=0.1977 tilt=57
Fri, 01 May 2009 01:40:57 +0000 /mylog/log.phpAT_Trial_6: Activity Transition Results time=4/30/09 7:40:18 PM MT uuid=7A5BAA02-CB80-45C8-8F7C-6E97765151D4 actTran=StandToWalk sma=0.3955 tilt=13 time=4/30/09 7:40:35 PM MT uuid=F0D1470C-D918-4E9F-BFB6-0679406697FD actTran=WalkToStand sma=0.0167 tilt=3 time=4/30/09 7:40:50 PM MT uuid=AC07BB24-95F2-4DA3-B41F-81C4873C89AD actTran=StandToSit sma=0.1657 tilt=64
Fri, 01 May 2009 01:41:55 +0000 /mylog/log.phpAT_Trial_6: Activity Transition Results time=4/30/09 7:40:18 PM MT uuid=7A5BAA02-CB80-45C8-8F7C-6E97765151D4 actTran=StandToWalk sma=0.3955 tilt=13 time=4/30/09 7:40:35 PM MT uuid=F0D1470C-D918-4E9F-BFB6-0679406697FD actTran=WalkToStand sma=0.0167 tilt=3 time=4/30/09 7:40:50 PM MT uuid=AC07BB24-95F2-4DA3-B41F-81C4873C89AD actTran=StandToSit sma=0.1657 tilt=64 time=4/30/09 7:41:47 PM MT uuid=89FF9807-7900-4145-AD04-3DDE12ECA86F actTran=SitToStand sma=0.0909 tilt=4
Fri, 01 May 2009 01:44:24 +0000 /mylog/log.phpAT_Trial_7: Activity Transition Results time=4/30/09 7:43:13 PM MT uuid=894F49D8-8F34-40F2-B629-ACC8C1206D23 actTran=WalkToStand sma=0.2764 tilt=4 time=4/30/09 7:43:51 PM MT uuid=9657A91E-7224-488D-82E7-61CEAD1519A7 actTran=StandToSit sma=0.0517 tilt=70 time=4/30/09 7:44:02 PM MT uuid=0EEBE414-A0FE-49B6-B722-BCE670330F78 actTran=SitToStand sma=0.0193 tilt=1 time=4/30/09 7:44:17 PM MT uuid=6CABCBC5-3CF6-48F9-B5DA-ED37F377C1AF actTran=StandToWalk sma=0.4877 tilt=6
Fri, 01 May 2009 01:46:15 +0000 /mylog/log.phpAT_Trial_8: Activity Transition Results time=4/30/09 7:45:19 PM MT uuid=06D41D00-8010-4479-868E-2A010A1FAB8B actTran=StandToSit sma=0.1351 tilt=48 time=4/30/09 7:45:28 PM MT uuid=0350B732-5390-4448-95B3-24D8D6EB5983 actTran=SitToStand sma=0.2197 tilt=16 time=4/30/09 7:45:53 PM MT uuid=E5844C32-2FD1-4CA6-B042-B047539548DA actTran=StandToWalk sma=0.3884 tilt=6 time=4/30/09 7:46:08 PM MT uuid=558D8B87-1279-4FA1-BF4C-58715230C8D6 actTran=WalkToStand sma=0.0185 tilt=3
Fri, 01 May 2009 01:53:18 +0000 /mylog/log.php
AT_Trial_9: Activity Transition Results time=4/30/09 7:52:24 PM MT uuid=BA312361-D2BC-4E59-B214-BE09C0D77CEE actTran=SitToStand sma=0.0601 tilt=5 time=4/30/09 7:52:38 PM MT uuid=1854944B-3C56-4D81-BFB8-A24BA7387D03 actTran=StandToWalk sma=0.3746 tilt=14 time=4/30/09 7:52:56 PM MT uuid=A42EAFC4-3848-4F0F-8CEF-3C13F8C43797 actTran=WalkToStand sma=0.0587 tilt=3 time=4/30/09 7:53:12 PM MT uuid=1DB50C2C-1DB2-4E83-B454-09F39B7F5569 actTran=StandToSit sma=0.1869 tilt=58
Fri, 01 May 2009 01:59:40 +0000 /mylog/log.phpAT_Trial_10: Activity Transition Results time=4/30/09 7:58:55 PM MT uuid=EA284FF2-B433-41C9-84D4-C5A1868B3D1F actTran=WalkToStand sma=0.2947 tilt=12 time=4/30/09 7:59:23 PM MT uuid=E0BAA346-81C5-4CFE-90E8-D54F16485285 actTran=StandToSit sma=0.0402 tilt=63 time=4/30/09 7:59:34 PM MT uuid=3CF25AD6-646B-4C4D-AE6E-1EC8A6027346 actTran=SitToStand sma=0.2538 tilt=17
Fri, 01 May 2009 02:03:41 +0000 /mylog/log.phpAT_Trial_11: Activity Transition Results time=4/30/09 8:02:58 PM MT uuid=007B0883-DACF-4862-A8A9-2AFBA1A70275 actTran=WalkToStand sma=0.0334 tilt=10 time=4/30/09 8:03:14 PM MT uuid=E8731D96-FDFE-492A-B62B-BEBBE74A7946 actTran=StandToSit sma=0.2662 tilt=67 time=4/30/09 8:03:23 PM MT uuid=9D788726-158F-4BAF-BCDB-E3B79411F128 actTran=SitToStand sma=0.2680 tilt=17 time=4/30/09 8:03:34 PM MT uuid=1FB183D3-4B57-4E4C-A188-FA27FF255F7D actTran=StandToWalk sma=0.3885 tilt=15
Fri, 01 May 2009 02:06:19 +0000 /mylog/log.phpAT_Trial_12: Activity Transition Results time=4/30/09 8:05:14 PM MT uuid=1F600A07-2E23-481E-BF31-3681BE3A703A actTran=StandToSit sma=0.0494 tilt=69 time=4/30/09 8:05:23 PM MT uuid=B008CD39-C4D1-415D-905B-2B3ABA137BB5 actTran=SitToStand sma=0.2873 tilt=17 time=4/30/09 8:05:47 PM MT uuid=764583C6-5075-4C64-A486-26630887B12C actTran=StandToWalk sma=0.3345 tilt=9 time=4/30/09 8:06:13 PM MT uuid=6797F93D-513D-4A6C-ACFC-9F19C2CF6682 actTran=WalkToStand sma=0.1264 tilt=4
Fri, 01 May 2009 02:11:41 +0000 /mylog/log.phpAT_Trial_13: Activity Transition Results time=4/30/09 8:10:59 PM MT uuid=83A7CADC-3A5C-4825-904D-A126A2095FA8 actTran=SitToStand sma=0.1585 tilt=11 time=4/30/09 8:11:10 PM MT uuid=1BA47199-2A64-45D1-875F-9213267832CF actTran=StandToWalk sma=0.3777 tilt=14 time=4/30/09 8:11:23 PM MT uuid=637ECFAF-AAC8-4B0E-9CCC-C752088075C1 actTran=WalkToStand sma=0.2203 tilt=3 time=4/30/09 8:11:33 PM MT uuid=DC6C3E5D-0557-4139-9B61-2895F68FC8E5 actTran=StandToSit sma=0.2867 tilt=38
Fri, 01 May 2009 02:13:45 +0000 /mylog/log.phpAT_Trial_14: Activity Transition Results time=4/30/09 8:13:03 PM MT uuid=4EB4E292-8BA4-4484-99E9-52DC8B41BC29 actTran=StandToWalk sma=0.3818 tilt=8 time=4/30/09 8:13:17 PM MT uuid=451D8621-9647-49BD-8BB0-DA49CB7475C2 actTran=WalkToStand sma=0.0321 tilt=3 time=4/30/09 8:13:30 PM MT uuid=3D280101-1766-4AD0-9FD9-AFC29639CB46 actTran=StandToSit sma=0.2467 tilt=56 time=4/30/09 8:13:38 PM MT uuid=282176CA-32B4-4FEA-958E-F52B74419BFD actTran=SitToStand sma=0.2740 tilt=19
Fri, 01 May 2009 02:15:39 +0000 /mylog/log.phpAT_Trial_15: Activity Transition Results time=4/30/09 8:14:58 PM MT uuid=F43AAF9C-F5DC-4046-9506-20F99AE3D29A actTran=WalkToStand sma=0.0316 tilt=1 time=4/30/09 8:15:07 PM MT uuid=8F140704-8697-4203-92D1-50E776FD5070 actTran=StandToSit sma=0.2351 tilt=61 time=4/30/09 8:15:18 PM MT uuid=2D35EC64-3C98-480A-8575-8032C9D712E7 actTran=SitToStand sma=0.0265 tilt=4 time=4/30/09 8:15:31 PM MT uuid=06703EC2-51FF-4AB0-9E4C-7F8BDC4D344D actTran=StandToWalk sma=0.4237 tilt=1
Fri, 01 May 2009 02:17:35 +0000 /mylog/log.phpAT_Trial_16: Activity Transition Results time=4/30/09 8:16:41 PM MT uuid=443CD8DB-55E9-4A9D-9B9B-D9810FCC9CD1 actTran=StandToSit sma=0.1327 tilt=70 time=4/30/09 8:16:50 PM MT uuid=AF5A920A-09C4-416F-AC70-1C3D1A01820E actTran=SitToStand sma=0.1376 tilt=5 time=4/30/09 8:17:07 PM MT uuid=2783D077-C303-4FC1-8C2C-67F6C84044A2 actTran=StandToWalk sma=0.4361 tilt=10 time=4/30/09 8:17:28 PM MT uuid=3623C1F5-C9E5-4EFB-910E-8A7EDB0D8B41 actTran=WalkToStand sma=0.0599 tilt=4
Fri, 01 May 2009 02:19:48 +0000 /mylog/log.phpAT_Trial_17: Activity Transition Results time=4/30/09 8:19:09 PM MT uuid=AE551B56-68E4-45A6-A3F5-658896498B41 actTran=SitToStand sma=0.2271 tilt=16 time=4/30/09 8:19:18 PM MT uuid=A5DA9968-CF8B-4C15-8386-71302BCB11DF actTran=StandToWalk sma=0.4194 tilt=5 time=4/30/09 8:19:31 PM MT uuid=D0F619A9-8C62-48DF-9F29-EA140918425F actTran=WalkToStand sma=0.1097 tilt=8 time=4/30/09 8:19:42 PM MT uuid=5B0BB22B-3B11-4EB8-9D9A-CF0E18B095A8 actTran=StandToSit sma=0.0760 tilt=65
Fri, 01 May 2009 02:22:42 +0000 /mylog/log.phpAT_Trial_18: Activity Transition Results time=4/30/09 8:21:55 PM MT uuid=ECE6E56B-BFF9-406A-9CB4-A45F6FB8B216 actTran=StandToWalk sma=0.3946 tilt=15 time=4/30/09 8:22:09 PM MT uuid=EC1F08D8-3BB8-4054-9CFB-F669297C7562 actTran=WalkToStand sma=0.0930 tilt=6 time=4/30/09 8:22:20 PM MT uuid=D7C77D69-C999-4C77-ACF9-EC5D52B0C3BF actTran=StandToSit sma=0.0426 tilt=62
time=4/30/09 8:22:34 PM MT uuid=7B839B1E-FB83-4B88-AA8F-A3DDF4C2B624 actTran=SitToStand sma=0.1216 tilt=4
Fri, 01 May 2009 02:24:16 +0000 /mylog/log.phpAT_Trial_19: Activity Transition Results time=4/30/09 8:23:37 PM MT uuid=B8C82A4E-2B46-46AE-BFD6-8373C839DD9B actTran=WalkToStand sma=0.1740 tilt=5 time=4/30/09 8:23:46 PM MT uuid=81D005AC-8D2C-4687-BE2C-3FFB0636CE56 actTran=StandToSit sma=0.2879 tilt=33 time=4/30/09 8:23:56 PM MT uuid=03C09109-B424-4737-BC57-3211FE0A57C5 actTran=WalkToStand sma=0.1171 tilt=5 time=4/30/09 8:24:11 PM MT uuid=251B43D5-3CB2-4EA1-BE14-9ED4A9824852 actTran=StandToWalk sma=0.4181 tilt=13
Fri, 01 May 2009 02:26:26 +0000 /mylog/log.phpAT_Trial_20: Activity Transition Results time=4/30/09 8:25:40 PM MT uuid=8F5535FA-476B-4E03-AB15-4CCBB9F9063A actTran=StandToSit sma=0.0321 tilt=69 time=4/30/09 8:25:49 PM MT uuid=EAC8B3F0-2B6F-4488-90FC-FA4B1E3F3CB9 actTran=SitToStand sma=0.1801 tilt=14 time=4/30/09 8:26:08 PM MT uuid=82D43631-E597-4503-ABBD-464C4281421C actTran=StandToWalk sma=0.3692 tilt=3 time=4/30/09 8:26:20 PM MT uuid=BA8837DB-A833-49BB-8287-7F21D1F98B37 actTran=WalkToStand sma=0.1046 tilt=1
Fri, 01 May 2009 02:34:31 +0000 /mylog/log.phpAT_Trial_21: Activity Transition Results time=4/30/09 8:31:33 PM MT uuid=E1195A54-68BE-499B-A493-BD7D1227571F actTran=WalkToStand sma=0.0407 tilt=6 time=4/30/09 8:31:44 PM MT uuid=79AEA561-20D0-4AD4-91D5-D53D4D1D598C actTran=StandToSit sma=0.2975 tilt=38 time=4/30/09 8:31:55 PM MT uuid=3A4C0C35-B924-4DBB-8B73-AE8388E0A0CA actTran=SitToStand sma=0.1211 tilt=10 time=4/30/09 8:32:05 PM MT uuid=D84679CC-ACAA-4277-B68F-B64E74212E6D actTran=StandToSit sma=0.1715 tilt=70 time=4/30/09 8:32:13 PM MT uuid=8DE5DE3C-AE52-4C8E-9EB3-3FC218751233 actTran=WalkToStand sma=0.1037 tilt=5 time=4/30/09 8:32:21 PM MT uuid=04097F39-FFA3-4073-ADA5-EF1D407A17CC actTran=StandToSit sma=0.2976 tilt=58 time=4/30/09 8:32:30 PM MT uuid=441BFFBC-5A9C-40BD-8FAC-3E0D3908CFDE actTran=WalkToStand sma=0.0280 tilt=1 time=4/30/09 8:32:38 PM MT uuid=6B1FB31F-C97A-4531-8BD8-82A2E33E9535 actTran=StandToSit sma=0.1193 tilt=70 time=4/30/09 8:32:45 PM MT uuid=2ED979DF-A0CE-4947-AD94-61D4E08E3A61 actTran=SitToStand sma=0.0719 tilt=4 time=4/30/09 8:32:54 PM MT uuid=1F29DF8C-BCDD-4131-9F96-762E0EDBFC27 actTran=StandToSit sma=0.0265 tilt=71 time=4/30/09 8:33:03 PM MT uuid=022798B3-8DD5-4607-AA56-08FDD897013B actTran=SitToStand sma=0.2411 tilt=17 time=4/30/09 8:33:12 PM MT uuid=AC1BD212-7971-4CBF-AE7F-2FD32F6E0CF5 actTran=StandToSit sma=0.0215 tilt=70 time=4/30/09 8:33:20 PM MT uuid=D7413ACE-90C5-4471-B24E-64A45F90C5D2 actTran=SitToStand sma=0.2641 tilt=18 time=4/30/09 8:33:30 PM MT uuid=3AA2AE9C-C021-478F-A96F-81E5B6EA964D actTran=StandToSit sma=0.1738 tilt=69 time=4/30/09 8:33:40 PM MT uuid=B7FA416A-D363-48D5-90D3-5489716B1E8D actTran=SitToStand sma=0.2242 tilt=9 time=4/30/09 8:33:50 PM MT uuid=A653C633-48D8-4987-BEA8-26C4CC34B145 actTran=StandToSit sma=0.0539 tilt=71 time=4/30/09 8:33:56 PM MT uuid=0F08CCC9-6691-437F-A93B-84D0A6C3FA8A actTran=SitToStand sma=0.2859 tilt=22 time=4/30/09 8:34:04 PM MT uuid=6A15B70E-FFDA-49C8-9C95-5A35566D0214 actTran=StandToSit sma=0.2476 tilt=70 time=4/30/09 8:34:14 PM MT uuid=171CEEA9-B23E-4880-8BA7-EEEC41079B16 actTran=SitToStand sma=0.1526 tilt=8 time=4/30/09 8:34:23 PM MT uuid=612625EC-9BA2-4222-96AB-6B3BCF350C75 actTran=StandToSit sma=0.2692 tilt=67
Fri, 01 May 2009 02:51:35 +0000 /mylog/log.phpAT_Trial_22: Activity Transition Results time=4/30/09 8:46:14 PM MT uuid=69532AC9-DAE7-4143-8DAC-178873A8EF8E actTran=WalkToStand sma=0.0823 tilt=7 time=4/30/09 8:46:29 PM MT uuid=377C7DE2-12E2-4CB4-AF6E-6B473ACA5703 actTran=StandToWalk sma=0.3927 tilt=7 time=4/30/09 8:46:48 PM MT uuid=B38964E4-9248-4DF7-B2B0-7131222C83AC actTran=WalkToStand sma=0.0345 tilt=4 time=4/30/09 8:47:02 PM MT uuid=ABF8A612-D29F-4C1D-95D7-746D1DE4CAD9 actTran=StandToWalk sma=0.4523 tilt=13 time=4/30/09 8:47:19 PM MT uuid=5671053F-5497-4556-94D9-78123FEBE198 actTran=WalkToStand sma=0.1085 tilt=5 time=4/30/09 8:47:29 PM MT uuid=FC6AE0B7-7C04-438E-8AC8-9DA991EED9ED actTran=StandToWalk sma=0.5244 tilt=15 time=4/30/09 8:47:46 PM MT uuid=FF8A4541-5A23-4A9C-AD6F-6E52523B78F9 actTran=WalkToStand sma=0.0245 tilt=6 time=4/30/09 8:47:59 PM MT uuid=B0B57C13-9D43-46E5-B077-75576E1AA1EF actTran=StandToWalk sma=0.4177 tilt=17 time=4/30/09 8:48:16 PM MT uuid=C8ABF484-DE4B-4DD0-9935-7F82BA511E80 actTran=WalkToStand sma=0.1034 tilt=6 time=4/30/09 8:48:27 PM MT uuid=B6B0A0A6-ADE5-4211-BBC0-B6BECD597935 actTran=StandToWalk sma=0.4708 tilt=14 time=4/30/09 8:48:44 PM MT uuid=BF579C01-DC31-4596-BB70-A6CF613775C1 actTran=WalkToStand sma=0.1775 tilt=10 time=4/30/09 8:48:55 PM MT uuid=A212D896-5968-46B3-99C1-0074C7184562 actTran=StandToWalk sma=0.3003 tilt=14 time=4/30/09 8:49:12 PM MT uuid=5090592F-8041-4A5E-BBD2-8EB1404FE0A6 actTran=WalkToStand sma=0.1152 tilt=5 time=4/30/09 8:49:21 PM MT uuid=931AF310-14FD-45A2-809E-5A4EEEF9D201 actTran=StandToWalk sma=0.4985 tilt=14 time=4/30/09 8:50:04 PM MT uuid=2B4D35BF-098F-4892-85E6-EAABE71A87A3 actTran=WalkToStand sma=0.1513 tilt=11 time=4/30/09 8:50:13 PM MT uuid=53543CF8-5645-437B-B895-E32AB447685B actTran=StandToWalk sma=0.4027 tilt=10 time=4/30/09 8:50:25 PM MT uuid=43FE4A10-8B75-4856-8AC6-28A2E59BBCE9 actTran=StandToWalk sma=0.4828 tilt=14 time=4/30/09 8:50:48 PM MT uuid=49B18FB8-90E8-4EE2-A4F2-4528B6C5A7E4 actTran=WalkToStand sma=0.0947 tilt=7 time=4/30/09 8:50:57 PM MT uuid=0350EB25-8A6D-45B2-BC39-611604B32149 actTran=StandToWalk sma=0.3190 tilt=16 time=4/30/09 8:51:13 PM MT uuid=819B7AEB-0B20-4421-AEDA-E29900C27896 actTran=WalkToStand sma=0.0267 tilt=7 time=4/30/09 8:51:22 PM MT uuid=698B6DB8-833F-4DB4-853E-05DBE8FBC0BF actTran=StandToWalk sma=0.5088 tilt=14
Fri, 01 May 2009 03:00:14 +0000 /mylog/log.phpAT_Trial_23: Activity Transition Results time=4/30/09 8:57:11 PM MT uuid=7B7D4F17-012E-4DED-8FFA-5DEA50ABCCAF actTran=WalkToStand sma=0.1471 tilt=5 time=4/30/09 8:57:23 PM MT uuid=96A62207-F16A-478E-9C65-7E5150D52F14 actTran=StandToSit sma=0.2753 tilt=31 time=4/30/09 8:57:37 PM MT uuid=4777073C-72C3-477A-86DC-769E7562EB8A actTran=SitToStand sma=0.0865 tilt=8 time=4/30/09 8:57:46 PM MT uuid=95245153-556C-4568-8085-D4561F68A390 actTran=StandToSit sma=0.1935 tilt=65 time=4/30/09 8:57:56 PM MT uuid=2775EE93-76E6-4C71-8399-8A30BB0B3D36 actTran=SitToStand sma=0.2783 tilt=22 time=4/30/09 8:58:05 PM MT uuid=3133CB4C-4237-4E25-9047-E3679B88993D actTran=StandToSit sma=0.2078 tilt=61 time=4/30/09 8:58:15 PM MT uuid=5A602E04-3BC5-4AF5-BA60-70E2818C569C actTran=SitToStand sma=0.1223 tilt=11 time=4/30/09 8:58:25 PM MT uuid=C074A363-C8A3-4549-B50E-89B4B65E1FF6 actTran=StandToSit sma=0.0250 tilt=62 time=4/30/09 8:58:34 PM MT uuid=41C3A53A-16DB-477F-9918-C45C4A255A0F actTran=SitToStand sma=0.0577 tilt=7 time=4/30/09 8:58:44 PM MT uuid=9FF934ED-B125-4166-AAAF-D780AF206EFD actTran=StandToSit sma=0.0490 tilt=64 time=4/30/09 8:58:53 PM MT uuid=701DDD58-3D54-4004-B97E-0636518C8151 actTran=SitToStand sma=0.0591 tilt=4 time=4/30/09 8:59:01 PM MT uuid=550689F4-410C-4F7E-B659-A39B96A4798E actTran=StandToSit sma=0.2397 tilt=58 time=4/30/09 8:59:09 PM MT uuid=82057034-6F76-49A1-AE2B-A089DA2C299E actTran=SitToStand sma=0.0797 tilt=6 time=4/30/09 8:59:17 PM MT uuid=91E40361-6FEF-4866-A4AD-595D8A1E4550 actTran=StandToSit sma=0.2549 tilt=56 time=4/30/09 8:59:28 PM MT uuid=5EB29500-F5FE-4A35-A6AB-7472C11A0D05 actTran=SitToStand sma=0.0336 tilt=3 time=4/30/09 8:59:36 PM MT uuid=74B647B5-2244-4878-96FF-A07ACF8E92B3 actTran=StandToSit sma=0.1997 tilt=60 time=4/30/09 8:59:44 PM MT uuid=30EA2096-3344-45F6-97F4-9FCBF4D4A664 actTran=SitToStand sma=0.0651 tilt=2 time=4/30/09 8:59:51 PM MT uuid=6BFA3D03-3A01-4459-B69C-3D233920BCC2 actTran=StandToSit sma=0.1060 tilt=63 time=4/30/09 8:59:59 PM MT uuid=4EEBEF73-D7C1-49FE-B136-9176C012044B actTran=SitToStand sma=0.0734 tilt=6 time=4/30/09 9:00:06 PM MT uuid=8FAE6ABA-7475-407F-A560-C421C27004E8 actTran=StandToSit sma=0.2522 tilt=57
Fri, 01 May 2009 03:11:02 +0000 /mylog/log.phpAT_Trial_24: Activity Transition Results time=4/30/09 9:07:26 PM MT uuid=FF083032-0073-4A9C-92DC-A218A179477B actTran=StandToWalk sma=0.4469 tilt=3 time=4/30/09 9:07:38 PM MT uuid=50ABCD71-EA0B-4BF0-95C5-33AFB8D8EA2E actTran=WalkToStand sma=0.2605 tilt=11 time=4/30/09 9:07:49 PM MT uuid=02329BEE-94C5-4569-B39F-7E4938E1190C actTran=StandToWalk sma=0.5172 tilt=9 time=4/30/09 9:08:01 PM MT uuid=1F99A1B0-8499-4DD7-8C4C-107CABCBC915 actTran=WalkToStand sma=0.1151 tilt=12 time=4/30/09 9:08:11 PM MT uuid=AA9F0FA0-F848-4212-9A7D-44C26941A018 actTran=StandToWalk sma=0.3192 tilt=14 time=4/30/09 9:08:23 PM MT uuid=A6E345C9-EF94-486E-A02E-6C5471ABE664 actTran=WalkToStand sma=0.1276 tilt=8 time=4/30/09 9:08:32 PM MT uuid=743F872E-2875-4038-9897-414F87EA99A5 actTran=StandToWalk sma=0.4792 tilt=16 time=4/30/09 9:08:44 PM MT uuid=ABFD05EB-DA88-4CF2-9E78-0D6100F9DC1B actTran=WalkToStand sma=0.2146 tilt=8 time=4/30/09 9:08:53 PM MT uuid=4EECC7D6-FF6A-48F3-A421-D3D6C33EAD5D actTran=StandToWalk sma=0.5465 tilt=11 time=4/30/09 9:09:06 PM MT uuid=3934930C-25DD-4D26-B457-F90E220E1E76 actTran=WalkToStand sma=0.2080 tilt=6 time=4/30/09 9:09:15 PM MT uuid=F99409DF-0ED5-4849-AA0B-6FB0EB1BB6D1 actTran=StandToWalk sma=0.5082 tilt=13 time=4/30/09 9:09:27 PM MT uuid=5B514D49-5BE6-4144-ADEF-7728E82562C3 actTran=WalkToStand sma=0.0480 tilt=6 time=4/30/09 9:09:36 PM MT uuid=1A6003BA-0EB1-43BC-9249-CA8F720679D2 actTran=StandToWalk sma=0.6102 tilt=17 time=4/30/09 9:09:47 PM MT uuid=B354F826-A7E3-4416-A9AF-2C3C73BEE93E actTran=WalkToStand sma=0.2552 tilt=6 time=4/30/09 9:09:56 PM MT uuid=BEAED18B-FDF2-4538-B3B3-CD984BB18117 actTran=StandToWalk sma=0.5152 tilt=16 time=4/30/09 9:10:07 PM MT uuid=B1F64429-A99D-4FEA-BD4E-7E9A891B6EDC actTran=WalkToStand sma=0.2256 tilt=9 time=4/30/09 9:10:18 PM MT uuid=4495D919-5FA8-4492-B9FE-0EA7BED712EF actTran=StandToWalk sma=0.5107 tilt=5 time=4/30/09 9:10:30 PM MT uuid=BCCE1DE3-8DCC-4CB6-8819-1D96D4CB42E1 actTran=WalkToStand sma=0.2276 tilt=11 time=4/30/09 9:10:41 PM MT uuid=2F5A74BA-0F84-42DF-99B7-174A83ADC31D actTran=StandToWalk sma=0.5429 tilt=13 time=4/30/09 9:10:56 PM MT uuid=95F77777-4A71-4962-957F-7AE4CCB0EBB4 actTran=WalkToStand sma=0.1091 tilt=9
Fri, 01 May 2009 03:20:40 +0000 /mylog/log.phpAT_Trial_25: Activity Transition Results time=4/30/09 9:17:49 PM MT uuid=C5AAF016-D541-4578-A462-38B6BE7F3106 actTran=StandToSit sma=0.2160 tilt=57 time=4/30/09 9:17:59 PM MT uuid=72611E3B-755F-4B24-B82D-E7AE75F5924E actTran=SitToStand sma=0.1563 tilt=16 time=4/30/09 9:18:06 PM MT uuid=A06707F3-9B7D-4BFF-91F8-2308FB5AA851 actTran=StandToSit sma=0.1420 tilt=65 time=4/30/09 9:18:16 PM MT uuid=36C3EE5C-9403-49E3-AD4E-23EDB1E0CB67 actTran=SitToStand sma=0.0559 tilt=4 time=4/30/09 9:18:29 PM MT uuid=165FE368-D9DA-4891-AA43-845168791281 actTran=StandToSit sma=0.0351 tilt=64 time=4/30/09 9:18:37 PM MT uuid=9F9C18F0-0B42-4A11-A386-A5FAEA1CF534 actTran=SitToStand sma=0.1763 tilt=16 time=4/30/09 9:18:44 PM MT uuid=08B0213B-64E1-4A23-8281-ECF9ED3083BC actTran=StandToSit sma=0.2200 tilt=60 time=4/30/09 9:18:55 PM MT uuid=F6558B68-828B-4F75-9603-D0D821991553 actTran=SitToStand sma=0.1082 tilt=8 time=4/30/09 9:19:03 PM MT uuid=3C3D5335-BA31-4C82-9E98-D63E50D59C6F actTran=StandToSit sma=0.2875 tilt=51
time=4/30/09 9:19:12 PM MT uuid=9F2D36CE-45A5-41C4-88A4-DBA96DBD4344 actTran=SitToStand sma=0.2782 tilt=25 time=4/30/09 9:19:20 PM MT uuid=8631C0EE-6101-4522-8360-775E7FF9AC26 actTran=StandToSit sma=0.0340 tilt=62 time=4/30/09 9:19:28 PM MT uuid=1CF51571-E4F0-448A-8848-285257E50E1A actTran=SitToStand sma=0.0547 tilt=7 time=4/30/09 9:19:35 PM MT uuid=10D14321-2945-4F92-8000-4968736B1748 actTran=StandToSit sma=0.2802 tilt=55 time=4/30/09 9:19:44 PM MT uuid=0BFCF28A-85F1-4DDB-A5AE-0676E2492F08 actTran=SitToStand sma=0.0522 tilt=6 time=4/30/09 9:19:52 PM MT uuid=F1D62AFE-0BA8-4DFD-8E73-1D05B15C73A8 actTran=StandToSit sma=0.2395 tilt=58 time=4/30/09 9:19:59 PM MT uuid=D4DDD591-F509-4C30-A4DB-9FCD7D6B9E53 actTran=SitToStand sma=0.2388 tilt=16 time=4/30/09 9:20:07 PM MT uuid=6ECABEAE-9F08-4254-AD7C-2F0F2A5834D4 actTran=StandToSit sma=0.2690 tilt=58 time=4/30/09 9:20:17 PM MT uuid=A5E1F4BF-4655-4C0F-98C8-28293074E53A actTran=SitToStand sma=0.0703 tilt=7 time=4/30/09 9:20:25 PM MT uuid=529FC74B-8FE0-470F-84E0-BCCBB1EDBA56 actTran=StandToSit sma=0.0298 tilt=64 time=4/30/09 9:20:34 PM MT uuid=9C34233F-0938-4BCB-8103-885772CD0DBA actTran=SitToStand sma=0.1137 tilt=10
Fri, 01 May 2009 03:26:55 +0000 /mylog/log.phpAT_Trial_26: Activity Transition Results time=4/30/09 9:23:12 PM MT uuid=AABC4314-9D55-4D61-980F-818111F69D4D actTran=WalkToStand sma=0.0375 tilt=3 time=4/30/09 9:23:22 PM MT uuid=3616C585-E0B0-4A76-B596-F47761BCC19C actTran=StandToWalk sma=0.3401 tilt=13 time=4/30/09 9:23:37 PM MT uuid=45ACB5D6-BC6D-4F96-8EFA-969E5F3C440A actTran=WalkToStand sma=0.2203 tilt=7 time=4/30/09 9:23:46 PM MT uuid=13CA092E-22AE-4F63-8E0F-C89B12CF8C91 actTran=StandToWalk sma=0.4865 tilt=14 time=4/30/09 9:24:00 PM MT uuid=C4C1AFDA-86DB-4134-A4AD-22EEE6A05D1F actTran=WalkToStand sma=0.2131 tilt=10 time=4/30/09 9:24:10 PM MT uuid=050C7928-CD40-4AA2-8DF3-0B0ADA4D2AB2 actTran=StandToWalk sma=0.6358 tilt=16 time=4/30/09 9:24:23 PM MT uuid=3EDEB077-1906-4735-97D7-1231A9B5F116 actTran=WalkToStand sma=0.1714 tilt=13 time=4/30/09 9:24:33 PM MT uuid=BF844B6C-915D-4091-8F27-876CD1F9598F actTran=StandToWalk sma=0.5858 tilt=17 time=4/30/09 9:24:46 PM MT uuid=AC6D6AE9-03B7-4DB6-8C65-201771C85D50 actTran=WalkToStand sma=0.0921 tilt=12 time=4/30/09 9:24:55 PM MT uuid=CD51901A-F265-44A1-904D-7C4503E3006E actTran=StandToWalk sma=0.7003 tilt=18 time=4/30/09 9:25:08 PM MT uuid=E01A946D-9A34-4AAA-B9EA-E9DEBEAA82BA actTran=WalkToStand sma=0.1441 tilt=8 time=4/30/09 9:25:16 PM MT uuid=2621A0B4-DB97-41A3-BA1C-EB7EF6AE8233 actTran=StandToWalk sma=0.5974 tilt=18 time=4/30/09 9:25:29 PM MT uuid=954BD3CE-4644-4DBC-8820-B5931CE6F6A7 actTran=WalkToStand sma=0.0477 tilt=11 time=4/30/09 9:25:37 PM MT uuid=4848D2DE-3D90-4122-A871-AC5DD3CEB697 actTran=StandToWalk sma=0.4921 tilt=16 time=4/30/09 9:25:50 PM MT uuid=2D3BD4CE-4F8A-49FF-8DB0-EA30AA4E4164 actTran=WalkToStand sma=0.0519 tilt=12 time=4/30/09 9:25:59 PM MT uuid=1DBCE2DE-070F-42A5-971A-6D4E2FFF3DFC actTran=StandToWalk sma=0.3596 tilt=19 time=4/30/09 9:26:13 PM MT uuid=BBFE2521-9AF0-438A-8C88-887F3AB85A33 actTran=WalkToStand sma=0.0417 tilt=12 time=4/30/09 9:26:21 PM MT uuid=DEAD9427-0D33-4239-B346-A0B32D5E45C1 actTran=StandToWalk sma=0.5129 tilt=14 time=4/30/09 9:26:38 PM MT uuid=147DCEFB-B3CF-46C6-8371-6E37DE7A090C actTran=WalkToStand sma=0.0169 tilt=3 time=4/30/09 9:26:46 PM MT uuid=F8501386-7254-4C7E-9E3B-55F6E3C95746 actTran=StandToWalk sma=0.5713 tilt=1
Fri, 01 May 2009 03:32:21 +0000 /mylog/log.phpAT_Trial_27: Activity Transition Results time=4/30/09 9:29:57 PM MT uuid=2A8D2F39-727C-45E6-8FB9-3D560A506997 actTran=SitToStand sma=0.0937 tilt=16 time=4/30/09 9:30:06 PM MT uuid=E98E2B10-7F73-4640-A410-9577250186EC actTran=StandToSit sma=0.2749 tilt=35 time=4/30/09 9:30:14 PM MT uuid=CCBF0DCB-AA45-48CC-BAB7-F3FDB72FE153 actTran=SitToStand sma=0.1765 tilt=18 time=4/30/09 9:30:22 PM MT uuid=DC57E805-C096-4275-ACFF-220983557163 actTran=StandToSit sma=0.0283 tilt=66 time=4/30/09 9:30:29 PM MT uuid=C7421F24-0620-4672-9093-58C6502E0120 actTran=SitToStand sma=0.2870 tilt=25 time=4/30/09 9:30:37 PM MT uuid=618D907E-591C-4A5B-90AA-586EC167F1D0 actTran=StandToSit sma=0.0622 tilt=69 time=4/30/09 9:30:45 PM MT uuid=C29F618B-D180-4D24-90EB-CDE40C6951CA actTran=SitToStand sma=0.0483 tilt=13 time=4/30/09 9:30:52 PM MT uuid=9ECF3134-959F-46FF-A264-274DDA145B51 actTran=StandToSit sma=0.0253 tilt=63 time=4/30/09 9:31:00 PM MT uuid=D59B8407-BD3F-49FB-BB77-73C849CB3C26 actTran=SitToStand sma=0.0726 tilt=4 time=4/30/09 9:31:07 PM MT uuid=498FBC87-B8DF-44E1-BCF5-A0FF23FF0C1E actTran=StandToSit sma=0.2860 tilt=56 time=4/30/09 9:31:14 PM MT uuid=00E50F14-C69D-4C99-A482-29FE5156E29C actTran=SitToStand sma=0.0524 tilt=3 time=4/30/09 9:31:22 PM MT uuid=3FC24097-E5B3-4AD9-A7A2-BAB965DBC335 actTran=StandToSit sma=0.1258 tilt=65 time=4/30/09 9:31:29 PM MT uuid=584F4CEA-602C-4F9C-BBF1-767C7AE23A2A actTran=SitToStand sma=0.0584 tilt=3 time=4/30/09 9:31:36 PM MT uuid=C2DA661E-7043-4B5D-9768-688176EF33E0 actTran=StandToSit sma=0.0361 tilt=66 time=4/30/09 9:31:43 PM MT uuid=AA3D89CA-6660-4BA7-B38A-C1BC1F071F4E actTran=SitToStand sma=0.2883 tilt=23 time=4/30/09 9:31:49 PM MT uuid=FC8E6D33-621C-4034-BD8C-8576929456E1 actTran=StandToSit sma=0.2250 tilt=66 time=4/30/09 9:31:57 PM MT uuid=FE367E16-CB14-4008-92E3-7071F6E630DD actTran=SitToStand sma=0.0837 tilt=6 time=4/30/09 9:32:03 PM MT uuid=CF9C5A94-A1BE-4676-A2AE-895D2E4113FA actTran=StandToSit sma=0.2827 tilt=57
time=4/30/09 9:32:09 PM MT uuid=0E26CFDA-CEC5-4AB1-8EA2-5DB553D592E1 actTran=SitToStand sma=0.1294 tilt=10 time=4/30/09 9:32:15 PM MT uuid=597ECD9D-BEB0-4737-A713-BE65B81464BC actTran=StandToSit sma=0.0857 tilt=67
Fri, 01 May 2009 03:37:46 +0000 /mylog/log.phpAT_Trial_28: Activity Transition Results time=4/30/09 9:34:20 PM MT uuid=611F2F8D-3CD7-4D16-A029-B8D27B3FA075 actTran=StandToWalk sma=0.5013 tilt=4 time=4/30/09 9:34:32 PM MT uuid=6C12D9B5-388F-48D7-B895-B8C4CED28BEA actTran=WalkToStand sma=0.0834 tilt=12 time=4/30/09 9:34:40 PM MT uuid=CEB5340A-B2BD-4A93-BE35-7BF4096F5874 actTran=StandToWalk sma=0.3176 tilt=21 time=4/30/09 9:34:52 PM MT uuid=690ADB62-95B3-461B-9D5E-9597A8068F70 actTran=WalkToStand sma=0.0755 tilt=15 time=4/30/09 9:35:00 PM MT uuid=DDF2A88C-6366-4F20-AF4A-6E1C7356447F actTran=StandToWalk sma=0.3530 tilt=12 time=4/30/09 9:35:12 PM MT uuid=A0C9B73B-3276-40E8-BB56-FF5672B3BA25 actTran=WalkToStand sma=0.0896 tilt=10 time=4/30/09 9:35:25 PM MT uuid=496130A2-E413-4FFB-8E88-62BB44BF014F actTran=StandToWalk sma=0.5589 tilt=13 time=4/30/09 9:35:37 PM MT uuid=DB4D0D46-594D-431D-9CCB-91345761292F actTran=WalkToStand sma=0.0508 tilt=8 time=4/30/09 9:35:45 PM MT uuid=54C162CD-2230-4EA8-B140-F852A993356D actTran=StandToWalk sma=0.4828 tilt=6 time=4/30/09 9:35:57 PM MT uuid=F1A07158-B7CA-4683-8469-8B841B4FE351 actTran=WalkToStand sma=0.0858 tilt=7 time=4/30/09 9:36:07 PM MT uuid=B20B3910-B26D-412D-8F53-D6D9E35B2EB5 actTran=StandToWalk sma=0.5189 tilt=12 time=4/30/09 9:36:20 PM MT uuid=C0FFAA50-4D19-422C-A0E8-75117806A484 actTran=WalkToStand sma=0.0222 tilt=7 time=4/30/09 9:36:27 PM MT uuid=5F95973A-A3AB-4B22-AEC7-BEB1928D44E7 actTran=StandToWalk sma=0.5682 tilt=13 time=4/30/09 9:36:38 PM MT uuid=AC01D932-0815-4FEC-8160-74CA9A82AB58 actTran=WalkToStand sma=0.1241 tilt=9 time=4/30/09 9:36:46 PM MT uuid=193B688A-24A5-4D86-B735-F896A23CE172 actTran=StandToWalk sma=0.5954 tilt=13 time=4/30/09 9:36:58 PM MT uuid=FBDB6B23-A9B8-441E-A724-C38CBE235E49 actTran=WalkToStand sma=0.0925 tilt=8 time=4/30/09 9:37:08 PM MT uuid=9CAA012D-6958-4AAF-B07E-67E1C1EFD64A actTran=StandToWalk sma=0.5425 tilt=14 time=4/30/09 9:37:21 PM MT uuid=22288D97-DBCB-44B7-81F8-8E1015584568 actTran=WalkToStand sma=0.0642 tilt=10 time=4/30/09 9:37:29 PM MT uuid=CE097838-88AC-4FC1-9258-DB3F422289F6 actTran=StandToWalk sma=0.4503 tilt=14 time=4/30/09 9:37:40 PM MT uuid=7A090EEF-C07D-444E-9F08-F6F35E62CA36 actTran=WalkToStand sma=0.2396 tilt=10
Appendix B: User Experiment
Appendix C: Objective-C