Category Archives: Facebook

Facebook Trolling: Ticker Edition

I sort of have a tradition when it comes to Facebook updates. When Facebook introduced polls, I took advantage of the viral sharing properties to expand my poll to more than my close circle of friends. The Facebook ticker feature just rolled out this week, and yesterday Spotify integrated with Facebook’s new graph api.

I’ve noticed a whole lot of ticker updates since then from my friends’ playlists. I decided I would have some fun with the Ticker feature, so I went on Spotify and made a playlist of just “Never Gonna Give You Up.” At first I thought it had not worked, but it looks like my friends are now all aware of my favorite song in the world.

I mostly mess with Facebook to point out unintended consequences of their design decisions. In this case, something passive like listening to music overpowers stuff that might actually be interesting, like a comment or a post. I wonder if Facebook will change their ticker behavior, or continue to allow it to be used for a “firehose” of info while the news feed will be used for more interesting/important stuff.

Fun Trolling Facebook Polls (For Science (Actually Lulz)!)

I saw a Facebook Poll late last night that a friend had voted on. The question was something like “Which pair of shoes should I get?” The poll had twitpic.com links as answers, so the idea was that people look at the pics and let the guy decide which pair of shoes was better.

Apparently in Facebook Polls, you click on the answer to vote. And there’s no unvote (you can vote for another choice, but you can’t abstain after clicking). So people ended up clicking on the twitpic link thinking they’d see the image, and ended up accidentally voting on the poll. I fell for this, too. There were something like a couple thousand answers on that poll. I believe it’s been removed now.

I figured I could do better with a more salient question, so I made one up myself. “Which pair of glasses look better on me?” I made the question have two twitpic links, which you can view here and here if you actually copy and paste them in. I figured people are naturally judgers, and something like helping someone choose glasses to wear is an easy task (plus you theoretically get to see pictures of faces, which people just love, consciously or subconsciously).

I started the poll late last night, which probably didn’t help, but a few friends took the bait. I hope they forgive me as I did this for science the lulz! When I woke up this morning, there were currently 51 votes, from people I know, friends of friends, and even people two degrees out of my social network! I think it would be really interesting to see how this poll spreads through Facebook (assuming they don’t shut it down first).

I guess now that this post is published, any scientific value is gone (since you could be reading from anywhere and vote for my poll non-virally). The main point is that when you design systems very rigidly (in Facebook’s case, not letting people abstain from a poll, which believe it or not is a valid bit of information), interesting consequences pop up.

I’ll keep checking the status of the poll and see if it actually blows up, whimpers and dies or gets taken down quickly.

Analysis Edit:
I think another reason that this poll is so effective is that it makes it seem that the person who voted is the originator of the poll. Check out the newsfeed formatting:

The voter’s name is prominently displayed (though I blurred it) and the person who asked the question is nowhere to be seen.

Edit #1: The time is now about 12:40PM and the total number of voters has doubled to 99!

Edit #2: It’s about 1:10PM and the number has doubled again to 201!

Edit #3: The time is around 1:24PM and there’s 304 answers.

Edit #4: Alright, it’s 1:35PM and there’s 406 votes.
Edit #5: Wow. It’s 1:41PM and there’s 502 votes.
Edit #5: It’s 1:48 and there are 621 votes.
Edit #6: I’m just going to simplify my updates now…
1:53PM – 716 votes
1:58PM – 811 votes
2:02PM – 904 votes
2:07PM – 1031 votes
2:16PM – 1282 votes
2:22PM – 1442 votes
2:27PM – 1619 votes
2:38PM – 2013 votes
2:46PM – 2393 votes
2:50pm – 2604 votes
2:54pm – 2811 votes
2:58pm – 3038 votes
3:04pm – 3408 votes
3:11pm – 3861 votes
3:14pm – 4142 votes
3:23pm – 4761 votes
3:39pm – 6169 votes
3:47pm – 6806 votes
3:51pm – 7198 votes
3:56pm – 7693 votes
4:00pm – 8010 votes
4:06pm – 8624 votes
4:10pm – 9038 votes
4:19pm – 10,013 votes!
4:28pm – 11,007 votes
4:37pm – 12,009 votes
4:46pm – 13,046 votes
4:53pm – 14,009 votes
5:04pm – 15,216 votes
5:09pm – 15,886 votes (dinnertime)
5:45pm – 19,764 votes
5:55pm – 20,722 votes
6:06pm – 21,829 votes
6:30pm – 24,104 votes
6:40pm – 25,013 votes
6:51pm – 26,001 votes
7:02pm – 27,014 votes
7:14pm – 28,013 votes
7:26pm – 29,001 votes
7:42pm – 30,373 votes
7:53pm – 31,124 votes
(mini break)
9:41pm – 38,332 votes
10:14pm – 40,175 votes
10:34pm – 41,360 votes
10:50pm – 42,232 votes
11:38pm – 44,690 votes
12:12am – 46,761 votes
12:51am – 47,677 votes
1:48am – 49,358 votes
Day 2
10:10am – 53,601 votes
10:31am – 53,812 votes
12:48pm – 55,418 votes
1:07pm – 55,598
1:36pm – 55,923
2:32pm – 56,470
4:41pm – 57,559
10:36pm – 59,078
1:51am – 59,426
EDIT: Facebook finally deleted the poll, with something like 60,000 votes last time I checked.

