Tag Archives: Facebook

Three talks in Vancouver

For those Bo(o)neheads who follow me to every event in VW vans, I’ll be giving three talks in Vancouver next month:

  1. BuddyPress: Beyond Facebook Clones, Oct 13, WordCamp Vancouver. I’ll highlight some uses of BP that are not straightforward social networks. (BTW, if you know of any really cool ones, please let me know in the comments!)
  2. Free Software and the University: The Story of the CUNY Academic Commons, Oct 14, BuddyCamp Vancouver. I’ll be using the story of the Commons as an excuse to rant about an allegory about the importance of free software in public schools.
  3. Getting Started with BuddyPress Plugins, Oct 14, BuddyCamp Vancouver. I’ll be giving an overview of what WordPress plugin developers need to know about getting their feet wet with BP plugins.

Building a baby photo site with WordPress

My wife and I just had our first baby, which is the occassion for much nachas and, by extension, picture sharing. Facebook is, for better or for worse (emphasis on the latter), the de facto place for such sharing to happen. For a number of reasons – a desire to be somewhat selective about who sees my family pictures, my Project Reclaim sensibilities, the fact that I don’t have a Facebook account and generally think that Facebook is an evil company – I don’t want to use FB for this purpose. As in the case of my Twitpic-like photoblog, I figured I could use WordPress to set something up that was nearly as seamless as Facebook, or Google+, or Flickr, or whatever.

The criteria

There were a few things I wanted out of the baby site.

  1. Easy (or zero) login for users
  2. Control over who has access
  3. Optional email notification for new content
  4. Easy, javascripty gallery browsing

