SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Context-Aware Applications
Workflows, Challenges, and Opportunities

Simon Guest
Distinguished Engineer
Neudesic, LLC
simon.guest@neudesic.com
Image Attribution: http://www.flickr.com/photos/48600098314@N01/2612632787

1
Workflow for Determining Context

2
1. Determine Sensors
Sensors Critical to Determine Context
•
•
•
•
•

Hard Sensors – GPS, Accelerometer, Gyro, Temperature, Humidity, etc.
Soft Sensors – Calendar, Facebook Friends, Profile, Likes/Dislikes, History, etc.
Mobile Devices – Arrays of sensors, with new ones being introduced all the
time (e.g. fingerprint democratized with Android)
Sensor Co-processors – Sensors moving to co-processors means lower power
consumption (which means that sensors can be on all of the time)
Bluetooth LE – Greatly extends the the range and types of sensors (e.g. indoor
proximity and awareness)

3
Hard Sensors
GPS
Accel.
Temp
Noise
Step

Soft Sensors
Profile
Schedule
History
Likes/Dis
.
Social
etc.

4
2. Sensor Aggregation
We Don’t
Hard Sensors
GPS

•

Accel.

•

Temp
Noise

•

Step

Need *All* of the Raw Sensor Data to Determine Context

Augmented Sensors – Algorithm that augments or abstracts existing sensors
(e.g. “Shaking” using the accelerometer)
Extended to Motion APIs – Google introducing standing, walking, cycling,
driving “sensors” in Android 4.3
Vendor Opportunities – Multiple vendors building SDKs for sensor aggregation
– inc. Semusi (Male/Female “sensor” from accelerometer and gyro)

Soft Sensors
Profile
Schedule
History
Likes/Dis
.
Social
etc.

5
Hard Sensors
GPS
Accel.
Temp
Noise
Step

Soft Sensors
Profile
Schedule
History
Likes/Dis
.
Social
etc.

6
Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Soft Sensors
Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

7
3. Send to Non-Relational Data Store
Goal is
Hard Sensors

to capture aggregated sensor data quickly and efficiently

Collections
• Schema-less– No need to care about schema or structure
Accel. Fire and Forget – No need to send confirmation back to client, or handle
Geo
•
Temp missed messages or retries
Motion
• Scale and Partitions – Data store should be a single entry point that
Noise
Environ.
automatically handles scale and partitioning
GPS

Step

etc.

Soft Sensors
Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

8
Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Soft Sensors
Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

9
Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Non-Relational
Store

Soft Sensors
Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

10
4. Determine Perceived Context
Analyze
Hard Sensors

data store to determine one or more perceived contexts

Collections
Simple Matches– Single sensor data can often reveal simple matches (e.g.
Accel. movement or in/out geo-fenced location)
Geo
Non-Relational
•
Temp Combined Matches – Multiple parallel or serialized sensors to reveal more
Motion
Store
complex matches (e.g. movement with external GPS, combined with loss of
Noise
signalEnviron.walking activity might indicate parked in underground parking
and
Step structure).
etc.
• Learned Matches – Multiple sensor data used to reveal matches through
Soft Sensors
patterns (e.g. driving detected at same time every day might indicate
Profile commuting, which is turn can infer place of work)
• Timing – Context often derived from “time blocks” of sensor data – e.g. what is
Events
Schedule
happening now vs. what has happened over the last 30 minutes
GPS

•

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

11
Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Non-Relational
Store

Soft Sensors
Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

12
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Perceived
Context
At Work

Non-Relational
Store

Commuting

In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

Watching
TV

Asleep
Make
determination

etc.

13
5. Triggers on Context Change
Triggers
Hard Sensors

used to monitor change inQuery
context

Perceived
Context

Collections
Change in Context– Move from one perceived context state to another (e.g.
At Work
Accel. from in Geo
office to commuting)
Non-Relational
•
Temp External Data Source– Triggers often rely on external data source (which can
Motion
Store
Commuting
be interpreted as another soft sensor). Could include environmental data, move
Noise
Environ.
listings, weather forecasts, etc.
Step Machine Learning– Often benefits from some kind of ML to help determine
etc.
•
In Traffic
change in context across multiple sensors, especially in recommendations
Soft Sensors
space
GPS

