Hi! ShareDrop author here. Thanks for the suggestion - I've updated it in the repo description and in README file.
HN user
szimek
[ my public key: https://keybase.io/szimek; my proof: https://keybase.io/szimek/sigs/RwP_J21sberdswaVPLm3VbJMNSeWz9bHLz2fhIh6xRs ]
Hi! ShareDrop author here. It doesn't use any TURN servers and that's why it doesn't work if one is required.
ShareDrop author here.
It's really great that people are still using it, after almost 6 years since the release! It was first announced here on HN: https://news.ycombinator.com/item?id=7468328. Fun fact: on the same day Facebook announced Oculus acquisition ;)
Also, sorry that the service was down for some of you yesterday - it's using a free Firebase account that has a limit of 100 connections - usually it's enough.
Does everything really work? I've got a car with Android Auto, but I need to pay a small fee to actually enable it (because why not :/) and I'm not sure if it makes sense to pay for it if it's not officially available in my country.
Recently I got annoyed how hard it is to use shrinkwrap in npm and started working on a npm wrapper that would make npm as easy to work with as Ruby Bundler by copying its workflow as closely as possible (https://github.com/szimek/bundlerjs). Thankfully, I don't have to develop it anymore ;) Big thanks to all Yarn developers!
I'm using idb.filesystem.js in https://www.sharedrop.io, so that only very small part of the transferred file is stored in memory, but then without asking users for permission (i.e. using non-persistent storage) you "only" get ~4GB (not sure exactly, I tested it with files up to 1.5GB).
In the sign-up form they state that "Note that each audio request is limited to 2 minutes in length." Does anyone know what "audio request" is? Does it mean that it's limited to 2 minutes when doing real-time recognition, or just that longer periods will count as more "audio requests" and result in a higher bill?
Do they provide a way to send audio via WebRTC or WebSocket from a browser?
I've been using it for almost a year on sharedrop.io (p2p file transfer app) to distinguish peers in the same local network. The code I'm using for finding local IP comes from http://net.ipcalf.com. The app even allows you to select your local IP in case you got more than one, e.g. because of VPN.
Originally, we used socket.io for presence management and PeerJS library (http://peerjs.com), which uses its own websocket server, for WebRTC signaling. We had 2 websocket servers and we really wanted to avoid hosting them ourselves, so we considered 3 third-party services - Pusher, PubNub and Firebase.
Pusher has really awkward presence management that requires you to store user state on your own server, if I understood their docs correctly.
PubNub had similar issue as Pusher, though very recently they released a new feature that allows you to broadcast user state changes without having to store it on your own server.
Firebase is in my opinion the easiest one to use, especially for presence management, because it's a real database and not only a messaging service. It's also actually really easy to use for private messaging as well, even though I think it wasn't originally designed for that. We've changed PeerJS library to use Firebase for WebRTC signaling, which is basically a form of private messaging. We've also used Firebase in some of our previous projects - e.g. https://github.com/cowbell/presence-firebase.
If you're interested, you can check out the relevant source code for presence management at https://github.com/cowbell/sharedrop/blob/master/app/scripts... and WebRTC signaling at https://github.com/cowbell/sharedrop/blob/master/app/scripts....
Yeah, it probably could. I think that https://www.sharefest.me/ has faster transfer speeds, especially that it allows you to download the same file from more than one peer.
I think I've figured out why it asked for Flash. I forgot to remove socket.io related files that we were using before switching to Firebase.
Yes it is :)
It seems so. I was a bit surprised myself, but this data is taken from the info that browsers send to each other to determine the best path for P2P connection. The actual code for determining local IP is taken from http://net.ipcalf.com.
I think it worked since 32. The current stable Chrome version is 33.
Sure. WebRTC allows you to send any data, audio and video directly between peers. Though to be honest there are much easier ways to create text chat.
Pretty cool. It does upload the files to S3 though, right?
ShareDrop in theory should be much faster (especially on local network) and more secure, as it sends files directly between devices without any server in the middle.
Hopefully, we'll add sending files between networks pretty soon as well.
However, it's already possible with similar WebRTC based services like https://www.sharefest.me/ or https://rtccopy.com/.
It depends on what you mean by "mobile" :) It works between Chrome on Android and desktop. Unfortunately, Safari (neither desktop nor mobile) doesn't support WebRTC.
No idea why it asked for Flash.
At this moment the app works only in Chrome and Opera, because Firefox doesn't support HTML5 FileSystem API. There's a polyfill for that, but we had some issues with it, so we've decided to release it anyway. We'll continue working on Firefox support. The whole source code is available on GitHub (https://github.com/cowbell/sharedrop), so anyone can help.
Sure, we mention it even in the README (https://github.com/cowbell/sharedrop/blob/master/README.md). There's probably a workaround if you have a phone with internet access - you could create a local WiFi network on it and connect to ShareDrop through it. Haven't tried it though.
:) Well, it's open source, so you can check what it does and even run it locally without internet connection if you really want.
Good idea though, I'll have to add form for credit card details :)
Brush, fur and neighbor points look really cool.
Using Bézier curves, but with variable width, can give nice "handwritten" feel to it - http://szimek.github.io/signature_pad (works best on touch devices).
Thanks for the tip. Really cool idea with the publicly available server - I assumed that some HTML slide frameworks might have e.g. SocketIO plugins, but didn't expect them to have an official server as well.