Twitter vs Facebook Status

In the past few weeks I’ve been asked by at least 3 different people why they should use this new “Twitter” thing they’ve heard about, rather than just updating their status on Facebook. I think it’s a pretty valid question, so I thought I’d put together some of the reasons why I use Twitter, rather than Facebook’s Status update.

  1. It’s Open: I’m a fan of the idea of “open” (as in open source, portable data, etc etc). Facebook is not. Twitter is. Putting my status updates through Twitter means that I can do fun things like load them into my sidebar (on the right of my blog) easily (via an RSS feed). If I updated in Facebook, those updates become useless because I can’t get them back out.
  2. Client Apps: I don’t want to have to go to the Facebook site all the time to update my status. I can run a Twitter client (currently DestroyTwitter or TweetDeck) on my computer and update my status in a couple of key-presses. I also have options (there’s that “open” thing coming in handy again) as far as clients go, so I can pick and choose something that I like.
  3. Be Part of Something Bigger: Facebook is great and all, but it’s owned and controlled by Facebook. It’s a world unto itself with an established set of protocols and expectations. Twitter is something new. It’s a new type of “web” as we know it. It’s “live” in a way that not much else is yet. I’d like to be a part of that, so that I can see what’s really going on, which brings me to…
  4. Search: Twitter’s search system is a whole new ball-game. It allows you to see what’s going on and what people are thinking/doing/asking now.
  5. Community: Twitter’s omni-directional “follow” system means that the community/network is fundamentally to Facebook’s bi-directional system. I don’t “allow” people to follow me. If they want to, they do. If they don’t, they don’t. I can reach a whole different group of people on Twitter that I am not connected to on Facebook.
  6. Laziness: Last but not least, I have a Facebook app installed that loads my Twitter status into FB anyway, saving me the hassle of updating both 🙂

So why do you use Twitter (or Facebook Status)? Chime in on the comments and I’ll add any good ones to the list!

HOW TO: Remove Digg’s new DiggBar from your website

So Digg have released their wonderful new DiggBar product, to a lot of fanfare, excitement and, well… criticism. I’ll let other people cover each angle. In the meantime, if you want to prevent your site from being loaded with the DiggBar, just drop this code into the top of your page (or in an external JavaScript file if you already have one that loads on every page):

<script type="text/javascript" language="JavaScript">
// Break out of frames
if (top.location != location) {
    top.location.href = document.location.href ;
}
</script>

Basically, it just compares the current document (in this case your website) to the “top” document available in the browser. If your site has been loaded via the DiggBar then the “top” document will be Digg, so they will be different. When those 2 documents are different, it will automatically redirect the entire browser to your website. Done and done.

Idea: Comment Aggregation via WordPress

There are lots of “conversation platforms” out there, and more arriving daily. FriendFeed, Twitter, Facebook, Google Reader (now that it has commenting functionality); you name it. These systems are all great for getting your content out there and exposing more people to it, but the problem (in my opinion) is that it becomes really hard to follow the conversations on all of these different platforms. They all generally act as either a kind of content aggregation platform (e.g. FriendFeed/Google Reader), or as a unique content creation/delivery system, which is heavily used to redistribute existing content (e.g. Twitter). With all this aggregating going on, why not do the same thing in reverse? Mashable has just started doing something along these lines and that prompted me to finally publish this draft post.

(more…)

South by Southwest (SxSW) Virgin

sxsw2009Tomorrow morning I leave to go to South by Southwest, one of the biggest festival/conferences in the tech scene (and the music and film scenes). I’ve never been before, so I’m pretty excited. There’s one main reason that I’m going, but that’s just my official excuse — I’ve wanted to go to SxSW since I first heard of it, about 3 years ago. Last year I even promised myself that I’d go this year, but then I thought I was going to be in Chile, so didn’t get tickets. Then things changed, this year rolled around, and a matter of days before it starts, I found myself with adequate motivation and reason to go, so I bought tickets.

My main reason for going?

Ultimate Showdown of Content Management System Destiny

The reason this is specifically important for me is that I was on the WordPress team that’s competing/presenting on this panel. We put a heap of work into building a website/system based on supplied specifications/designs and will go head to head with Joomla and Drupal during that panel.

Don’t get me wrong, I’m also really excited to attend a bunch of other panels, and of course the parties, but this one panel is my main reason. Oh, and I get to stay and hang out with my good buddy Ray Hernandez as well, so it’s all good. I’ll try to post a summary here when I get back, but in the meantime you can follow me on Twitter for live updates on what’s happening.

Mounting a remote filesystem via SSH on a Mac

The other day, I installed an app to try it out, and noticed that it came packaged with MacFUSE. When I uninstalled the other app, it left MacFUSE behind, and I figured I’d leave it there until I had a reason to remove it. Turns out I have a reason to actually keep it.

