Context awareness &
Contextual Computing
Occupancy Monitoring of Mary Idema Pew
Library
Advisor Professor Engelsma
Sam Ser...
Device sensors more
information
We collect big data
• What do we do with it?
• Recommendation Engines
• More relevant and useful content for each individu...
What is missing?
Human-human VS
human-computer
Current Context & Situational Information
Context can be different
Hang out suggestion
WHERE???
PREVIOUS ACTS???
WHO???
What you’re looking at
Context depends on domain
• Based on the application
• Problem it is solving
• The Domain
“Any information that can be use...
What can be improved on
campus?
• Looking for a book?
• Campus Tour Guide?
Campus tour app  kills social
Interaction
Meeting with library staff
• new books notification
while they’re passing by
different sections
• Traffic and
Occupancy Mo...
Occupancy monitoring wins
• Library staff are more interested in occupancy
monitoring
• That’s an actual problem
• Student...
How to solve it
• Install Beacon devices in 3rd Floor Innovation Zone
& 4th Floor Study Room
• Add a traffic/occupancy mon...
Overall architecture
Client application
• Laker Mobile
• Used by Majority of Students
• Has a Library Section
• Need to make it more useful
• A...
ibeacon
• Wireless devices transmitting radio signals to smart
devices
• Devices can hear these signals (via BLE scanning)...
Ibeacon (cont.)
• Introduced by Apple in iOS 7
• Core Location Library
• Works with Bluetooth Low Energy (BLE)
• Proximity...
Main functionalities
• Region Monitoring
• Can detect Enter/Exit for a monitored region/area
• Region Change detection
• B...
We used estimote beacons
Ruby on rails web server
• Receiving traffic data
• Returns traffic information in a given period in
conventional format: ...
Sample data
Submitted data from a client device looks like this
Sample data (cont.)
Areas population
Heat map
Overall workflow
Pretty Straightforward and Simple
Quick peak on Implementation
• CLBeaconManager From Core Location Library
• When a device enters a monitored area
• Certai...
Did enter region
Region monitoring &
beacon ranging
• Region Monitoring can happen both in background
and foreground
• Beacon Ranging can o...
Frequency of ble scan
• Ranging happens quite frequently when application
is in foreground
• Almost every few seconds
• Re...
Subtleties on server
• Device is On border of a region
• Two subsequent traffic data can be submitted with
EXACT same time...
What we can find out?
• How long a users occupy a given area
• Enter at 9:00 AM
• Exit at 13 PM
• Taking a break or tempor...
Hourly population report
Closer look
Devices per day
Lessons learned
Apple users upgrade FAST
Lessons learned (CONT.)
• Dealing with new and unfamiliar technology
• Technical Side = Advertisement and Promoting
• ??A ...
Lessons learned (cont.)
• Dealing with other organizations
• IT was worried about WiFi interference
• Bluetooth & WiFi  2...
Wifi disconnects
• Could not connect to WiFi through my laptop???!!!
• Everything else was connected (iPhone, iPad, etc.)
...
Context matters
• Human-Human interaction is very effective at this
• We want the human-computer interaction to be
efficie...
Special thanks to
• Professor Jonathan Engelsma
• Carlos Rodriguez
• Kyle Felker
• Kristin Meyer
• Ehsan Valizadeh
• Davou...
References
• Dey AK, Abowd GD. Towards a better understanding of context
and context-awareness. CHI’2000 Workshop on the
W...
References (cont.)
• Estimote iOS SDK. https://github.com/Estimote/iOS-
SDK
• Apple documentation on CLBeaconManager.
http...
References (cont.)
• Frequency of region monitoring and beacon ranging.
http://developer.radiusnetworks.com/2013/11/13/ibe...
Context-Awareness & Occupancy/Traffic Monitoring
Upcoming SlideShare
Loading in …5
×

Context-Awareness & Occupancy/Traffic Monitoring

2,016 views

Published on

This presentation is about contextual computing and context awareness in software applications and an experimental project which we did in this area for the new Mary Idema Pew Library of Grand Valley State University using Estimote Beacon devices.