When I started, I was pretty sure that I’d be able to get all of these things pretty easily, using existing WordPress plugins. I was both right and wrong about this: plugins exist for all of these purposes, but none of them were very easy to implement. As a result, I ended up building several pieces from scratch. I’ll go through each of the criteria, talk a bit more about what I was looking for, and then say something about how it was achieved. By doing this, and sharing the code (spoiler alert: https://github.com/boonebgorges/Hard-G/tree/master/wp-content), I’m hoping that I can help others with similar sensibilities to get started on their own sites.

Non-sucky registration and login

I love WordPress, and I understand the important reasoning behind the decisions that led to the design, but WP’s user registration system sucks. I didn’t want just anyone to be able to create and activate an account. I didn’t want users to have to click an activation link. I didn’t want users to have randomly generated passwords that would need changing later on. And I wanted users to have the option of logging in a non-WP way.

Several of these problems could be solved by using Facebook logins. I’m not willing to give my photos over to the horrific FB leviathan, but I’m happy to piggyback on their login APIs if it will save my family and friends a few headaches. I wanted my users to have the option of clicking a single button that would give my site the ability to provision them based on their persistent Facebook login.

I started by looking at some popular Facebook Connect plugins from the wordpress.org plugin repository. I didn’t really like them. Most were linked to the Comments section of blog posts, while I wanted to use the logins for overall site access. Most were dependent on Javascript for logins, while I wanted to handle logins on the server side. Most used an outdated version of FB’s API (or at least of the PHP API classes that FB offers). And, to be blunt, most were too much of a mess, having been retrofitted many times over, and as a result next to impossible to extend. I tried modifying one or two of the more popular FB-WP plugins to do what I wanted, but I ended up writing so much garbage spaghetti code that I decided to cut my losses and start from scratch.

So I boned up a bit on the FB API, and wrote a small plugin that I call Wally Login. Together with the registration page template from my custom theme (a child of TwentyEleven), it does a couple of key things.

Your choice

Your choice

  • Rudimentary access control · If a non-logged-in user tries to visit any page on the site (other than the registration page), he is redirected to the Register page.
  • FB login integration · If a user clicks the “Log me in using Facebook” link, they’re directed to the FB authorization page for my website (which is registered as a Facebook app). There, they’re asked to approve the app – a one-time process – and are then returned to my site. Based on the display name, email address, etc that I get from FB, I create a WP user corresponding to the FB account. On future visits, approved users who are logged into Facebook will be automatically logged into my WP site whenever they visit it (an important point, because FB cookies are persistent over browser sessions, while WP logins, by default, are not). As a result, in the best-case scenario, a user will authorize their FB account with my site one time, and will never again have to think about authorization on Wally’s page.
  • A customized WP registration process · If users opt not to go the FB route, they can create a WP account directly on the site. I wanted to avoid sending users to an unthemed wp-login.php or wp-signup.php page, so I cribbed a few lines of code from BuddyPress and made my own registration and login dialogs. Wally’s site is part of a larger WP network, but I wanted to bypass WPMS’s built-in registration stuff (which requires users to activate their accounts, and is thus generally too hard for newbies to grok). My custom registration therefore creates the user directly (with wp_insert_user()), using a password that he provides, and skips the activation email. (By bypassing account activation, I’m removing an important spam prevention tool. More on that in the next section.)
  • Customized email notifications · Because I’m not using the built-in registration process, I needed to write my own email notifications for account applications and approvals.

If you decide to use my code, keep in mind that it’s not particulary beautiful. I wrote it for my own use, which means that it will take a bit of elbow grease to get it to work on your own site. In particular, if I were writing something for more general distribution, I would not be so reliant on a theme template as I am here. But if you’re looking to create a site like mine, this code is a great place to start – especially the FB integration stuff, which has made the registration and login process about as smooth as it can get.

Access control

The final important thing that the Wally Login plugin does is to provide me (the site admin) with control over who has access to the site. There are a couple ways I could have approached this issue. One is to whitelist users ahead of time. The problem with this is that I’m bound to forget some names, get email addresses wrong, and run into other problems that stem from my unfortunate lack of omniscience. Another strategy is the invitation code. When unique to the individual, this method suffers from the same drawbacks of the whitelist; when non-unique (ie when everyone uses the same invitation code) it takes away much of the security, as the code can be passed around quite easily; either way, invitation codes are clunky, easily misplaced, and all too often mistyped.

Thanks for applying

Thanks for applying

As a result, I ended up going with a third option: an application and approval process. Here’s the idea, conceptually. Anyone who wants can create an account on my site (either through Facebook or natively; see the previous section). However, the account does not actually allow access to the site unless the account is also approved by the administrators. Thus, after the initial application, two emails are sent: one to the applicant saying “thanks for applying, please be patient”, and one to me saying “there’s a new applicant, please approve them”. Then I go to my approval interface and click the Approve button (if I want), which marks the user as approved in my database and sends them an email saying “You’re in!”

Here’s a brief description of how it works technically. All applicants have a WP account created for them. Every new account is marked, at the time of creation, with user_status = ’2′, and I make sure that no page other than Register can be viewed by an account with user_status = ’2′. In this way, I am turning the idea of activation around a bit – natively, WP makes the user do the activation, but in my case I do it. The admin tool I use to activate users is my Unconfirmed plugin, designed for a slightly different purpose but quite at home here. (For technical reasons, Unconfirmed needs users to have activation keys; thus Wally Login also generates some dummy keys during the user creation process so that Unconfirmed will work right.) Unconfirmed, in turn, does the work of flipping user_status to 0 upon approval.

Taken together, Wally Login and Unconfirmed (with custom WP registration, FB integration, user approval by admin, etc) has given me a comfortable level of access control, without making the process unduly difficult for my users.

Email notification for new content

One of the biggest drawbacks of creating a standalone picture site instead of using an all-purpose social network (in practice, this means Facebook) is that the standalone site is likely to be forgotten. FB collects all of your network’s activity into a single stream; it’s highly unlikely, on the other hand, that Wally’s site will become part of anyone’s daily routine, so that they stop by to check for new content. For that reason, good email notification of new content is essential to making the site work.

Dead simple email subscription

Dead simple email subscription

I first tried using the popular Subscribe2 to handle these notifications. But I ran into a bunch of problems. For one thing, I didn’t like that S2′s subscription management happened in the Dashboard – I want to keep my users on the front end. S2′s category-based subscription is too complicated for my site, where people are either going to want to subscribe to all posts or to none at all. And the widget that comes with S2, for display on the front-end of the site, is pretty much atrocious. (Sorry. The rest of the plugin is nice. But that widget sucks.) At first I tried solving these problems just by building my own widget for S2, one that would tell the user whether he was currently subscribed, and show an Unsubscribe/Subscribe button, as appropriate. But, given the structure of S2′s data (which is somewhat arcane, and in any case far too complicated for my purposes), it ended up being a lot harder than it should have been.

So – wait for it – I wrote something from scratch. It is dead simple. Two parts: (1) a widget, which does exactly what I describe in the foregoing paragraph; and (2) hooks into publish_post to send an email to all subscribed users (along with some gentle checks to make sure dupes are not sent). This plugin has no admin UI and no options, because I don’t need any of those things.

Pretty galleries

Since the main point of the site would be to look at lots of pictures, it was quite important to have an easy, pretty way to do so. By “easy” I mean, primarily, navigable by keyboard; by “pretty”, I mean, primarily, bigger than the content area of a typical blog post. Less important, but still desirable, was the admin interface: I wanted it to be easy to upload lots of pictures at once, to add captions and other metadata if necessary, and to turn it all into a gallery that would look good on the front end.

Pretty, easy

Pretty, easy

You know the drill: I tried a couple of the more popular free plugins, but all of them were annoying in one way or another, and each one was way overengineered for my meager needs. I was especially disappointed by the back-end admin for the popular gallery plugins, which I found lugubrious, unintuitive, and impossible to extend. After some consideration, I decided that I actually preferred WP’s native Add Media interface for uploading photos and adding metadata, and that I was perfectly happy with the way that WP’s gallery shortcode displayed content on the front end, at least when viewing thumbnails.

So the only thing I really needed was to implement the javascript that would allow for keyboard navigation and lightboxing of gallery photos. Thanks in part to his extremely uncreative and literal plugin naming schema, I found Viper007Bond’s jQuery Lightbox For Native Galleries plugin. It does almost exactly what I want, right out of the box.

I did make a few minor mods, though. First, the plugin is a bit greedy in the way that it filters the output of get_attachment_link(), which was either breaking things (as in the case of comment_post_redirect on attachment posts) or making it hard to display links to the attachment page instead of the raw attachment file. The former problem I solved with a filter; for the latter problem, I was a bit lazy, so I modded the plugin itself in addition to adding an explicit ‘lightbox’ class to attachment links. This combination of hacks makes it work perfectly for my purposes.

Odds and ends

A little bonus

A little bonus

With my absolute requirements met, I was able to add a few other goodies to the site. My theme is a child of Twenty Eleven, which I’m pretty much using as-is. But I’ve added a few fun bits. First, on each attachment page, I added Download links, so that users could download images of various resolutions for printing or editing. I messed with the WP Admin Bar so that users coming from Facebook wouldn’t see Log Out and some other inappropriate links. And under each thumbnail in Gallery view, I’ve added Download/Comments links, so that users could bypass the jQuery lightbox and go straight to the attachment permalink if they wanted.

It took some work, but I think I’ve ended up with a site that is nice to use and easy to maintain, without resorting to the extreme discomfort associated with Facebook. Hooray!

The meat of Facebook

danah boyd wrote a blog post arguing that Facebook ought to be regulated like a utility. What exactly it means to be a utility, and why utilities ought to be regulated in general, is not the main focus of her piece, and she adds in an addendum that the issue is not so much that FB is a utility as that it is trying to be one. But, in any case, I want to push against the utility analogy with one of my own.

I take it that the reason why utilities ought to be regulated is that they are monopolies, and in a single-provider market, people can’t realistically use the threat of leaving for a competitor as leverage for bargaining with the monopolistic company. To claim this is the case for Facebook is surely an overstatement: people can and do opt out of using Facebook, and certainly there are enough other social options out there to block the analogy between them and “people who are building cabins in the woods” (an analogy suggested by boyd). Even if Facebook is dominant, it’s not a monopoly in the way that utility companies are, so the same arguments for regulation don’t really work.

The government sees fit to regulate in other sorts of cases, though. Take the meat industry. The government regulates certain aspects of the meat industry (however lax or ill-conceived USDA oversight might be). The justification here is not that the meat industry is monopolistic (though I’m sure it is mostly controlled by a couple conglomerates, and insofar as this is true it should be additionally regulated as a monopoly). Instead, the justification seems to be: 1) this kind of industry has the potential to do great harm if left to its own devices (E. coli and stuff like that), and 2) it is unlikely that many (or any) consumers of this industry’s goods are in a position to verify independently the claims of the industry (not many have access to labs where they can test for bacteria, etc). The government is justified in protecting its citizens at their most vulnerable (you might even say this is the primary reason for government). So they’re justified in regulating the meat industry.

