Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why is inter-device file sharing still a hassle?
110 points by the_duke on Sept 4, 2016 | hide | past | favorite | 84 comments
Imagine these scenarios:

* You sit in some pub with a few friends. You show them a video you filmed yesterday on your phone. You're speakers are really bad, and you want to send it to a friend who has better speakers.

--> You try to send the video over What's App. You discover you have no cell reception. You give up.

* You are at a conference, about to give a talk. For some reason, your MacBook won't work with the projector. You want to copy the presentation to some other laptop. The WiFi is overloaded.

--> You spend 5 minutes finding someone who still carries a USB stick and transfer the files.

* You are in an airplane, and you have a bunch of company documents stored on your laptop, which you want to read on your tablet. You forgot your micro USB cable.

--> You are angry at yourself for not installing a file sharing app and for forgetting to send yourself the documents with GMail and downloading them on the tablet.

Everytime I run into one of those situations, I just get angry that there is no easy solution, and most of the time we have to resort to some clutch, like relying on a centralized service like email or messenger apps.

How do we still have this problem in 2016, where we all carry multiple supposedly inter-connected and interoperable devices?

There is an endless amount of file sharing apps for iOS and Android. There are countless protocols and options for discovering devices and sharing files (including "ancient" options like Samba, NFS and FTP).

Why is there no universally accepted standard that facilitates device discovery and file sharing between devices over WiFi AND Bluetooth, with implementations installed by default on every device?

Am I alone in seeing a need here?

You are not alone. This is one of those problems that we seemingly can't solve, mostly because there is no business in it. Ask anyone if they have a problem sharing files, and most people will say no (witness the responses in this thread), even though you are perfectly correct that file sharing is a complete and utter mess. And when buying a new phone, practically no one will consider "easy file sharing" as a feature worth paying for.

Apple was traditonally better at this sort of thing ("just works"), but a) it doesn't actually "just work", because their software quality is not up to par, and b) the lack of interoperability means this is only useful if you live in an Apple-only world.

In general, I'd say it will stay like this. Unfortunately.