Facebook Information Download: Report Card

Ever since I signed up for Facebook, I’ve wanted a clean and easy way to export the content that my friends and I create on it. See this post for background. Facebook has never really made it easy to do so for end users, though they have an API that could theoretically be used for data export. Just recently, they announced a new feature that allows you to download your information. I gave the feature a test drive and took a look at what you actually get.

The process for grabbing your information is pretty simple. You go to Account Settings -> Download Your Information and then request your data. Facebook sends you an email when the zip file containing your stuff is ready.

The zip file contains a few files and directories: html, photos and videos. Photos contains the photos you’ve uploaded, videos contains the videos, and html contains things like a list of your friends, messages, notes, wall posts and events. These are all stored in html files, which makes it easy for normal users to view them.

From a data portability standpoint, it’s great that you can get all of your photos, videos and messages, etc. I like the fact that they’re in html that’s easy for anyone to browse. Since it works in its own self-contained directory structure, you could theoretically upload the contents to your own web server and host your albums yourself! For most users, the data download feature is really great.

From a programmer/hardcore archivist’s point of view, the data download is still lacking. For example, the friend’s list gives you a list of your friends’ names. It does not, however, provide you with the unique identifier for your friends (e.g. their Facebook profile name or id number). This might be useful if you have a friend named “John Smith” and you’d like to know exactly which John it is. Generally, the files just don’t contain enough metadata to keep good records.

Let’s say that in the distant future, Facebook has been abandoned. What we have left are the .zip files that people used to download their information. How would we go about reconstructing network ties? With the files as they are today, we can only make assumptions using names, which aren’t unique identifiers. While some people would say that including those would be overkill, they could be pretty easily added via meta tags within the html (or in a separate xml file for hardcore nerds like me).

In addition to this lack of metadata, my other complaint is that Facebook only gives you half of your information. You can download a pretty ego-centric payload of data; stuff that friends wrote on your wall and photos you uploaded. You cannot, however, download things that you posted on your friends’ walls. This is especially important because Facebook’s early messaging model was based on wall-to-wall posts. My oldest wall posts come without any sort of context at all.

Finally, it seems that Facebook did the unthinkable in deleting user data until around early 2006. I signed up for Facebook in January of 2005, yet my first wall post that shows up in my downloaded info is from February 2006. So there’s a whole year’s worth of wall messages that are missing. I suppose there’s no way for Facebook to retrieve this info anymore (unless they’re just witholding it because it’s hard to get to).

If you found this tl;dr, here’s a summary:

The Good:
Facebook information download makes it easy for anyone to download their data in a nicely organized and self-contained package. Everyone should go to their account settings right now and download their data, even if they don’t plan on using for anything in the near future. The download provides a lot of information and is a good faith attempt at letting users “own” their data. There’s still work to be done, howerver.

The Bad:
The data that’s downloaded lacks enough meaningful metadata. Specifically, the data regarding connections between you and your friends is too general. Unique identifiers for friend connections would be a good first step. Facebook also omits an important side of your data: the stuff you’ve posted to others’ walls. Finally, Facebook’s data download only goes back to early 2006 (for me).