•

At Home

Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

Watching
TV

Asleep
Make
determination

etc.

14
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

Environ.

Step

etc.

Perceived
Context
At Work

Non-Relational
Store

Commuting

In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

New Like

Likes/Dis
.

Friend

Social

etc.

etc.

Watching
TV

Asleep
Make
determination

etc.

15
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

etc.

Context Change
(Triggers)

Environ.

Step

Perceived
Context
At Work

Non-Relational
Store

Commuting

House too
cold
In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Timing
Loop

Flipping
channels
Better
movie

New Like

Likes/Dis
.

Started
commute

etc.

Watching
TV

Asleep
Make
determination

etc.

External
Data

16
6. Invoke Functions
Certain
Hard Sensors Triggers
GPS

•

Accel.

Query
Used to Invoke Functions

Perceived
Context

Collections

Take Action– Functions take action based At Work
on triggers.
may or Geo not involve some user input.
may

Temp

Motion

Noise

etc.

Commuting

House too
cold
In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Timing
Loop

Flipping
channels
Better
movie

New Like

Likes/Dis
.

that

Started
commute

Environ.

Step

Non-Relational
Store

Context Change
Invoke an action
(Triggers)

etc.

Watching
TV

Asleep
Make
determination

etc.

External
Data

17
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Temp

Motion

Noise

etc.

Context Change
(Triggers)

Environ.

Step

Perceived
Context
At Work

Non-Relational
Store

Commuting

House too
cold
In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Timing
Loop

Flipping
channels
Better
movie

New Like

Likes/Dis
.

Started
commute

etc.

Watching
TV

Asleep
Make
determination

etc.

External
Data

18
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Perceived
Context

Temp

Motion

Noise

Non-Relational
Store

Started
commute

Commuting

House too
cold

Environ.

Step

At Work

Context Change
(Triggers)

etc.

In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Flipping
channels
Better
movie

Turn on heating
Adaptive application

Make
recommendation

Proactive application

New Like

Likes/Dis
.

Watching
TV

Timing
Loop

Functions

etc.

Asleep
Make
determination

etc.

External
Data

19
7. User Interaction and Feedback Loop
Interact
Hard Sensors

Perceived
with user to notify them ofQuery action, and/or provide feedback
any
Context

GPS

Collections

Step

etc.

Context Change
function
(Triggers)

• User Notification– Notify the user of the result from a
At Work
Accel. User Interaction/Confirmation – Get confirmation from the user that a function
Geo
•
Functions
Started
shouldMotion happen, Non-Relationalrecommendation.
really
or provide a
commute
Temp
Store
Commuting
• Feedback Loop – Provide option for user to submit feedback based on the Turn on heating
House too
Noise
Environ.
cold
function (like, dislike, rating, etc.)
Adaptive application
In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Flipping
channels
Better
movie

Make
recommendation

Proactive application

New Like

Likes/Dis
.

Watching
TV

Timing
Loop

etc.

Asleep
Make
determination

etc.

External
Data

20
Query

Hard Sensors
GPS

Collections

Accel.

Geo

Perceived
Context

Temp

Motion

Noise

Non-Relational
Store

Started
commute

Commuting

House too
cold

Environ.

Step

At Work

Context Change
(Triggers)

etc.

In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Flipping
channels
Better
movie

Turn on heating
Adaptive application

Make
recommendation

Proactive application

New Like

Likes/Dis
.

Watching
TV

Timing
Loop

Functions

etc.

Asleep
Make
determination

etc.

External
Data

21
User
Interaction
Decision Making

Feedback

Query

Hard Sensors
GPS

Collections

Accel.

Geo

Perceived
Context

Temp

Motion

Noise

Non-Relational
Store

Started
commute

Commuting

House too
cold

Environ.

Step

At Work

Context Change
(Triggers)

etc.

In Traffic

Soft Sensors

At Home

Profile
Schedule

Events

History

Friend

Social

etc.

Flipping
channels
Better
movie

Turn on heating
Adaptive application

Make
recommendation

