Back to SoundShare
Feature Requirements
What does each mode need?
Every transfer mode has different device, browser, and network requirements. Check your setup against the list below before choosing a mode.
| Mode | Internet | Camera | Sensors | Desktop | Mobile |
|---|---|---|---|---|---|
| Wormhole | โ | โ | โ | โ | โ |
| Visual QR | โ | โ | โ | โ | โ |
| Hotspot | โ | โ | โ | โ | โ |
| Bump | โ | โ | โ | โ | โ |
| Point | โ | โ | โ | โ | โ |
๐ช
Wormhole / Audio
Enter a 3-word code or broadcast via ultrasonic sound
ReliabilityHighly Reliable
99%
Requirements
- Internet: Required for signaling (Wormhole / Audio mode)
- Browser: Any modern browser โ Chrome, Firefox, Safari, Edge
- Devices: Any device โ desktop, laptop, phone, tablet
- HTTPS: Required (auto-enforced on production URL)
- Microphone: Required only for audio listen mode (receiver side)
โ ๏ธ Important Notes
- Both sender and receiver need internet access for the initial WebRTC handshake.
- Once the P2P connection is established, file data travels directly device-to-device โ never through servers.
- Ultrasonic audio requires a quiet room and the devices within ~3 m of each other.
โ Works on
ChromeSafariFirefoxEdgeDesktopMobile
๐บ
Visual QR Stream
Animated QR code stream โ 100% offline, no network at all
ReliabilityHighly Reliable
99%
Requirements
- Internet: Not required โ fully offline after app loads
- Camera: Required on receiver to scan the QR stream
- Browser: Any modern browser with camera API support
- Devices: Sender can be any device; receiver needs a camera
- HTTPS: Required for camera access
โ ๏ธ Important Notes
- Transfer speed is limited by how fast the camera can scan QR frames (~2โ8 KB/s depending on screen brightness and distance).
- Best for files under ~1 MB. Larger files will work but take longer.
- Keep the screen brightness high and the distance between devices under 30 cm for reliable scanning.
- The BarcodeDetector API is used on Chrome/Edge; jsQR fallback is used on Safari/Firefox.
โ Works on
ChromeSafariFirefoxEdgeDesktopMobileAir-gapped networks
๐ฅ
Hotspot Mode
Ultra-fast local P2P via QR handshake โ no servers involved
ReliabilityVery Reliable
90%
Requirements
- Internet: Not required โ offline after app loads
- Local Network: Both devices MUST be on the same Wi-Fi or one must be on the other's Mobile Hotspot
- Camera: Required on both devices for QR scanning
- Browser: Chrome recommended; Safari/Firefox supported
- Devices: Any two devices with a camera โ desktop or mobile
- HTTPS: Required for camera access
โ ๏ธ Important Notes
- Both devices MUST be on the exact same subnet. One device on 2.4 GHz and one on 5 GHz may fail if the router keeps them separated (AP isolation).
- Some corporate or hotel networks block peer-to-peer local connections (client isolation). Use a personal hotspot instead.
- ICE gathering waits up to 4 seconds before generating the QR โ do not navigate away during this time.
โ Works on
ChromeSafariFirefoxEdgeDesktopMobileLocal networks
โ Does not work on
Public Wi-Fi with AP isolationDifferent subnets
๐ค๐ค
Bump to Share
Tap phones together at the same moment to pair instantly
ReliabilityGood โ sensor-dependent
75%
Requirements
- Internet: Required โ uses Ably for bump-lobby signaling
- Device: Physical mobile phone or tablet with an accelerometer โ desktops will NOT work
- Browser: Chrome Android, Safari iOS 13+, or any browser with DeviceMotion API
- HTTPS: Required โ iOS 13+ enforces permission only on HTTPS
- Permission: iOS requires an explicit user gesture to grant motion permission
- Timing: Both devices must tap within 800 ms of each other
โ ๏ธ Important Notes
- iOS: DeviceMotionEvent.requestPermission() must be called โ the app handles this automatically when you select Bump mode.
- Android: Permission is granted automatically; no dialog needed.
- The bump detection threshold is 15 m/sยฒ (without gravity). Very gentle taps or soft phone cases may not register.
- Both users must select "Bump to Share" mode BEFORE physically bumping. The matching window is 800 ms.
- Some low-end Android phones report accelerometer values as null โ the app falls back to accelerationIncludingGravity (threshold 25 m/sยฒ).
- Not available on desktops, laptops, or devices without a physical accelerometer.
โ Works on
Safari iOS 13+Chrome AndroidPhysical phones & tablets
โ Does not work on
Desktop browsersLaptopsDevices without accelerometerFirefox on iOS (WKWebView restriction)
๐งญ
Point to Share
Point phones at each other using compass to pair
ReliabilityModerate โ environment-sensitive
65%
Requirements
- Internet: Required โ uses Ably for point-lobby signaling
- Device: Physical phone or tablet with a magnetometer (compass) โ desktops will NOT work
- Browser: Chrome Android (full support) ยท Safari iOS 13+ (full support) ยท Firefox Android (limited)
- HTTPS: Required for sensor permission
- Environment: Avoid near metal furniture, speakers, magnets, or electrical panels โ they interfere with compass
- Positioning: Hold phone flat and point the top edge directly at the other device. The matching tolerance is ยฑ25ยฐ.
โ ๏ธ Important Notes
- iOS provides webkitCompassHeading โ a true magnetic north reading. Very accurate.
- Chrome on Android uses deviceorientationabsolute โ also accurate with a calibrated magnetometer.
- Firefox on Android falls back to deviceorientation (relative, not absolute) โ compass-based matching will NOT work reliably.
- The match fires when headings are 180ยฐ ยฑ 25ยฐ apart. If you are having trouble, try calibrating your compass by moving the phone in a figure-8 pattern.
- Strong magnetic interference (speakers, laptop charging cables, metal desks) can cause heading drift of ยฑ30โ90ยฐ, making matching unreliable.
โ Works on
Safari iOS 13+Chrome AndroidDevices with calibrated magnetometer
โ Does not work on
Desktop browsersFirefox on Android (no absolute heading)Near strong magnetic sources
Still having trouble? Read the full manual โ or contact the developer.