The case of Facebook is parallel. 1) Because people keep a lot of their most important stuff in Facebook, a large amount of harm could be done if Zuck decided to start selling it to advertisers or something more nefarious still. 2) It’s difficult, if not impossible, for most people to verify the claims of FB with respect to how FB claims to store and use data. For one thing, the “privacy” settings are arcane to the point of incomprehensibility. And even if you figure out the settings, without access to FB’s software and servers, you can’t really know whether they’re living up to their word. Thus, government regulation might be justified.

Someone needs to write The Jungle, Part II: Zuckerpunched.

Importing Ning users into WP

Today Ning announced that it would be ending its free social networking service. I tweeted something to the effect that this event is a wake-up call: When you use closed-source, third-party hosted solutions for something as valuable as community connections, you are leaving yourself open to the whims and sways of corporate boards. It’s not that Ning is evil or anything – it goes without saying that they need to make a profit – but their priorities are importantly different from those of their users. In the same way that Ning moves from a freemium model to a paid model, Facebook could start selling your crap, Twitter could crash, Tumblr could go out of business, etc.

All this is a good argument to be using software solutions that are more under your control. Like – drumroll – WordPress and BuddyPress.

Enough moralizing. I whipped together a plugin this afternoon called Import From Ning that will allow you to get a CSV export of your Ning community’s member list (the only content that Ning has a handy export feature for, alas) and use it to import members into a WordPress installation.