Other similar examples: E-mail (yes, SMTP and E-mail clients, it all sucks badly, and we can't agree on how to improve it) and instant messaging.

Great point. Having there be a business is important.

It's one of those things that seems simple (move 1 file 2 inches) but is really complex, with a lot of possible mechanisms, protocols, OSes, devices, and edge cases.

When the Dropbox people were looking for money, VCs would say, "But there are already plenty of ways to keep files in sync." They'd say, "Do you use any of them regularly?" The answer was always no. There was a giant gap that nobody had filled.

And they started with an easier problem, which is one person with multiple devices who wants one folder to be in two places. No features, just a folder that's always the same. (And they started with just desktop OSes.) Transferring files seamlessly between devices owned by different people on demand is much harder. Especially given how mobile OSes have deemphasized the notion of "file" altogether.

So yes, I don't expect a solution either.

> mobile OSes have deemphasized the notion of "file" altogether.

This to me hits on the real problem. Filesharing is easy when all files are strings of ones and zeros, to be freely interpreted by programs and stored in a generic filesystem. When your operating system treats files as atomic things that can only be managed by a specific program baked into the OS, filesharing becomes much more difficult.

This is a classic Apple dark pattern that spread to the rest of the industry and is now a poison that can't be easily purged.

This is perhaps my least favorite thing about Apple's software concept, but at the same time I have to admit they've made it simple for the masses, and it works. The iOS file concept seems to be closer to how people without knowledge of computers perceive things, and matches what I saw in computer learners 20 years ago. People would think their documents were gone if they couldn't launch Word, or were confused by getting a file on a floppy that they couldn't open because they didn't have the right program installed.

Technically, you have a generic filesystem, and individual programs can load files from that, there's no direct relationship between the files and programs. But in the mind of a typical non-tech user, files are something that belong to a program.

Yeah, I think it's a losing game to ask users to do more work because we technical people think it better or more correct.

I thought Apple was the one company pretty good at it because of their support for Bluetooth -- recently I was able to download pictures off of one of the old flip-phones (a really old phone) to my Macbook Air just using Bluetooth connectivity. I think the first scenario of the OP could've been accomplished using Bluetooth connectivity.

just because people don't recognize the problem doesn't mean they don't feel it, or wouldn't want a solution. Drew Houston's talked before about how one of the major hurdles for Dropbox early on was simply convincing people that file sharing was a problem. times have changed and now there's a new kind of "unrecognized problem" to be solved re: filesharing.

Pretty much everyone agrees that if companies like Google and Apple made local file sharing easy and cross-platform, all of us -- all of society -- would benefit.

However, these companies have financial incentives to do the opposite: they want users to do everything within tightly controlled platforms like Google Drive and iCloud, and they want to avoid commoditization at all costs. The last thing these companies want is for users to be able easily to transfer all their videos, music, photos, work files, contacts, calendar data, bookmarks, etc. from one platform to another.

The behavior of these companies is analogous to the behavor of AT&T at the beginning of the 20th century. AT&T had the largest telephone network with the most users, and smaller independent phone companies wanted to interconnect with it, but AT&T refused to do so, causing users to leave the smaller networks for AT&T's. Users of the smaller networks were unable to connect with users of the largest network. It wasn't until after the US federal government challenged AT&T for monopolistic behavior that this changed. In 1913, AT&T settled with the government in the "Kingsbury Committment," which required AT&T to allow non-competing independent telephone companies to interconnect with the AT&T network.[1]

I suspect the only way we can get easy and cross-platform data portability (local and otherwise) is via government intervention -- that is, if the government forces companies to do it for society's benefit (for example, by legally requiring compatibility with open data-sharing and app-interconnection standards), at the expense of user lock-in and corporate profits.

[1] https://en.wikipedia.org/wiki/Kingsbury_Commitment

I agree with everything but your final two paragraphs; I suspect that a government-mandated solution would be horrible in all sorts of ways (poor security, a mandated backdoor &c.).

My hope is that the propellerheads in those companies are able to figure out a way to sneak this killer feature past their respective marketing people.

Government-mandated solutions can take many forms, some of which are less intrusive and/or more reasonable than others.

For example, if you live in the US, you are legally required by the government to drive on the right side of the road (to avoid the chaos of the past, when each US city and state had different driving rules), and you are also legally required to buy car insurance (to make sure irresponsible drivers who cause more accidents don't get a free ride from responsible drivers). I think most people would agree these are reasonable government solutions that are not too intrusive.

Perhaps it might be possible to come up with reasonable "rules of the road" that are not too intrusive and which the government can enforce so all of us -- all of society -- can easily share data between applications and platforms?

For all its warts governments seems to be mostly good.

It seems however they should however be balanced by a powerful population.

Apple and possibly, ironically enough, especially Microsoft both seems to be positioned to score here (create great solution, release specs, encourage adoption, be a hero).

Unfortunately I don't think they will. After Apple weaseled out of open sourcing Facetime and with Microsoft running their own cloud I won't bet much on it.

> Why is inter-device file sharing still a hassle?

Because every vendor and their dog wants to push their own proprietary toy solution to lock in users, instead of using any of the existing standards.

No doubt DRM has a part in it too. In fact I'd say file sharing has gotten more difficult precisely because of those business desires to ultimately control how people share content. The fact that locked-down platforms like iOS even hide the concept of a filesystem from the user is a good indication of this trend. Android isn't quite there yet, but you can see it in their gradually degrading support for removable media.

--> You spend 5 minutes finding someone who still carries a USB stick and transfer the files.

I still do, and perhaps 5-10 years ago, when file sharing as a whole was more... healthy, almost everyone did. MP3 players (except Apple's) also doubled as convenient portable USB mass storage devices. Before that, floppies and null modem cables (remember those?) were pretty popular.

There is a universally accepted standard. And I believe the usual suspects have each had it implemented on their manufactured "smartphones". Each device can put its network interface into AP mode.

I think the marketing term is "WiFi Direct". But good luck getting Apple and Samsung devices to both discover and associate with each other.

If it feels like you're continually being corralled into sharing files with the person next to you via a third party's servers and an open, insecure, untrusted network ("the internet"), then maybe you are.

It is not necessary to use the internet and third parties to do something as simple as transfer files to the person sitting next to you (without using removable media), but it's easy for companies to convince users that this is the only way to do it.

And in most cases no convincing is even necessary because users fail to consider the alternatives.

What's the problem with Bluetooth? File sharing between smartphones and computers has worked every single time for me, and it's natively build into all devices.

I have never gotten a Bluetooth device to ever work. I've heard tell of people using Bluetooth, but I think it's an urban myth.

It works for keyboards and mice made by the same vendor as your OS but otherwise it's junk. Terrible protocol.

i heard a joke that "it'll work great next year" is the permanent slogan for bluetooth.

personally i can report a C+ experience usually. generally functional, maybe even reliable for a brief while, but buggy as hell throughout.

On Android, its built in.

Windows Mobile < 8? Nope iOS? Nope

It isn't? Wow, Apple. Also, who uses Windows phones?

Apple can use bluetooth for file sharing. It's part of their 'Airdrop' feature, which uses bluetooth + wifi to move files around. (I think bt is only used to negotiate temporary wifi settings, and then the actual file exchange takes place over wifi.)

But once again, the real problem here is that Airdrop is apple-specific. We still have the same fundamental problem that despite having many direct file sharing choices, there is no common way across all the OS/hardware platforms.

just confirmed: tried to send an image from android to mac. Complete failure (on Apples side?)

didn't even try to use Bluetooth for ages, because every time it results in nightmares.

( and yes: Bluetooth was activated and connected )

The people on countries that paying for an iPhone would cost too much versus their life costs and don't want to use Android.

Windows Phone doesn't have significant traction anywhere in the world.

Many southern and east European and South America countries used to have around 10%, before the last layoffs round and the broken promise to upgrade 8.1 devices to WP 10.

Can gladly provide you the link to consulting companies that sell such reports.

"Used to have 10% before a bunch of bad stuff" is exactly what I meant, Windows Phone has no significant adoption anywhere in the world.

People don't throw away their phones on the garbage can, just because some people on HN think they should.

Apple always bakes their own bread...

And plenty of people have to use their company Windows phone.

Until iOS came around they had absolutely excellent Bluetooth support in OS X, including file sharing and even stuff like contact sync with dumbphones which worked really well.

Also on Symbian and S40 it was already a well known feature.

iOS only supports sending files though their proprietary AirDrop. OS X does support Bluetooth file sharing though.

Isn't it ridiculously slow?

Last time I tried it I got a couple of hundred kByte/s. Not very fast, but doable. Wouldn't transfer dvd iso' with it ;-)

Randall made the same observation some time ago:


That was years ago. The crazy thing is that it is still true.

I have been working on this area for 2 years now and created AirMount https://www.airmountapp.com. You don’t need the cloud, internet, Bluetooth or USB. Today it works between iOS and Mac, and now we are building it out for Windows and Android. I dream of the day when sharing files with any nearby device will just work like AirMount does today, irrespective of their OS. The industry needs to collaborate to make open standards, but in the meantime I intend to push the limits of what is possible already.

I really like your app, it's nicely designed and works well (a bluetooth-using program that works first time is very rare, IMO :) It also works better than Airdrop, this is the best way I've seen to easily move stuff between my phone and desktop.

Once Android is supported, this might actually become the universal way to share stuff.


looks interesting, does it support the transferring of pdf/epub files from iBook?

Yes, AirMount integrates with the native iOS Photos app for accessing photos and videos directly from the Mac’s Finder. It supports all file types through a built-in “Drive” where you can store PDFs, documents, email attachments and documents from the Mac that you want to carry in your phone, without sending anything to the cloud. From the Drive, you can preview those PDFs and files, and share via other apps. I love that I can just drag and drop stuff between my devices and it feels very natural, personal and quick.

just to confirm, specifically I can access all files stored in iBook?

iOS does not permit another app to access iBooks data. So I would suggest storing the PDFs directly in AirMount app, so you can access them from your Mac.

The closest thing we've got is Beam, here on Android, which Apple and MS should seriously consider adopting. The only problem is that it does require some hardware support, IIRC.

Before that, the best thing for file sharing was Bump, which was kind of hacky, and required internet as a result, but did work. Sadly, Bump is no more.

As for sharing files with yourself, my answer is typically SFTP, which is excellent, provided it does what you want. It also works well for transferring files at conferences, providing your slides aren't to big to make the roundtrip in good time. A bit hacky, yes, but it works.

I thought Bump was a pretty cool idea. It's a shame that it didn't take off.

Beam is hardware-assisted Bump, essentially. The protocol is radically different, but the UX is the same. Unfortunately, that seems to be android-only.

> implementations installed by default on every device

That's not a trivial ask. Security experts might wonder, "Wait, what new entry point are you mandating on my devices? To solve which problem?"

They'd caution that several subsets of this problem are already solved, lowering its urgency. You own both devices and have wifi? Dropbox. You have internet access? Email or other messaging services / file lockers. Both devices are the same ecosystem? Bluetooth / AirDrop / WifiDirect / Beam. You are near a gas station or in a house with a junk drawer? $1 USB stick. You didn't forget your cable? Cable. You are both developers? You may already have some arcane solution, depending on the platforms...

So, while it'd be nice to ensure two unacquainted technophobes who meet in the woods have the ability to move some file from one's mp3 player to the other's digital camera, despite never having installed any software or brought any drives or cables to help, we're slicing off thinner and thinner portions of salami here.

Also consider other approaches. More ubiquitous (functioning) internet solves all of the above, along with several other problems.

Absent that, foresight would have prevented a few of the test cases. Foresight isn't trivial, I know, but that opens up other approaches. Like maybe an alarm on a device that rings if the device gets too far away from some other little chip, which you can stick on a cable you want to never forget. A shim to friend and create a temporary shared Dropbox directory with strangers nearby would require advanced installation, but might be useful.

I don't mean to diminish the frustration of these situations. If you were talking about developing some software to help local area sharing, I'd say go for it. But putting the bar at mandatory interconnection in all devices... it's a high bar. The mere fact that legacy devices exist makes it impossible to meet those constraints.

If you relax your constraints just a little, though, I suspect a few opportunities for interesting work open up.

This was actually easiest for me during the end of the dumbphone era. All the devices around then had Bluetooth and supported the Object Push Profile, and there wasn't yet any DRM implemented on sending stuff like MP3 files. It was slow but worked.

Then Apple killed Bluetooth by never supporting it well on the iPhone, and then implemented their proprietary AirDrop (which is actually LESS reliable for me, between Apple devices(!), than Bluetooth OPP was)

A Y Combinator pitch:

[It] synchronizes files across your/your team's computers. It's much better than uploading or email, because it's automatic, integrated into Windows, and fits into the way you already work. There's also a web interface, and the files are securely backed up to Amazon S3. [It] is kind of like taking the best elements of subversion, trac and rsync and making them "just work" for the average individual or team. Hackers have access to these tools, but normal people don't.

The problem has been attacked many times, but only centralized subscription services and hardware vendor walled gardens have succeeded as businesses.


The problem has been attacked many times, but .. have succeeded as businesses.

That is the problem right there. It shouldn't be a business. It should be a standard for all devices e.g keyboard and mice work out of the box everywhere.

There was an open source file system aiming for just that, including internet-based storage named 'opfs' or something but I can't find it anywhere now.

Not sure if sarcasm... do you mean IPFS?

yes thank you and I'm sorry, no sarcasm just plain stupidity

It'll never take off.

There is no business in it. If anything there is a powerful incentive against anything that permits interoperation. The big guys all want to build closed vertically integrated silos, and probably more than half if all startups are trying to do the same or position themselves for an acquisition by building entirely within someone else's silo.

Open source is the only way this could be fixed, and unfortunately that is mostly the kingdom of developers who already think this is a solved problem via ssh, virtual networks, etc. Developers tend not to care about end user problems unless... well... there is a business in it!

A few perspectives:

1). Agree with many that Bluetooth (or another open protocol) is really the way to solve, but the incentives are low to implement universally as the common operating systems in our devices have shifted dramatically in the last 10 years.

2) remember the brief peer-to-peer revolution? Bit torrent, kazaa and emule were (are) pretty effective but have a bad reputation from being used for file piracy.

