instant.io
instant.io copied to clipboard
Add option to share to browser in proximity via audio
Here's a mad science idea:
- Seeder broadcasts hash in audio form somehow (high frequency - inaudible, or audio modulation?)
- Downloader allows their mic to be used
Info hash is exchanged via sound waves to nearby computers, so you don't need to figure out a way to get the info hash to the other person who's sitting next to you. Typing an info hash out is hard, and you might not have an easy out-of-band way to communicate (iMessage, gchat, etc.).
@jhiesey What do you think of this idea?
this would be awesome as a separate module!
Yes!
I think this would be really cool for setting up a Apple TV or Chromecast like device. Imagine a box hooked up to a TV which is running an app (like playback) that listens for sound waves. When it receives the audio and is able to decode the info hash, it starts streaming the video (or audio) file from the nearby computer - similar to the user experience of an Apple TV!
Oh, that sounds like google tone http://googleresearch.blogspot.fr/2015/05/tone-experimental-chrome-extension-for.html
And https://shareby.me/
Some technical knowledge behind http://applidium.com/en/news/data_transfer_through_sound/
https://en.wikipedia.org/wiki/Hellschreiber
shareby.me src: https://github.com/khankuan/shareby.me
Not sure if this helps(and I'm being biased here since it's my project), but this is an example of decoding audio signals in JS. Okay, technically CoffeeScript.
Google Tone suggests use of DTMF, which the goertzeljs demo includes, though I'd think that something FSK based might work better as it could allow for frequencies that are out of range of human hearing as well as a faster baud rate. The reason I'd take that into consideration is because Google Tone actually uses an external API to deliver links while the information it's sending over DTMF is a "code" in reference to the true link stored elsewhere, which is kinda lousy.
The same thing might be accomplished with AnalyserNode, but I've never used it myself. . Either way, it'd be pretty cool since it could open up doors for bidirectional communication over a short distance.
@Ravenstine Very neat library! Just tried it out and it worked perfectly. It's also amazingly lightweight:
$ browserify -r goertzeljs | gzip | wc -c
1663
Do you have any interest in sending a PR that uses goertzeljs to implement this feature?
@feross Sure, that'd be fun. :)