As of right now, it does not have any BuddyPress-specific functionality. But the data that it does import – display name, username, email address – are enough to populate at least the beginnings of a BuddyPress profile. The next thing to add is the auto-import of certain profile fields. I might try to do this tomorrow. The plugin is based on DDImportUsers – thanks!

Instructions:

  • Download the zip file and unzip into your WP plugins directory
  • Look for the Import from Ning menu under Dashboard > Users (unless you’re running a recent trunk version of BuddyPress, in which case it will be under the BuddyPress menu)
  • Follow the instructions on that page

Download the plugin here.

I like ambiguous demonstratives

One of the recent changes to Facebook that went undiscussed (or at least less discussed than the it-looks-like-Twitter thing) is liking. Attached to most of the pieces of content that appear in Facebook is a button that says “Like”. The intent seems to be this: liking is like commenting without content. Kinda like carving your name into a picnic table – not because you have anything to say, but just because you want to let everyone know that you were there. Neato.

I like this

There’s something ambiguous about liking, though. Imagine the following situations:

  1. Friend 1 posts an abstract drawing that she made in MS Paint.
  2. Friend 2 posts a status update that says “I got a new job and I am very happy about it”.
  3. Friend 3 posts an artsy photograph of a beer.
  4. Friend 4 posts a link to her singing a song about how she is very sad.