Published in: Technology, Design
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,016
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
28
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Our devices have different sensors in order to provide more and more information. How are we using this information in our applications?
  • Context, current context and situational information (And context is not necessarily the location of the user! That is big part of it but it’s not ALL)
  • You have an app that suggests good restaurants, close by! When humans are talking about the same thing they consider the contextIt is raining but the app is suggesting a restaurant, which ONLY has sitting area outside! BUT humans never do that.
  • It is a relative concept and can be completely different based on different domains and situations
  • Most of apps in this category consider user interests, previous activities and where they are BUT not who they are hanging Out with at the time!
  • Getting appropriate information based on what art piece you’re looking at! That is the context here (kind of an indoor GPS and the fact that You are near which art piece)
  • Looking around for finding a book and jumping aroundCampus tour is happening all the time and can be automated as well for people (not a huge fan of this one myself)
  • One of those moments that you come up with an idea and then realize it’sAgainst what you believe and get consider it a No-Go option!
  • We thought of meeting with library staff and see what kinds of problems they have which Are good candidate for a context-aware application or feature to solve them.
  • Consist of the following items: * Client device (iOS device in this project) * Estimote beacons * Ruby on Rails web server * PaaS which is Heroku in this project(joke about area is higher than Cloud [internet] and airplane cabin monitoring) :D
  • To make it more useful we changed its content to the computer availability of Library which according to library staff is a very popular feature Also we allow users to turn on/off the feature if they wish. Everything else is happening in Background and no UI involved in this feature (mostly a background service)
  • In the case of Estimote, UUID is representing the manufacturer, major an minor number specify each Individual beacon device
  • Exit can only come once since the device left the area and is not in the range/region at allBut enter can come again within few minutes and population will be wrong in that moment But after that will be accurate but if we consider Enter only and the reality was Exit, until the End of the day that population would have wrong information in it (Also the scenario that phone dies after Enter)
  • Y axis is the population of the monitored areas and X axis is the last two weeks of monitoring on an hourly basis from 9:00 AM until 2:00 AMAs we get closer to exam week the population grows until it drops again at the end of it since a lot of students are done with the semester at this point And say bye to the library until the next semester 
  • Around lunch time population drops suddenlyAlso the same thing happens close to 6 since a lot of students have class at that timeThe population grows from morning till noon and then again after lunch until before classes
  • In total it was about 80 devices that we collected traffic data for. Again the result of not advertising and promoting The application shows how it can affect the usage of it and users not knowing about what’s going on
  • Green shows the users running the latest versionImpact of simplicity and ease of installation and updating handled by Apple
  • Example of advertisement in last year project and its impactThis year we did a very small amount of advertisement and promoting the app but Even that small advertisement made N (extract out of DB) number of users turn on their bluetoothAnd use this feature and help the library. So better advertisement better results. Specially when it is dealing with some sensitive areas: Bluetooth Unique IdentifierNo stackoverflow questions, or the few ones are answered by developers of companies Manufacturing beacons and their SDK developers * Mostly source code * Mailing lists * Issue trackersThe interface of interacting with technology, is stable and reusableIn order to solve a new problem in a new domain use the building blocks Related to the context-awareness technology and change the core logic to solve things
  • And a bunch of other devices work with 2.4 GHz frequency Since WiFi is everywhere, so are Bluetooth devices Bluetooth Smart is using Adapting Frequency Hopping approach which is solving interference problem and it’s not on a fixed frequency. They can coexist in in peace with no problem.
  • Context-Awareness & Occupancy/Traffic Monitoring

    1. 1. Context awareness & Contextual Computing Occupancy Monitoring of Mary Idema Pew Library Advisor Professor Engelsma Sam Serpoosh https://github.com/Sam-Serpoosh https://linkedin.com/in/samserpoosh http://masihjesus.wordpress.com @masihjesus
    2. 2. Device sensors more information
    3. 3. We collect big data • What do we do with it? • Recommendation Engines • More relevant and useful content for each individual • Better user experience and more value
    4. 4. What is missing?
    5. 5. Human-human VS human-computer Current Context & Situational Information
    6. 6. Context can be different
    7. 7. Hang out suggestion WHERE??? PREVIOUS ACTS??? WHO???
    8. 8. What you’re looking at
    9. 9. Context depends on domain • Based on the application • Problem it is solving • The Domain “Any information that can be used in order to describe the situation of an entity relevant to interaction between user and the application is considered Context.”
    10. 10. What can be improved on campus? • Looking for a book? • Campus Tour Guide?
    11. 11. Campus tour app  kills social Interaction
    12. 12. Meeting with library staff • new books notification while they’re passing by different sections • Traffic and Occupancy Monitoring In certain areas
    13. 13. Occupancy monitoring wins • Library staff are more interested in occupancy monitoring • That’s an actual problem • Students can get help on where is less crowded to study/work
    14. 14. How to solve it • Install Beacon devices in 3rd Floor Innovation Zone & 4th Floor Study Room • Add a traffic/occupancy monitoring feature to a popular application which is used by majority of students • Collect and process traffic data and get real-time information for those areas
    15. 15. Overall architecture
    16. 16. Client application • Laker Mobile • Used by Majority of Students • Has a Library Section • Need to make it more useful • Add a context-aware background service for monitoring traffic activities (e.g. Enter, Exit)
    17. 17. ibeacon • Wireless devices transmitting radio signals to smart devices • Devices can hear these signals (via BLE scanning) • Communicate with beacons • Estimate their proximity from them
    18. 18. Ibeacon (cont.) • Introduced by Apple in iOS 7 • Core Location Library • Works with Bluetooth Low Energy (BLE) • Proximity Calculation and Context Awareness
    19. 19. Main functionalities • Region Monitoring • Can detect Enter/Exit for a monitored region/area • Region Change detection • Beacon Ranging • Can calculate the proximity to a certain beacon device in a given region • Proximity levels  Far, Near, Immediate, Unknown • Identifiable through UUID, Major and Minor numbers
    20. 20. We used estimote beacons
    21. 21. Ruby on rails web server • Receiving traffic data • Returns traffic information in a given period in conventional format: JSON, CSV • Gives real-time information on population of monitored areas • Shows a heat map associated with monitored areas • All the other BORING parts of a web service
    22. 22. Sample data Submitted data from a client device looks like this
    23. 23. Sample data (cont.) Areas population
    24. 24. Heat map
    25. 25. Overall workflow Pretty Straightforward and Simple
    26. 26. Quick peak on Implementation • CLBeaconManager From Core Location Library • When a device enters a monitored area • Certain callback gets invoked by beacon manager • (void)beaconManager:(ESTBeaconManager*)didEnterRegion:(ESTBea conRegion) • Context-Aware logic of the application is here or triggered here
    27. 27. Did enter region
    28. 28. Region monitoring & beacon ranging • Region Monitoring can happen both in background and foreground • Beacon Ranging can only happen when the application is in foreground • Proximity calculation • Signal Strength calculation • Solving the problem of overlapping areas
    29. 29. Frequency of ble scan • Ranging happens quite frequently when application is in foreground • Almost every few seconds • Region Monitoring depends on few things Condition Max time to detect Range Change notifyEntryStateOnDisplay = YES & Phone Awakened 1 second notifyEntryStateOnDisplay = NO & Phone Awakened NEVER Application is just running in background From few seconds up to 15 minutes
    30. 30. Subtleties on server • Device is On border of a region • Two subsequent traffic data can be submitted with EXACT same time • Which one do you consider in Area Population calculation?
    31. 31. What we can find out? • How long a users occupy a given area • Enter at 9:00 AM • Exit at 13 PM • Taking a break or temporarily leaving the area • Exit at 18:35 • Enter at 18:44 • Taking a break, Finding a book, meeting someone, etc. • Just walking by a monitored area closely • Enter at 17:35:07 • Exit at 17:35:40
    32. 32. Hourly population report
    33. 33. Closer look
    34. 34. Devices per day
    35. 35. Lessons learned Apple users upgrade FAST
    36. 36. Lessons learned (CONT.) • Dealing with new and unfamiliar technology • Technical Side = Advertisement and Promoting • ??A lot of unknowns, unfamiliar obstacles?? • Building a infrastructure, platform, framework • Core logic is interchangeable
    37. 37. Lessons learned (cont.) • Dealing with other organizations • IT was worried about WiFi interference • Bluetooth & WiFi  2.4 GHz frequency • Students will face Internet connection problems
    38. 38. Wifi disconnects • Could not connect to WiFi through my laptop???!!! • Everything else was connected (iPhone, iPad, etc.) • The conversation with IT hit me • we have an Estimote beacon in our lab • Stackoverflow to the rescue
    39. 39. Context matters • Human-Human interaction is very effective at this • We want the human-computer interaction to be efficient and valuable • recommending appropriate things, showing relevant content • Why not better? We know one more missing piece of the puzzle • Context is a Caved in Stone
    40. 40. Special thanks to • Professor Jonathan Engelsma • Carlos Rodriguez • Kyle Felker • Kristin Meyer • Ehsan Valizadeh • Davoud Qorashi • All the students who used the application and collaborated in this work
    41. 41. References • Dey AK, Abowd GD. Towards a better understanding of context and context-awareness. CHI’2000 Workshop on the What, Who, Where, When, and How of Context-Awareness. • Yin, Chuantao, Bertrand David, and Rene Chalon. "Use your mobile computing devices to learn-Contextual mobile learning system design and case studies."Computer Science and Information Technology, 2009. ICCSIT 2009. 2nd IEEE International Conference on. IEEE, 2009. • Prophet Kitchen application for Rubens House in Antwerp Belgium. http://vimeo.com/84760383 • Estimote official website. http://estimote.com/ • API documentation of Estimote. http://estimote.com/api/index.html
    42. 42. References (cont.) • Estimote iOS SDK. https://github.com/Estimote/iOS- SDK • Apple documentation on CLBeaconManager. https://developer.apple.com/library/ios/documentatio n/CoreLocation/Reference/CLLocationManagerDele gate_Protocol/CLLocationManagerDelegate/CLLoca tionManagerDelegate.html - //apple_ref/occ/intfm/CLLocationManagerDelegate/l ocationManager:didEnterRegion:
    43. 43. References (cont.) • Frequency of region monitoring and beacon ranging. http://developer.radiusnetworks.com/2013/11/13/ibe acon-monitoring-in-the-background-and- foreground.html • Estimote on coexistence of WiFi and Beacon devices. https://community.estimote.com/hc/en- us/articles/201186046-Do-Wi-Fi-Networks-Interfere- with-Beacons-

    ×