3). Because of #2, it's been safer for businesses to conform to the SaaS models / garden walls. (Monetizing them is also better understood)

Bluetooth used to be common until vendors started implementing their own file-sharing or just focused on sharing files in the "cloud", which is really inconvenient when there's no internet connection (not to mention, even when there is internet connection, it's really an inefficient process, bandwidth-wise, to send someone right beside you a single file over the internet).

Maybe we should push a standard for local file-sharing so that all vendors will implement it in their mobile operating systems.

We need to focus more on mesh wifi networking. If Our phones could connect directly (and they can) using wifi in a mesh, it would be quite easy to write network clients to share data with them.

FireChat (http://www.opengarden.com/firechat.html) tried to do mesh network messaging, but security is hard to get right in mesh networks, since the data passes to other clients if needed. For example in Tor, it's great use for anonymizing end users, but it's not great for security - I wouldn't use it to send confidential information such as credit card info.

What about a rings of trust system? Tap your phone to someone you know etc, and your devices know to trust each other. Add a level of trust to that, so the apps can act accordingly. Also, make it so messages can be stored until a PtP or relay over internet can be done.

Android Beam does exactly that. Of course Apple benefits financially if they refuse to implement it.

Yea and its good for when it works, but i was talking more of a true mesh, where the message is passed between phones directly until it finds a path to the net or destination.

The problem is that there are lots of standards for local file sharing, and vendors all choose different standards. The answer to this problem is unlikely to be creating a new standard (insert obligatory XKCD link here)

If you have IP network, It's pretty easy to setup a FTP(S) server. Just close it when you are done with the transfers.

The problem I think is NAT, witch makes everything much harder. But it also works as a basic firewall ... I remember the age when you used to connect your PC directly to the Internet, and if you didn't have the latest patches you would get the sasser virus within seconds. It would be scary running even Linux not behind a firewall. And many devices (smart-TV's etc) now a days expect a LAN and will be completely open.