Clicking “Like” in each case means something different. In (1), the only real candidate as the object of my liking is the picture itself, especially since it’s not a picture of anything. In (2), the most likely liked entity is not the status update itself (which is not particularly funny or poetic or otherwise remarkable) but the fact that my friend got a new job and is happy about it. In (3), it’s not really clear: I could be liking the picture (since it’s so artsy and thus awesome) or the beer (since it’s beer). In (4), presumably I like the song, not the link (which would just be a URL or something like that) or the propositional content of the song (that the singer is sad).

We might pinpoint this ambiguity in the demonstrative “this” that Facebook attaches to each act of liking. When you single out the object of your liking with “this” and without a sortal, there is room for audience interpretation as to what you really meant to like.

However (as I just realized – while writing the previous paragraph, I got a notification from Facebook in another window letting me know that someone likes my status) Facebook doesn’t always leave the sortal out. In the notifications section, you are told that someone likes your status or your picture or whatever. But clearly, as in example (2) above, this is sometimes not the intent at all. So in this case the phrase “this status” might be acting metonymically, as shorthand for “the propositional content of this status” or something like that (like when you say “I like this book”, I suppose).

Cases like (4) are the interesting ones, because you might end up sending the wrong message – there are legitimate candidates for thing-liked that are not very nice. I suppose that, where friends are concerned, ambiguities will be interpreted with generosity. But you might want to be careful what you like!

What the Facebook debacle says about sharing

Allow me to take a few more swings at this dead horse.

Sharing - it used to be so easy

Sharing - it used to be so easy - via clappstar

Mark Zuckerberg, Head Honcho of Facebook, posted a blog entry yesterday about the uproar that followed the Consumerist’s comparison of FB’s old Terms of Service with the new. Luke over at Cac.ophony calls Zuckerberg’s response “totally inadequate”. I think I agree, but I want to take a closer look at the argument that Zuckerberg provides for the TOS being the way they are, as I think that it draws attention to a lot of unanswered questions about one’s relationship with content – and, in particular, the somewhat ill-formed concept of sharing – as it takes place in social spaces.

The first part of Zuckerberg’s argument:

When a person shares information on Facebook, they first need to grant Facebook a license to use that information so that we can show it to the other people they’ve asked us to share it with.

So far so good, I think. The act of uploading a photo or writing a Facebook blog entry is, I think, clearly an intentional act by the poster, a way of saying, more or less explicitly, “I want others to see/hear this content via Facebook”. If we posit a correlation between Facebook’s rights (I guess I mean moral rights here – I don’t know much about legal issues) and the extent to which the user’s action demonstrates an explicit desire to use Facebook for sharing content, Zuckerberg’s first point seems right enough.

Zuckerberg’s next point:

When a person shares something like a message with a friend, two copies of that information are created—one in the person’s sent messages box and the other in their friend’s inbox.

He draws a parallel with the way that email works: when you send a message, the recipient gets her own copy, and you don’t get to take that copy back later, even if you wanted to. By extention, this is “the right way for Facebook to work”, Zuckerberg says. I don’t think it’s that easy, though.

If Zuckerberg is trying to legitimatize FB’s behavior in this regard by comparing it to email, then we should be able to establish that it’s OK for email to behave this way too. Is it? I have often (sad to say) wanted to take an email back within seconds of pressing the Send button. Sometimes it takes more time: there are emails I sent in college that seemed fine at the time, but now I would prefer that the recipient never again have the chance to go back and reread them. How obvious is it, from a moral point of view, that an email, once sent, should be irretrievable? Are we allowing the fact that it’s technologically difficult/impossible to retrieve a sent email to shade our moral judgment? Imagine that it’s the 18th century, and I’ve just sent a letter that I decided I want back. The only way to get it back would be to break into the person’s house and take away a physical object that I had given to the recipient. It seems to me that these circumstantial facts about retrieving a physical letter are at least part of what makes the act of retrieval wrong. But the circumstantial facts are far different with email, or at least they could be with the right software design. Thus, while I might have a gut feeling that a sent letter no longer belongs to me, the gut feeling really ought to be reassessed in light of the new circumstances presented by electronic communication.

In truth, my temptation is to say that there is something morally wrong with taking back an email that you’ve sent, above and beyond the technological considerations. It has to do with the fact that sending email is an explicit transfer of rights to the recipient. Considering just this point, Facebook’s claim that it – the medium, the messenger, rather than the recipient – has rights is dubious – Gmail (see section 9.4) claims no such thing.

Zuckerberg’s choice of words in this regard is peculiar, and telling: he talks about a person “sharing” a message with someone else, instead of “sending” it. My guess is that this is to make it more plausible that the posting of an item – let’s say, of a picture I took – is the same thing as sending a message. But this is far from obvious. If I ask you over to my house to look at my photo albums – certainly a legitimate sense of “sharing” my photos with you – it does not follow from my invitation that you are permitted to take copies of the photos home with you. You can look at them until I decide I want to put them back in the cabinet. This feels quite different from what happens when I send you a letter, whether electronic or otherwise.

It is this idea – that I get to decide when you stop looking at my photos – that Facebook is taking away in its new TOS. It might be true that, as a matter of practical, Internet fact, if you’ve shared content on a single occasion then you have ipso facto shared it unlimitedly for the rest of time. But just because this is the way things are doesn’t mean it’s the way things ought to be. Part of the justification for FB’s position is technical: when you post an image on a friend’s wall, another copy is created, so that deleting the “original” on your account does not automatically delete all other copies. Surely this technical limitation is easily overcome, though, through the association of all copies derived from the same original.

You might argue that actively posting a picture on someone else’s wall is essentially the same thing as sending them a message, and thus the same moral considerations should apply. Maybe that’s right. But not all “sharing” on Facebook is done through the explicit actions of the sender. If you look at a friend’s photo on Facebook, for example, there is a link underneath it to Share with others or to post on your own profile. It might be said that a person who uploads to Facebook has thereby implicitly shared with all potential viewers of the picture, but you need some argument to show that this kind of “sharing” is equally irrevocable, from a moral point of view, as the more explicit kind.

I guess all this is to say that we are going to have to figure out what happens to content ownership when the concept of sharing takes on these kinds of massive proportions. One radical approach is to do away altogether with ownership and to be totally open, dude. I like openness, despite the fact that I seem to be arguing on behalf of ownership in this post. But to make this move merely because we are stymied about how to solve the problem of massive sharing is rather defeatist – openness should be something we choose, not a last resort.

Facebook and content

The Consumerist published a story yesterday about Facebook’s new Terms of Service. The gist of the changes appears to be something like this. Facebook has always claimed rights to the content that you post there. But there used to be a clause stating that

You may remove your User Content from the Site at any time. If you choose to remove your User Content, the license granted above will automatically expire, however you acknowledge that the Company may retain archived copies of your User Content.

Now this clause is gone. Thus Facebook has legal (“irrevocable, perpetual, non-exclusive, transferable, fully paid, worldwide”) rights to your content.

On a personal note, these terms apply even to the content created by those individuals who place a Share This link on their personal sites, whether or not they are the ones who post the content on Facebook. I have a hard time believing that this would qualify as a conscionable contract, but I’m not a lawyer so what do I know. In any case, this means that I’ll be removing the Share on Facebook link from this blog.

The educational ramifications are important, I think. @academicdave tweeted the following this morning:

Just realized that facebook now owns the rights to one of my students recent projects (story told using facebook) even if they delete it.

This is a troubling thought. Instructors have a responsibility to their students and the work that those students do, and requiring that the students give essentially unlimited rights to their work to a corporate entity does not seem to me to be coincident with this responsibility. Of course, it was already the case that Facebook retained rights to these items before this TOS update, but the fact that these rights are now irrevocable, in my view, makes the question qualitatively different. Different enough that, while I used to be eager to talk to faculty members about how they might incorporate Facebook into their classes, I’m not certain that I can continue to do so with a clear conscience. There are lots of alternative spaces in which to share content where the restrictions aren’t so harsh.

