summaryrefslogtreecommitdiff
path: root/wired/transfer-data.txt
blob: 88991dd650244d27ab6b7d0b07051ed3d81f7c92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Moving your data from one device to another is a pain. It's enough of a pain that most software offers some kind of data transfer when you set up your new device. Unfortunately, most of the time these "migration assistants" are garbage.

I'm in a unique position of having to use new devices all the time, which is both tons of fun and a pain in the butt when it comes to setting them up. After years of doing this, trying new services, and tweaking my systems I've finally settled on a way to have all my data and eat it wherever I go, whichever device I use. 

### Pick a File Syncing Service (And Use It)

The core of my system is a file syncing service. I have tried them all and settled on [NextCloud](https://nextcloud.com/), which I host on my own server. There's a [hosted version](https://nextcloud.com/signup/) available as well. If you want a more familiar name, [Dropbox](https://www.dropbox.com/){: rel=nofollow}, [Google Drive](https://www.google.com/drive/){: rel=nofollow}, and [Sync.com](https://www.sync.com/){: rel=nofollow}, all offer roughly the same features. 

Once you install the app for whichever service you decide to use, it runs in the background and syncs your files to a remote server. How this works varies somewhat, for example by default Dropbox creates its own folder and syncs anything you put in it. One of the things I like about NextCloud is that you can tell it which folders you want synced. You don't have to change anything about where you store your files. 

When you change a file on your device, the service syncs those changes to the server. Any other device also connected will then pull in those changes. This way you can easily go from working on your phone, to working on a tablet, to working on a laptop almost without noticing that you've switched devices. Even if you don't test hardware for a living, this makes life simpler -- you always know all your files are available on all your devices.

The best way to think of this whole syncing system is that the server copy of a file is the canonical file. That is, the "real" file lives on the server, which is like the library of all your files and you're just "checking out" those files on whichever device you're using. This means that if you get rid of a device, it simply disappears from the system and your files are unaffected.

In my case, once I'm done testing a laptop I re-install Windows (or macOS) and my files are gone from the device, but still out there in my "library" on the server. 

I don't store everything in NextCloud. Or rather I do, but it takes a long time to sync gigabytes and gigabytes of media files every time I test a new laptop, so I only actually sync a few key files to new devices, primarily my documents folder and a folder of notes. It's about five gigabytes of data and generally takes less than 20 minutes to download. 

The one caveat here is that you must save any files you create on your local device to a folder that's being synced. This will bite you if you only sync your documents folder, but your web browser downloads a file into the Downloads folder. You think the file has been synced, but it hasn't because it's not in the Documents folder. The way around this is either tell your browser to download to Documents, manually move the files you want synced into Documents, or sync your downloads folder.

One other thing to note: using a syncing service is not the same as making a backup. These are syncing engines, not backups of your files. Any changes you make to a file will cascade across all your devices, which is the opposite of what a good backup does. A good backup never changes. Just because you have things synced does not mean you have them backed up.  

### Use a Browser Sync Service

While I sync my documents with NextCloud running on my own server, for web browser data I use what comes in the box.

For web browsers I primarily use Vivaldi and Firefox, which both offer a way to sync your data between devices. Chrome, Brave, and most other browsers offer some kind of syncing as well. I use [Vivaldi sync](https://help.vivaldi.com/article/sync/) and [Firefox sync](https://support.mozilla.org/en-US/kb/how-do-i-set-sync-my-computer) to make sure I have my bookmarks, browsing history, open tabs, preferences, add-ons, and auto-fill data. Everything but passwords, which I sync with a password manager (more on that below).

As with the document syncing, syncing web browsing data means I can seamlessly move from device to device, picking up my browsing sessions right where I left off. My history and even open tabs from any device are available on every device.

### Use a Password Manager

We're always harping on you to [get a password manager](https://www.wired.com/story/coronavirus-quarantine-start-using-password-manager/) because it's more secure and will make you safer online. But I'll let you in on a little secret: I don't use a password manager for security so much as for convenience. The security is there, but the main thing I love about a password manager is how simple it is get up and running on a new device, quickly putting all my passwords at my finger tips. 

Probably the most time consuming process of setting up a new testing device is logging into all the services you need. For me there's work email, Slack, Airtable, publishing systems, Amazon, and dozens of other web-based services that I need to get up and running before I can get any work done. And I don't like my co-workers to have to wait too long for my snarky comments on Slack so the faster I get this set up the better.

I happen to use [Pass](https://www.passwordstore.org/), which is nerdy, self-hosted, and a little complicated, but I've been using it for so long it's the most comfortable for me. Don't worry if that looks like too much, I have accomplished the same thing using all the services in our [guide to password managers](https://www.wired.com/story/best-password-managers/), and I stand by my picks in that article. For most people, [1Password](https://1password.com/sign-up/) is my recommendation.

### Email

If you use web-based email like GMail or Outlook.com there's not much to do, you can access your email in a web browser. In fact, no matter which email provider you use, these days there's almost guaranteed to be web-based access of some kind. Check your email provider's documentation for details.

I prefer to check my email through either mutt or Thunderbird, which requires one extra step: downloading the application and filling in my details. In a pinch, NextCloud has an email application I sometimes use to check my mail in a web browser (this is what I do on Chromebooks, where running an application like Thunderbird is not possible.

### Work in Cross-Platform Applications 

Despite syncing my data through a remote server, I am not a huge fan of web-based tools and applications. Between potential security issues, vendor lock-in, and years of living with flaky internet connections I'm most comfortable working locally and then syncing. I end up using mainly desktop applications and letting NextCloud handle the syncing. 

This way I can keep working even when the coffee shop Wi-Fi craps out, and I never have to worry that an update to my favorite cloud application destroys my entire work flow. 

For this system to work though it helps to use applications that work no matter what operating system you're using. For Windows, macOS, and even Linux this is mostly not a problem. For spreadsheets and all things office suite related I use [LibreOffice](), which works across all three. As noted above, I use Vivaldi and Firefox for web browsing (though almost every web browser around will work across devices). Communications apps like Zoom, Slack, and IM applications are likewise available across platforms.

The big problem with using desktop apps is ChromeOS, which barely has the concept of a desktop, let alone locally running applications. This is why we suggest you very carefully evaluate your needs before buying a Chromebook. On ChromeOS you're more or less forced to use web-based applications. If you want tight integration with ChromeOS itself, you're further limited to Google's web-based applications. 

When I have to test ChromeOS devices I punt and use Google's applications since this is most likely what readers will be doing and I'm trying to evaluate how well a device meets those needs. To get my data off ChromeOS so I can work on it elsewhere I manually copy and paste from a Google Doc into a plain text document in NextCloud (which does at least sync files to ChromeOS devices via the Android app). This is awkward and I don't recommend it as a workflow, but it gets me by.

### This is Easier if You Don't Test Hardware 

This is how I work, but my work is an extreme case. Most of us do not get a new laptop nearly every week. That said, even if I did not have to test a bunch of hardware, I would still use this same system to make sure that all of my data, web browsing, and passwords moved seamlessly between my phone and my laptop. 

The best part is, this entire system is essentially free. I'm cheating a little bit since I do pay $10 a month for the server that hosts my NextCloud files, but it does half a dozen other things as well so I'd be paying for it either way. Even if you spring for Dropbox's Plus plan, $10 a month isn't much to pay for the convenience of having all your files available no matter which device you find in your hand.