Giter Club home page Giter Club logo

efforg / spot_the_surveillance Goto Github PK

View Code? Open in Web Editor NEW
34.0 12.0 6.0 120.7 MB

Spot the Surveillance is an open-source educational VR tool to help people identify street-level surveillance in their community. As each surveillance device is identified, the user is informed on how the device is used via text and narration. The experience is created with accessibility in mind, so is entirely gaze-based for people with mobility challenges. Audio is also used to assist low-vision users.

Home Page: https://eff.org/spot-vr

License: GNU General Public License v3.0

CSS 0.04% HTML 2.87% JavaScript 97.09%

spot_the_surveillance's Introduction

Spot the Surveillance

Spot the Surveillance is an open-source educational VR tool to help people identify street-level surveillance in their community. As each surveillance device is identified, the user is informed on how the device is used via text and narration. The experience is created with accessibility in mind, so is entirely gaze-based for people with mobility challenges. Audio is also used to assist low-vision users.

For users who find the experience challenging, there is an "easy mode" which is activated by a button the using can click before starting the experience. This mode has a visual indicator of where all the devices are so the user can identify them more easily.

There is a Spanish version available at index-es.html, Descubre La Vigilancia.

There is a English desktop version available at index-desktop.html.

Version 2.1

  • updated Spanish VR version, created Spanish desktop version.

Version 2.0

  • updated aframe version for English VR & desktop versions, consolidated js to single files again.

Version 1.3

  • Added desktop version, index-desktop.html. Desktop-only versions of javascript files are in js/desktop.

Version 1.2.1

  • Added shot spotter/gunshot detection, removed one of the PTZ cameras

Version 1.2

Changes since 1.1:

  • Easy mode
  • Spanish version
  • Upgrades to performance including smaller image and audio files to speed up loading time
  • more consistent audio playing
  • Several changes to improve the experience for low-vision users, including:
    • making the "X" to close the information cards more visible
    • More clearly recognizable arrows to direct user to congratulations card
  • user can reopen all information cards at the end of the experience
  • repositioned congratulations card to make it less "cramped" in between other cards
  • Bug fixes to many gazed-based interactions
  • code refactoring for easier readability

Version 1.1

Spot the Surveillance is an open-source educational VR tool to help people identify street-level surveillance in their community. As each surveillance device is identified, the user is informed on how the device is used via text and narration. The experience is created with accessibility in mind, so is entirely gaze-based for people with mobility challenges. Audio is also used to assist low-vision users.

Spot the Surveillance uses Mozilla's Aframe web framework: https://aframe.io/

How to run the experience

To run locally: After cloning/downloading, you'll need to launch a web server. An easy way to do this is by running SimpleHTTPServer (python 2): python -m SimpleHTTPServer 8000

for python 3: python3 -m http.server 9000

Then to see the site, naviate to: http://localhost:8000

The live version of this site can be found at: https://eff.org/spot-vr

A project of Electronic Frontier Foundation.

This project is licensed under GNU General Public License v3.0.

spot_the_surveillance's People

Contributors

lschatzkin avatar caseyyee avatar cvan avatar

Stargazers

 avatar Anne Thorpe avatar Aaron Sloan avatar Sean P. Myrick V19.1.7.2 avatar Cat Shuler avatar  avatar disco avatar Larry avatar Clint avatar Marshal Miller avatar Awalo avatar André Philip avatar guzmud avatar Sy Dusk avatar Alex Larsen avatar Shreyas Minocha avatar  avatar Preston Ruff avatar Artem Bernatskyy avatar Nestor Wheelock avatar Robert Bergner avatar F0x avatar Reed HHW avatar Mike Subelsky avatar DestroyTargetNonBasicLand avatar ExE Boss avatar  avatar Jeremy Rose avatar N. Daliot avatar  avatar David Burgess avatar Álvaro García León avatar  avatar  avatar

Watchers

André Philip avatar Josh Marinacci avatar James Cloos avatar  avatar Lena avatar N. Daliot avatar Peter Woo avatar Hugh D'Andrade avatar Marshal Miller avatar  avatar Sean P. Myrick V19.1.7.2 avatar  avatar

spot_the_surveillance's Issues

ALPR Popup appears in unexpected spot

When I found the ALPR Popup (which was the hardest one for me to find - heh), I didn't notice the ALPR Popup until I moved my head to the right a bit. It could probably be positioned closer to be near the ALPR hotspot.

New Bugs: headset only

Three.js is throwing errors and these things are happening. Possible temporary fix: download an old version of three.js.

  1. The ambient audio plays if you do "replay the game." So we should have people finish by hitting replay.
  2. The ambient audio runs out after awhile.
  3. The Mobile biometric voiceover is queued by looking at the device, not the card
  4. No audio played for the two cameras on the pole
  5. If people enter the street scene before hearing the opening intro, then then opening intro plays over the street scene a few minutes later. We should have people wait until they hear Camille before hitting get started.
  6. Get started button seems be a little misaligned. You have to to the left side of it

Device testing

  1. iPod can use daydream in a rudimentary way (more like a VR window)
  2. iPod without headset is very small and hard to see, "hotspots" are slightly off target
  3. Pixel doing some weird oscillation, not usable
  4. iPad mini with iOS 9 doesn't work at all; bg image never loads
  5. Vive with Nightly browser works great
  6. Does not load at all on very old iOS

move `poolsize` attributes from `<audio>` tags in `<a-assets>`

You can remove the poolsize attribute from <audio> tags, since it's actually only a property on A-Frame's sound component:

And then you can change sound="src: #congrats-audio;sound="poolSize: 4; src: #congrats-audio; here:

Resize images to be powers of 2

Per three.js requirements

From the console:
cards: not power of two (672x625). Resized to 512x512
sky: image is not power of two (5376x2688). Resized to 4096x2048

external resources loaded in page

Some resources (js, fonts) are loaded from external sites. Because of the eff.org privacy policy, these should either get bundled into the site itself or we can add a click-to-load button like we do for loading from youtube.

Difficult to dismiss popup boxes with gaze cursor

The × is difficult to close. It seems like many of my gaze-based "clicks" were not triggered. Not sure what needs to be adjusted, but I ran into this quite a few times trying to dismiss the popups.

P.S. Awesome work on this project! It was really fun and challenging to play.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.