What Facebook Should Do Next:
I think Facebook’s done a really great job so far for this first iteration of data download. Now they should add more metadata and provide data in a cleaner xml or json format. After that, they should enable download of photos and video in their original format (I have a feeling Facebook keeps the original size photos before they resize them). I think that providing users with an easy way to download all of their data will lead to a better relationship and more trust, which is something Facebook could really use.

Stupid Data Tricks: Facebook Names

Like a good data nerd, I downloaded the list of publicly available Facebook names, dumped into text files. I was trying to figure out a neat way to use them. It’s always weird when people have the same first and last names, so I wrote a quick regex to find people with names like “John John” and “Laura Laura.” I used /^([a-z]+) \1$/, but maybe there’s a better one. I think mine left out the middle names.

Apparently there are a lot of people with the same first and last name. 14,495 in my list, to be exact. But that’s out of a 100 million or so (I only did unique names). Here’s the list for anyone who might care. I’m trying to figure out a more useful application for this dataset. Any ideas?

Questions About Facebook And Data Portability

Something that is usually on my mind, either in the forefront or the back of it, is data portability. I like “owning” the data that I create, whether it’s from a tweet or a Facebook status message, or even more mundane like the bit of knowledge via a Last.fm scrobble that I listened to Dexter Gordon’s Wave at 3:27am on August 16, 2007 (I’m thinking this is in GMT?). The point is that data that I create is my property. I would go as far as to say that the online interactions I have, like friends’ activity that I comment on and interact with, is also my property. For example, a friend’s status message that I reply to and that ends up being a long thread.

Some services make gathering my data easy. Twitter has a dead simple API and so does Last.fm. I’ve been toying around with gathering location data from Twitter, embedded in photos I take on my phone, and other sources. One website that still confuses me a bit with regards to their policies is Facebook.

About two years ago, there was a semi-large fuss made over Facebook joining a Data Portability organization. Apparently it was sort of a me-too move to copy MySpace. Since then, there’s been a Stream API created and you can actually grab stuff from your “activity stream” from Facebook.

The thing is, the rules are super vague and contradict each other. For example, the Statement of Rights and Responsibilities states that

You own all of the content and information you post on Facebook, and you can control how it is shared through your privacy and application settings.

This makes it seem like I have the right to collect that content and information that I create, since I “own” it and have control over it. Yet the Developer Policy states:

  • Storing and Using Data You Receive From Us
    1. You must not store or cache any data you receive from us for more than 24 hours unless doing so is permitted by the offline exception, or that data is explicitly designated as Storable Data.
    2. You must not give data you receive from us to any third party, including ad networks.
    3. You must not use user data you receive from us or collect through running an ad, including information you derive from your targeting criteria, for any purpose off of Facebook, without user consent.
    4. Unless authorized by us, your ads must not display user data – such as users’ names or profile photos – whether that data was obtained from us or otherwise.
    5. You cannot convert user data you receive from us into Independent Data (e.g., by pre-filling user information with data obtained from the API and then asking the user to save the data).
    6. Before making use of user data that may be protected by intellectual property rights (e.g., photos, videos), you must obtain permission from those who provided that data to us.
    7. You must not give your secret key to another party, unless that party is an agent acting on your behalf as an operator of your application, but you must never give your secret key to an ad network. You are responsible for all activities that occur under your account identifiers.

    This basically says that I have to delete any information gathered within 24 hours. Facebook is making the assumption here that users are not developers and vice versa. I’m not interested in gathering other users’ data; I just want my own. And yet here are two conflicting statements.

    I’ve already used the Facebook Stream API in the past to collect my data. While the policy states this is not allowed, it’s basically unenforceable. What bothers me a bit is that it is against policy for me gather my own data using Facebook APIs. Twitter allows this, and even goes a step beyond by suggesting that developers cache data to improve performance. To their credit, Google has a “Data Liberation Front” whose purpose is to keep an eye on products and keep data import/export for users as a priority.

    I see data portability as a big issue while considering the natural lifecycle of a social networking website. As I use Facebook less and less, I still want to have a connection with those who are on it, and I want to maintain a record of what happened. I hate to think that while I “own” this data, I have no right to access it, especially if I decide to leave the service.

    I started writing this post before realizing that Facebook’s annual f8 conference is actually going on today! I guess I can look towards today’s news to see if anything has been announced re: data portability.

    EDIT: Well that was fast! I guess they removed the 24 hour limit thing during the keynote today. What this means directly to data portability is still up in the air, though.