I got frustrated when having to transfer homework files between devices I was not logged in to. To solve the issue I developed a web based application that transfers files to any nearby devices with the help of sound waves. Any feedback on the project would be greatly appreciated!


#frustrated #transfer #homework #files #devices #logged #solve #issue #developed #web #based #application #transfers #files #nearby #devices #sound #waves #feedback #project #greatly #appreciated

What do you think?

12 Points
Upvote Downvote


Leave a Reply
  1. It appears to upload your file to a server and obtains an ID, and it’s the ID that gets transmitted via audio, and that instructs the receiver which file to download. I could be wrong, but it doesn’t seem to be transferring the file itself over audio, which the description may lead some people to believe.

  2. I’m never going to use it. There are things like Dropbox, google drive, etc.

    But I just send a pdf from my phone to laptop via annoying noises. That’s awesome! And the mass transmission is a HUGE benefit.

    The main thing I’d suggest off the bat is that there’s no indicator of any kind. I don’t know if it’s working until it’s done. Based on just the tones it *seems* like it also has to try a lot of times to work. I also waited on UHF for a while with nothing happening.

    Out of curiosity, what’s the bandwidth of this?

  3. Now we can use this website to send each other files over the phone line!

    Maybe it could even be automated, so I can send a file with some sort of string that denotes which file I want, and then receive back a copy of the file I wanted. Over time, we could build a whole network of computers around the world, running this website and dialing each other up to share packets of data.

    (But seriously, this is a cute project.)

  4. cool! Can you go into detail about the encoding? I assume that you can potentially transmit bits over a few different frequency channels, like they do with radio waves.

    Edit: from reading the other comments, I realize the file contents itself aren’t being transmitted, only the ID. So I guess there’s not much point to improving the bitrate

  5. Very neat project, but just so you know, you’ve re-discovered acoustic coupler technology.

    For feedback, there are already existing protocols you could use to be compatible with existing tech. There is nearly a century of research on great ways to improve both your transfer rates and signal to noise ratio. You might look at that if you want to continue pushing the project.

  6. it still amazes me how with all the advanced technology we have, getting a file from one device to another can be such a huge pain in the ass. like it seriously makes me miss floppy disks

  7. Congratulations on inventing an audible QR code!

    This is a really neat idea, I wonder if it would have applications in locations where you’d like to share a link, but cameras are not allowed.

    Does terrestrial radio broadcast the UHF frequencies? Could you stenographically include the link audio in a commercial to provide a URL, or even something to sync a video stream to the broadcast audio?

  8. Don’t let the negativity in this thread get you down, this is very impressive work, both from a technological perspective and a social one. It’s just steps away from the holy grail of being able to easily share files with people in a meeting without having to deal with the bullshit of proprietary services and protocols.

    This worked transferring a file from my Android phone to my Arch Linux desktop and my Ubuntu Linux laptop with no auth, special drivers, downloads, or anything. In my experience, that’s just unheard of.

    Imagine the case where you walk into a meeting and have an important image to share with everyone. The whole “Expanse-style” process of opening your phone and swiping it over to the main screen or to every handheld in the room — that’s something that should be possible with today’s technology, but isn’t because of requirements for special software, auth, specific hardware (*cough* Apple *cough*), or particular drivers. What you’ve done here is make technology *easy* and that’s no small feat.

    What I’d argue is missing is two things:

    1. A way to transfer the data without having to trust the intermediary.
    2. An open protocol that will allow everyone to handle the transfers regardless of the software involved.

    ### Trust

    As the current top-comment points out, the trick is that the only thing being transferred is the unique id of the file. The rest of the data goes to a remote server. That’s disappointing, because it limits the usefulness of the technology to places with wifi, but that’s still a whole lot of places.

    Unfortunately, something like this can’t really be adopted until you as the sharer know that you can trust that the intermediary won’t be reading your stuff. I recommend introducing an option for the local creation and broadcast/storage of a private key (an ed25519 key is quite small) and finding a way to share that not via the intermediary. Perhaps that can be broadcast via sound locally, or maybe it’s a QR code everyone has to capture before they can get stuff. I’m still fuzzy on this.

    You might also do well to Open the source code for the server, demonstrating the deletion of files after a few minutes etc. It will help people trust the process and will also allow others to host their own services.

    ### Protocol

    Stuff like this is only useful if everyone follows the same protocol. I haven’t dug deep into what’s going on, but I imagine you’ve got some sort of protocol wrapping the id that’s being shared. With the introduction of public key cryptography, you’ll definitely need some sort of standard so that receiving devices know to interpret a key as “something I need to store for later” as opposed to “something I need to display on screen”.

    If the protocol is open, clients can be written for all sorts of different environments that can do things like run in the background that a web page simply can’t do. This will let you go from “I have this file here, are you ready?” to “I just sent the file to you. Have a look on the train home”.

    Of course, it’s likely that this sort of thing would be easier to adopt widely if the the process of converting a file into sound was available as a Freely-licensed library. I’m not sure how you feel about that sort of thing though.

    Anyway, congratulations on the hard work. This is really impressive stuff!

Leave a Reply