Sometimes Simple Is Best
There are many ways to transfer files from one Linux computer to another. Moving files to a computer with a different operating system requires a little more effort. If the requirement is for a one-off movement of files, that doesn’t warrant setting up a Small Message Block (SAMBA) or Network File System (NFS) network share. And you may not have permission to make changes to the other computer.
You could put the files into hosted storage in the cloud, and then log in to the storage from the other computer and download the files. That means transferring the files twice using the internet. This will be much slower than sending them over your own network. Perhaps the files are sensitive and you don’t want to risk sending them to cloud storage.
If the files are small enough, you can email them. You have the same issue with email—it leaves your network via the internet only to be retrieved across the internet on the other computer. So your files still leave your network. And email systems don’t like attachments that are binary executables or other potentially dangerous files.
You have the option of using a USB memory stick, but that quickly becomes tedious if you’re both working on a set of files and frequently sending versions back and forth between yourselves.
Snapdrop is a simple solution to cross-platform file transfer. It is open source, secure, and free. It’s also an impressive example of the simplicity that a well-crafted tool or service can provide.
What Is Snapdrop?
Snapdrop is an open-source project released under the GNU GPL 3 License. You can check out the source code or review it online. Boasting systems that claim to be secure, Snapdrop gives you a sense of comfort. It’s like being in a restaurant that has open views into the kitchen.
Snapdrop runs in your browser, but the file transfers are made across your own network. It uses the Progressive Web Application and Web Real-Time Communications technologies. WebRTC lets processes running in browsers use peer-to-peer communication. Traditional web application architecture requires the web server to broker the communications between two browser sessions. WebRTC removes that round-trip bottleneck, shortening transmission times and increasing security. It also encrypts the communication stream.
Using Snapdrop
You don’t have to sign up for anything or create an account to use Snapdrop, and there’s no login process. Just fire up your browser and head over to the Snapdrop website.
You’ll see a minimalist web page. You’re represented by an icon made up of concentric circles at the bottom of the screen.
You’ll be allocated a name formed by combining a randomly selected color and a type of animal. In this case, we’re the Aqua Basilisk. Until someone else joins, there’s not much we can do. When someone else on the same network opens the Snapdrop website, they’ll appear on your screen.
The Ivory Louse is using the Chrome browser on a Windows computer that’s on the same network as us. They are displayed in the center of the screen. As more computers join, they will be displayed as a group of named icons.
The operating system and browser type are displayed for each connection. Sometimes Snapdrop can recognize the Linux distribution a person is using. If it can’t, it uses a generic “Linux” label.
To start a file transfer to one of the other computers, either click the computer’s icon or drag and drop a file from a file browser onto the icon. If you click the icon, a file selection dialog appears.
Browse to the location of the file that you wish to send and select it. If you have many files to send, you can highlight several of them at once. Click the “Open” button (located off-screen in our screenshot) to send the file. A “File Received” dialog box will appear on the destination computer letting your recipient know that a file has been sent to them.
They can choose to ignore the file or save it. If they decide to save the file, a file browser will appear so that they can select where to save the file.
If the “Ask to save each file before downloading” checkbox is selected, you’ll be asked to select the location in which to save each individual file. If that’s not selected, all the files in a single transmission will be saved in the same location as the first one.
Surprisingly, there’s no indication of where the file came from. But then, how do you know who the Ivory Louse or the Blue Chicken is? If you’re sitting in the same room, it’s pretty easy. If you’re on different floors of the building, not so much.
It makes sense to let people know you’re sending them a file rather than dropping one on them out of the blue. If you right-click a computer’s icon, you can send them a short message.
When you click the “Send” button, the message will appear on the destination computer.
That way, the person you’re sending the file to doesn’t need to figure out the secret identity of the Blue Chicken.
Snapdrop on Android
You can open the Snapdrop web app on your Android smartphone and it’ll work just fine. If you prefer to have a dedicated app, there is one available on the Google Play Store, but there isn’t an app for iPhone or iPad. Presumably, this is because iPhone users have AirDrop, but you can still use Snapdrop in a browser on an iPhone if you want.
The Android app is still in development. We had no issues using it when researching this article but you should bear in mind that you might experience occasional glitches.
The interface is the same as the standard web browser interface. Tap an icon to send a file or long-tap an icon to send someone a message.
Snapdrop Settings
With its minimalist, stripped-back design, Snapdrop doesn’t have many settings. To access the settings (such as they are), use the icons in the top-right corner of your browser or Android app.
The bell icon lets you turn system notifications on or off. A dialog box will appear with two buttons in it. Click or tap the “Never Allow” or “Allow Notifications” button according to your preference.
The moon icon toggles dark mode on and off.
The information symbol—the lowercase “i” in a circle—gives you quick access to:
An Elegant Solution to a Common Problem
Sometimes, you’ll find yourself in situations where you need to find a solution that sits squarely within the technical comfort zone of the other person. There’s no reason that anyone should find Snapdrop hard to understand.
In fact, you’ll probably spend longer explaining why they’ve been christened the Beige Capybara than you will explaining what they need to do.