Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Measure the Future at Internet Librarian 2016

Measure the Future at Internet Librarian 2016

Update on the Measure the Future project (http://measurethefuture.net) at Internet Librarian 2016. Includes the announcement of our first Alpha installation partner: The New York Public Library and the Rose Reading Room reopening.

Jason Griffey

October 18, 2016
Tweet

More Decks by Jason Griffey

Other Decks in Education

Transcript

  1. MEASURING ENGAGEMENT
    INTERNET LIBRARIAN 2016

    View full-size slide

  2. Nex-Gen Use Metrics for Libraries
    News Challenge for Libraries Grant Recipient

    View full-size slide

  3. TYPICAL STATS
    ▸ Gate Count
    ▸ Circulation Count
    ▸ # of Reference Interactions
    ▸ # of Classes Taught
    ▸ Website Visits

    View full-size slide

  4. 0
    7 5
    1 5 0
    2 2 5
    3 0 0
    2 0 00 2 0 05 2 0 1 0 2 0 1 5
    Circulation

    View full-size slide

  5. 0
    7 5
    1 5 0
    2 2 5
    3 0 0
    2 0 00 2 0 05 2 0 1 0 2 0 1 5
    Text
    Video

    View full-size slide

  6. 0
    7 5
    1 5 0
    2 2 5
    3 0 0
    2 0 00 2 0 05 2 0 1 0 2 0 1 5 2 0 2 0
    Text
    Video

    View full-size slide

  7. ATTENTION
    MEASUREMENT

    View full-size slide

  8. GOOGLE ANALYTICS
    FOR YOUR BUILDING

    View full-size slide

  9. COMMERCIAL SYSTEMS
    ▸ https://prism.com
    ▸ http://www.occupeye.com
    ▸ http://www.density.io
    ▸ http://euclidanalytics.com

    View full-size slide

  10. OPEN
    HARDWARE &
    SOFTWARE

    View full-size slide

  11. BY LIBRARIANS
    FOR LIBRARIANS

    View full-size slide

  12. HOW TO 

    MEASURE THE FUTURE
    INTERNET LIBRARIAN 2016

    View full-size slide

  13. SCOUT INFORMATION
    ▸ Logitech c525 Webcam
    ▸ Intel Edison w/USB board
    ▸ 3d printed case
    ▸ OpenCV
    ▸ Go

    View full-size slide

  14. MOTHERSHIP INFORMATION
    ▸ Intel Edison + Power board
    ▸ 3d printed case
    ▸ Data analytics and visualization (Python,
    Javascript)
    ▸ Data storage (MySQL)

    View full-size slide

  15. HARDWARE 

    DEVELOPMENT

    View full-size slide

  16. MEASURE THE FUTURE
    DEVELOPMENT STACK
    ▸ Yocto Linux
    ▸ Go
    ▸ OpenCV
    ▸ React.js
    ▸ Postgres

    View full-size slide

  17. HTTPS://GITHUB.COM/
    MEASURETHEFUTURE

    View full-size slide

  18. SCOUT MOTHERSHIP BROWSER

    View full-size slide

  19. MOTHERSHIP BROWSER
    SCOUT
    SCOUT
    SCOUT

    View full-size slide

  20. MOTHERSHIP
    BROWSER
    SCOUT
    SCOUT
    SCOUT
    SCOUT
    SCOUT
    SCOUT
    SCOUT

    View full-size slide

  21. HOW IT WORKS

    View full-size slide

  22. Raw Footage
    Background Removal
    Noise Filtering
    Contour Detection & Object Tracking

    View full-size slide

  23. VERSION 1 FEATURES
    ▸ Attention measurement/Heatmap
    ▸ People count
    ▸ Raw data available via JSON
    ▸ Significant privacy protection

    View full-size slide

  24. PRIVACY
    ▸ No photo or video of patrons is
    saved
    ▸ All communication is secured
    ▸ Collapsing single-stat areas
    ▸ 15 Minute reporting blocks

    View full-size slide

  25. SCOUTS.JSON
    {

    "id": 1,

    "uuid": "c91ff28c-f583-43be-adb8-d5c060080441",

    "ip_address": "0.0.0.0",

    "port": 8080,

    "authorised": true,

    "name": "Location 1",

    "state": "measuring",

    "summary": null

    }

    • id Is a database identifier for the scout. It is automatically generated by the database.

    • uuid Is a unique identifier for the scout, this is generated by the scout and is used as a key for uploading content to the
    mothership.

    • ip_address Is the current IP address the scout is listening on.

    • port Is the current port the scout is listening on.

    • authorised Has a person authorised the scout (as identified by the UUID above) to send data to this instance of the
    mothership?

    • state The current state of the mothership, the available options are 'idle', 'calibrating', 'calibrated', 'measuring'.

    • summary Unused field.

    View full-size slide

  26. SCOUT.INTERACTIONS
    Contains an array of interactions, one for each visitor interaction detected by the system.

    {

    "Id": 2,

    "ScoutId": 1,

    "Duration": 3.1874993,

    "Waypoints": [[976,375],[1120,208],[1626,301]],

    "WaypointWidths": [[178,323],[176,207],[162,300]],

    "WaypointTimes": [7.642e-06,1.5644069,3.1874993],

    "Processed": true,

    "EnteredAt": "2016-09-16T20:15:00Z"

    }

    • Id Is a database identifier for the interaction. This is automatically generated by the database.

    • ScoutId Is used to match the interaction with the source scout. The corresponding scout in scouts.json will have the same Id.

    • Duration This is the total amount of time (in seconds) that the scout observed this interaction occurring.

    • Waypoints Is the path (in pixels) that the interaction took through the calibration frame. The address [0,0] corresponds with the top-left
    corner of the image.

    • WaypointWidths This is the matching size (in pixels) of the interaction at each step along the path 'Waypoints'. The size of
    WaypointWidths and Waypoints will always be the same.

    • WaypointTimes The offset time (in seconds) from 'EnteredAt' that each step along the path in waypoint occurred.

    • Processed Has this interaction been 'processed' and included as part of the summary as defined in scout_summaries.json?

    • EnteredAt The time the interaction begun. This date/time is in UTC and deliberately rounded to the nearest 15 minutes. The rounding is
    an additional privacy protection measure, clumping multiple interactions into occurring at the same time. This to make it more difficult
    to cross-reference interaction data with other sources of metadata.

    View full-size slide

  27. SCOUT.SUMMARIES
    Contains an array of interaction summaries, one for each scout. Each summary has the following
    format:

    {

    "ScoutId": 1,

    "VisitorCount": 931,

    "VisitTimeBuckets": [[1,2,...,20],[1,2,...,20],...,[1,2,...,20]]

    }

    • ScoutId is used to match the summary with the database identifier id in scouts.json above.

    • VisitorCount is the raw visitor count, the total number of interactions recorded within the space.

    • VisitTimeBuckets Is the data used to generate the heatmap. This is 20 arrays of 20 elements.
    Each value in this 20x20 grid is the total accumulated interaction time at that place on the
    calibration frame. The first array is the first (top) row in the calibration image, and the first
    element within that array is the left most edge of the calibration image. The total accumulated
    interaction time is the total amount of time (in seconds) spent by all visitors at that part of the
    physical space.

    View full-size slide

  28. SCOUT.HEALTHS
    Contains an array of scout healths, one for each scout at about a 15 minute interval. These healths give an
    approximation of the health of the measurement system:

    {

    "ScoutId": 1,

    "CPU": 5.09,

    "Memory": 0.34978658,

    "TotalMemory": 1.0066616e+09,

    "Storage": 0.5071577,

    "CreatedAt": "2016-09-16T20:21:45.149642Z"

    }

    • ScoutId Is used to match the health with the source scout. The corresponding scout in scouts.json will
    have the same Id.

    • CPU The five minute load average for the scout at that point in time. In this particular example 5.09
    means that on average 4.09 processes were waiting on the CPU. A value of 0 would mean that the
    system was completely idle.

    • Memory The percentage of the TotalMemory currently being used on the scout system.

    • TotalMemory The total memory available on the scout in bytes.

    • Storage The percentage of the total available storage being used on the scout system.

    • CreatedAt When the health report was created.

    View full-size slide

  29. WORLD PREMIERE

    View full-size slide

  30. Rose North 1
    Rose South 1
    Rose North 2
    Rose South 2
    Bill Blass 1
    Bill Blass 2

    View full-size slide

  31. October 6, 2016

    View full-size slide

  32. October 7, 2016

    View full-size slide

  33. October 11, 2016

    View full-size slide

  34. October 6, 2016

    View full-size slide

  35. October 7, 2016

    View full-size slide

  36. October 11, 2016

    View full-size slide

  37. POSSIBLE ISSUES

    View full-size slide

  38. INTERNET LIBRARIAN 2016
    POSSIBLE ISSUES
    ▸ light levels
    ▸ reflection
    ▸ “bunching”
    ▸ complexity of interactions

    View full-size slide

  39. MEASURE THE FUTURE & NYPL
    FUTURE
    ▸ Refining counting algorithms/body ID
    ▸ Timeslice UI
    ▸ Cloud portal
    ▸ Secondary sensors

    View full-size slide

  40. ROADMAP FOR VERSION 2
    ▸ Additional sensor support
    ▸ Hyperlocal location measurement
    ▸ Humidity/temperature
    ▸ Additional data views
    ▸ Data integration into other products
    ▸ Secure and privacy-focused cloud portal for your data

    View full-size slide

  41. MEASURE THE FUTURE & NYPL
    FUTURE
    ▸ Meridian Public Library - Next Week!
    ▸ SUNY - Potsdam - November!
    ▸ Launch at ALA Midwinter

    View full-size slide

  42. SMART BUILDING
    Photo by KTH Biblioteket - http://flic.kr/p/7Pesb4

    View full-size slide

  43. A/B TEST SPACES
    Photo by DaveBleasdale - http://flic.kr/p/nNZRV

    View full-size slide

  44. EVALUATE YOUR STACKS
    Photo by ocegep - http://flic.kr/p/crdH8s

    View full-size slide

  45. PLAN YOUR STAFFING
    Photo by infomatique - http://flic.kr/p/qkS3BQ

    View full-size slide

  46. Nex-Gen Use Metrics for Libraries
    http://measurethefuture.net
    @measure_future

    View full-size slide

  47. J A S O N G R I F F E Y
    P H O T O C R E D I T: C I N D I B LY B E R G
    F O U N D E R / P R I N C I PA L C O N S U LTA N T
    E V E N LY D I S T R I B U T E D L L C
    H T T P : / / E V E N LY D I S T R I B U T E D . N E T
    M E A S U R E T H E F U T U R E
    H T T P : / / M E A S U R E T H E F U T U R E . N E T
    F E L L O W
    B E R K M A N K L E I N C E N T E R F O R I N T E R N E T & S O C I E T Y
    H A R VA R D U N I V E R S I T Y
    J G R I F F E Y @ C Y B E R . L AW. H A R VA R D . E D U
    H T T P : / / J A S O N G R I F F E Y. N E T
    T H E L I B R A RY B O X P R O J E C T
    H T T P : / / L I B R A RY B O X . U S

    View full-size slide