Raise your hand if you would be OK with exposing your whole LAN to the Internet.

Whatever you do, do not use e-mail to send files! Your e-mail will go though many servers on the way, and will take up server disk space. And the data will be encoded to base64 witch will make them about 30% larger. Small files <20 Mb will be fine, but don't send Gigabytes!

I don't understand this either. We've had the ability to transfer single files over a local network basically forever with netcat http://jvns.ca/blog/2013/10/01/day-2-netcat-fun/. This just uses TCP and is really really simple. I use it all the time if I need to transfer a video or something.

the problem with this (even though the basic capabilities are there!!!) is that netcat isn't super user-friendly so people don't use it. And it's not possible to do easily on a mobile device.

So why hasn't someone built a widely-used user-friendly application that lets you send files over local networks using TCP? I don't know. I don't think it's because it's too technically challenging though.

Well if you're on a local network you could be using scp or rsync, both of which do folders and at least the latter of which does compression and avoids transferring duplicate files.

I think you're right it's always a hassle. Personally at work (we make hardware) I take photos of our product or other products in thr market, want to highlight interesting design choices, and put the pictures on Slack.

So I taka a photo via iOS, connect to Wifi so Dropbox uploads the photo, open the file on my laptop, highlight and tag the feature, and put it on Slack. It's way better than a USB cable but there's so much more technology involved in the chain.