Again, I’m not a lawyer, but I would be interested in knowing how the act of publishing something on Facebook, and the transfer of rights that it implies, interacts with any explicit licenses (e.g. Creative Commons) that you have given the content, especially where the Facebook license and the CC license are in disagreement with each other. Does anyone know anything about this?

I also wonder whether there will be sufficient backlash among the users of Facebook to make the company reconsider this updated TOS. I am pessimistic. My sense is that most people who use Facebook heavily aren’t thinking about this sort of issue.

On the cloud

Google freaked out this weekend, which, in turn, freaked me out. I’m a pretty ardent user of Google’s cloud services. Gmail is the most important to me, as it’s where all my email from the past four or five years resides. Reader has streamlined my online reading process so much that’s it’s hard for me to imagine how in the pre-Reader days I managed to read even a tenth of what I get through now. So when Google hiccups – even when the hiccup is apparently unrelated to where I store my data – I get scared.

Neato

via Reza Vaziri

These Google fears came just a week after I read Jason Scott‘s delightfully titled “Fuck the Cloud”. I don’t really buy into all the too-simple “you’re a sucker if you use cloud services” rhetoric, and I think (as urged in a Twitter conversation I had with @GeorgeReese) that a lot of what Scott is complaining about is more about backups than it is the cloud. Still, this piece, along with my Google woes, was enough to get me thinking about how wise it is to depend on web services like I do.

My first reaction on Saturday morning, when Google was acting up, was to back my stuff up. I saved all of my Reader subscriptions in a local OPML file, updated my POP3 backups of my Gmail messages in Thunderbird, and saved local copies of my important GDocs. I was able to make these backups because Google has allowed it by embracing the right kinds of standards. And this fact – that backups can be made and exports done – is one of the things that makes me relatively comfortable using Google’s services so extensively.

This relatively straightforward exportability stands in contrast to the situation at some of the other sites where I create and store content. I’ve used Tweetake to export my Twitter activity to a CSV file, but the solution is far from elegant. For one, I don’t really like giving my Twitter password out to a bunch of sites. Also, I’m not crazy about the fact that I can’t really do incremental backups. Ideally Twitter itself would offer some streamlined way to export one’s tweets. Facebook is even worse. I feel uncomfortable using Facebook’s message/email system because I know that there will probably come a day when I want access to those messages but cannot get them.

I don’t necessarily blame Twitter or Facebook for their total failure to provide content exporting. There is a sense in which the kind of content being created in these spaces – or, rather, the meaningful units of content to which we attach value and thus would want to save – is quite different from the most discrete units provided by email. What’s really valuable in Facebook is not just what I write, but what others write to and about me and my friends. Only a total snapshot of my entire immediate network would provide the kind of value for posterity that I want. With Twitter the situation is perhaps even more extreme: like in Facebook, the content I value is closely related to the content created by others, but in Twitter these people are not necessarily part of my immediate network at all (like when you @reply to someone you don’t follow because of some term you’re tracking). Pushed to the limit, you might even say that only a snapshot of all Twitter activity would really capture its value at any given time, since part of the value of Twitter lies in the potential you have to mine the collective consciousness, to get a sense of the zeitgeist. When the content that you value is so holistic, the details of backing it up become dicey.

On a more local scale, it’s probable that standard export formats will emerge as services like Twitter become more popular, in the way that something like Atom or RSS can be used to backup or restore a blog. In this sense, maybe my worries about certain kinds of cloud data storage are the kinds that will go away with time. Or at least until the next new kind of content is invented.

There are some other aspects of the cloud question that I find interesting, such as whether one should really feel more comfortable with local backups than with remote ones, and whether paying for a service really makes it more reasonable to feel comfortable keeping your stuff there, but I’ll save that for another day.

Hard work and distraction: together at last

I just read this piece by Mike Elgan. Elgan’s argument is that hard work is dead in an age where we have Twitter, Facebook, email, etc. to constantly and effortlessly distract us.