On a project I’m working on right now, I wanted quick, “local” access to a remote server. Using MacFUSE, I can mount a directory on a different server on my local machine and access it as if it was just any other local directory. Very cool.

mkdir /Volumes/MOUNTNAME
/Users/beau/util/sshfs-static-tiger USER@HOST:/PATH/TO/DIR /Volumes/MOUNTNAME -oauto_cache,reconnect,volname=MOUNTNAME

New WordPress Plugin: Sparkplug

I’ve just released a plugin I’ve been working on called “Sparkplug”. It’s quite simple (although some of the code turned out to be a lot more complex than I expected!), and just gives you a small sparkline graphic indicating the number of posts per day for the current “view”. This is particularly handy on multi-author blogs which are split up into discrete sections via category or tag.

It was specifically written for/tested on the as-yet-unreleased Prologue Projects theme from Automattic, so when that comes out, it’ll be ready to go. Check out all the details about Sparkplug.

The All-New LiveJournal Importer for WordPress

Over the past few weeks, I have been working on a new importer for people who use LiveJournal, but would like to switch over to WordPress. With LiveJournal laying off a bunch of employees, it seemed like some people might prefer to move to a platform where they had a bit more control over their own content, rather than relying on another company to handle it for them. I decided that my measure of success would be that it needed to be capable of importing Guav’s entire journal — comments and all, without error.

As it turns out, it’s been quite a project. LiveJournal’s API is, shall we say, “challenging” to work with, and the sheer size of Guav’s journal (over 3,700 posts and nearly 200,000 comments) meant that I kept running into time, memory and database limits that would crash the importer. After a lot of back and forth with Guav though, I’m happy to present the new importer (find it under Tools > Import > LiveJournal), sporting the following features:

  • Just enter your LiveJournal username and password and you’re ready to go
  • Via the API, it connects directly to LiveJournal and imports all of your posts,
    • Posts marked as “Friends Only” are assigned a password within WordPress,
    • Posts marked as “Private (you only)” are marked as Private within WordPress, which means that only authors on your new blog can read them,
    • lj-cut tags are converted to the WordPress equivalent, the <! — more — > tag,
    • lj-user tags are converted to normal links, and have class=”lj-user” attached to them to make it easier to style them if you like,
    • Tags are imported properly,
    • If you closed the comments on a post in LiveJournal, then they’ll be closed in WordPress as well,
    • Lots of the “meta” information related to posts is also imported using WordPress’ Custom Fields feature. You could then use these values to reproduce some of LiveJournal’s functionality within your new theme if you like. The fields imported are:
      • If your post contains adult content (lj_adult_content),
      • Your current co-ordinates and location (lj_current_coords and lj_current_location),
      • Your current mood (lj_current_mood),
      • Current music (lj_current_music),
      • Your userpic keyword (lj_picture_keyword)
  • Next up, all of your comments are also imported,
    • Threading is preserved, so replies to other comments show up successfully (provided you enable that feature in WordPress),
    • The “subject” of each comment is included as the first line of the comment itself, because WordPress doesn’t have a comment title/subject value,
    • LiveJournal users get links back to their LiveJournals,
    • Your own comments are linked to your WordPress account, and are linked back to your new WordPress blog,
    • Anonymous users are labeled as “Anonymous”,
    • “Screened” comments on LiveJournal are imported as “Unapproved” within WordPress, so you can decide what to do with them

So there you have it, a brand new, shiny LiveJournal importer. This should be bundled with the 2.8 release of WordPress (it’s available right now on WordPress.com), and will be available for everyone. As I mentioned, it’s been tested with one single, very large blog (and a few smaller test ones), but if you find anything wrong with it, please file a bug on the WordPress Trac!

Huge thanks again to Guav for helping with the testing of this thing (maybe now he can migrate over to WordPress as well)!

Idea: Subscribe to vCard/hCard via LDAP gateway

I was talking to Blake the other day about Plaxo, and about how the need it tried to fill (keeping everyone’s contact details up to date) was a valid one, but that it really didn’t live up to that goal. That got me thinking about how a big hole in the distribution of contact details was that you couldn’t “subscribe” to a vCard (contact details) in the same way that you can to an iCal (event/calendar details). Let’s fix that.

I’m imagining an online service (perhaps even just a WordPress plugin?) where you can set up URLs that point to either vCards that are online, or web pages that contain hCards. The system would then periodically (daily?) parse those URLs and load the details into a local cache/database.

The contents of the local cache would be exposed via an LDAP directory, allowing you to connect products such as the Apple Address Book to that directory. Those details would automatically be up-to-date, based on the last time their source URLs were parsed.

This would effectively eliminiate part of the need for services like Plaxo, and would give each person control over their contact information. Ideally the requests could be authenticated so that people sharing their contact details could control their distribution. With DiSo on the way, this would be hot.