I think for me it's difficult to imagine a better solution though. So what's the ideal experience? Does it fit into the existing computing paradigm or no?

On Android (possibly only Android, unfortunately) there's an app called "Share via HTTP" in the fdroid repositories. Basically if your devices are on the same LAN, you can get the file off your phone, either with an IP/port combination, or a QR code. Obviously it would be nice if there were a desktop equivalent so you could go the other way, but this app has really made things a lot easier for me to move files around.

I use HTTP, it works everywhere. On my notebook, I have a http server, on Android phone I use TotalCommander app with HTTP server that works both for upload and download.

Bluetooth. It is a bit slow - especially on large video files, but you can use it to send arbitrary files to just about any modern device.

Or, WiFi direct https://en.m.wikipedia.org/wiki/Wi-Fi_Direct for larger files.

Now there's a problem with discoverabillity and compatibility - but that's no different to trying to get CIFS devices talking to each other.

Check out https://www.mimik.com

Disclaimer: I used to work for mimik.

Whoops, totally forgot to post the link in the first place: http://theduke.at/blog/develop/sad-state-of-file-sharing/.

This search and download by tag app (https://www.coopla.com/filefile/) makes it convenient. However all files are public, its iOS only, no Android, no web and no desktop.

it's definitely still a hassle but there is this great free solution that is not very well known, at least for when there's internet on the devices: https://file.pizza/

Nice idea, but doesn't work on iOS (Safari nor Chrome)

For a short time I had a windows 8 phone. That was the only time sending stuff over bluetooth from computer -> phone, phone-> computer, phone -> windows phone actually worked well. Unfortunately the rest of windows phone sucked.

Why isn't browser enabled Bluetooth sharing the answer? Every phone has a browser to use for the offline UI, every phone has Bluetooth as the transport mechanism. Seems like a pretty simple implementation.

Easy solution for problems 2+3: tiny USB sticks. For example SanDisk Cruzer Fit 32GB ($ 9) on amazon.

They have a tiny loop, but I prefer to always keep it plugged in to my laptop.

Always works.

Except with smartphones.

Have you looked at USB OTG? Most Android phones will natively mount a USB stick when plugged in.

because everyone insists on managing their own files by hand instead of storing them in a version controlled database with client caching

Forget file sharing, offline backups & recoveries are a massive pain on mobile, cloud, etc.

Hmm, Airdrop is usually fine for me.

AirDrop is Apple device only...

That shouldn't stop someone from reverse engineering it

You win some, you lose some, know what I mean?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact