“Babylon 5 was the last of the Babylon stations. There would never be another. It changed the future … and it changed us. It taught us that we have to create the future … or others will do it for us. It showed us that we have to care for one another, because if we don’t, who will? And that true strength sometimes comes from the most unlikely places. Mostly, though, I think it gave us hope … that there can always be new beginnings … even for people like us.”

— General Ivanova in Babylon 5: “Sleeping in Light”

It seemed fitting.

While Google+ was never a shining beacon in cyberspace, it spanned the period from when social media was still new(ish) and exciting and hopeful, to when we started realizing that the big tech silos — Google, Facebook and Twitter especially — have been creating the future for us, one recommendation algorithm at a time…and it’s a train wreck.

We need to create our own online future.

We need to care about the people at the other end of the connection.

We can find our strengths, and build up others’.

And there can still be new beginnings.

In advance of Google shuttering their third(?) attempt at a social network, Google+, I’ve retrieved a full archive, and I’ve trawled through it looking for anything that I want to keep online after the shutdown. Most of them were cross-posts of one sort or another, or (early on, especially) the kind of random social media status that maybe has value in the moment, but not down the line. I found around 30-40 posts worth keeping. Some had their own merits, some fit in with other posts here on the blog.

Rather than just import them verbatim, I’ve decided to do some minimal cleanup. No major rewriting or anything, just the kind of things that I’d be willing to silently change on an old blog post that was already here:

  • Fix up the formatting
  • Fix typos
  • Link to related posts
  • Add a quote to linkblogging posts if they need more context

Yeah, it’s slower than copy-paste or direct import (I never did get around to writing the converter I wanted to), but there’s no rush for old news, and I’ve got copies to work from even if I’m not done by April 2.

With yesterday’s news that Google+ is shutting down next August, I found myself looking again at my exported archive from the network. This time I was less interested in the format (which has changed since January – you can export as JSON instead of HTML if you choose, and it includes media now), and more interested in what I had posted there over the years.

Early on I used Google+ a lot like Twitter: short statuses and link sharing, most of them short enough they could have been cross-posts.

After that early period I still mostly posted short items, but not as short. More like Facebook, really. I checked a few and found some tailored cross-posts, where I’d cram something into 140 characters for Twitter, then restore the missing words and abbreviations for Google+.

I tried using it as a blog. I did a few longer text posts and some photos, and a handful of galleries: A partial solar eclipse, Endeavour’s stop on the way to the museum. I contributed to a shared photo gallery from SDCC, and I’d share the occasional post from someone I followed.

Somewhere in there I’d figured out what felt like Google+ instead of what felt like Twitter or Facebook.

But most of my friends went back to Facebook, and the few people and sites I was still following on Google+ were also available elsewhere. So I stopped visiting, and I stopped posting.

From around 2015 on, it’s mostly auto-posts from my blog and the occasional picture that Google Photos’ auto-stylize feature actually made look interesting.

Ironically, I got my first +1 in ages on yesterday’s here’s-where-you-can-find-me post!

Update: Google has moved up the sunset from August to April 2019.

I checked out what you get when you export your content from Twitter, Facebook, Google+, LinkedIn, WordPress and LiveJournal, with an eye for both private archives and migrating to your own site.

Tired of Twitter? Fed up with Facebook? Irritated by Instagram?

If you want to leave a major social network, but keep your content — or even just make sure you have your own backup in case the site shuts down, purges accounts, or changes its TOS *cough* LiveJournal *cough*, you can usually get some of your info. But not all of them give it to you in a way that’s useful.

Twitter

You get a CSV spreadsheet containing all your tweets since the dawn of Twitter, with the text in one column, ID in another, timestamp, reply-to, and so on. It’s pretty easy to import this into another system. (I pulled mine into a test WordPress site using the WP All-Import plugin.)

Links in the text appear as the t.co shortened URL, with the “real” URL in another column. Of course, if the “real” URL was also a shortener, you’ll just see bit.ly or whatever. And if you’ve been on Twitter long enough, you may find that some of your older links use shorteners that don’t exist anymore (or have purged their archives), like ping.fm or tr.im.

You also get an offline web app with an index.html that allows you to view all your tweets month by month without visiting the site.

But you don’t get any of your uploaded media, or direct messages. So if you mostly use Twitter for text-based microblogging, you’re fine, but if you use it for photo sharing or private conversations, you’re out of luck.

Update: Retweets are sometimes incomplete in the spreadsheet. The text field is a constructed manual retweet — “RT @otheruser: Text of the original tweet” — but it’s truncated to fit in 140 characters (even if the original was made after the 280-character update). So if adding the username pushes it over the limit, or if it was longer to begin with, you don’t actually get the entire original tweet in the spreadsheet. I suspect this means retweets don’t actually use that field, and get the content straight from the original tweet by ID.

Facebook

You get all your photos, videos and messages, organized by folders, but the names are all just numeric IDs. You do get an offline web application that includes names and indexes.

It also has your entire timeline in one giant HTML file. But it only includes the text, the type of update, and the timestamps. If you posted a link, it doesn’t include the link. If you posted a photo, it doesn’t link to the photo.

And you don’t get comments, either your comments on other people’s posts, or their comments on yours.

Worst, though? It doesn’t indicate the privacy of each post. That means you can’t take the timeline and import it to a new system unless you separate the public and private posts one by one.

Update March 2018: Apparently if you use the Facebook Messenger app on Android, there’s a good chance Facebook also has your SMS messages and call history. This is probably not something you expected them to have.

Google Plus

Google Takeout allows you to export various categories of data, including your Google+ stream, circles, +1s and page posts.

Each post is exported as a separate HTML file, named after the first line. Comment threads are included, along with timestamps, a permalink to the original post, and a visibility indicator. It only marks Public vs. Limited, but that’s better than you get from Facebook.

The HTML files are suitable for publishing as-is, and marked up so that that it shouldn’t be hard to write an import tool for a CMS. (I’m planning on writing a script to convert them to WordPress’ XML format.)

Images aren’t included in the G+ stream download, and are instead hotlinked on photo posts and galleries. I haven’t checked, but I suspect any images you uploaded to Google+ will be included in your Google Photos download.

There is an index of all your posts…but it’s in alphabetical order.

Bonus: Google Buzz

When Google shut down Buzz a few years ago, they generated archives and put them in each person’s Drive account. They did one cool thing, which was to create two sets of archives: One complete, the other containing only public posts.

The format? Long PDFs, dozens of pages each, with all your posts, labeled by source (Buzz, Twitter, a specific site, etc.)…with the letters scrambled. Apparently they left the “reduce file size” option turned on when they generated them. This means you can’t copy/paste or search in the PDF itself, but you can open it in Google Docs and it’ll convert the text back, at which point you can do both. But that doesn’t preserve links or media, which you have to get out of the original PDF…

LinkedIn

LinkedIn generates two phases of archives. The first one, available within minutes of requesting it, contains your profile info, your messages, contacts and invitations in CSV files.

The complete archive, available within 24 hours, actually lives up to the name. Everything is in a set of CSV files: Your contacts, your shares, your group posts, your group comments, even your behind the scenes info like ad targeting categories and recent login records. (One word of warning: They’re encoded as UTF-16, so if the tool you use to import afterward isn’t expecting that, you may need to convert it.)

I’m not sure how photos and video are handled, as I’ve never uploaded either to LinkedIn (other than my profile picture, which landed in a folder called Media Files).

LiveJournal

LiveJournal’s own export tool will export a month at a time into a CSV or XML file, which includes your posts and their metadata (timestamps, moods, etc.), but not comments, userpics or photos.

There are other tools available using the API, which might be able to get more data. I’ve looked at two:

The WordPress importer will pull in all your posts, and the comments on them, and makes a note of moods, music, etc. (you can use my LJ-Moods plugin to display them). It doesn’t transfer any images you’ve uploaded.

DreamWidth’s importer seems more complete – LJ and Dreamwidth are based on the same code, after all – and is able to natively handle moods, userpics, etc. But it doesn’t transfer your media library either.

WordPress

WordPress exports a giant XML file containing all your posts, their comments, and their metadata. You can import it into another WordPress instance, and have virtually the same blog. Or you can merge two blogs together by importing both. (I’ve moved posts with comment threads from one blog to another by putting them in a category, exporting the category, and then importing them on the new blog.)

It doesn’t include your media library, but if you import the file to a new site before closing down the old one, the importer should offer to pull in all of the images and other media that are actually used in posts.

Plus on a self-hosted site you have a lot of tools available: backup plugins that will include everything, SFTP access through your web host, etc.

Update: Tumblr

I didn’t initially include Tumblr because it doesn’t have an exporter…but WordPress has an importer that does a good job of transferring your blog directly from Tumblr to a WordPress blog. (Look on your WordPress dashboard under Tools/Import.) It even imports images (though sometimes it imports a single-image post as a gallery for some reason). The original URL is stored in a custom field, and you can leave it connected and import new items when you want to bring them in.

Some gotchas: It can only map to one author, but you get to choose which one. It puts everything in the default category. Videos don’t get imported, even if you’ve just embedded a YouTube video.

Update: Mastodon

With the 2.3.0 update (March 2018), Mastodon has added its first archive tool. It’s essentially complete, but it’s only machine-readable so far. You get a pair of files in ActivityPub format (based on JSON), one containing your profile and one containing your formatted posts. You also get a folder structure containing any images and videos you’ve uploaded, and your icon and header image.

If you’re willing to slog through the JSON files, you can figure out which image goes to which post, but it’s still a pain.

But this is a first pass, aimed more at portability (keep your own backups or move your data to another instance or service) than readability. ActivityPub is a new standard, so there aren’t many converters yet, but that’s likely to improve.

Others

Instagram doesn’t have an export tool, so you have to rely on third-party solutions.

Flickr allows you to bulk-download photos from your Camera Roll, and it helpfully uses the title to name the files, but it doesn’t export the description, tags, or comments.

Mastodon currently only lets you export your contacts and block lists, but archiving and migration (from one Mastodon instance to another) are on the roadmap.

Google has released the first taste of what will become a larger Google+ API for third-party applications built on their social network. So far, all you can do is authenticate, retrieve someone’s public profile, and read their public activities. That doesn’t sound like much, does it?

Well, here are some ideas I came up with over lunch:

  • Add Google+ activity to a lifestream.
  • Allow someone to comment on your blog using their Google+ identity.
  • Create a map of movements of based on public checkins.
  • Analyze posting frequency & times.
  • Analyze most popular posts based on reshares, +1s, replies (basically: add Google+ to Klout [Update: That was fast!])
  • Associate a person with other profiles you might have from other social networks, based on their profile URLs.
  • Build a list of people who work at an organization and speak a particular language.

Of course, it’ll really start taking off when they enable write access and the link-sharing and cross-posting services can get in on the act.

So, how about you? What else do you think can be done with the limited API released today?