Proactive application

New Like

Likes/Dis
.

Watching
TV

Timing
Loop

Functions

etc.

Asleep
Make
determination

etc.

External
Data

22
Types of Context-Aware Applications

23
Types of Context-Aware Applications
Adaptive
•
•
•

Act on behalf of the user
Try to adapt to the user’s context
Often based using single-trigger

•
•
•

Turn on heating when leave for home
Phone to silent in meetings
Offer music library when get on bus

Proactive
•
•
•
•

Involving the user
Often tied to a recommendation engine
Often requires user-interaction
Often uses multiple triggers

•

Recommend movie to watch when
watching TV
Display offer based on history when
walking through grocery store

•

•

Need to be careful if building adaptive
UI, especially if hiding/showing
features

•

UI needs to be unobtrusive, and easy to
dismiss

24
Challenges When Developing Context-Aware Applications

25
Challenges
Context Mismatch
•
•
•

Sometimes the perceived context is just wrong…
“You really think I want to do this now?!?!”
Multiple contexts help accuracy, and feedback mechanism is critical

Being Creepy

•
•
•

Sharing everything that you know about the context/trigger can appear creepy
“Your Mom’s birthday is tomorrow, and you’ve missed the last three years in a
row. Do you want to pull into the 7-Eleven ahead? They have flowers on sale…”
Reveal only enough to let the user deduce the same context, and feedback again
is critical

Being Annoying
•
•
•

Interruptions should follow normal human behaviors
“I wanted to let you know that I’ve turned the heating on” – “Not now, I’m
driving!”
Knowing the context of the recipient during the UI loop is also important

26
Opportunities

27
Examples of Opportunities
Retail
•
•

Opportunistic product offers while
shopping
Shopping recommendations based on
current context

Real Estate
•

Contextual awareness of prospective
buyers searching for properties

Gaming
•

Using context to enhance the gaming
experience of patrons

Field Employees
•

Context-aware applications that helps
field-based employees become more
productive

Home Automation
•

Context-aware applications that interact
with other systems in the home

Travel Applications
•

More intelligent travel applications
through context
28
References

29
References
•

•

•

Shilt, Adams, Want (1994): Proceedings of the Workshop on Mobile Computing
Systems and Applications
• http://www.interactiondesign.org/references/conferences/proceedings_of_the_workshop_on_mo
bile_computing_systems_and_applications.html
Swati A. Sonawane: Context-Aware Computing
• http://www.slideshare.net/swatibaiger/context-aware-computing14084995
Albrecht Schmidt (2013): Context-Awareness, Context-Aware User Interfaces, and
Implicit Interaction
• http://www.interaction-design.org/encyclopedia/contextaware_computing.html

30
Thank You
Simon Guest
Distinguished Engineer
Neudesic, LLC
simon.guest@neudesic.com
@simonguest
31

Weitere ähnliche Inhalte

Andere mochten auch

Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
McKinsey & Company
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
encircle.io
 
Adaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homesAdaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homes
ambitlick
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware Adaptation
Vivian Motti
 

Andere mochten auch (20)

Design of Capability Delivery Adjustments @ASDENCA2016
Design of Capability Delivery Adjustments @ASDENCA2016Design of Capability Delivery Adjustments @ASDENCA2016
Design of Capability Delivery Adjustments @ASDENCA2016
 
Designing in Context
Designing in ContextDesigning in Context
Designing in Context
 
Semusi slideshare
Semusi slideshareSemusi slideshare
Semusi slideshare
 
Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
Conquering mobile advertising holy grail: Context-Awareness matters - Dilip M...
 
OmniSuggest: A Ubiquitous Cloud-Based Context-Aware Recommendation System for...
OmniSuggest: A Ubiquitous Cloud-Based Context-Aware Recommendation System for...OmniSuggest: A Ubiquitous Cloud-Based Context-Aware Recommendation System for...
OmniSuggest: A Ubiquitous Cloud-Based Context-Aware Recommendation System for...
 
Context-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick ViewContext-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick View
 
Context Aware Computing for Personalised Healthcare
Context Aware Computing for Personalised HealthcareContext Aware Computing for Personalised Healthcare
Context Aware Computing for Personalised Healthcare
 
Context awareness and Resilience Engineering
Context awareness and Resilience EngineeringContext awareness and Resilience Engineering
Context awareness and Resilience Engineering
 
Thesis presentation final
Thesis presentation finalThesis presentation final
Thesis presentation final
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
 
[SOCRS2013]Differential Context Modeling in Collaborative Filtering
[SOCRS2013]Differential Context Modeling in Collaborative Filtering[SOCRS2013]Differential Context Modeling in Collaborative Filtering
[SOCRS2013]Differential Context Modeling in Collaborative Filtering
 
Context as a Service
Context as a ServiceContext as a Service
Context as a Service
 
Adaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homesAdaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homes
 
Thesis Presentation
Thesis PresentationThesis Presentation
Thesis Presentation
 
A short & brief introduction on context and context aware computing
A short & brief introduction on context and context aware computingA short & brief introduction on context and context aware computing
A short & brief introduction on context and context aware computing
 
Context-Aware Recommender Systems for Mobile Devices
Context-Aware Recommender Systems for Mobile DevicesContext-Aware Recommender Systems for Mobile Devices
Context-Aware Recommender Systems for Mobile Devices
 
Context-aware Mobile Computing - a Literature Review
Context-aware Mobile Computing - a Literature ReviewContext-aware Mobile Computing - a Literature Review
Context-aware Mobile Computing - a Literature Review
 
UX for emerging technologies & context-aware computing
UX for emerging technologies & context-aware computingUX for emerging technologies & context-aware computing
UX for emerging technologies & context-aware computing
 
A Context-aware Patient Safety System for the Operating Room
A Context-aware Patient Safety System for the Operating RoomA Context-aware Patient Safety System for the Operating Room
A Context-aware Patient Safety System for the Operating Room
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware Adaptation
 

Ähnlich wie Creating Context-Aware Applications

Privacy Policies Change Management for Smartphones
Privacy Policies Change Management for SmartphonesPrivacy Policies Change Management for Smartphones
Privacy Policies Change Management for Smartphones
Debmalya Biswas
 
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
Advanced-Concepts-Team
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
Surbhi Jain
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and Devices
Yhal Htet Aung
 

Ähnlich wie Creating Context-Aware Applications (20)

Making sense
Making senseMaking sense
Making sense
 
Generic sensors for the Web
Generic sensors for the WebGeneric sensors for the Web
Generic sensors for the Web
 
Privacy Policies Change Management for Smartphones
Privacy Policies Change Management for SmartphonesPrivacy Policies Change Management for Smartphones
Privacy Policies Change Management for Smartphones
 
Sensors 9
Sensors   9Sensors   9
Sensors 9
 
Software, Licences etc
Software, Licences etcSoftware, Licences etc
Software, Licences etc
 
Wearable Computing - Part II: Sensors
Wearable Computing - Part II: SensorsWearable Computing - Part II: Sensors
Wearable Computing - Part II: Sensors
 
lecture5-wearables-and-motion-sening.pptx
lecture5-wearables-and-motion-sening.pptxlecture5-wearables-and-motion-sening.pptx
lecture5-wearables-and-motion-sening.pptx
 
RAC data day
RAC data dayRAC data day
RAC data day
 
Wearable Computing - Part III: The Activity Recognition Chain (ARC)
Wearable Computing - Part III: The Activity Recognition Chain (ARC)Wearable Computing - Part III: The Activity Recognition Chain (ARC)
Wearable Computing - Part III: The Activity Recognition Chain (ARC)
 
Bring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsBring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science Workflows
 
Unit 1 Introductory slides BethPS
Unit 1 Introductory slides BethPSUnit 1 Introductory slides BethPS
Unit 1 Introductory slides BethPS
 
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
Science Coffee - Algorithms to Monitor Telemetry for Subtle Indications of De...
 
Solar resource assessment
Solar resource assessmentSolar resource assessment
Solar resource assessment
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
 
Citizen Observatories: A Standards Based Architecture - Dr Ingo Simonis, OGCE...
Citizen Observatories:A Standards Based Architecture - Dr Ingo Simonis, OGCE...Citizen Observatories:A Standards Based Architecture - Dr Ingo Simonis, OGCE...
Citizen Observatories: A Standards Based Architecture - Dr Ingo Simonis, OGCE...
 
HIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and DevicesHIT3328 - Chapter01 - Platforms and Devices
HIT3328 - Chapter01 - Platforms and Devices
 
Behavioral Analytics with Smartphone Data. Talk at Strata + Hadoop World 2014...
Behavioral Analytics with Smartphone Data. Talk at Strata + Hadoop World 2014...Behavioral Analytics with Smartphone Data. Talk at Strata + Hadoop World 2014...
Behavioral Analytics with Smartphone Data. Talk at Strata + Hadoop World 2014...
 
Ubiq week1
Ubiq week1Ubiq week1
Ubiq week1
 
Quettra Design Problem Solution - Deepti Chafekar
Quettra Design Problem Solution - Deepti ChafekarQuettra Design Problem Solution - Deepti Chafekar
Quettra Design Problem Solution - Deepti Chafekar
 
2013 Lecture3: AR Tracking
2013 Lecture3: AR Tracking 2013 Lecture3: AR Tracking
2013 Lecture3: AR Tracking
 

Mehr von Simon Guest

Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?
Simon Guest
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOS
Simon Guest
 

Mehr von Simon Guest (20)

10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Building a Great Engineering Culture
Building a Great Engineering CultureBuilding a Great Engineering Culture
Building a Great Engineering Culture
 
Interviewing Techniques
Interviewing TechniquesInterviewing Techniques
Interviewing Techniques
 
Presentation Anti-Patterns
Presentation Anti-PatternsPresentation Anti-Patterns
Presentation Anti-Patterns
 
10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScript
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JS
 
Indoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeaconsIndoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeacons
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPs
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOS
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.
 
Developing iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureDeveloping iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows Azure
 
iPhone and iPad Security
iPhone and iPad SecurityiPhone and iPad Security
iPhone and iPad Security
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
 
Future of Mobility
Future of MobilityFuture of Mobility
Future of Mobility
 
