This repository hosts all the code for the NoViz-Vibrate prototype. This prototype explored using the haptics of an Apple Watch to give users security notifications.
NotificationServer: This is a Node.js server, it has a route "/notify", if you send a "GET" request to this route, it will emit an event over Socket.io that will cause the Apple Watch to vibrate.
NotifyWatch: This is where the iOS/WatchOS code is that is responsible for listening for a Socket.io event and causing the Apple Watch to vibrate.
SSLExtension: This is a Firefox browser extension that will check if the website you're on has a valid SSL certificate, if not it will notify the Node.js server.
URLExtension: This is a Firefox browser extension that will check if the URL you're currently on is part of an allowlist if not, it will notify the Node.js server.
=== Credits ===
Credits go to Daniela Napoli and Sebastian Navas for the layout of this README file and the SSLExtension.
Software:
Xcode, Firefox Browser, NodeJS
Hardware: 1 Apple Watch, 1 iPhone, 1 USB-C to Lightning Cable
git clone https://github.com/choruslab/NoVizVibrate.git
cd NoVizVibrate/NotifyServer
npm install
npm start
- Open your Firefox Browser
- In the search bar type:
about:debugging
- On the left of the screen, click on the This Firefox button
- Click on the Load temporary Add-on... button
- This will pop-up your file system
- Use the pop-up to navigate to our repository
- Inside the repository, you will find two folderd called URLExtension and SSLExtension
- Pick the file called manifest.json in either of the two folders
- Click on the open button
- Connect your Apple Watch to an iPhone
- Connect your iPhone to a MacOS device (iMac or MacBook) using a USB-C to Lightning cable
- Make sure Xcode is installed and up-to-date
- Open the NotifyWatch folder in Xcode
- In Xcode you will need to setup a "Team"
- In Xcode you will need to "Sign" the app to run it on the iPhone and Apple Watch
- For steps 5 and 6, I used this here to get it to work: https://developer.apple.com/forums/thread/89783?answerId=275342022#275342022
- Under the Device dropdown select your iPhone
- Build the App
- Run the App on the iPhone as well as the Apple Watch
- Now the Apple Watch will vibrate once an event is emited by the Node.js server