There seems to be a mistake in this reasoning. If all that’s changed from now and the golden age of hard work (whenever that might have been) is that we have more media for distraction at hand, what follows immediately is that people were less distracted in the good old days. But to say that someone is less distracted doesn’t suggest anything about their “work ethic” without some meaty assumptions.

The lack of distractions (or, to put it in more neutral terms, the lack of alternative avenues for your attention!): this sounds like the very definition of boredom. But boredom – a state you find yourself in – isn’t directly related to how hard you work – a choice you make. It’s true that boredom might drive you to devote your energies to something in the way that exemplifies a good work ethic, but on the other hand it might not, and you might end up staring at the wall as I so often do. On the flip side, someone who is never bored (i.e. is constantly distracted) might well be working very hard all the time. Anyone who tries to keep up with their feed reader knows how hard you have to work to maintain a respectably high level of distraction.

More importantly, though, the assumption that there is something holy about the work ethic of our grandparents is off. Work ethics are not inherently valuable; they only derive value from their products. Thus, for example, a writer’s work ethic is valuable because of the things that she writes, or even the kind of person she becomes as a result of this work ethic. But things like good writing and being a good person are, as philosophers are wont to say, multiply realizable, and while it’s true that the supposed tunnel vision of our forebears sometimes resulted in the kind of work that is independently valuable, it doesn’t mean that equally good or better work can’t come out of more distributed, “distracted” processes.

Isn’t it at least conceivable that, for instance, an obsessed Twitter user might write a poem that is not only as good as a more “focused” poet, but one that would be impossible without something like Twitter?

This is not to say that I don’t think total focus is not valuable. I do think, however, that distraction can have value too, or at least that the question is an empirical one.

Does Facebook promote bad rhetorical skills?

I had an interesting conversation last night regarding using Facebook to communicate with students. There are lots of interesting aspects of this question, many of them of a practical type (how can I keep my students from seeing pictures of me getting drunk?) with practical answers (learn to use privacy settings). My sense is that if you could survey professors who are uneasy with the idea of Facebooking with their students, this would be the most prevalent cause for concern.

Much more interesting to me, though, is a different kind of worry, this one tied to the educational goals of the academy. The communication that happens in Facebook, the argument goes, is brief (think status updates), unnuanced, unsensitive to audience, overly informal. The communicative style that we want to teach our students, on the other hand, is nuanced and professional, both because this kind of communication is intrinsically better (whatever that might mean) and because it’s the kind of communication that they will have to be fluent in in order to flourish in the real world.

The motivation here seems right: we want to teach our students to be communicators who are sensitive to voice and audience and thus more likely to be successful. That said, there’s nothing inherent to Facebook that precludes this kind of conduct. I might even argue that the fact that students typically use the medium in non-academic ways makes it even more valuable as a teaching tool. In the “real world”, the division between professional and non-professional communication does not fall neatly along the lines that delineate media; telephone calls, emails, and face-to-face interactions are all used both for talking shop and for informal purposes. What students need to learn is not that certain media are appropriate for certain kinds of exchanges, but rather how to adapt to different kinds of exchanges regardless of the medium. Using Facebook to communicate with students is a potentially fertile ground for these lessons.

The distinction between “professional” and “non-professional” exchanges is bunk anyway. Even the idea that there is a continuum from totally formal communication to totally informal communication oversimplifies the matter. Relationships differ along all sorts of various dimensions, and to paint a caricature of this to students is both dishonest and self-defeating.

This isn’t to say that spaces like Facebook don’t provide any new rhetorical challenges. It’s hard to find a non-web-2.0 analog for status updates: brief, frequent messages that are sent to an entire network of individuals with whom you have different kinds of relationships. But this too is a teaching opportunity. Students should understand the quasi-public nature of these messages, and the technological means of making them less public if they wish.

It’s an open question whether it’s a good idea for any given professor to use this medium to communicate with students. But to rule it out across the board doesn’t seem right either, at least not for the reasons I talk about here.