Patterns for Cloud Computing
Patterns for Cloud ComputingPatterns for Cloud Computing
Patterns for Cloud Computing
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Creating Context-Aware Applications

  • 1. Context-Aware Applications Workflows, Challenges, and Opportunities Simon Guest Distinguished Engineer Neudesic, LLC simon.guest@neudesic.com Image Attribution: http://www.flickr.com/photos/48600098314@N01/2612632787 1
  • 3. 1. Determine Sensors Sensors Critical to Determine Context • • • • • Hard Sensors – GPS, Accelerometer, Gyro, Temperature, Humidity, etc. Soft Sensors – Calendar, Facebook Friends, Profile, Likes/Dislikes, History, etc. Mobile Devices – Arrays of sensors, with new ones being introduced all the time (e.g. fingerprint democratized with Android) Sensor Co-processors – Sensors moving to co-processors means lower power consumption (which means that sensors can be on all of the time) Bluetooth LE – Greatly extends the the range and types of sensors (e.g. indoor proximity and awareness) 3
  • 5. 2. Sensor Aggregation We Don’t Hard Sensors GPS • Accel. • Temp Noise • Step Need *All* of the Raw Sensor Data to Determine Context Augmented Sensors – Algorithm that augments or abstracts existing sensors (e.g. “Shaking” using the accelerometer) Extended to Motion APIs – Google introducing standing, walking, cycling, driving “sensors” in Android 4.3 Vendor Opportunities – Multiple vendors building SDKs for sensor aggregation – inc. Semusi (Male/Female “sensor” from accelerometer and gyro) Soft Sensors Profile Schedule History Likes/Dis . Social etc. 5
  • 8. 3. Send to Non-Relational Data Store Goal is Hard Sensors to capture aggregated sensor data quickly and efficiently Collections • Schema-less– No need to care about schema or structure Accel. Fire and Forget – No need to send confirmation back to client, or handle Geo • Temp missed messages or retries Motion • Scale and Partitions – Data store should be a single entry point that Noise Environ. automatically handles scale and partitioning GPS Step etc. Soft Sensors Profile Schedule Events History New Like Likes/Dis . Friend Social etc. etc. 8
  • 11. 4. Determine Perceived Context Analyze Hard Sensors data store to determine one or more perceived contexts Collections Simple Matches– Single sensor data can often reveal simple matches (e.g. Accel. movement or in/out geo-fenced location) Geo Non-Relational • Temp Combined Matches – Multiple parallel or serialized sensors to reveal more Motion Store complex matches (e.g. movement with external GPS, combined with loss of Noise signalEnviron.walking activity might indicate parked in underground parking and Step structure). etc. • Learned Matches – Multiple sensor data used to reveal matches through Soft Sensors patterns (e.g. driving detected at same time every day might indicate Profile commuting, which is turn can infer place of work) • Timing – Context often derived from “time blocks” of sensor data – e.g. what is Events Schedule happening now vs. what has happened over the last 30 minutes GPS • History New Like Likes/Dis . Friend Social etc. etc. 11
  • 13. Query Hard Sensors GPS Collections Accel. Geo Temp Motion Noise Environ. Step etc. Perceived Context At Work Non-Relational Store Commuting In Traffic Soft Sensors At Home Profile Schedule Events History New Like Likes/Dis . Friend Social etc. etc. Watching TV Asleep Make determination etc. 13
  • 14. 5. Triggers on Context Change Triggers Hard Sensors used to monitor change inQuery context Perceived Context Collections Change in Context– Move from one perceived context state to another (e.g. At Work Accel. from in Geo office to commuting) Non-Relational • Temp External Data Source– Triggers often rely on external data source (which can Motion Store Commuting be interpreted as another soft sensor). Could include environmental data, move Noise Environ. listings, weather forecasts, etc. Step Machine Learning– Often benefits from some kind of ML to help determine etc. • In Traffic change in context across multiple sensors, especially in recommendations Soft Sensors space GPS • At Home Profile Schedule Events History New Like Likes/Dis . Friend Social etc. etc. Watching TV Asleep Make determination etc. 14
  • 15. Query Hard Sensors GPS Collections Accel. Geo Temp Motion Noise Environ. Step etc. Perceived Context At Work Non-Relational Store Commuting In Traffic Soft Sensors At Home Profile Schedule Events History New Like Likes/Dis . Friend Social etc. etc. Watching TV Asleep Make determination etc. 15
  • 16. Query Hard Sensors GPS Collections Accel. Geo Temp Motion Noise etc. Context Change (Triggers) Environ. Step Perceived Context At Work Non-Relational Store Commuting House too cold In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Timing Loop Flipping channels Better movie New Like Likes/Dis . Started commute etc. Watching TV Asleep Make determination etc. External Data 16
  • 17. 6. Invoke Functions Certain Hard Sensors Triggers GPS • Accel. Query Used to Invoke Functions Perceived Context Collections Take Action– Functions take action based At Work on triggers. may or Geo not involve some user input. may Temp Motion Noise etc. Commuting House too cold In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Timing Loop Flipping channels Better movie New Like Likes/Dis . that Started commute Environ. Step Non-Relational Store Context Change Invoke an action (Triggers) etc. Watching TV Asleep Make determination etc. External Data 17
  • 18. Query Hard Sensors GPS Collections Accel. Geo Temp Motion Noise etc. Context Change (Triggers) Environ. Step Perceived Context At Work Non-Relational Store Commuting House too cold In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Timing Loop Flipping channels Better movie New Like Likes/Dis . Started commute etc. Watching TV Asleep Make determination etc. External Data 18
  • 19. Query Hard Sensors GPS Collections Accel. Geo Perceived Context Temp Motion Noise Non-Relational Store Started commute Commuting House too cold Environ. Step At Work Context Change (Triggers) etc. In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Flipping channels Better movie Turn on heating Adaptive application Make recommendation Proactive application New Like Likes/Dis . Watching TV Timing Loop Functions etc. Asleep Make determination etc. External Data 19
  • 20. 7. User Interaction and Feedback Loop Interact Hard Sensors Perceived with user to notify them ofQuery action, and/or provide feedback any Context GPS Collections Step etc. Context Change function (Triggers) • User Notification– Notify the user of the result from a At Work Accel. User Interaction/Confirmation – Get confirmation from the user that a function Geo • Functions Started shouldMotion happen, Non-Relationalrecommendation. really or provide a commute Temp Store Commuting • Feedback Loop – Provide option for user to submit feedback based on the Turn on heating House too Noise Environ. cold function (like, dislike, rating, etc.) Adaptive application In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Flipping channels Better movie Make recommendation Proactive application New Like Likes/Dis . Watching TV Timing Loop etc. Asleep Make determination etc. External Data 20
  • 21. Query Hard Sensors GPS Collections Accel. Geo Perceived Context Temp Motion Noise Non-Relational Store Started commute Commuting House too cold Environ. Step At Work Context Change (Triggers) etc. In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Flipping channels Better movie Turn on heating Adaptive application Make recommendation Proactive application New Like Likes/Dis . Watching TV Timing Loop Functions etc. Asleep Make determination etc. External Data 21
  • 22. User Interaction Decision Making Feedback Query Hard Sensors GPS Collections Accel. Geo Perceived Context Temp Motion Noise Non-Relational Store Started commute Commuting House too cold Environ. Step At Work Context Change (Triggers) etc. In Traffic Soft Sensors At Home Profile Schedule Events History Friend Social etc. Flipping channels Better movie Turn on heating Adaptive application Make recommendation Proactive application New Like Likes/Dis . Watching TV Timing Loop Functions etc. Asleep Make determination etc. External Data 22
  • 23. Types of Context-Aware Applications 23
  • 24. Types of Context-Aware Applications Adaptive • • • Act on behalf of the user Try to adapt to the user’s context Often based using single-trigger • • • Turn on heating when leave for home Phone to silent in meetings Offer music library when get on bus Proactive • • • • Involving the user Often tied to a recommendation engine Often requires user-interaction Often uses multiple triggers • Recommend movie to watch when watching TV Display offer based on history when walking through grocery store • • Need to be careful if building adaptive UI, especially if hiding/showing features • UI needs to be unobtrusive, and easy to dismiss 24
  • 25. Challenges When Developing Context-Aware Applications 25
  • 26. Challenges Context Mismatch • • • Sometimes the perceived context is just wrong… “You really think I want to do this now?!?!” Multiple contexts help accuracy, and feedback mechanism is critical Being Creepy • • • Sharing everything that you know about the context/trigger can appear creepy “Your Mom’s birthday is tomorrow, and you’ve missed the last three years in a row. Do you want to pull into the 7-Eleven ahead? They have flowers on sale…” Reveal only enough to let the user deduce the same context, and feedback again is critical Being Annoying • • • Interruptions should follow normal human behaviors “I wanted to let you know that I’ve turned the heating on” – “Not now, I’m driving!” Knowing the context of the recipient during the UI loop is also important 26
  • 28. Examples of Opportunities Retail • • Opportunistic product offers while shopping Shopping recommendations based on current context Real Estate • Contextual awareness of prospective buyers searching for properties Gaming • Using context to enhance the gaming experience of patrons Field Employees • Context-aware applications that helps field-based employees become more productive Home Automation • Context-aware applications that interact with other systems in the home Travel Applications • More intelligent travel applications through context 28
  • 30. References • • • Shilt, Adams, Want (1994): Proceedings of the Workshop on Mobile Computing Systems and Applications • http://www.interactiondesign.org/references/conferences/proceedings_of_the_workshop_on_mo bile_computing_systems_and_applications.html Swati A. Sonawane: Context-Aware Computing • http://www.slideshare.net/swatibaiger/context-aware-computing14084995 Albrecht Schmidt (2013): Context-Awareness, Context-Aware User Interfaces, and Implicit Interaction • http://www.interaction-design.org/encyclopedia/contextaware_computing.html 30
  • 31. Thank You Simon Guest Distinguished Engineer Neudesic, LLC simon.guest@neudesic.com @simonguest 31