What’s in the Apps for Context?
Extending a Sensor for Studying App
Usage to Informing Context-awareness
Matthias Böhmer
Christian Lander
Antonio Krüger
UbiMI Workshop at UbiComp 2013
September 8-9, 2013
Zürich, Switzerland
1983
Evolution
4
AppSensor: Tracing App Usage
who wherewhen how longwhich app
A
Data from Deployment
- 4,125 users from various countries
- 22,626 apps from 20 categories
- 4.92 million data points
- 127 days
6
During Course of a Day
- App usage correlates with circadian circle
25,000
50,000
75,000
100,000
125,000
150,000
175,000
200,000
12am
2am
4am
6am
8am
10am
12pm
2pm
4pm
6pm
8pm
10pm
Applicationlaunches
7
Probability of Launches
!"#$
!#$
"#$
%#$
&#$
'#$
(#$
)#$
*#$
+#$
!,#$
!!#$
!"-$
!-$
"-$
%-$
&-$
'-$
(-$
)-$
*-$
+-$
!,-$
!!-$
./
5#
?=0@;:= )A+. )A). )A*. )A(. )A%. )A&. )A,. )A+. *A!. *A,. )A). )A%. )A,. (A+. (A*. (A&. (A(. (A(. (A&. (A(. )A,. )A&. )A'. )A&.
C0$D8; &A'. 'A". 'A&. 'A*. 'A*. 'A(. 'A'. 'A". 'A&. 'A!. &A). &A%. &A%. &A". &A". &A%. &A&. &A,. &A&. &A". &A!. &A!. &A!. &A&.
C0$$67D8#3D07 &&A+. &!A!. %*A%. %'A&. %!A(. %!A*. %"A). %&A). %+A&. &&A*. &+A,. '"A(. '&A*. ''A". ''A". '(A!. ''A). '(A*. ')A!. '(A!. '&A*. '%A%. '"A,. &+A,.
E73:=3#D7$:73 ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,.
FD7#78: ,A". ,A%. ,A%. ,A". ,A!. ,A!. ,A!. ,A". ,A%. ,A%. ,A&. ,A'. ,A%. ,A%. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A".
G#$:; %A". %A,. %A,. "A). "A'. "A%. "A". !A). !A+. !A+. "A,. "A!. "A". "A". "A". "A%. "A%. "A". "A". "A&. "A). %A,. %A,. %A".
H:#439 ,A%. ,A&. ,A&. ,A&. ,A(. ,A(. ,A). ,A(. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A%. ,A". ,A%. ,A". ,A%.
5DI=#=D:;/J/K:$0 ,A&. ,A'. ,A(. ,A). ,A+. ,A*. ,A). ,A(. ,A'. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A%. ,A%. ,A%. ,A%.
5D1:;3L4: ,A*. ,A+. !A,. !A&. !A%. !A'. !A&. !A&. !A!. ,A+. ,A(. ,A(. ,A'. ,A'. ,A'. ,A'. ,A(. ,A'. ,A%. ,A&. ,A&. ,A'. ,A'. ,A'.
M643D$:ND# "A!. "A!. "A&. "A&. "A). "A&. !A*. !A*. !A+. !A). !A*. "A,. "A,. "A,. "A". "A!. "A". "A&. "A%. "A%. "A". "A!. !A+. "A,.
O:@; "A(. "A'. "A(. "A'. "A'. "A). %A%. %A). &A!. %A(. %A,. "A(. "A'. "A). "A'. "A&. "A". "A!. "A%. "A". "A%. "A". "A%. "A%.
P=0N683DQD3L %A(. 'A,. 'A,. 'A*. (A%. (A'. (A,. 'A&. &A*. 'A!. &A+. &A%. &A". &A,. &A,. %A). %A&. %A&. %A,. %A!. %A!. %A,. "A+. %A".
R:1:=:78: ,A). ,A). ,A). ,A). ,A). ,A). ,A(. ,A(. ,A). ,A'. ,A'. ,A'. ,A&. ,A&. ,A&. ,A&. ,A%. ,A&. ,A&. ,A&. ,A'. ,A'. ,A'. ,A(.
S:33D7T; !A%. !A(. !A'. !A%. !A(. !A". !A". !A!. !A%. !A&. !A&. !A&. !A". !A%. !A". !A". !A%. !A!. !A!. !A". !A". !A%. !A%. !A&.
S90--D7T %A+. &A'. %A). %A&. %A". %A". %A!. %A,. %A!. %A%. %A". %A". %A". "A*. "A+. "A+. "A). "A). "A). "A). "A*. %A!. %A(. %A'.
S08D#4 'A). 'A,. &A+. &A%. &A". &A,. &A&. 'A!. 'A%. 'A&. 'A". 'A,. &A). &A*. &A+. &A'. &A'. &A(. &A(. &A+. 'A". 'A&. 'A*. 'A).
S-0=3; ,A'. ,A%. ,A%. ,A". ,A%. ,A%. ,A". ,A%. ,A%. ,A%. ,A%. ,A&. ,A&. ,A(. ,A). ,A*. ,A+. ,A*. ,A(. ,A(. ,A). ,A*. ,A). ,A).
29:$:; ,A". ,A!. ,A". ,A%. ,A&. ,A&. ,A&. ,A". ,A". ,A". ,A!. ,A!. ,A!. ,A". ,A!. ,A!. ,A!. ,A". ,A!. ,A!. ,A". ,A!. ,A!. ,A!.
2004; !,A+. !"A". !&A(. !)A(. ",A%. "!A'. "!A&. !*A(. !&A). !,A&. *A&. (A*. (A!. 'A+. 'A+. 'A+. (A,. (A!. 'A*. (A,. (A%. (A*. )A&. +A!.
2=#Q:4 !A&. !A(. "A!. "A". "A&. "A(. "A". !A+. "A,. "A!. "A,. !A*. !A+. !A+. !A+. !A*. "A,. !A+. "A". "A". !A+. !A). !A(. !A&.
<7U70@7 &A). 'A%. 'A!. 'A,. 'A%. &A&. 'A,. 'A+. &A(. &A&. &A!. %A*. %A'. %A*. %A). %A). &A,. %A(. %A). %A). %A). %A+. &A!. &A'.
203#4/5#6789:;/
-:=/H06=
!,%B(,&/
))B,'%/
'%B(%%/
&,B%%"/
%%B&%*/
%,B+&+/
%*B!(!/
'(B*+'/
*%B&**/
!,+B'',/
!")B,(+/
!&"B(&"/
!'*B*)(/
!(*B,*"/
!(+B,!*/
!)"B+%'/
!)%B+(%/
!)+B*,!/
!*&B,!"/
!)(B,',/
!(%B,*,/
!'%B*%'/
!&!B%,%/
!"%B(%+/
Figure 5. Hourly relative app usage by category in terms of launches. Each cell value refers to the percentage of app launches d
within each hour for each category. Colors are normalized by row, with green indicating each category’s maximum percentage of
and white indicating each category’s minimum. For example, games reach their peak in the evening (green) and trough in the morn
- Type of used apps changes during the course of the day
- During day: primarily communication apps
- During night: scope of apps more heterogenous
8
Support for App Launching
9
- Adaptive launcher menu
- Support visual search for apps
- Presenting 5 icons for next app
- Implements different models
- Sequentially used apps
- Prediction model
- Locally most used apps
- Most recently used apps
- Most frequently used apps
- Application AppKicker
- Extension as a widget
- Deployed on app store
- 53,000 installations
Will be presented at
UbiComp 2013
Session „Systems“
Wed 8:30-10:00
App Recommender System
10
- Implementation of a recommender system
- Context-aware (location, time and previous app)
- Based on traces of application usage (AppSensor)
- Application appazaar
- Deployed on app store
- 7,200 installations
- Testbed for different recommender engines
Findings
- Interruptions do not happen as often as expected
- 8% of app use is interrupted by app switching
- 3% of app use is interrupted by phone calls
- If interruptions happen, overhead may be
exceedingly high
phone call app switch
Daily interruptions (% usage) 3.2 (2.2) 8.3 (5.3) per user
Regular app runtime (s) 24.8 (31.8) 18.9 (24.4)
per app
Overhead duration (s) 43.2 (65.9) 34.4 (40.7)
per app
mean (SD)
11
Re-Design of Phone UIs
plementation
ved form single-purpose devices to multi-purpose devices
call applications did not evolve accordingly
s can interrupt concurrent application use
of call applications to allow for higher degree of multitasking
one Call Applications
screen modal dialogs providing only options to accept or decline call
ditional third option besides accept/decline to allow user to return to previous application
user to keep attention in previous application while call is pending
tions: Puts incoming call into background for user to pickup call at will
ompletion: Wait until task is done and display call when user leaves previous app
CALLER NAME
CALLER NAME
b) Postponing calls c) Multiplexing d) Background notification
Interruptions do not happen as often as expected
- Extending the design space for phone call UIs
- New interaction design for phone call handling
- Support for better multitasking with call notifications
- Application CallHeads deployed on app store (30,000 users)
12
What‘s in the apps
for context?
tourist using city guide shopper shopping list
Context
App
Usage
Matthias Böhmer
matthias.boehmer@dfki.de
http://matthiasboehmer.de

What's in the apps for context?

  • 1.
    What’s in theApps for Context? Extending a Sensor for Studying App Usage to Informing Context-awareness Matthias Böhmer Christian Lander Antonio Krüger UbiMI Workshop at UbiComp 2013 September 8-9, 2013 Zürich, Switzerland
  • 2.
  • 3.
  • 4.
  • 5.
    AppSensor: Tracing AppUsage who wherewhen how longwhich app A
  • 6.
    Data from Deployment -4,125 users from various countries - 22,626 apps from 20 categories - 4.92 million data points - 127 days 6
  • 7.
    During Course ofa Day - App usage correlates with circadian circle 25,000 50,000 75,000 100,000 125,000 150,000 175,000 200,000 12am 2am 4am 6am 8am 10am 12pm 2pm 4pm 6pm 8pm 10pm Applicationlaunches 7
  • 8.
    Probability of Launches !"#$ !#$ "#$ %#$ &#$ '#$ (#$ )#$ *#$ +#$ !,#$ !!#$ !"-$ !-$ "-$ %-$ &-$ '-$ (-$ )-$ *-$ +-$ !,-$ !!-$ ./ 5# ?=0@;:=)A+. )A). )A*. )A(. )A%. )A&. )A,. )A+. *A!. *A,. )A). )A%. )A,. (A+. (A*. (A&. (A(. (A(. (A&. (A(. )A,. )A&. )A'. )A&. C0$D8; &A'. 'A". 'A&. 'A*. 'A*. 'A(. 'A'. 'A". 'A&. 'A!. &A). &A%. &A%. &A". &A". &A%. &A&. &A,. &A&. &A". &A!. &A!. &A!. &A&. C0$$67D8#3D07 &&A+. &!A!. %*A%. %'A&. %!A(. %!A*. %"A). %&A). %+A&. &&A*. &+A,. '"A(. '&A*. ''A". ''A". '(A!. ''A). '(A*. ')A!. '(A!. '&A*. '%A%. '"A,. &+A,. E73:=3#D7$:73 ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. ,A,. FD7#78: ,A". ,A%. ,A%. ,A". ,A!. ,A!. ,A!. ,A". ,A%. ,A%. ,A&. ,A'. ,A%. ,A%. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A". G#$:; %A". %A,. %A,. "A). "A'. "A%. "A". !A). !A+. !A+. "A,. "A!. "A". "A". "A". "A%. "A%. "A". "A". "A&. "A). %A,. %A,. %A". H:#439 ,A%. ,A&. ,A&. ,A&. ,A(. ,A(. ,A). ,A(. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A%. ,A". ,A%. ,A". ,A%. 5DI=#=D:;/J/K:$0 ,A&. ,A'. ,A(. ,A). ,A+. ,A*. ,A). ,A(. ,A'. ,A&. ,A%. ,A%. ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A". ,A%. ,A%. ,A%. ,A%. 5D1:;3L4: ,A*. ,A+. !A,. !A&. !A%. !A'. !A&. !A&. !A!. ,A+. ,A(. ,A(. ,A'. ,A'. ,A'. ,A'. ,A(. ,A'. ,A%. ,A&. ,A&. ,A'. ,A'. ,A'. M643D$:ND# "A!. "A!. "A&. "A&. "A). "A&. !A*. !A*. !A+. !A). !A*. "A,. "A,. "A,. "A". "A!. "A". "A&. "A%. "A%. "A". "A!. !A+. "A,. O:@; "A(. "A'. "A(. "A'. "A'. "A). %A%. %A). &A!. %A(. %A,. "A(. "A'. "A). "A'. "A&. "A". "A!. "A%. "A". "A%. "A". "A%. "A%. P=0N683DQD3L %A(. 'A,. 'A,. 'A*. (A%. (A'. (A,. 'A&. &A*. 'A!. &A+. &A%. &A". &A,. &A,. %A). %A&. %A&. %A,. %A!. %A!. %A,. "A+. %A". R:1:=:78: ,A). ,A). ,A). ,A). ,A). ,A). ,A(. ,A(. ,A). ,A'. ,A'. ,A'. ,A&. ,A&. ,A&. ,A&. ,A%. ,A&. ,A&. ,A&. ,A'. ,A'. ,A'. ,A(. S:33D7T; !A%. !A(. !A'. !A%. !A(. !A". !A". !A!. !A%. !A&. !A&. !A&. !A". !A%. !A". !A". !A%. !A!. !A!. !A". !A". !A%. !A%. !A&. S90--D7T %A+. &A'. %A). %A&. %A". %A". %A!. %A,. %A!. %A%. %A". %A". %A". "A*. "A+. "A+. "A). "A). "A). "A). "A*. %A!. %A(. %A'. S08D#4 'A). 'A,. &A+. &A%. &A". &A,. &A&. 'A!. 'A%. 'A&. 'A". 'A,. &A). &A*. &A+. &A'. &A'. &A(. &A(. &A+. 'A". 'A&. 'A*. 'A). S-0=3; ,A'. ,A%. ,A%. ,A". ,A%. ,A%. ,A". ,A%. ,A%. ,A%. ,A%. ,A&. ,A&. ,A(. ,A). ,A*. ,A+. ,A*. ,A(. ,A(. ,A). ,A*. ,A). ,A). 29:$:; ,A". ,A!. ,A". ,A%. ,A&. ,A&. ,A&. ,A". ,A". ,A". ,A!. ,A!. ,A!. ,A". ,A!. ,A!. ,A!. ,A". ,A!. ,A!. ,A". ,A!. ,A!. ,A!. 2004; !,A+. !"A". !&A(. !)A(. ",A%. "!A'. "!A&. !*A(. !&A). !,A&. *A&. (A*. (A!. 'A+. 'A+. 'A+. (A,. (A!. 'A*. (A,. (A%. (A*. )A&. +A!. 2=#Q:4 !A&. !A(. "A!. "A". "A&. "A(. "A". !A+. "A,. "A!. "A,. !A*. !A+. !A+. !A+. !A*. "A,. !A+. "A". "A". !A+. !A). !A(. !A&. <7U70@7 &A). 'A%. 'A!. 'A,. 'A%. &A&. 'A,. 'A+. &A(. &A&. &A!. %A*. %A'. %A*. %A). %A). &A,. %A(. %A). %A). %A). %A+. &A!. &A'. 203#4/5#6789:;/ -:=/H06= !,%B(,&/ ))B,'%/ '%B(%%/ &,B%%"/ %%B&%*/ %,B+&+/ %*B!(!/ '(B*+'/ *%B&**/ !,+B'',/ !")B,(+/ !&"B(&"/ !'*B*)(/ !(*B,*"/ !(+B,!*/ !)"B+%'/ !)%B+(%/ !)+B*,!/ !*&B,!"/ !)(B,',/ !(%B,*,/ !'%B*%'/ !&!B%,%/ !"%B(%+/ Figure 5. Hourly relative app usage by category in terms of launches. Each cell value refers to the percentage of app launches d within each hour for each category. Colors are normalized by row, with green indicating each category’s maximum percentage of and white indicating each category’s minimum. For example, games reach their peak in the evening (green) and trough in the morn - Type of used apps changes during the course of the day - During day: primarily communication apps - During night: scope of apps more heterogenous 8
  • 9.
    Support for AppLaunching 9 - Adaptive launcher menu - Support visual search for apps - Presenting 5 icons for next app - Implements different models - Sequentially used apps - Prediction model - Locally most used apps - Most recently used apps - Most frequently used apps - Application AppKicker - Extension as a widget - Deployed on app store - 53,000 installations Will be presented at UbiComp 2013 Session „Systems“ Wed 8:30-10:00
  • 10.
    App Recommender System 10 -Implementation of a recommender system - Context-aware (location, time and previous app) - Based on traces of application usage (AppSensor) - Application appazaar - Deployed on app store - 7,200 installations - Testbed for different recommender engines
  • 11.
    Findings - Interruptions donot happen as often as expected - 8% of app use is interrupted by app switching - 3% of app use is interrupted by phone calls - If interruptions happen, overhead may be exceedingly high phone call app switch Daily interruptions (% usage) 3.2 (2.2) 8.3 (5.3) per user Regular app runtime (s) 24.8 (31.8) 18.9 (24.4) per app Overhead duration (s) 43.2 (65.9) 34.4 (40.7) per app mean (SD) 11
  • 12.
    Re-Design of PhoneUIs plementation ved form single-purpose devices to multi-purpose devices call applications did not evolve accordingly s can interrupt concurrent application use of call applications to allow for higher degree of multitasking one Call Applications screen modal dialogs providing only options to accept or decline call ditional third option besides accept/decline to allow user to return to previous application user to keep attention in previous application while call is pending tions: Puts incoming call into background for user to pickup call at will ompletion: Wait until task is done and display call when user leaves previous app CALLER NAME CALLER NAME b) Postponing calls c) Multiplexing d) Background notification Interruptions do not happen as often as expected - Extending the design space for phone call UIs - New interaction design for phone call handling - Support for better multitasking with call notifications - Application CallHeads deployed on app store (30,000 users) 12
  • 13.
    What‘s in theapps for context?
  • 14.
    tourist using cityguide shopper shopping list
  • 15.