<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Snipe.Net &#187; twitter</title>
	<atom:link href="http://www.snipe.net/tags/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.snipe.net</link>
	<description>Bitterness never tasted so sweet</description>
	<lastBuildDate>Thu, 29 Jul 2010 05:03:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Death in the Digital Age</title>
		<link>http://www.snipe.net/2009/12/death-in-the-digital-age/</link>
		<comments>http://www.snipe.net/2009/12/death-in-the-digital-age/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 23:34:10 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[Life Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[death]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2726</guid>
		<description><![CDATA[Because it&#8217;s New Years Eve, and I&#8217;m kind of a morbid asshole, I thought I&#8217;d harsh your alcohol-induced buzz with some grim reality by asking the question: What happens to your online content when die? Sure, there are online memorials through which your family can set up a memorial site that will be hosted until [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Fdeath-in-the-digital-age%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Fdeath-in-the-digital-age%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>Because it&#8217;s New Years Eve, and I&#8217;m kind of a morbid asshole, I thought I&#8217;d harsh your alcohol-induced buzz with some grim reality by asking the question: <em>What happens to your online content when die?</em><br />
<span id="more-2726"></span><br />
Sure, there are online memorials through which your family can set up a memorial site that will be hosted until the end of time (or until the company hosting it goes out of business), but what about the online content you yourself have created? For some of you, &#8220;online content&#8221; might only mean your Facebook, FriendFeed, Twitter or (God forbid) Myspace accounts. For others who are more tech savvy and prolific, this could mean literally dozens of websites with hundreds or thousands of blog posts, tutorials, e-books (hah!), photos, slideshows, and so on.</p>
<p>Because I am not aging gracefully, and because what I would consider my life&#8217;s work lives almost entirely online in the ether, I think about this a lot. Probably more than is healthy, but that&#8217;s what booze is for. </p>
<p>This question is more complex than it seems, and becomes increasingly complicated if you have your own independent websites, as I&#8217;ll discuss later in this post.  </p>
<h3>Social Networking Sites</h3>
<p>In the case of social networking sites, in most cases, your account will simply linger online with no new posts unless you have given a friend or family member your login information through which they could post a death notice and/or delete your account. In the case of MySpace, there are websites such as <a href="http://www.mydeathspace.com/">MyDeathSpace</a> that allows you to memorialize a recently deceased friend or family member&#8217;s MySpace account.</p>
<p>The exception to this (so far) is Facebook. When you join the choir invisible, friends or family can <a href="http://www.facebook.com/help/contact.php?show_form=deceased">fill out a form to report a profile as deceased</a>, which requires knowledge of the person’s date of birth, email address used for the account, network, and full name. Once a profile has been set to &#8216;deceased&#8217;, friends may continue to post memorial notes on your wall, but you will not (or should not, anyway &#8211; I have found this to be buggy) show up in Facebook application invites, etc.</p>
<p>If you have a paid account of any kind, for example with Flickr or LiveJournal, your account will obviously revert to unpaid when the yearly renewal fee is not paid. Even so, unless you have provided instructions and your login information to someone still alive, the accounts will remain available and untouched unless a family member petitions to have them deleted.</p>
<h3>Emails from Beyond the Grave</h3>
<p>If you&#8217;re the kind of control freak that wants to have a say in who gets notified about your death and what that message says (no shame in it &#8211; I *am* that freak), services such as <a href="http://www.greatgoodbye.com/">GreatGoodbye.Com</a> or <a href="http://www.mylastemail.com/our_services.asp">MyLastEmail</a> will let you prepare a message (including photos and video) and recipients in advance. A code is generated that you give to a trusted friend or family member, and when you finally lay down for your eternal dirtnap, that person activates the code and the emails get sent.</p>
<p>I&#8217;m a little torn on this. While I want to make sure that I get a chance (even if posthumously) to tell the people I love how much I loved them, not all of my loved ones have email, and frankly, it still comes off a little creepy to me. </p>
<p>Of course, if you&#8217;re a passive-aggressive dick, you could use a service like this to get the final digs in on someone you weren&#8217;t very fond of. You will absolutely have the last word, although honestly, if that kind of thing is worth the cash to you, the world is probably better off without you. </p>
<h3>Dead Man&#8217;s Switch</h3>
<p>A digital dead man&#8217;s switch works exactly like the dead man&#8217;s switches in movies, only instead of blowing yourself and the hostages up if your finger comes off the button, your carefully crafted post-death plan is triggered. </p>
<p>As Tony Geis explains in an interesting article from NPR entitled <em><a href="http://www.npr.org/blogs/alltechconsidered/2009/06/dead_mans_switch.html">Dead Man&#8217;s Switch: CC Me From The Other Side</a></em>:</p>
<blockquote><p>&#8220;I concocted the idea one day when I was almost hit by a car. A program running on a couple of my servers supervises my online presence in various ways. It notices if I post on Facebook, Twitter, my blog, etc., log into any of my servers, send an e-mail, etc. Things like that. If it becomes apparent that I haven&#8217;t been around in quite some time, it &#8216;unlocks&#8217; and a trusted individual can activate it. When it is activated, various trusted individuals will be sent e-mails explaining the situation and be granted access to my accounts.&#8221;</p></blockquote>
<p>Geis rigged his own system as an alternative to using a service like GreatGoodbye, but not everyone will have that level of technical skill, so perhaps a service like GreatGoodbye (or others) would be a good idea if only to email your selected, trusted contacts your login information and instructions in the event of your passing.</p>
<p><a href="http://redirectingat.com/?id=92X363&#038;url=http%3A%2F%2Fwww.msnbc.msn.com%2Fid%2F11129851">According to Forbes magazine</a>, if you&#8217;re serious about keeping your online presence going you should appoint an executor, somebody who&#8217;ll handle your affairs when you&#8217;re gone. Leave him or her your logins and other key information, and if there&#8217;s stuff you&#8217;d rather the family didn&#8217;t see you can arrange for the executor to delete specific content from your computer or online accounts.</p>
<p>Speaking of deleting your social media profiles, website <a href="http://suicidemachine.org/">SuicideMachine</a> helps you do just that. It was <a href="http://lifehacker.com/5439905/web-20-suicide-machine-offs-your-online-identity">recently featured on Lifehacker.Com</a>, so if it&#8217;s not responding quickly &#8211; or at all &#8211; that&#8217;s why. Just give it a little time and check back when the crushing force of the Lifehacker effect has subsided. </p>
<p>Incidentally, although we&#8217;re discussing the topic of actual IRL death it should be noted that SuicideMachine&#8217;s name refers to killing off on your social networking profiles. It&#8217;s not advocating suicide (that I know of) and isn&#8217;t positioned to be a tool to delete your profiles after you&#8217;ve passed on, but the combination of SuicideMachine and the Dead Man&#8217;s Switch might work in a will to make it easier for your family to delete your online presence if that is your final wish. It works with most of the popular social networks, and can really cut down the time it takes to nuke them all. Sadly, Facebook is being douchey and <a href="http://www.cio.com/article/512565/Facebook_Blocks_Web_2.0_Suicide_Machine_">blocking their IP</a>, so the Facebook integration aspect isn&#8217;t functioning right now.</p>
<h3>Challenges</h3>
<p>As I mentioned, I&#8217;ve thought about this a lot. While some of the solutions mentioned above are better than nothing, I think they overlook some less-obvious issues &#8211; or at least issues that come up when your online presence is a little more complicated.</p>
<h4>Multiple-Personalities</h4>
<p>In my case, I have a robust online &#8220;persona&#8221; on Twitter and other social networks (even this blog) that are very true to my personality. I&#8217;m snarky, occasionally funny and mean, and I see my interaction online as a bit of a performance art. I also, however, run a very serious non-profit organization that I founded 8 years ago. Clearly, the messaging I might wish to send to my Twitter friends would likely be different than the messaging I would send to my colleagues through my non-profit work. (Probably slightly less swearing. Probably.) In short, I maintain a professional appearance for the benefit of my organization, as one would expect of the President of any serious company. Trying to sort out the nuances of which group gets what messaging would be complicated and challenging, and the very last thing I would want would be to screw that up and send a message intended for my personal friends to my organization&#8217;s list. I can see it now: &#8220;See you in hell, bitches! I&#8217;ve brought the beer, you bring the hookers and blow!&#8221;</p>
<h4>Real-Life Friends? Online Friends?</h4>
<p>Another interesting challenge is that with social networks evolving to the point where they are used to connect with people you didn&#8217;t know before, the lines between &#8220;real life friends&#8221; and &#8220;online friends&#8221; becomes more and more blurred. Twitter is a great example of this. The followers on Twitter that I interact with frequently have become as much a part of my life (if not more so) as the &#8220;real life&#8221; friends I have known for decades but to whom I rarely manage to talk. I don&#8217;t even have most of their email addresses, and who knows if we&#8217;ll still be in touch by the time I actually kick the bucket. I certainly hope we will, but lives change, priorities change &#8211; the same things that make people spend less time with each other in real life get in the way of people spending time with their online friends.</p>
<p>Honestly, I wonder if the terms &#8220;online friends&#8221; and &#8220;real life friends&#8221; are even valid anymore. They&#8217;re friends. However, because we know each other through a venue that doesn&#8217;t provide email addresses, a simple email solution just won&#8217;t work if I want to include those friends in my final messages. </p>
<p>But because I know people from all of these different online communities and networks, many of whom are not in my address book, the solution here isn&#8217;t necessarily a technical one. Sure, I could create a Facebook/Twitter/MySpace application that allows a trusted family member to trigger your last wishes messaging to your friends in those communities, but what about the Godsmack forums, of which I have been a moderator for 8 years. Or the stone carving listserv I&#8217;m on, or the forums for my martial arts school? You get the picture.  I would certainly want to include an announcement to them, but those systems don&#8217;t have an API that can be tapped into. </p>
<p>Parts of this process would still have to be very manual, which means putting that responsibility on someone I care about, just hours or days after I&#8217;ve died.</p>
<h4>Passwords and Friends Change</h4>
<p>The biggest challenge I see in the automated services solutions is that I change my password often, and use distinct passwords for just about every website I join. I also add new contacts to my address book, friends groups (and friends lists) weekly. Using the automated email workflow concept, I would have to manually update these contact lists every week for the rest of my life. Even as morbid as I am, I don&#8217;t want to be reminded of my own mortality that precisely every week for the rest of my life. Even setting website logins aside, the FTP account information for the dozens of websites I run or manage are frequently changed. Which brings me to the most difficult challenge for me, personally.</p>
<h4>Non-Technical Friends and Family</h4>
<p>As I mentioned, I&#8217;m a prolific (one might say habitual) website developer and writer. I can think of at least 10 websites I run that have content that requires constant curating, and probably 15 more that are static that I don&#8217;t want to disappear after I&#8217;m gone. </p>
<p>FTP login information could be granted to a trusted person by firing off an email with the login to my computer, and then instructions on how to login to my KeePass application that contains the usernames and passwords to my FTP and MySQL sites. But then what? I do not have any close friends or family that even know what FTP is, let alone how to handle creating a new post/page/whatever on each of the proprietary apps I&#8217;ve built. It certainly could be done, but that&#8217;s a metric assload of work to generate that much documentation, especially when you consider that I may well end up completely changing the software that powers these sites several times before I die. I don&#8217;t know about you, but I just don&#8217;t have that kind of time.</p>
<h4>Moar Monies!</h4>
<p>Naturally, hosting costs money. In order for my vast, craptacular works to live on beyond me, someone would have to be paying for it. I currently have it stated in my will that I wish for x amount of money to be allocated towards hosting fees to keep them alive for a specified amount of time. </p>
<h4>Relevance and After Life Lifetime</h4>
<p>This is less of a challenge than just something to consider while you&#8217;re making these types of plans. As much blood, sweat and tears as I&#8217;ve devoted to Snipe.Net over the past decade, will it really be relevant enough to keep alive 10 years from now? My tech tips, programing snippets and observations on social media will most likely not be relevant anymore. Keeping that in mind, if I died tomorrow, how long would be appropriate to keep this site alive? A few years maybe? Technology changes so quickly, it&#8217;s likely that anything I&#8217;ve written here will become obsolete within 6 months, let alone 10 years.</p>
<h4>Privacy</h4>
<p>In the example I gave above, I would be giving my laptop password to a trusted friend or family member (either informally, or formally by way of an executor), with instructions to access my KeePass file to unlock my other accounts. This also inherently means that the person I entrust with this information has access to all of my files, all of my past emails, all of my social networking private messages, and all of my pr0n. Uhm.. did I say pr0n? I meant banking information. Right. </p>
<p>So short of encrypting large sections of your drive, handing someone the keys to your hard drive is effectively handing them the keys to your entire life, including the bits you may not want to be made available to people you love. Speaking as someone whose step-father once asked her to help him cancel his porn account and remove the malware he got from a porn site, I can tell you there are parts of your private life that really, really, really should follow you to your grave. </p>
<h3>Hmmm</h3>
<p>As upcoming generations rely more and more on online services and communities and become closer to friends they only know from online who may have no connection to their &#8220;real life&#8221; friends, I think we&#8217;ll see more of this kind of thinking. </p>
<p>Perhaps more importantly, the generation of people whose entire life&#8217;s work is purely digital is starting to get older (like me), we will need a more organized, integrated way to handle our online legacies. The most significant, important things I have accomplished in my life so far will disappear if I don&#8217;t have a system in place &#8211; and right now, that system is kludgey at best, impossible to execute by the technically challenged people I love most at worst.</p>
<p>I do not have children (thank God), and do not want children. My digital creations, self-indulgent and rambling though they may be, are my legacy. They are the only thing I have that has a chance of living on beyond me. </p>
<p>As I&#8217;m writing this, I realize that there is currently no solution that does exactly what I need and want. Anyone with some VC capital want to start a company? I&#8217;ve already got a plan. Drop me an email if you&#8217;ve got some cash to blow. <img src='http://www.snipe.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3>Your Responsibility?</h3>
<p>Is it weird to think about this? I don&#8217;t think so. I personally feel that just as it is responsible to have a will, it is responsible to leave your last wishes and instructions for your social networking profiles. Having had a few friends pass away in this digital age, I wish they had considered their social networking profiles in their last wishes. To your friends and family, it can be heartbreaking (and more than a little creepy) to see haunted by your profile on their friends list after you&#8217;ve passed. I lost a friend to suicide this time last year, and it took 4 months for Facebook to finally get the memorial status of his profile set up correctly. It was a painful daily reminder to say the very least. Not to mention that neglecting to make formal plans for your eventual death puts the burden of deciding what to do with your social networking accounts on the very people who are already grieving. </p>
<p>Happy New Year to you all. Stay safe, and consider adding a posthumous persona management plan to your resolutions list. What are your thoughts on this? Is it going too far? Not far enough? Do you already have a plan in place, or a pre-recorded &#8220;screw you, world!&#8221; video set to be published when you kick it? I&#8217;d love to hear about it in the comments.</p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/05/new-facebook-phishing-attempts/' rel='bookmark' title='Permanent Link: New Facebook Phishing Attempts'>New Facebook Phishing Attempts</a> <small>Looks like a new round of phishing attacks are well...</small></li>
<li><a href='http://www.snipe.net/2008/06/my-favorite-blogging-tools/' rel='bookmark' title='Permanent Link: My favorite blogging tools'>My favorite blogging tools</a> <small>With all the social networks out there, how do you...</small></li>
<li><a href='http://www.snipe.net/2008/07/what-exactly-is-the-point-of-twitter/' rel='bookmark' title='Permanent Link: What Exactly is the Point of Twitter?'>What Exactly is the Point of Twitter?</a> <small>Since this question has come up at least three times...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/12/death-in-the-digital-age/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Twitter Retweet Contests: Viral Marketing or Social Media Spam?</title>
		<link>http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/</link>
		<comments>http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 13:29:43 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2694</guid>
		<description><![CDATA[Those of us who eat, sleep (and occasionally &#8212; oh nevermind) on Twitter have noticed an increase in the Twitter &#8220;RT Contests&#8221; being promoted by companies in an effort to leverage folks who want free shwag to whore out their promotion. When it was only a few companies, it didn&#8217;t seem so bad, but now [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Fviral-marketing-or-social-media-spam%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Fviral-marketing-or-social-media-spam%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>Those of us who eat, sleep (and occasionally &#8212; oh nevermind) on Twitter have noticed an increase in the Twitter &#8220;RT Contests&#8221; being promoted by companies in an effort to leverage folks who want free shwag to whore out their promotion.<br />
<span id="more-2694"></span><br />
When it was only a few companies, it didn&#8217;t seem so bad, but now that all the cool kids are doing it, has it become just another kind of Twitter spam?</p>
<p>This has been a bug up my ass for a while, but I let it go, since it seemed like there were really only a handful of companies pushing them. Now that the trend seems to be spreading like social media herpes, I decided to share a few thoughts.</p>
<p>If you were the FIRST person to come up with this idea, you *might* have been clever. But you weren&#8217;t. Odds are, you weren&#8217;t even in the first thousand to try it. You jumped on the bandwagon after you saw people you follow mindlessly posting contests and promotional tweets in the desperate hope of winning a donkeypunch, or a unicorn or whatever it is the company was hawking. </p>
<h3>Fundamental Misunderstanding of Twitter</h3>
<p>I can see the allure. It&#8217;s free, and has the potential to spread like wildfire, as many things do on Twitter. And it&#8217;s ZOMGSOCIALMEDIABBQFTW!!</p>
<p>The problem is that as this technique gains popularity, it begins taking over user&#8217;s Twitter streams, especially when it&#8217;s being used by a popular company. </p>
<p>Okay, I lied. That&#8217;s not the only problem. </p>
<p>The second problem is that it <strong>demonstrates once again a fundamental misunderstanding by companies about how Twitter should be used</strong> &#8211; or rather, how Twitter users expect and want it to be used. I have said this a hundred times, and will likely say it a hundred more &#8211; Twitter is about conversation. It is a two-way street. If you&#8217;re looking for a way to broadcast promotions, use an email newsletter list, targeted ads, or another more appropriate advertising vehicle.</p>
<p>Another facet to this is the fact that <strong>many companies don&#8217;t grok that Twitter isn&#8217;t Facebook</strong>. Twitter isn&#8217;t just a place where you connect with people you already know &#8211; trusted friends and colleagues. Twitter, by it&#8217;s very nature, encourages you to connect with people you have never met, and with whom you may share *some* common interests, but I can tell you my own list of Twitter followers are as varied as colorful as can be imagined. A good many of them classify themselves as geeks in one way or another, but even with that seemingly clear delineation, some are math geeks, some are science geeks, some are literature geeks, and so on. Some are Mac users, some are Linux/BSD or Windows users. Even out of the smaller subset of people on Twitter that I interact with every single day (my Twitter BFFs?), they&#8217;re not going to have the same interests.</p>
<p>Encouraging your Twitter followers to spam their friends with contests and promotions that they very likely may not even be interested in will only result in their followers resenting you *and* unfollowing the original tweeter. I treat RT contests very much like the recent syphilitic plague of Twitter-based games such as Mafia Wars. If I get an @reply or DM that was generated by a Twitter game, that is an instantaneous unfollow, no backsies.</p>
<p>I have marginally more patience for RT contests than Twitter games, only because I still see them less often, but anyone who knows me knows patience isn&#8217;t one of my many, many virtues, so if this trend continues, I could easily see my stance getting a little more aggressive on it.</p>
<h3>Worst of the Worst</h3>
<p>The worst offenders are folks like MacHeist, who offers free Mac software for download, but only if you tweet an ad for them. Their system actually checks to see if you have tweeted this message, and only then will allow you to download the software. Fucking lame. </p>
<p>They&#8217;ll call it a clever promotional tool, I call it blackmail. Somehow requiring a user to tweet something in order to enter a contest feels less awful to me than their approach &#8211; perhaps because contests already come with the sense that your chances of winning are limited, so a user is more likely to opt <em>not</em> to tweet and enter because they have decided that their slim chance of winning is not worth pissing off their followers.</p>
<p>Incidentally, I have spoken to a few groups that have used Twitter Tweet/RT contest promotions before, and according to them, their success rate wasn&#8217;t even very good, according to whatever metric by which they gauge this sort of thing. That is, of course, entirely anecdotal, since I made no effort to solicit this information from many of the larger companies using it because I don&#8217;t *care* how successful it is. It&#8217;s still obnoxious.</p>
<p>I was curious what my own Twitter followers thought, <a href="http://twtpoll.com/r/m84c83">so I posted an (unscientific) poll</a>:<br />
<a href="http://www.snipe.net/wp-content/uploads/2009/12/poll.png"><img src="http://www.snipe.net/wp-content/uploads/2009/12/poll.png" alt="poll" title="poll" width="619" height="334" class="aligncenter size-full wp-image-2702" /></a></p>
<p>Only *one* user voted that they felt this was  &#8220;clever marketing&#8221; (and that vote followed me remarking that I found it interesting that no one selected that option yet, so there&#8217;s a good chance the voter was just being a wiseass.)  Almost 25% answered that they felt it was flat-out SPAM, and over 60% said it depends how it&#8217;s executed, but it feels mostly spammy to them.</p>
<h3>The Secret</h3>
<p>Here&#8217;s the big secret these companies seem to be missing &#8211; <strong>if your contest doesn&#8217;t suck, many of your users will retweet it because they *want* to, not because they have to.</strong> </p>
<p>Make it easy for them to tweet it &#8211; set up a pre-filled Twitter message so they only have to click &#8220;tweet&#8221; (but always always ALWAYS give them the chance to alter or add to the message) after they&#8217;ve signed up for the promotion and they probably will! <strong>If the prize or promotion is good enough on it&#8217;s own merit, people will talk about it. You don&#8217;t need to strong-arm them into doing it.</strong></p>
<p>It comes down to part of the psychology of Twitter users. <strong>Being the first to tell their followers about something they think is awesome, and they think their followers will find awesome, is one of the most rewarding aspects of Twitter.</strong> It helps establish them as an authority on all things awesome, and shows their followers that they have something of value to offer. In return, their announcement gets Retweeted, and they feel good knowing they have sent a message that resonates with many of their followers. It is a win-win for the original tweeter, and for their followers.</p>
<p>Let this social dynamic of Twitter work on it&#8217;s own. This organic way of spreading information is exactly what made Twitter popular &#8211; not by companies forcing users to shill for them.<br />
<strong><br />
What are your thoughts? Am I over-reacting? Let me know in the comments.</strong></p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/' rel='bookmark' title='Permanent Link: There is NO SUCH THING as a Social Media Marketer'>There is NO SUCH THING as a Social Media Marketer</a> <small>That&#8217;s right. I said it. If your job title is...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
<li><a href='http://www.snipe.net/2008/08/using-twitter-for-business/' rel='bookmark' title='Permanent Link: Using Twitter for Business?'>Using Twitter for Business?</a> <small>Two interesting articles have come out recently, discussing tips and...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Twitter Gets Down to Business</title>
		<link>http://www.snipe.net/2009/12/twitter-business-contributors/</link>
		<comments>http://www.snipe.net/2009/12/twitter-business-contributors/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 21:40:01 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[cotweet]]></category>
		<category><![CDATA[hootsuite]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter api]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2671</guid>
		<description><![CDATA[Twitter has taken the first steps of what will no doubt be a long journey towards providing more native support for businesses using their micro-blogging platform by introducing the new (beta) Contributors feature. Back in 2008, I posted some initial thoughts about companies using Twitter for business. This past year has shown that companies have [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Ftwitter-business-contributors%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F12%2Ftwitter-business-contributors%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>Twitter has taken the first steps of what will no doubt be a long journey towards providing more native support for businesses using their micro-blogging platform by introducing the new (beta) Contributors feature.<br />
<span id="more-2671"></span><br />
Back in 2008, I posted <a href="http://www.snipe.net/2008/08/using-twitter-for-business/">some initial thoughts about companies using Twitter for business</a>. This past year has shown that companies have taken hold of Twitter and are making it part of their business plan. Some have done it well, while some clearly still don&#8217;t get that Twitter is about conversation, not advertising, but more and more brands are using Twitter and that&#8217;s not about to change any time soon. </p>
<h3>Twitter &#8220;Contributors&#8221;</h3>
<p>Yesterday, Twitter announced the very limited beta release of a new feature they&#8217;re calling &#8220;Contributors&#8221;. From <a href="http://blog.twitter.com/2009/12/feature-test-with-businesses.html">their company blog post</a>:</p>
<blockquote><p>The feature we are beta testing is called &#8216;Contributors&#8217; – it enables users to engage in more authentic conversations with businesses by allowing those organizations to manage multiple contributors to their account. The feature appends the contributor&#8217;s username to the tweet byline, making the business to consumer communication more personal; e.g. if <a href="http://twitter.com/Twitter">@Twitter</a> invites <a href="http://twitter.com/Biz">@Biz</a> to tweet on its behalf, then a tweet from @Twitter would include @Biz in the byline so that users know more about the real people behind organizations.</p></blockquote>
<p><a href="http://www.snipe.net/wp-content/uploads/2009/12/tweet.png"><img src="http://www.snipe.net/wp-content/uploads/2009/12/tweet.png" alt="tweet" title="tweet" width="584" height="99" class="aligncenter size-full wp-image-2674" /></a></p>
<p>Before this feature was introduced, enterprise-level Twitter apps that focused on facilitating a team of people servicing a single account &#8211; services like <a href="http://cotweet.com/">CoTweet</a> and <a href="http://hootsuite.com/">HootSuite</a> &#8211; encouraged team members to &#8220;sign&#8221; their tweets with an initial, such such as &#8220;^S&#8221; to indicate which team member posted.</p>
<p>This new API feature, in addition to the launch of <strong><a href="http://business.twitter.com/twitter101/">Twitter&#8217;s Business site</a></strong>, shows that supporting and cultivating business interaction on the platform is clearly something on Twitter&#8217;s long-term agenda.</p>
<p>I, for one, am pleased to see Twitter going in this direction. <strong>Whether or not you agree that businesses should be on Twitter, the fact is they&#8217;re here to stay</strong>- and by adding this functionality to the API, they are encouraging something I have felt was important for as long as social media has been in the mainstream: personalizing your public face. </p>
<p>As I mentioned in <a href="http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/">a previous post</a>, the companies that seem to be doing things right with regard to Twitter seem to be the ones that grok the concept of the &#8216;conversation&#8217;, and allow the personalities of their Twitter representatives shine through.</p>
<p>To put a finer point on it, several studies have been done that show that doctors who have poor beside-manner or come across as uninterested in their patients have a higher risk of being sued for malpractice, regardless of their technical skill as a physician. [<a href="http://www.thefreelibrary.com/Doctors+with+lax+manners+tend+to+get+sued+most,+Vanderbilt+studies...-a016607495">more</a>] In short, patients don&#8217;t sue the doctor&#8217;s they <em>like</em>.</p>
<p>Customers have a harder time getting angry or frustrated with companies when they get to know the employees as human beings. I felt the full impact of this myself just a week and a half ago at the <a href="http://www.snipe.net/2009/12/mswds09/">Microsoft Web Developer&#8217;s Summit</a>, and have often referenced Rackspace&#8217;s presence on Twitter as being a good example of this. </p>
<p>Conversely, if you have a bunch of assholes handling your Twitter account, expect to feel the backlash of &#8220;social media malpractice&#8221;.</p>
<p><strong>Is it risky to let customers or potential customers get to know your company employees on a more personal level? Absolutely. </strong>But if you&#8217;re not prepared to handle that risk, you should probably rule out social media as a service, support. or pre-sales tool. Stick with your static Facebook fan page with your carefully crafted and copy-edited status updates. </p>
<p>Like everything else in this world, you need to evaluate the risk-to-reward ratio, and determine whether or not you&#8217;re willing to give up a little bit of the structure and control of traditional media for a chance to really connect with your customers and establish brand loyalty on a deeper level. If you&#8217;re not, that&#8217;s <em>totally</em> fine. But if you&#8217;re going to do it, you damn sure better do it right, because if you don&#8217;t, the spotlight will be on you, and it gets hot as Hell. I&#8217;m talking to you, <a href="http://www.searchengineguide.com/mack-collier/worst-example-of-a-company-twittering.php">Dell</a>, <a href="http://www.socialmediatoday.com/SMC/103334">HabitatUK</a> and countless others.</p>
<p>Obviously,  if you&#8217;re going to take advantage of this new feature, you will want to set up some corporate guidelines for what is &#8211; and is not &#8211; appropriate for a personal Twitter account that is effectively endorsed by your brand, but remember not to hold the reigns too tightly. Just as you would hire the outgoing, friendly, charming associate with the dynamite personality to be your public sales face, choose your brightest, wittiest and most interesting employees to be your Twitter face.</p>
<p><strong>If your company is just starting to (or starting to consider) venturing into the Twitter depths, be sure to take a cruise through <a href="http://business.twitter.com/twitter101/">Twitter&#8217;s Business site</a></strong>, which features a breakdown of how Twitter works, business best practices, Twitter lingo, case studies and a slideshow for download that is tailored just for you. </p>
<h3>Additional Links</h3>
<ul>
<li><a href="http://digital.venturebeat.com/2008/12/15/twitter-has-made-dell-1-million-in-revenue/">DigitalBeat &#8211; Twitter has made Dell $1Million in Revenue</a></li>
<li><a href="http://econsultancy.com/blog/4843-social-media-the-best-and-worst-of-2009">Social Media: The Best and Worst of 2009</a></li>
</ul>
<p><em>Blog photo credit: Tom Hoffarth, <a href="http://www.insidesocal.com/tomhoffarth/archives/2009/06/if-this-is-the.html">InsideSocal</a>.</em></p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2008/08/using-twitter-for-business/' rel='bookmark' title='Permanent Link: Using Twitter for Business?'>Using Twitter for Business?</a> <small>Two interesting articles have come out recently, discussing tips and...</small></li>
<li><a href='http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/' rel='bookmark' title='Permanent Link: There is NO SUCH THING as a Social Media Marketer'>There is NO SUCH THING as a Social Media Marketer</a> <small>That&#8217;s right. I said it. If your job title is...</small></li>
<li><a href='http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/' rel='bookmark' title='Permanent Link: Twitter Retweet Contests: Viral Marketing or Social Media Spam?'>Twitter Retweet Contests: Viral Marketing or Social Media Spam?</a> <small>Those of us who eat, sleep (and occasionally &#8212; oh...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/12/twitter-business-contributors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trying Out Disqus</title>
		<link>http://www.snipe.net/2009/10/trying-out-disqus/</link>
		<comments>http://www.snipe.net/2009/10/trying-out-disqus/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 05:48:58 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[commenting]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[dsqus]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[viral]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2424</guid>
		<description><![CDATA[I&#8217;ve decided to move the comment system on Snipe.Net over to Disqus. I like it so far, but I&#8217;ve run into a few glitches and challenges that I thought I&#8217;d share with you. (Also, it explains why things may look funny here for a few days while I work out the display kinks.) What&#8217;s Disqus? [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F10%2Ftrying-out-disqus%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F10%2Ftrying-out-disqus%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve decided to move the comment system on Snipe.Net over to Disqus. I like it so far, but I&#8217;ve run into a few glitches and challenges that I thought I&#8217;d share with you. (Also, it explains why things may look funny here for a few days while I work out the display kinks.)<br />
<span id="more-2424"></span></p>
<h2>What&#8217;s Disqus?</h2>
<p><a href="http://disqus.com/">Disqus</a> is a commenting system that you can apply to any website. If you&#8217;ve got a static site that you want to enable comments on without mucking around with databases and scripting languages, Disqus might be something you want to look into. Disqus can also be used (as in this case) as a replacement for a standard commenting system like WordPress&#8217; native comments. Oh, and did I mention it&#8217;s free?</p>
<p><b>I&#8217;d like to be very clear here with regard to what Disqus is NOT. </b>Disqus is not a content management/blogging platform. It would not replace your WordPress or Movable Type installation, and the way by which you post new content. It handles only the comments, and is basically agnostic to your actual site content.</p>
<p>I&#8217;ve known about Disqus for years, but normal WordPress commenting was enough to do the job for me, so I never bothered investigating it much, but with the emergence of third-party login connections like Facebook Connect, Twitter&#8217;s OAuth, OpenID, and so on, I realized I wanted to offer these ways of authenticating to my site users. Hacking WordPress (or using several clunky and sometimes conflicting plugins) for each one of these authentication methods wasn&#8217;t something I had the energy to do, plus Disqus offers a few additional features I really liked, such as tracking &#8220;reactions&#8221; and the ability for users to upload a video response.</p>
<p>Disqus isn&#8217;t the only one doing this. <a href="http://intensedebate.com/">IntenseDebate.Com</a> offers very similar services and an almost comparable feature set. I set up an IntenseDebate account and even set up the WordPress plugin, but ended up a little underwhelmed, for reasons that are outside the scope of this article. If you&#8217;re interested in comparing the two, <a href="http://dox.deuts.net/intensedebate-vs.-disqus">check out this wiki page</a> by <a href="http://deuts.org">deuts.org</a>.</p>
<h2>Why Disqus?</h2>
<p>What really convinced me that Disqus was stable and strong enough to give it a shot is the fact that <a href="http://www.mashable.com">Mashable.Com</a> uses Disqus exclusively to handle their site comments, and that&#8217;s kind of a big deal. As a frequent visitor to Mashable, I always love being able to one-click login to reply, and seeing the &#8220;reactions&#8221; is always interesting to me. </p>
<p>I&#8217;ve already mentioned a few of the things I really like about Disqus &#8211; and for a full feature set, <a href="http://disqus.com/">visit their website</a> and click on the &#8220;This is why you should too&#8221; link on their homepage &#8211; but these were the key factors for me:</p>
<p><strong>Ability for a commenter to use </strong><strong>Facebook</strong>, <strong>Twitter</strong>, <strong>OpenID</strong>, <strong>Yahoo</strong> and other networks to authenticate and post. This was probably the most important factor. I had <a href="http://www.snipe.net/2009/01/trying-out-facebook-connect/">previously hacked together some Facebook Connection functionality</a>, but it was a massive pain in the ass, and would cause the page to reload itself once on every page load in Firefox. Really annoying. Plus, I wanted to widen the net to OpenID and Twitter, without a lot of extra work. Logging in is still optional, but more features are available if the user logs in using one of the methods offered.</p>
<p><strong>Facebook Newsfeeds.</strong> This was part of the reason I had originally hooked up Facebook Connect to the site in the first place &#8211; the ability to allow the user to post a notification to Facebook that they have just commented on my site. I am intimately, painfully aware of the effectiveness of the Facebook news feed in spreading content because of my extensive work <a href="http://www.snipe.net/tags/facebook-applications/">developing Facebook applications</a>, so this was a feature I definitely wanted.</p>
<p>Incidentally, when you sign up for Disqus, they give you an API key based off of <a href="http://wiki.developers.facebook.com/index.php/Facebook_Connect_Fourth_Party_Code">Facebook&#8217;s new fourth-party functionality</a> that lets services like Disqus create an application on the fly. IntenseDebate, on the other hand, asks you to manually create an application in Facebook and then enter your API key. </p>
<p><strong>Ability to track Reactions. </strong>As I&#8217;ve mentioned, this is a feature I really like about Disqus. Reactions are similar to trackbacks, although my WordPress has never been great about capturing all of the places one of my posts might have been mentioned, especially social networks. Reactions let you mine social comments and mentions from places such as Twitter, FriendFeed, Digg, and YouTube, then display them with your comments:</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2009/10/Screen-shot-2009-10-23-at-12.12.37-AM-560x373.png" alt="Screen shot 2009-10-23 at 12.12.37 AM" title="Screen shot 2009-10-23 at 12.12.37 AM" width="560" height="373" class="aligncenter size-large wp-image-2427" /></p>
<p><strong>&#8220;Record a video&#8221; option.</strong> While I absolutely do not expect anyone who visits this blog regularly to ever record a video response (and frankly it would probably be a little creepy if they did), this was interesting to me for another project I&#8217;m working on where that type of thing would totally make sense, so I figured I&#8217;d include it and see how it worked.</p>
<p><strong>Response rating.</strong> The &#8220;like&#8221; functionality is something I think is useful to get an idea of who the people are who are contributing the most valuable comment content to the site.</p>
<p><strong>Email notifications of follow-up comments. </strong>This is something I have had for a while on Snipe.Net by way of a WordPress Plugin called <a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">Subscribe to Comments</a> &#8211; and it is such essential functionality, it actually surprises me that WordPress hasn&#8217;t made this part of the core yet.  The Subscribe to Comments plugin worked fine, although it was a little on the clunky side to customize the look+feel. </p>
<p>So that&#8217;s what I was looking for. All of the functions above work as advertised, from what I can see so far, so I&#8217;m happy about that. </p>
<h2>The Challenges</h2>
<p>Everything was not exactly smooth sailing to start off with though, and I&#8217;m still trying to deal with some frustrations that come with Disqus. Depending on how customized your look and feel is, these may not even be issues for you, but since my site design is heavily stylized, it&#8217;s actually giving me some headaches. I&#8217;ll get into more detail in this section.</p>
<p><strong>Import didn&#8217;t work.</strong> Disqus lets you import your existing blog comments from a variety of blogging platforms, including self-hosted WordPress installs, Blogger, Drupal, Joomla, Movable Type, Tumblr, Sandvox, chi.mp, Squarespace and more. I apparently was one of a handful of people affected by a temporary bug in their importer, and while it was frustrating at the time, they got it sorted the same day. I had emailed support, left a few blog comments on their blog and didn&#8217;t hear back, but they did eventually tag me back on <a href="http://twitter.com/Disqus">Twitter</a>. (Annoying that they didn&#8217;t respond with an acknowledgment of the issue before it had been fixed though. A &#8220;we&#8217;re looking into it&#8221; would have been nice, rather than leaving me wondering if anyone was there.)</p>
<p><strong>Pain in the ass to style.</strong> The <a href="http://disqus.com/docs/css/">documentation on the styles used in Disqus</a> is not exactly extensive. They basically tell you which CSS ids are used for a small handful of the elements in the Disqus thread block, but everything else you have to figure out on your own using <a href="http://getfirebug.com/">Firebug</a>. </p>
<p><strong>Not a lot of flexibility in layout. </strong>This may not affect you at all if you&#8217;re using a pretty standard blog template. Mine was written from scratch, and although I still use a lot of the typical WordPress conventions (the HTML/CSS ids for the sidebar, for example), since you cannot actually modify the HTML that is output from the javascript calls, it can be limiting. </p>
<p>I had to take down my &#8220;Latest Comments&#8221; widget from the sidebar, since that was based on WordPress comments and it wouldn&#8217;t see any Disqus comments &#8211; but the Disqus javascript they provide to display most recent comments looked like braised ass in Marsala sauce when I tossed it into the sidebar. I may be able to work with it a little more, forcing my will through CSS alone, but this is time-consuming and even more annoying since there is no documentation on the styles being used there. I&#8217;ll keep plugging away at it, but if they let me define my own HTML containers for, say, the avatar and the text separately, it would be a lot easier. </p>
<p>Also, the &#8220;x comments&#8221; text that I usually have on the label over the blog image in both the blog post itself and on the category, homepage and tag pages is now basically sorta busted. Disqus uses javascript to fill in these areas, but you cannot customize the text from what I can see. Since my blog was designed with room for only &#8220;x comments&#8221;, not &#8220;x comments and y reactions&#8221;, this is making things look a little weird. I may have to actually redesign some of the sections to accommodate this issue, which makes me cranky.</p>
<p>In the Disqus admin, you only have three basic templates to pick from for your comments area display, none of which really rocked my socks. I picked the one that was the least weird-looking with my heavily stylized blog design, but as you can see, it still looks weird and amorphous. I&#8217;ll have to spend some time combing through the styles manually with Firebug to see how much I can improve that.</p>
<p><b>Also, protip: </b>If your <a href="http://wiki.disqus.net/WordPressHelp#CommentCountonPermalinks.23">comment counts are not displaying properly</a> on your index/category pages, be sure to check the box in the WordPress Disqus Advanced Options in your WordPress admin:</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2009/10/wordpress-02.jpg" alt="wordpress-02" title="wordpress-02" width="451" height="43" class="aligncenter size-full wp-image-2439" /></p>
<p>They don&#8217;t make it abundantly clear what checking that box does, but my comment count wasn&#8217;t being displayed on my homepage until I checked that box.</p>
<p><strong>Some features a little buggy.</strong> For example, default avatar upload isn&#8217;t working. I expect this is a temporary issue, but it&#8217;s frustrating having a brandy new comment system and seeing the shitty gray default Disqus icon all over the place. It&#8217;s great that you can upload your own default icon for your site, but it&#8217;s only great if it actually works.</p>
<p>Also, in the custom CSS section of the Disqus.Com admin area, they suggest you use @import to import an externally hosted style sheet. Only that didn&#8217;t work at all.</p>
<p>And finally, for some reason, the comment count at the top of the blog posts pages isn&#8217;t working at all, which is why you just see &#8220;comments&#8221; in the masking tape area above the blog image, instead of &#8220;x comments.&#8221; Not sure what&#8217;s up with that, but I&#8217;ll be pestering them about it later.</p>
<p><strong>Standard paranoia. </strong>Since the blog comments no longer live on my server, if something were to happen to Disqus, temporarily or forever (DDoS, network outage, bankruptcy, etc), I&#8217;d be shit outta luck, same as happens any time you rely on a third-party system to host your content. Again, my concerns are slightly assuaged by the fact that Mashable trusts them.</p>
<h2>The API</h2>
<p>If you&#8217;re feeling ambitious, Disqus has a rudimentary API set up, however their documentation on this is arguably worse than any I&#8217;ve seen, and I&#8217;ve wrangled some gnarly APIs in my day. I should rephrase that &#8211; the <a href="http://groups.google.com/group/disqus-dev/web/api-1-1">API function documentation</a> is adequate, but they leave out some really important details. Every request you make using their API requires either a forum API key or a user API key &#8211; only they don&#8217;t tell you WHERE you&#8217;re supposed to find your API keys in the first place. </p>
<p>So you&#8217;ve got a shiny new car, and an operators manual &#8211; but no freaking keys. NO WHERE in your dashboard does it tell you what your user API key is, and without that, you cannot find out your forum API key, forum id numbers, or anything else at all. </p>
<p><strong>If you&#8217;re a standard site/blog owner who just wants to add comments to your site, you will probably never need to even look at the API</strong>, but in the off chance you actually end up tinkering with the API, here&#8217;s how you find out ALL of your API key and forum id information. Hopefully it will spare you the frustration and headache I went through to figure it out.</p>
<p>If you were writing a script to access the API, you might use something like cURL in PHP. To test these functions out, you can just use a command line terminal or ssh terminal using cURL as long as the machine you&#8217;re logged into via shell has cURL installed. The API responses are in JSON format.</p>
<p>You need to perform these in order, since each step relies on the information you obtained in the previous step.</p>
<p><strong>1. To get your Disqus User API key </strong>(which you need to obtain your Forum API key and everything else):<br />
Login to Disqus.Com, and go to this url &#8211; <a href="http://disqus.com/api/get_my_key/">http://disqus.com/api/get_my_key/</a></p>
<p><strong>2. To get your Disqus Forum ID:</strong><br />
Via command line, type:</p>
<pre class="brush: shell">curl -0 -L &quot;http://disqus.com/api/get_forum_list?user_api_key=_USER_API_KEY_&quot;</pre>
<p>You&#8217;ll get a JSON response that looks like this:</p>
<pre class="brush: html">{&quot;message&quot;: [{&quot;created_at&quot;: &quot;2009-10-22 10:05:15.657635&quot;,
&quot;shortname&quot;: &quot;snipenet&quot;, &quot;id&quot;: &quot;123456&quot;, &quot;name&quot;: &quot;Snipe.Net&quot;}], &quot;code&quot;: &quot;ok&quot;,
&quot;succeeded&quot;: true}</pre>
<p><strong>3. To get your Disqus Forum API Key for the Forum ID:</strong><br />
Via command line, type:</p>
<pre class="brush: html">curl -0 -L &quot;http://disqus.com/api/get_forum_api_key?user_api_key=_USER_API_KEY_&amp;forum_id=123456&quot;</pre>
<p>where the Disqus Forum IS you obtained from step 2 is &#8217;123456&#8242;.  The message field in the JSON response should contain your API key, so you&#8217;ll see something like this:</p>
<pre class="brush: html">{&quot;message&quot;: &quot;LONG_STRING_OF_LETTERS_AND_NUMBERS&quot;, &quot;code&quot;: &quot;ok&quot;, &quot;succeeded&quot;: true}</pre>
<p>Now that you&#8217;ve got all THAT, you can actually move forward with interacting with the API, as per the documentation.</p>
<h2>Conclusion</h2>
<p>It&#8217;s a little early in the game to know whether or not making the switch to Disqus was the right one. Fortunately, reverting it back to WordPress comments will take a lot less work than switching it to Disqus did, if it comes down to that. </p>
<p>I think Disqus will work out very well, and I&#8217;m excited about the new features it brings to my site, even if some of the styling and layout limitations are frustrating.</p>
<p>But hey, if you actually made it through this long, drawn-out post, leave me a comment so I can test how well Disqus is working <img src='http://www.snipe.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/12/comment-count-bug-disqus/' rel='bookmark' title='Permanent Link: Fixing Comment Count Bug in Disqus on WordPress'>Fixing Comment Count Bug in Disqus on WordPress</a> <small>My final post for 2009 should probably have been more...</small></li>
<li><a href='http://www.snipe.net/2009/12/final-fail-of-the-year/' rel='bookmark' title='Permanent Link: Final Fail of the Year'>Final Fail of the Year</a> <small>This is just a quickie to let you know that...</small></li>
<li><a href='http://www.snipe.net/2009/01/trying-out-facebook-connect/' rel='bookmark' title='Permanent Link: Trying out Facebook Connect'>Trying out Facebook Connect</a> <small>After much deliberation, I have decided to give Facebook Connect...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/10/trying-out-disqus/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Twitter launches groups in BETA for some users</title>
		<link>http://www.snipe.net/2009/10/twitter-launches-beta-lists/</link>
		<comments>http://www.snipe.net/2009/10/twitter-launches-beta-lists/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 07:29:09 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[Life Tools]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2407</guid>
		<description><![CDATA[In what seemed out-of-left field, when I logged onto the Twitter website early this morning, I was greeted with a notification of new list functionality being introduced in beta. This is, of course, incredibly awesome, and something we&#8217;ve all been begging for for over a year, but I hadn&#8217;t even heard murmurs about them seriously [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F10%2Ftwitter-launches-beta-lists%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F10%2Ftwitter-launches-beta-lists%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>In what seemed out-of-left field, when I logged onto the Twitter website early this morning, I was greeted with a notification of new list functionality being introduced in beta.<br />
<span id="more-2407"></span><br />
This is, of course, incredibly awesome, and something we&#8217;ve all been begging for for over a year, but I hadn&#8217;t even heard murmurs about them seriously working on this functionality, so this came like manna from heaven.</p>
<p>Notice that the beta message specifically asks that you don&#8217;t tweet about it, since invites are selective right now. Oops.</p>
<p><a href="http://www.snipe.net/wp-content/uploads/2009/10/beta_alert.png"><img src="http://www.snipe.net/wp-content/uploads/2009/10/beta_alert-560x289.png" alt="beta_alert" title="beta_alert" width="560" height="289" class="aligncenter size-large wp-image-2411" /></a></p>
<p>Unfortunately, I was so excited about seeing list functionality, I took a screenshot and twitpic&#8217;d it and tweeted about it before I even read the whole message. So that&#8217;s my bad. Ironically, as far as I know, Twitter has still not fixed the bug where deleted tweets still show up in search, so due to their own issues, I couldn&#8217;t even take it back after the cat was out of the bag. </p>
<p>So, to Twitter I say &#8220;Sorry dude. My bad.&#8221; I also find it hard to believe that they would expect people not to tweet about this, considering its probably the single-most significant change in Twitter <a href="http://www.snipe.net/2009/05/twitter-replies/">since they broke @replies</a>. That said, if they had notified me properly, I would have actually kept my yap shut. </p>
<p>If this was a test Twitter was putting me through to see if I was trustworthy enough to keep my mouth shut, I clearly failed. On the other hand, they should have made the &#8220;please don&#8217;t tweet this&#8221; text a little more prominent, or sent the beta invitees an email or DM explaining the conditions. Twitter is, by their own self-imposed definition, the epitome of the short-attention-span theater that represents people on the internet today, so part of me wonders if there was a little reverse psychology action going on, counting on the buzz that would be created by people not honoring their vow of silence.</p>
<p>I&#8217;m really excited about this new feature, and I&#8217;m hopeful that the software developers behind <a href="http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/">the more popular Twitter clients</a> make haste at upgrading their apps to support this. (Ahem. I&#8217;m talking to you, <a href="http://www.atebits.com/">Atebits</a>. You&#8217;ve been bitching this whole time about how groups should be handled by Twitter and you wouldn&#8217;t add them to <a href="http://www.atebits.com/tweetie-mac/">Tweetie</a> until Twitter supported them. Well, they have. So, hop to it.)</p>
<p>Hopefully we&#8217;ll soon see a wave up updates to our favorite Twitter clients, including the ability to sync existing groups from apps like Tweetdeck into the new list functionality on Twitter, saving Tweetdeck users the hassle of having to re-categorize all of their followers all over again.</p>
<p><strong>IMPORTANT NOTE: When you add someone to a public list on Twitter, that user &#8211; and everyone else &#8211; can see to what lists you&#8217;ve added them.</strong> </p>
<p><a href="http://www.snipe.net/wp-content/uploads/2009/10/twitter_list.jpg"><img src="http://www.snipe.net/wp-content/uploads/2009/10/twitter_list-560x488.jpg" alt="twitter_list" title="twitter_list" width="560" height="488" class="aligncenter size-large wp-image-2412" /></a></p>
<p>Clicking on the &#8216;lists&#8217; link will show you the names of the people who have added you to one of their lists, and which lists they&#8217;ve added you to. So, keep that in mind as you&#8217;re classifying and categorizing the people you follow. You&#8217;re obviously welcome to add people to lists like &#8220;douchebags&#8221;, &#8220;asshats&#8221;, and &#8220;morons I work with&#8221;, but don&#8217;t come crying to me when they call you on it. You were warned.</p>
<p>(My personal favorite is the &#8220;favoritards&#8221; group someone added me to.)</p>
<p>I have NO idea what their criteria was for picking people to include. Could be prolific tweeters, could be completely at random.</p>
<p>If you&#8217;re not one of the lucky ones to be on their beta list, don&#8217;t worry &#8211; you&#8217;re not alone. Most of the people who follow me don&#8217;t have this functionality yet. And if it makes you feel any better, I&#8217;m always the last one to get any new Facebook beta features. (I think it&#8217;s probably because I talk so much shit about Facebook.)</p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/05/following-me-on-twitter/' rel='bookmark' title='Permanent Link: Following Me on Twitter'>Following Me on Twitter</a> <small>If you&#8217;re following me on Twitter, or if you&#8217;re thinking...</small></li>
<li><a href='http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/' rel='bookmark' title='Permanent Link: Comparison of Desktop Twitter Clients'>Comparison of Desktop Twitter Clients</a> <small>In my never-ending quest for the perfect Twitter client, I&#8217;ve...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/10/twitter-launches-beta-lists/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Regex to Make Twitter Links Clickable</title>
		<link>http://www.snipe.net/2009/09/php-twitter-clickable-links/</link>
		<comments>http://www.snipe.net/2009/09/php-twitter-clickable-links/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 09:44:42 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[PHP/mySQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2169</guid>
		<description><![CDATA[This is just a quicky post, not one of my usual long, rambling diatribes. This week is madness, even by my own absurd standards, but I didn&#8217;t want to miss jotting this down in case it might be helpful to others. I&#8217;ve had varying degrees of success trying to find a series of preg_replace statements [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F09%2Fphp-twitter-clickable-links%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F09%2Fphp-twitter-clickable-links%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>This is just a quicky post, not one of my usual long, rambling diatribes. This week is madness, even by my own absurd standards, but I didn&#8217;t want to miss jotting this down in case it might be helpful to others.<br />
<span id="more-2169"></span><br />
I&#8217;ve had varying degrees of success trying to find a series of preg_replace statements that would correctly replace output generated by Twitter&#8217;s RSS feeds (which do not contain any linking HTML) to autolink hyperlinks, @replies and hashtags, so I finally sat down and sorted it out myself. </p>
<p>The code below should correctly autolink all of the autolinkables in your PHP script:</p>
<ul>
<li>links @username to the user&#8217;s Twitter profile page</li>
<li>links regular links to wherever they should link to</li>
<li>links hashtags to a Twitter search on that hashtag</li>
</ul>
<pre class="brush: php">function twitterify($ret) {
  $ret = preg_replace(&quot;#(^|[\n ])([\w]+?://[\w]+[^ \&quot;\n\r\t&lt; ]*)#&quot;, &quot;\\1&lt;a href=\&quot;\\2\&quot; target=\&quot;_blank\&quot;&gt;\\2&lt;/a&gt;&quot;, $ret);
  $ret = preg_replace(&quot;#(^|[\n ])((www|ftp)\.[^ \&quot;\t\n\r&lt; ]*)#&quot;, &quot;\\1&lt;a href=\&quot;http://\\2\&quot; target=\&quot;_blank\&quot;&gt;\\2&lt;/a&gt;&quot;, $ret);
  $ret = preg_replace(&quot;/@(\w+)/&quot;, &quot;&lt;a href=\&quot;http://www.twitter.com/\\1\&quot; target=\&quot;_blank\&quot;&gt;@\\1&lt;/a&gt;&quot;, $ret);
  $ret = preg_replace(&quot;/#(\w+)/&quot;, &quot;&lt;a href=\&quot;http://search.twitter.com/search?q=\\1\&quot; target=\&quot;_blank\&quot;&gt;#\\1&lt;/a&gt;&quot;, $ret);
return $ret;
}</pre>
<p>Someday I&#8217;ll try to find the time to write a regex primer/tutorial. Regex is another one of the things, <a href="http://www.snipe.net/series/subversion-primer/">like SVN</a>, that seems scary and incomprehensible to many people, but eventually it clicks and makes sense. In the meantime, if you&#8217;re interested in learning more about using Regex in PHP, check out the following resources:</p>
<h3>More Regexy Goodness:</h3>
<ul>
<li><a href="http://www.regular-expressions.info/php.html">Using Regular Expressions in PHP</a> via regular-expressions.info</li>
<li><a href="http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html">Introduction to PHP Regex</a> via phpro.org</li>
<li><a href="http://www.webcheatsheet.com/php/regular_expressions.php">Using Regular Expressions in PHP</a> via webcheatsheets.com</li>
<li><a href="http://www.catswhocode.com/blog/15-php-regular-expressions-for-web-developers">15 PHP Regular Expressions for Web Developers</a> via catswhocode.com</li>
</ul>
<p>Make sure you leave yourself some time to actually try out some examples, and dissect the examples they give so that you really grok what&#8217;s happening. Once it clicks, it seems so simple, you won&#8217;t believe you ever let it beat you up and take your lunch money.</p>
<p>Image by <a href="http://www.xkcd.com/">xkcd</a>, via <a href="http://store.xkcd.com/xkcd/#RegularExpressionsShirt">their awesome web store</a>. The comic rocks my geeky face off. I buy my clothes there. So should you. </p>
<p>PS &#8211; still really, really hate posting code in WordPress. Even in HTML mode, it keeps converting my fscking special characters, which then get double/triple/etc converted.  </p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/03/giantblueglowingcock-meme/' rel='bookmark' title='Permanent Link: The&#8230; Er&#8230; Anatomy of a Twitter Meme'>The&#8230; Er&#8230; Anatomy of a Twitter Meme</a> <small>This is a transcript of the #giantblueglowingcock Twitter meme from...</small></li>
<li><a href='http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/' rel='bookmark' title='Permanent Link: Comparison of Desktop Twitter Clients'>Comparison of Desktop Twitter Clients</a> <small>In my never-ending quest for the perfect Twitter client, I&#8217;ve...</small></li>
<li><a href='http://www.snipe.net/2009/07/writing-your-first-twitter-application-with-oauth/' rel='bookmark' title='Permanent Link: Writing Your First Twitter Application with OAuth'>Writing Your First Twitter Application with OAuth</a> <small>If you&#8217;re interested in writing a web-based Twitter application but...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/09/php-twitter-clickable-links/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Writing Your First Twitter Application with OAuth</title>
		<link>http://www.snipe.net/2009/07/writing-your-first-twitter-application-with-oauth/</link>
		<comments>http://www.snipe.net/2009/07/writing-your-first-twitter-application-with-oauth/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 23:26:12 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[PHP/mySQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=2070</guid>
		<description><![CDATA[If you&#8217;re interested in writing a web-based Twitter application but aren&#8217;t sure where to start, the Twitter OAuth library from Abraham Wiliams makes authenticating with OAuth and Twitter a breeze. Please note: Use of the information in this article is conditional on the fact that you swear NOT to to make any of those goddamned [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F07%2Fwriting-your-first-twitter-application-with-oauth%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F07%2Fwriting-your-first-twitter-application-with-oauth%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>If you&#8217;re interested in writing a web-based Twitter application but aren&#8217;t sure where to start, the <a href="http://twitter.abrah.am/" target="_blank">Twitter OAuth library from Abraham Wiliams</a> makes authenticating with OAuth and Twitter a breeze.<br />
<span id="more-2070"></span><br />
<strong>Please note: </strong>Use of the information in this article is conditional on the fact that you swear NOT to to make any of those goddamned Twitter games that spam Twitter timelines or send DMs like Spymaster or Quizzes. If you&#8217;re reading this to learn how to create one of those, please fuck right off. Do not pass go, do not collect $200. Those apps are the anal cancer of Twitter and the people who write them should be clubbed like baby seals.</p>
<p>Right then. Moving on.</p>
<p><a href="http://oauth.net/" target="_blank">OAuth</a> is an open protocol to allow secure API authorization  in a simple and standard method from desktop and web applications. In layman&#8217;s terms, it is a system by which you can allow a user to authenticate with an OAuth-enabled service without providing you with their credentials to that service.</p>
<p>In my Twitter anti-social media douchebag service, <a href="http://www.douchenuker.com" target="_blank">DoucheNuker.Com</a>, we use Twitter&#8217;s OAuth to validate the user and make Twitter API requests on their behalf, specifically sending a DM to the douchebag they are nuking, another DM to @spam to report them to Twitter as a spammer, and then a block request to block the spammer&#8217;s account from being able to follow them in the future.</p>
<h3>Why OAuth?</h3>
<p>Using OAuth allows you to write applications that access the Twitter API but do not require your users to give you their Twitter username and password. This is important for a variety of reasons:</p>
<ul>
<li>If the user changes their Twitter login, they do not have to update that information with you for your application to continue working for them</li>
<li>Using OAuth puts the user in control &#8211; if they ever wish to stop using your application, they can <a href="https://twitter.com/account/connections" target="_blank">disable it through Twitter</a> instead of trusting your application to stop using their login information. Once they disable it through Twitter, any requests by your application will require them to manually approve the connection again.</li>
<li>Increased sense of trust, since the user doesn&#8217;t have to worry about your application stealing their Twitter credentials and using it for nefarious purposes. I personally wouldn&#8217;t trust any web-based application that asks for my Twitter username and password, and given <a href="http://mashable.com/2009/07/15/twitter-security-meltdown/" target="_blank">Twitter&#8217;s recent history of bad press regarding their security</a>, more and more users are following that lead.</li>
</ul>
<h3>Definitions</h3>
<p style="text-align: left;">Before I show you how to use Abraham&#8217;s shmancy library to connect to Twitter&#8217;s OAuth, you should understand the basics of how OAuth works and what it&#8217;s doing. And before we get too caught up in <em>that</em>, it&#8217;s important that we establish some definitions that you&#8217;ll see if you do any additional research into OAuth:</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-2084" title="chartkey-2" src="http://www.snipe.net/wp-content/uploads/2009/07/chartkey-2.png" alt="chartkey-2" width="464" height="110" /></p>
<p style="text-align: left;">
<p><strong>User:</strong> The users of your application.<br />
<strong>Consumer:</strong> Your application, which you have registered with Twitter<br />
<strong>Service Provider: </strong>The third-party service the <em>consumer</em> (your application) is authenticating against &#8211; in this case, Twitter.</p>
<p>These terms are used in much of the OAuth documentation, so they&#8217;re worth remembering.</p>
<p>So now that you know the lingo, how does OAuth actually work? For a detailed technical view of what gets passed back and forth, check out the <a href="http://oauth.googlecode.com/svn/spec/branches/1.0/drafts/4/spec.html" target="_blank">core spec documentation on OAuth</a>. Included in that documentation is the detailed chart below.</p>
<p><img class="aligncenter size-large wp-image-2088" title="diagram" src="http://www.snipe.net/wp-content/uploads/2009/07/diagram-560x411.png" alt="diagram" width="560" height="411" /></p>
<p>As you can see, the documentation frequently uses the terms defined above.</p>
<p>If that flow diagram seems a little overwhelming, don&#8217;t sweat it. I have a simplified version just for you (featuring a stoner Twitter user and a Twitter bird with a Thyroid problem), specifically with respect to the bits you need to know to set up your first Twitter application with OAuth. The other things OAuth does <em>are</em> important, but this is the stuff that directly impacts you, and that you need to grok to get started with your app.</p>
<p><img class="aligncenter size-full wp-image-2086" title="chart" src="http://www.snipe.net/wp-content/uploads/2009/07/chart.png" alt="chart" width="550" height="435" /></p>
<p><img class="alignleft size-full wp-image-2090" title="boba_fett" src="http://www.snipe.net/wp-content/uploads/2009/07/boba_fett.png" alt="boba_fett" width="128" height="128" />I was absurdly and inexplicably tempted to randomly throw a Boba Fett icon into that diagram, but was afraid it might confuse people. That said, I have poor impulse control, so here&#8217;s a random Boba Fett icon, so I can sleep tonight. As my friend <a href="http://twitter.com/jramboz" target="_blank">Jason Ramboz</a> says, &#8220;Step 4, Boba Fett freezes the key in carbonite for transport.&#8221;</p>
<p>Moving on.</p>
<p>Now that you&#8217;ve got a good idea of how the basics of OAuth work, you&#8217;re ready to get started with Abraham&#8217;s great Twitter OAuth library. He does provide an example script in the downloadable code, but it might be confusing for people just starting out.</p>
<h3>Getting Started &#8211; Registering Your Application with Twitter</h3>
<p>Before you even start mucking around in any code, you have to <strong><a href="https://twitter.com/oauth_clients/new" target="_blank">register your new application with Twitter</a></strong>. You&#8217;ll need a name and url for your application in order to register it, and you&#8217;ll need to define a callback url. The callback url is the full url of the page Twitter should send the user to after it&#8217;s done authenticating. This file can be named anything you want, but make sure the one you create on your server matches the one you register with Twitter. All of these details can be changed later if you change your mind or need to update something.</p>
<p>Once you&#8217;ve registered your application, Twitter will issue you a <strong>Consumer Key</strong> and a <strong>Consumer Secret</strong> for your new app. You&#8217;ll need these to get your sample code from the Twitter OAuth library working. As you can probably tell by the name, your Consumer Secret should remain private and you should never give it out to anyone. It&#8217;s used in your code so that Twitter can identify your application when you&#8217;re making API calls.</p>
<p>By forcing you to send your consumer key and secret with your API calls, Twitter is able to determine which application is sending the API calls, and can verify that the Twitter user you are attempting to send API requests on behalf of has actually authorized your application to access their account. If the user decides they no longer want to allow your application, they can edit their allowed application preferences and your application will no longer be able to make API calls on their behalf.</p>
<p>You can access a list of all of the applications you have registered with Twitter &#8211; and links to edit their details or view the consumer key and consumer secret &#8211; by going to <a href="https://twitter.com/oauth_clients/" target="_blank">your oauth clients page on Twitter</a>.</p>
<h4>The Twitter OAuth PHP Library Code</h4>
<p><strong>You&#8217;ve got your consumer keys from Twitter, so now you&#8217;re ready to download <a href="https://docs.google.com/View?docID=dcf2dzzs_2339fzbfsf4" target="_blank">Abraham&#8217;s Twitter OAuth library</a> code. </strong>You can pull the code from <a href="http://github.com/abraham/twitteroauth" target="_blank">http://github.com/abraham/twitteroauth</a>. As I mentioned, he does provide an example script, but there&#8217;s not a lot of explanation given to it, so some people might be a little confused by it if its their first foray into Twitter applications with OAuth. We&#8217;re going to whip up something a little more straightforward and simple, so you can easily modify it to suit your needs.</p>
<p>Unpack/unzip the archive you downloaded from github. You&#8217;ll see the two main files, OAuth.php and twitterOAuth.php are in the top level directory, and there is a directory called &#8216;example&#8217;, that has the included example script.</p>
<p><strong>For our example, we&#8217;re going to put the two OAuth files into a directory called &#8216;twitterOAuth&#8217;, which is a sub-directory of where the index.php and callback.php files live. </strong>As you may have guessed, the callback.php file is the one we&#8217;ve registered with Twitter as being our callback url. We&#8217;ll keep common configuration options such as the consumer key and consumer secret, and database credentials in a config.php file.</p>
<pre class="brush: php">/* config.php */

/* Consumer key from twitter */
$consumer_key = &#039;xxhjgxhjxhhjgxjhjxgjyx768678xx&#039;; 

/* Consumer Secret from twitter */
$consumer_secret = &#039;jhgjdfgfgjhj76jgjgjhxxxjhxxx&#039;;
</pre>
<p>Now we create the index.php file, which will be used to generate the authentication link, inviting users to authorize and login using Twitter.</p>
<pre class="brush: php">/* index.php */

session_start();

/* Destroy the session if the user is logging out */
if ((isset($_GET[&#039;logout&#039;])) &amp;&amp; ($_GET[&#039;logout&#039;]==&#039;true&#039;)) {
    session_destroy();
    session_unset();
}

/* Include the config file */
require_once(&#039;config.php&#039;);

/* include the twitter OAuth library files */
require_once(&#039;twitterOAuth/twitterOAuth.php&#039;);
require_once(&#039;twitterOAuth/OAuth.php&#039;);

    /*
    Create a new TwitterOAuth object, and then
    get a request token. The request token will be used
    to build the link the user will use to authorize the
    application. 

     You should probably use a try/catch here to handle errors gracefully
    */
    $to = new TwitterOAuth($consumer_key, $consumer_secret);
    $tok = $to-&gt;getRequestToken();

    $request_link = $to-&gt;getAuthorizeURL($tok);

    /*
    Save tokens for later  - we need these on the callback page to ask for the
    access tokens
    */
    $_SESSION[&#039;oauth_request_token&#039;] = $token = $tok[&#039;oauth_token&#039;];
    $_SESSION[&#039;oauth_request_token_secret&#039;] = $tok[&#039;oauth_token_secret&#039;];

echo &#039;&lt;p&gt;&lt;a href=&quot;&#039;.$request_link.&#039;&quot;&gt;login using twitter&lt;/a&gt; | &#039;;
echo &#039;&lt;a href=&quot;index.php?logout=true&quot;&gt;Logout&lt;/a&gt;&lt;/p&gt;&#039;;
</pre>
<p>The callback.php file is the script that Twitter sends the user back to after authenticating. Here you&#8217;ll probably want to set some cookies, store some user data in the database, and start letting the user do whatever it is your application does.</p>
<pre class="brush: php">/* callback.php */

session_start();

/* Include the config file */
require_once(&#039;config.php&#039;);

/* include the twitter OAuth library files */
require_once(&#039;twitterOAuth/twitterOAuth.php&#039;);
require_once(&#039;twitterOAuth/OAuth.php&#039;);

/* check for an auth access token. If there&#039;s no auth token set, go ahead and fetch one from Twitter,
* using the API call. */
if ((!isset($_SESSION[&#039;oauth_access_token&#039;])) || ($_SESSION[&#039;oauth_access_token&#039;])==&#039;&#039;) {

	$to = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION[&#039;oauth_request_token&#039;], $_SESSION[&#039;oauth_request_token_secret&#039;]);
	$tok = $to-&gt;getAccessToken();

 	/* Save tokens for later  - might be wise to
        * store the oauth_token and secret in a database, and
        * only store the oauth_token in a cookie or session for security purposes */
	$_SESSION[&#039;oauth_access_token&#039;] = $token = $tok[&#039;oauth_token&#039;];
	$_SESSION[&#039;oauth_access_token_secret&#039;] = $tok[&#039;oauth_token_secret&#039;];

} 

/* Connect to the Twitter API */
$to = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION[&#039;oauth_access_token&#039;], $_SESSION[&#039;oauth_access_token_secret&#039;]);
$content = $to-&gt;OAuthRequest(&#039;https://twitter.com/account/verify_credentials.xml&#039;, array(), &#039;GET&#039;);
$user = simplexml_load_string($content);

if ($user-&gt;screen_name!=&#039;&#039;) {
	echo &#039;&lt;h2&gt;&lt;img src=&quot;&#039;.$user-/&gt;profile_image_url.&#039;&quot; align=&quot;left&quot;&gt;&#039;;
	echo &#039;Hello, &#039;.$user-&gt;screen_name.&#039;&lt;/h2&gt;&#039;;
	echo &#039;&lt;p&gt;You follow &#039;.$user-&gt;friends_count.&#039; people, &#039;;
	echo &#039;you have &#039;.$user-&gt;followers_count.&#039; &#039;;
	echo &#039;people following you, and you joined &#039;;
	echo &#039;Twitter on &#039;.$user-&gt;created_at.&#039;. &#039;;
	echo &#039;You have posted &#039;.$user-&gt;statuses_count.&#039; updates.&lt;/p&gt;&#039;;
} else {
	echo &#039;Oops - an error has occurred.&#039;;
}

echo &#039;&lt;pre&gt;&#039;;
print_r($user);
echo &#039;&lt;/pre&gt;&#039;;</pre>
<p><strong>So we&#8217;ve connected to Twitter&#8217;s API to authenticate a session on behalf of the user, and then put the XML response of the user&#8217;s information into an array called $user, using <a href="http://us3.php.net/simplexml">SimpleXML</a>.</strong> Using SimpleXML, we can call up any node values within the XML using $user->field_name, as you can see above. </p>
<p>I&#8217;ve included a print_r($user) so that you can see the full details of the array being returned, but you&#8217;ll obviously want to comment that out in your live code.</p>
<p>The output array will contain the following fields:</p>
<pre class="brush: html">SimpleXMLElement Object
(
    [id] =&gt; 14246782
    [name] =&gt; snipe
    [screen_name] =&gt; snipeyhead
    [location] =&gt; New York
    [description] =&gt; Codemonkey, designer, author, speaker, blogger, swordfighter, Warcrafter, sarcasticgeek, scuba diver, blacksmith, crimefighter, Mentat, MBTI: ENTP, Totally NSFW
    [profile_image_url] =&gt; http://s3.amazonaws.com/twitter_production/profile_images/303658881/Photo_4-rcrop2_normal.jpg
    [url] =&gt; http://www.snipe.net
    [protected] =&gt; false
    [followers_count] =&gt; 4224
    [profile_background_color] =&gt; 340100
    [profile_text_color] =&gt; 3C3940
    [profile_link_color] =&gt; 6C2125
    [profile_sidebar_fill_color] =&gt; AEA797
    [profile_sidebar_border_color] =&gt; 943A39
    [friends_count] =&gt; 3756
    [created_at] =&gt; Fri Mar 28 20:37:35 +0000 2008
    [favourites_count] =&gt; 314
    [utc_offset] =&gt; 12600
    [time_zone] =&gt; Tehran
    [profile_background_image_url] =&gt; http://s3.amazonaws.com/twitter_production/profile_background_images/22127710/twitterback2.jpg
    [profile_background_tile] =&gt; false
    [statuses_count] =&gt; 20570
    [notifications] =&gt; false
    [verified] =&gt; false
    [following] =&gt; false
    [status] =&gt; SimpleXMLElement Object
        (
            [created_at] =&gt; Mon Jul 27 01:50:36 +0000 2009
            [id] =&gt; 2862508774
            [text] =&gt; @elazar In case a name gets blocked/banned - when its reinstated (by someone claiming it, not spamming), it has a new ID#
            [source] =&gt; Tweetie
            [truncated] =&gt; false
            [in_reply_to_status_id] =&gt; 2860170987
            [in_reply_to_user_id] =&gt; 9105122
            [favorited] =&gt; false
            [in_reply_to_screen_name] =&gt; elazar
        )

)</pre>
<p>We&#8217;re not actually doing anything magical here yet, since that information is all available publicly via a user&#8217;s RSS feed, but the key line of code you want to look at in callback.php is this one:</p>
<pre class="brush: php">$content = $to-&gt;OAuthRequest(&#039;https://twitter.com/account/verify_credentials.xml&#039;, array(), &#039;GET&#039;);</pre>
<p>The OAuthRequest function is what actually sends the requests to the API, so you&#8217;ll be using this a lot. In the example above, all we were doing was getting the access tokens, but you&#8217;ll use OAuthRequest for just about everything else, too. For example, to send a Direct Message in Twitter, you&#8217;d use:</p>
<pre class="brush: php">
$params = array(&#039;user&#039; =&gt; &#039;username&#039;, &#039;text&#039; =&gt; &#039;this is a test message&#039;);
$do_dm = simplexml_load_string($to-&gt;OAuthRequest(&#039;http://twitter.com/direct_messages/new.xml&#039;, $params, &#039;POST&#039;));</pre>
<p>To block a user, you&#8217;d do:</p>
<pre class="brush: php">$doblock = simplexml_load_string($to-&gt;OAuthRequest(&#039;http://twitter.com/blocks/create/username.xml&#039;, array(), &#039;POST&#039;));</pre>
<p>To send a status update:</p>
<pre class="brush: php">$content = simplexml_load_string($to-&gt;OAuthRequest(&#039;https://twitter.com/statuses/update.xml&#039;, array(&#039;status&#039; =&gt; &#039;Test OAuth update. #testoauth&#039;), &#039;POST&#039;));</pre>
<h3>Important! Storing user IDs</h3>
<p>Whenever you&#8217;re storing Twitter IDs in a database, be sure to store the Twitter ID number <em>in addition</em> to (or instead of) the Twitter username. While it may seem obvious to use a numeric value over a mixed alphanumeric, Twitter doesn&#8217;t expose user&#8217;s ID numbers without a little digging, so it might be easy to forget that they exist.</p>
<p>There are two main reasons why using the numeric ID is critical:</p>
<ul>
<li>Users can change their Twitter usernames. If they did this, your entire database could potentially be screwed up, since username key you&#8217;re looking for won&#8217;t match any longer.</li>
<li>If an account has been suspended due to spam or imposters, it can potentially be available for registration again after a grace period. If a spammer had a username before, and then a legitimate user reclaimed it, your records could potentially have old data from the previous user&#8217;s account. </li>
</ul>
<p>The second point above became crystal clear while working on DoucheNuker.Com. If a user account was suspended due to spamming, and then a legitimate user took it over, that new, legitimate user could potentially be considered a spammer in our database if we didn&#8217;t store (and query against) the ID number, too. When a username is reissued or reclaimed, it gets a new user ID number, so as long as you store and use the Twitter user&#8217;s ID number, your database can remain agnostic to name changes and reissues. </p>
<p>You&#8217;ll note in the <a href="http://apiwiki.twitter.com/Twitter-API-Documentation" target="_blank">Twitter REST API documentation</a> that almost all API requests allow the option of using the username or the user ID, and some actually require the user ID and cannot be used with just a username.</p>
<h3>Important! Error Messages and Throttling</h3>
<p><strong>You do not want to authenticate against Twitter every single time you load the page, but will instead want to store the request tokens in a database or session so that you don&#8217;t keep hammering Twitter&#8217;s API each time the page loads.</strong> </p>
<p>Remember that the although the <strong>Request Token</strong> you used to generate the authorization link will change often, a user&#8217;s <strong>Access Token </strong>and<strong> Access Secret Token</strong> do not, so you can safely store those in a database and use those instead of re-validating every time.</p>
<p><strong>As of right now, Twitter is throttling validation requests to 15 <em>per Twitter account</em> per hour.</strong> This was implemented to improve Twitter&#8217;s security and make it harder for bad guys to brute force their way into someone else&#8217;s Twitter account. There is discussion about rolling this change back, or only throttling to 15 <em>failed attempts</em> per hour, but as of this moment, if you attempt to authenticate more than 15 times in an hour, you&#8217;ll get a message that says &#8220;Too many requests in this time period. Try again later.&#8221; There is no way around this message for now, so plan your application accordingly. </p>
<p><strong>This limit is entirely separate from the <a href="http://apiwiki.twitter.com/Rate-limiting">Twitter Rate Limit</a> that throttles the number of times you can hit the API.</strong> <a href="http://twitter.com/help/request_whitelisting">Whitelisting your account and IP address with Twitter</a> will NOT circumvent this rate limit, so make sure you design your app in a smart way that will not attempt to authenticate more than absolutely necessary.</p>
<p>The default rate limit for calls to the REST API is 150 requests per hour. The REST API does account- and IP-based rate limiting. Authenticated API calls are charged to the authenticating user&#8217;s limit while unauthenticated API calls are deducted from the calling IP address&#8217; allotment. </p>
<p><strong>You&#8217;ll notice in all of API requests, we&#8217;re using SimpleXML to capture the value of the XML that&#8217;s returned. </strong>We need to do this in order to make sure we&#8217;re capturing any error messages that Twitter returns to us. Without error messages, when stuff doesn&#8217;t work as expected, we&#8217;re flying completely blind. Always make sure to plan your application in a way that handles errors intelligently. Let&#8217;s take a look at the API call to send a Direct Message again:</p>
<pre class="brush: php">$params = array(&#039;user&#039; =&gt; &#039;username&#039;, &#039;text&#039; =&gt; &#039;this is a test message&#039;);
$do_dm = simplexml_load_string($to-&gt;OAuthRequest(&#039;http://twitter.com/direct_messages/new.xml&#039;, $params, &#039;POST&#039;));

/* Check for an error response from Twitter */
if ($do_dm-&gt;error!=&#039;&#039;) {
	echo &#039;&lt;h2&gt;ERROR: &#039;.$do_dm-&gt;error.&#039;&lt;/h2&gt;&#039;;
}</pre>
<p><strong>Now we&#8217;re capturing the error returned from Twitter, and can handle this appropriately with our users. </strong>The error might be indicating that the user cannot send a Direct Message to someone they&#8217;re not following. Or there might be something else amiss &#8211; so you&#8217;ll want to make provisions in your script to help the user understand why something might not be working.</p>
<p><strong>And that&#8217;s honestly all there is to it.</strong> Now that you&#8217;ve got the OAuthRequest function sussed, you just need to check with the <a href="http://twitterapi.pbworks.com/browse/#view=ViewFolder&#038;param=API%20Methods">Twitter API Wiki</a> to determine the correct urls and parameters to send, based on what you&#8217;re trying to do.</p>
<p>I have to say, having worked with a LOT of APIs, including Facebook, Amazon, and at least a half-dozen others, Twitter&#8217;s API is actually the most well-documented and simplest to use. Surprising, really, since Facebook and Amazon have actual business models, so you&#8217;d think they&#8217;d invest just an iota of time into documenting their shit. I&#8217;ve gone into long tirades here on my blog about how miserably awful the Facebook API documentation is, and Amazon&#8217;s API is probably 10x worse. Twitter&#8217;s API is, overall, pretty accurate and up to date. If its your first foray into writing an application with an API, I think Twitter is actually a good place to start &#8211; before you graduate to Facebook and wish you were dead.</p>
<h3>Recap &#8211; Important Links</h3>
<ul>
<li><a href="https://twitter.com/oauth_clients/new" target="_blank">Register your application with Twitter</a></li>
<li><a href="https://twitter.com/oauth_clients/" target="_blank">List of all of your registered apps on Twitter</a></li>
<li><a href="http://apiwiki.twitter.com/Twitter-API-Documentation" target="_blank">Twitter API Documentation</a></li>
<li><a href="http://apiwiki.twitter.com/Rate-limiting" target="_blank">Twitter API Rate Limiting Documentation</a></li>
<li><a href="https://docs.google.com/View?docID=dcf2dzzs_2339fzbfsf4" target="_blank">Download &amp; Docs for Abraham&#8217;s OAuth PHP library</a></li>
<li><a href="http://oauth.net/" target="_blank">OAuth official website</a></li>
</ul>
<p>And that&#8217;s all there is to it. Please use your new powers for good and not evil. No annoying games, no &#8220;increase your followers&#8221; services, etc. If you have any questions, leave &#8216;em in the comments.</p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2008/09/planning-a-facebook-application/' rel='bookmark' title='Permanent Link: Planning Your Facebook Application'>Planning Your Facebook Application</a> <small>This is part one of a series &#8211; the technical...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
<li><a href='http://www.snipe.net/2008/12/planning-a-facebook-application-part-two/' rel='bookmark' title='Permanent Link: Planning a Facebook Application: Part Two'>Planning a Facebook Application: Part Two</a> <small>I know I promised you that we&#8217;d get into some...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/07/writing-your-first-twitter-application-with-oauth/feed/</wfw:commentRss>
		<slash:comments>123</slash:comments>
		</item>
		<item>
		<title>Why I Won&#8217;t Follow You Back on Twitter</title>
		<link>http://www.snipe.net/2009/06/no-follow-back-girl/</link>
		<comments>http://www.snipe.net/2009/06/no-follow-back-girl/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 04:24:42 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=1962</guid>
		<description><![CDATA[In a recent post, you learned a little more about what it&#8217;s like to follow me on Twitter, warnings and all. In this post &#8211; one that I hope will be the last Twitter-related post for a while &#8211; I&#8217;m going to tell you why I didn&#8217;t &#8211; and won&#8217;t &#8211; follow you back, if [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F06%2Fno-follow-back-girl%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F06%2Fno-follow-back-girl%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>In a recent post, you learned a little more about <a href="http://www.snipe.net/wp-content/uploads/2009/06/fail-lol.jpg" target="_blank">what it&#8217;s like to follow me on Twitter</a>, warnings and all. In this post &#8211; one that I hope will be the last Twitter-related post for a while &#8211; I&#8217;m going to tell you why I didn&#8217;t &#8211; and won&#8217;t &#8211; follow you back, if I didn&#8217;t return-follow.</p>
<p><span id="more-1962"></span></p>
<p>As I&#8217;ve said on Twitter, I ain&#8217;t no follow-back girl. Everyone&#8217;s follow policy is different. Some people automatically return-follow everyone who follows them. Those people have no standards. Whenever I get a new follower notification, I check out your profile and decide whether to follow back.</p>
<p>Prior to being named one of <a href="http://www.wired.com/geekdad/2009/05/100-geeks-you-should-be-following-on-twitter/" target="_blank">Wired Magazine&#8217;s Top 100 Geeks to Follow on Twitter</a>, I probably wouldn&#8217;t have bothered with this post &#8211; but as my daily follower count continues to climb, I thought it was only fair.</p>
<p>Without any further ado, here are the reasons I didn&#8217;t &#8211; or won&#8217;t &#8211; follow you back on Twitter.</p>
<h2>Social Media/Affiliate Marketing</h2>
<p>The general rule here is that if I sense that you&#8217;re a SMD (Social Media Douchebag) or affiliate marketer, I will not follow you back. But because I believe in playing fair, here are the specifics.</p>
<p><strong>If you are following hundreds of people, and have less than 5 posts, I will not follow you back. </strong><br />
The only way by which I can judge whether or not you&#8217;re someone I will find interesting enough to follow is by reading what you&#8217;ve already posted. If you have nothing posted, I have nothing to go on, and will not be following you back. The fact that you are following hundreds of people but not posting makes me suspicious that you are a douchebag spammer. If you&#8217;re not a douchebag spammer,  and are genuinely just new to Twitter, take the time to @reply me and say hello &#8211; there&#8217;s a good chance I&#8217;ll give you a shot once I know you&#8217;re a real person.</p>
<p><strong>If you auto-DM me after I follow you back, there is an excellent chance I will immediately unfollow you or possibly block you.</strong><br />
<em>Even if your auto-DM isn&#8217;t trying to sell me something</em> (if it is, you will definitely be blocked), DMs go to my cell phone, and it&#8217;s annoying to get fifty &#8220;thank you&#8221; text messages a day, especially when they are robotic, empty sentiments. You don&#8217;t know me well enough yet to know whether or not you&#8217;re truly glad I&#8217;m following you. In fact, my following you might be the worst thing to ever happen to you.</p>
<p><em>Skip the meaningless DM and convey your thanks by being interesting enough for me to be glad I followed you.</em></p>
<p><strong>If I see the words &#8220;guru&#8221;, &#8220;social media expert&#8221;, &#8220;Twitter coach&#8221; or &#8220;affiliate marketer&#8221; ANYWHERE in your bio, I will not be following you back. </strong><br />
In fact, there&#8217;s a good chance I will publicly ridicule you. Odds are, you&#8217;re just another <a href="http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/" target="_blank">Social Media Douchebag</a>, and I don&#8217;t need anymore of those. Also, please die in a fire. But before you do, <a href="http://www.socialmediadouchebag.net" target="_blank">check out this site I made just for you</a>. And <a href="http://www.douchenuker.com" target="_blank">this one</a>. Your days are numbered.</p>
<p><strong>If I see any tweets about &#8220;growing your twitter followers&#8221;<br />
</strong>or any retweets about how @garymccaffrey (and his <a href="http://raven-seo-tools.com/blog/334/its-probably-twitter-spam-if" target="_blank">spammy, scammy tweetergetter</a>) &#8220;has a crazy idea&#8221; to increase your followers by eleventy-billion in 3 seconds, I will not be following you on Twitter, and will most likely block you right off the bat. If you don&#8217;t actually suck in real life, I&#8217;m sorry about that (you may find <a href="http://twitcommandments.com/" target="_blank">this site</a> helpful, though.) If you do, than you, too, can die in a fire.</p>
<p><strong>If every one of your tweets ends with with a link back to your own bullshit affiliate marketing website, I will not be following you.<br />
</strong>Even if your tweets are not spammy themselves, that&#8217;s an asshole thing to do.</p>
<p><strong>In fact, if your website link takes me to an affiliate-anything landing page, or if your twitter username contains the words &#8220;cash&#8221;, &#8220;money&#8221;, or &#8220;rich&#8221;, I will not be following you back.</strong><br />
I&#8217;m not buying whatever bullshit you&#8217;re selling, and since I know you&#8217;re only following me to artificially inflate your follower count with people that follow back and don&#8217;t give a damn about anything I&#8217;m actually saying, I expect you&#8217;ll be unfollowing me soon enough. Maybe that crap works on noobs, but I&#8217;ve been working in the tech industry for 15 years. You can suck it. Suck it dry.</p>
<p><strong>If your Twitter avatar is either the default avatar, or some absurdly gorgeous model that obviously isn&#8217;t you, </strong>I probably won&#8217;t be following you back. It just feels suspicious to me. Prove me wrong &#8211; show me you&#8217;re a real person.</p>
<h2>Everyone Else</h2>
<p><strong>If your tweet stream is nothing but inspirational quotes (or god forbid, bible verses), I will not be following you back.</strong><br />
No offense &#8211; I genuinely appreciate your efforts in trying to make the world and the people in it less miserable, but if your communication is only one-way, that&#8217;s not a dialog, and that&#8217;s not what I want out of Twitter.</p>
<p><strong>If I see a reference to the #tcot (&#8220;top conservatives on twitter&#8221;) hashtag, or if I see the word Christian or &#8220;conservative&#8221; in your bio, I may not follow you back. </strong><br />
My rationale here isn&#8217;t that conservatives or Christians have nothing to offer &#8211; just that if being a conservative or a Christian is important enough to you for you to use your precious 140 character bio space to identify yourself with it, chances are good that a fair percentage of your tweets will be conservative or religious in nature.</p>
<p>If your tweet stream isn&#8217;t all liberal-bashing or bible-thumping, I may actually give you a chance. But if you get preachy, or if I start to see the majority of your posts tagged with #tcot, I&#8217;ll probably be unfollowing. I am a bra-burning, liberal democrat and am damned proud of it. I will <em>generally</em> keep my religious and political beliefs off Twitter, and if you can too, we can still be friends. I will forgive you the occasional exception, and I expect to forgive mine &#8211; and understand that no one&#8217;s political or religious views will be changed on Twitter, so spare me the arguing.</p>
<p><strong>If your website link takes me to a MySpace page&#8230;</strong> &#8217;nuff said.</p>
<p><strong>If you never, ever reply to people, I will probably not follow you back.</strong> As I&#8217;ve said before, Twitter is about conversation. Unless you are one of the extremely rare people (like <a href="http://twitter.com/ainsleyofattack" target="_blank">@ainsleyofattack</a>) who don&#8217;t ever reply but are just that damned entertaining, you&#8217;re not cultivating the spirit of connections in Twitter, so I&#8217;ll pass.  You don&#8217;t even need to reply to me personally &#8211; but I expect to see a few @replies somewhere in your tweet stream.</p>
<p><strong>Conversely, if all you do is post links and/or retweet other people&#8217;s links, I won&#8217;t be following you back.</strong> If you&#8217;re not capable of forming an original thought once in a while, I&#8217;m just not interested. I already have my news sources, and I don&#8217;t need another one.</p>
<p><strong>If none of your tweets are in English (or another language I can at least read, if not speak fluently), I will probably not follow you back. </strong>No offense intended &#8211; I&#8217;m not being an elitist American jackhole. There&#8217;s just not much point to following someone if I can&#8217;t understand anything they say. If you @reply to me in English, I&#8217;ll happily chat with you, though.</p>
<h2>So, why should you care?</h2>
<p>Honestly? You probably shouldn&#8217;t lose a lot of sleep if I don&#8217;t follow you back. Who the hell am I, anyway? These are just my personal criteria, and in the big scheme of things, I&#8217;m utterly unimportant. But if someone as morally questionable as myself won&#8217;t follow you back, you might want to re-evaluate your tactics. It probably means there are a lot of people with far higher standards that think you&#8217;re a dick as well.</p>
<h2>The Caveat</h2>
<p>If you&#8217;re not actually a wanker and I haven&#8217;t followed you back, there is always the chance that your follow got lost in the shuffle, or I might not have been sure based on what I saw on your profile. It happens. <img src='http://www.snipe.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Just say hello and I&#8217;ll make sure I&#8217;m following you.</p>
<h2>Oh, and:</h2>
<p>Since tweeting this, a few of you have pointed out that I have a &#8220;Hire Me&#8221; link on my blog, which (somehow?) seems hypocritical to you. Big difference between what I&#8217;m talking about here and having a contact/hire link. My content doesn&#8217;t pitch my services, and never will.  I&#8217;m a professional web developer, and my personal blog (this one) does occasionally inspire people to ask if I&#8217;m available for contract work. Truth is, I don&#8217;t really have much time for it these days anyway, but the real issue is that the content of my tweets and the content of my blog are not designed to sell you anything.</p>
<h2>Anyway:</h2>
<p>I think that&#8217;s all of them. Bear in mind, me not following you back doesn&#8217;t mean I&#8217;ve written you off entirely. It just means I don&#8217;t have enough information about you to bother with. If you reach out to me, I just might change my mind. Assuming you care enough about me following you to bother, which is weird and sad in its own way.</p>
<p>Did I miss any? Leave your own in the comments. And I promise to blog about something <em>other</em> than Twitter again soon.</p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/05/following-me-on-twitter/' rel='bookmark' title='Permanent Link: Following Me on Twitter'>Following Me on Twitter</a> <small>If you&#8217;re following me on Twitter, or if you&#8217;re thinking...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
<li><a href='http://www.snipe.net/2008/07/what-exactly-is-the-point-of-twitter/' rel='bookmark' title='Permanent Link: What Exactly is the Point of Twitter?'>What Exactly is the Point of Twitter?</a> <small>Since this question has come up at least three times...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/06/no-follow-back-girl/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>There is NO SUCH THING as a Social Media Marketer</title>
		<link>http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/</link>
		<comments>http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 04:10:42 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[douchebags]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=1913</guid>
		<description><![CDATA[That&#8217;s right. I said it. If your job title is &#8220;Social Media Marketer&#8221; for a company, your job isn&#8217;t real, your life is a lie, and you&#8217;d damned well better have a backup career plan for when corporate America catches on. Here&#8217;s why. I recently got into an impassioned discussion on Twitter after a large [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F06%2Fthere-is-no-such-thing-as-a-social-media-marketer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F06%2Fthere-is-no-such-thing-as-a-social-media-marketer%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p>That&#8217;s right. I said it. If your job title is &#8220;Social Media Marketer&#8221; for a company, <em>your job isn&#8217;t real, your life is a lie</em>, and you&#8217;d damned well better have a backup career plan for when corporate America catches on. Here&#8217;s why.<br />
<span id="more-1913"></span><br />
I recently got into an impassioned discussion on Twitter after a large tech company (no names mentioned) that has typically done an exemplary job of using social networking to serve customers did something very, very foolish. They posted a job opening for a &#8220;Social Media Marketer&#8221; (or something similar).</p>
<p>Regardless of the actual job title that was advertised, 90% of the job description had to do with the applicant&#8217;s ability to make nice on Twitter and other social networks. For this article&#8217;s sake, that job title will be referred to as &#8220;Social Media Douchebag.&#8221;</p>
<p><strong>I should interrupt myself here and clarify that I am not talking about hiring other companies or individuals to develop or execute specific social media campaigns, such as Facebook applications, etc.</strong> That&#8217;s part of what the agency I work for does, and we do it better than most companies would if they tried to do it themselves. Clever viral campaigns like Burger King&#8217;s &#8220;Whopper Sacrifice&#8221; or <a href="http://mashable.com/2009/05/25/vitamin-water-kobe-vs-lebron/" target="_blank">Vitamin Water&#8217;s &#8220;Great Debate&#8221;</a> could probably never have been developed internally, and there is a legitimate purpose to hiring an agency to handle those types of things.</p>
<p>I&#8217;m referring specifically to the situation where a company is providing some level of day-to-day customer-interaction support via social networks like Twitter, either sales, or pre-sales or tech support.</p>
<p><strong>This company historically has had an excellent track record for doing things right in social media.</strong> They didn&#8217;t hire a bunch of outside social media douchebags &#8211; they encourage their current employees to branch out into social media, so the people their customers (and potential customers) interact with on networks like Twitter are <em>actual</em> employees with <em>real</em> roles in the company &#8211; systems administrators, technical support &#8211; the same people they would be talking to if they called on the phone. <strong>Their regular employees became brand ambassadors because of their knowledge, openness, and accessibility.</strong></p>
<p>Knowing that there are real people, not social media douchebags, behind the Twitter names is the single most important reason social media has been successful for this company. They got it right &#8211; <strong>social media became an <em>extension</em> of their current service and support</strong>, not some new, pathetic attempt to use social networks to pitch new customers or give lip service to their existing customers.  There is nothing phony, forced or contrived about the people they have on Twitter. And that is exactly the way it should be.</p>
<p><strong>Social networks are OUR turf, boys. </strong>They are where we &#8211; your customers &#8211; live, talk to our friends, review products, and express ourselves. If we let you enter our world, you should know that it is <em>only</em> with our permission that you are allowed to exist here &#8211; and that the privilege can be revoked at any time. Treat that knowledge with the care it deserves.</p>
<h2>Employees = People</h2>
<p>When you follow the folks this company currently has on Twitter, you get to know them as people. They bend over backwards when you need help, but when they&#8217;re not saving the day, you learn about their kids&#8217; baseball games. Some might argue that that sort of non-business chatter has no place in a support venue, but I disagree.</p>
<p><strong>As consumers, we will always return to the brands that we feel most personally connected to.</strong> It&#8217;s a lot harder to fire a friend than someone you never bothered to get to know very well, and when your customers start seeing your employees as people, I think it can actually make life easier for customer and employee alike.</p>
<p>Generally speaking, when you get to know your service providers as actual human beings, you will be more forgiving of their mistakes, and less likely to jump to the conclusion that they are just out for your money and they don&#8217;t give a damn about you.</p>
<p>Naturally, if the employee is particularly verbose (or particularly offensive, as I am), I might recommend they set up a separate Twitter account for their very personal stuff. Fortunately for everyone involved, I haven&#8217;t been asked to Twitter on my company&#8217;s account yet, so it&#8217;s a non-issue for me.</p>
<p>That said, not every company chooses to go that route with their social network support. Many keep it all business, all the time &#8211; and that is effective at accomplishing their goals, and it works for them. <strong>However even if a company takes a less personal, business-only approach, customers will KNOW if the person on the other end of that Tweet or Facebook message is a real service representative, or just a social media douchebag.</strong></p>
<p><strong>Social media douchebags are no more valuable to me than automated telephony systems.</strong> They can be useful for answering the same basic questions that a corporate website&#8217;s FAQ can, but to real people, real <em>customers</em>, they are as infuriating as getting stuck talking to customer service or billing when you have a technical problem. Sure, let me waste 10 minutes of my life explaining my problem to someone I know from the outset has no idea what my problem is or how to solve it. Let me plead my entire case to someone who doesn&#8217;t understand half of the terms I&#8217;m using, just so I can finally get transferred to someone who may actually potentially be useful to me, just so I can start over again.</p>
<p>I don&#8217;t know about you, but my hourly rate is <em>outrageous</em>. I should send these people an invoice for wasting my time.</p>
<p><strong>Even the ones who genuinely care are still utterly ill-equipped to actually solve people&#8217;s problems, whether those problems are technical or sales or pre-sales related.</strong> They are the piker stock broker (I can say that, because I used to be one), going through their call lists, making cold calls with no real knowledge of the company or how the company relates to the specific industry. They have a pitch-book of bullshit responses and platitudes, but because the only role they have ever played at the company is that of a social media douchebag (or stock broker), they have no real answers.</p>
<p><strong>Only the people who do <em>actual</em> work have those. Which is why those are the people you want handling your social media outreach.</strong></p>
<p>Fortunately, for the company involved, they immediately recognized that this was the wrong way to go (not without a fair bit of ranting from my end, naturally.) And for that I&#8217;m relieved. God help them the first time I reach out on Twitter (or anywhere else) for support and am answered by a Social Media Douchebag. One of the things I really like about this company is that 24/7, I can reach someone online who has extensive, intimate knowledge of the product and wants to help me solve problems. Even the most well-intentioned SMD&#8217;s just don&#8217;t have the skill set or knowledge to be anymore more to me than wasted time and an additional mouse-click or three.</p>
<p><strong>Do I expect full-service support through Twitter or Facebook? Of course not. But immediately connecting to people who care about my problem and are ready and able to help me fix it is very important to me.</strong></p>
<p>Save yourself the money on hiring some self-proclaimed expert and set up a smart email auto-responder. It will be slightly less annoying for your users to deal with, about as productive, and at least then they can blame the technology if they walk away feeling like their time was wasted.</p>
<h2>One size does NOT fit all</h2>
<p><strong>So how are there jobs out there for &#8220;Social Media Marketers&#8221;?</strong> If I had to guess, I&#8217;d say that many more traditional companies are feeling overwhelmed by the popularity and potential of social networks, so rather than spending the time getting to know how their users (or potential users) use these networks and tailoring a service solution that makes sense for them, they panic and take out a job ad looking for a social media marketer.</p>
<p>I gotta tellya &#8211; social media hadn&#8217;t been around long enough (with consistent user behavior) for <em>anyone</em> to be considered an expert or a guru. The self-proclaimed &#8220;social media guru&#8221; means the same to me as &#8220;social media douchebag.&#8221;</p>
<p>This isn&#8217;t voodoo. The only real rule to being good at social media is to not be a douchebag, so clearly, you can see that a social media douchebag is a paradox &#8211; and if they continue to exist, a singularity will be formed, and the universe will implode .</p>
<p>The reality is that social media is a relatively new field, and the &#8220;experts&#8221; are just smart people who managed to guess right slightly more often than they guessed wrong.</p>
<p><strong>Treat your followers/fans/network with respect. Respect their time, and bring something of value to their lives. Honest to god, that&#8217;s all there is to it. </strong>Finding a way to make that fit into your support model isn&#8217;t nearly as hard as you probably imagine.</p>
<p><strong>Are there ways for companies to handle social networking right? Absolutely. Unequivocally yes.</strong> And in fact, it&#8217;s not just a good, progressive plan &#8211; it will be a necessity within just a few years for every large company to have some level of social network support. But expecting a one-size-fits-all answer here is naive. You wouldn&#8217;t do that with any other aspect of your business, so why on earth would you do it here, in a place that is more public, more open to criticism, more likely to be cross-posted and nitpicked than anywhere else?</p>
<p><strong>Stop panicking. Social media isn&#8217;t fairy magic. </strong>This isn&#8217;t rocket surgery. It&#8217;s simply an extension of what you&#8217;re already doing &#8211; and no one is more qualified to do that than the people who already work for you. They are invested in your company, and they have the experience to actually be useful to your customers. They are your very best brand ambassadors, and if you&#8217;re smart, you&#8217;ll offer your current employees a pay raise or additional bonus for taking on the additional responsibility, rather than drop money on hiring someone from the outside who doesn&#8217;t know your company, how it works, or what your customers need.</p>
<p>I have no idea where this glut of &#8220;social media experts&#8221; came from, but it looks like they&#8217;re not going away any time soon. There are no degrees in social media (not yet, God help us all), so I am always curious as to the criteria by which these people use to declare themselves &#8220;experts.&#8221; Whatever color the sky is in their world, the reality is that being genuine is the <em>only</em> thing that has consistently withstood the very public and very close scrutiny of corporate social media efforts.</p>
<p>So yeah &#8211; &#8220;social media marketing&#8221; isn&#8217;t a job title. It may be one part of a job description, but it is not a job title. And if it is, you&#8217;re doing it wrong.</p>
<p><strong>UPDATE: I have created a new website &#8211; <a href="http://www.socialmediadouchebag.net" target="_blank">SocialMediaDouchebag.Net</a>. Check it out. You might rofl or lawl. <a href="http://www.socialmediadouchebag.net/press.php" target="_blank">Ad Age</a> even posted about it. Be sure to <a href="http://www.socialmediadouchebag.net/notes.php" target="_blank">check out the notes page</a> to learn more about it, and the kickass people on Twitter who helped me come up with some of it.</strong> It should be mentioned that the SocialMediaDouchebag.Net site is aimed more at affiliate/MLM marketing douchebags, not corporate douchebags, like I&#8217;m discussing in this article. Perhaps a &#8220;Corporate&#8221; version is necessary&#8230;</p>
<p>What are your thoughts? Leave &#8216;em in the comments.</p>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/' rel='bookmark' title='Permanent Link: Twitter Retweet Contests: Viral Marketing or Social Media Spam?'>Twitter Retweet Contests: Viral Marketing or Social Media Spam?</a> <small>Those of us who eat, sleep (and occasionally &#8212; oh...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
<li><a href='http://www.snipe.net/2008/08/using-twitter-for-business/' rel='bookmark' title='Permanent Link: Using Twitter for Business?'>Using Twitter for Business?</a> <small>Two interesting articles have come out recently, discussing tips and...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Comparison of Desktop Twitter Clients</title>
		<link>http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/</link>
		<comments>http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/#comments</comments>
		<pubDate>Tue, 26 May 2009 03:04:23 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[Life Tools]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter clients]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=1852</guid>
		<description><![CDATA[In my never-ending quest for the perfect Twitter client, I&#8217;ve decided to do a side-by-side comparison of features of some of more popular clients. This list is probably not exhaustive, and the current clients continue to add new features frequently. I&#8217;ll try to keep it updated as they do, though. We&#8217;ll be comparing features between [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F05%2Fcomparison-of-desktop-twitter-clients%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.snipe.net%2F2009%2F05%2Fcomparison-of-desktop-twitter-clients%2F&amp;source=snipeyhead&amp;style=normal&amp;service=bit.ly&amp;service_api=R_92bd97f4f8b9fa8a40675b36ea291223" height="61" width="50" /><br />
			</a>
		</div>
<p><a name="TOP"></a>In my never-ending quest for the perfect Twitter client, I&#8217;ve decided to do a side-by-side comparison of features of some of more popular clients. This list is probably not exhaustive, and the current clients continue to add new features frequently. I&#8217;ll try to keep it updated as they do, though.</p>
<p><span id="more-1852"></span></p>
<p>We&#8217;ll be comparing features between <a href="#TWEETDECK">Tweetdeck</a>, <a href="#TWEETIE">Tweetie</a>, <a href="#NAMBU">Nambu</a>, <a href="#TWIHRL">Twhirl</a>, <a href="#SEESMIC">Seesmic Desktop</a>, <a href="#EVENTBOX">Eventbox</a> and <a href="#DESTROYTWITTER">Destroy Twitter</a>. There are a pile more out there, but if they were not included here, it is because they do what I consider to be the bare minimum for my needs and are not in the same league as the Twitter clients discussed here. (They are perfectly fine for the casual user, but not apps I could even consider using because of feature limitations.)</p>
<p>I have very specific needs in a Twitter client. So far, none of the clients I have found meet every one, but many of them are getting close. The two features that I need most are multiple account support (for <a href="http://twitter.com/tworgs" target="_blank">@tworgs</a>, <a href="http://twitter.com/crankyhaiku" target="_blank">@crankyhaiku</a>, <a href="http://twitter.com/geeksenryu" target="_blank">@geeksenryu</a>, <a href="http://twitter.com/evrydayactivist" target="_blank">@evrydayactivist</a> and others) and the ability to group friends in custom groups. I follow almost 3,000 people, so being able to file new followers in specific groups (and edit those groups later) is critical.</p>
<p>Many of these clients are feature-rich, but whether or not the features they offer are the ones you need is obviously going to depend on how you use Twitter. What&#8217;s critical to me may not matter to you.</p>
<p>Also bear in mind that many of these apps are built on Adobe AIR, which generally implies cross-platform support, however AIR support on Linux can be buggy and is still in BETA. (I am personally not a big fan of Adobe AIR apps, and would prefer a native OS application instead, which is why that&#8217;s listed as a compared feature.)</p>
<hr /><a name="TWEETDECK"></a></p>
<h2>Tweetdeck &#8211; Mac/PC/Linux</h2>
<p>Version: 0.26.2<br />
Price: Free<br />
<strong>Download: <a href="http://www.tweetdeck.com/">http://www.tweetdeck.com</a></strong><br />
<strong>Rating: ★★★★</strong> (4 stars)</p>
<p><img class="aligncenter size-full wp-image-1861" title="screenshot" src="http://www.snipe.net/wp-content/uploads/2009/05/screenshot.png" alt="screenshot" width="560" height="484" /><br />
Tweetdeck is arguably one of the most popular desktop Twitter clients to date. It&#8217;s written in Adobe AIR, so it&#8217;s cross-platform and runs on Mac, PC and Linux. Again, not a fan of AIR, really, but of all the AIR apps, Tweetdeck is one of the more bearable.</p>
<p>One of my biggest peeves with Tweetdeck, besides it not handling multiple accounts, is the fact that you have very limited screen real estate. You can theoretically add an unlimited number of groups, but only a handful will be available to you without scrolling sideways, and for me, that&#8217;s a problem. Out of sight, out of mind, as they say. So I end up using only very limited groups so that they&#8217;re all on-screen at the same time.</p>
<p>Tweetdeck does support trends as well, which is a nice feature, but I go back to that horizontal scrollbar of doom, where I don&#8217;t remember its available because I have to scroll sideways to see it. Same goes for their Facebook status support. It&#8217;s a very cool feature that you can see friends&#8217; Facebook status updates right from your Twitter client, but they end up hidden so I forget to even look at them.</p>
<p>One Twitter follower mentioned in the comments that Tweetdeck <em>does</em> support Twitter name autocompletion as of version 0.25, which is nice. I had inaccurately shown it as unavailable in the matrix below.</p>
<p><b>UPDATE: </b>As of version 0.26.2, Tweetdeck does support multiple accounts. The interface is just as bad as before though. <img src='http://www.snipe.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><strong>What I love most:</strong> Very stable &#8211; can handle high volume easily. Supports groups. Auto-url shortening. Facebook status update integration.<br />
<strong>What I hate most:</strong> Limited group usability, since you run out of screen space, as there is no list view option for groups. No multiple accounts. No way to customize colors or the way read/unread tweets display.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="TWEETIE"></a></p>
<h2>Tweetie &#8211; Mac only</h2>
<p>Version: 1.1.1<br />
Price: $19.95 or Free (with ads)<br />
<strong>Download: <a href="http://www.atebits.com/tweetie-mac/">http://www.atebits.com/tweetie-mac</a></strong><br />
<strong>Rating: ★★★★☆ </strong> (4.5 stars)</p>
<p><img class="aligncenter size-full wp-image-1866" title="tweetie" src="http://www.snipe.net/wp-content/uploads/2009/05/tweetie.png" alt="tweetie" width="420" height="230" /><br />
Tweetie is a Mac-only Twitter app with a dead-sexeh interface. It supports multiple accounts, and the whole UI has that native OSX Apple hotness, making it very slick to use. The UI is a little tricky to work with at the very beginning, being minimalist in that sexy Apple way, but once you get a feel for it, it becomes very easy to use. The threaded DM displays also kick a lot of ass.</p>
<p>Alas, no group support, which is a deal-breaker for me. Still, if they ever integrate groups, I could easily see Tweetie being my preferred Twitter client. Also seems a little weird that you can&#8217;t specify API usage or update intervals, but it doesn&#8217;t seem to be a problem normally.</p>
<p>Seems weird to me that if I force a refresh of my timeline, replies to me are not automatically updated in my replies timeline. I have to do another refresh of the @replies timeline to see the new tweet directed at me. I don&#8217;t actually know if that&#8217;s making an API call for both refreshes, but either way, when I update my timeline, any @replies should be automagically snagged into the @replies timeline.</p>
<p>Side note: Their iPhone app is pretty badass as well, and I use it as my only iPhone Twitter app.</p>
<p><strong>What I love most:</strong> Damn sexy interface. iChat style conversation display. Profile views show whether or not user is following you back.<br />
<strong>What I hate most:</strong> No group support. No dock badge or account unread badges. A little pricey for a Twitter app. Separate window for composing new tweets and URL preview popup experience are annoying. Character count when composing a tweet is easy to miss.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="NAMBU"></a></p>
<h2>Nambu &#8211; Mac only</h2>
<p>Version: 1.1.12<br />
Price: Free<br />
<strong>Download: <a href="http://nambu.com/">http://nambu.com</a></strong><br />
<strong>Rating: ★★★★</strong> (4 stars)</p>
<p><img class="aligncenter size-full wp-image-1870" title="nambu" src="http://www.snipe.net/wp-content/uploads/2009/05/nambu.png" alt="nambu" width="420" height="573" />Nambu is a very clean Twitter client that is very easy to use right out of the box, and supports multiple accounts quite well. Because Nambu offers the ability to view groups in either list or dialog view, it&#8217;s easy to have many groups without running out of screen space. Users are easily added to groups right from your stream by clicking on a little &#8220;tools&#8221; icon. Built-in translation tools make this a nice option for people who tweet with people in languages other than their native tongues.</p>
<p>Here&#8217;s the problem: Nambu locks up a lot for me. I mean, a lot. A lot a lot. To the point where it&#8217;s basically unusable. People who follow (and are followed by) fewer people report no problems, so I suspect this is a capacity issue &#8211; but when it locks up, it sometimes manages to cause Firefox to stop responding too.</p>
<p>Threaded conversations work fairly well, and I like that they&#8217;re inline so you don&#8217;t have to click to see the convo, but Nambu seems to lose the conversation frequently, meaning it doesn&#8217;t always manage to tie related tweets together.</p>
<p><strong>What I love most:</strong> List view makes large numbers of groups possible. Integration with Friendfeed. Inline threaded conversations. Dock badge unread count.<br />
<strong>What I hate most:</strong> Doesn&#8217;t seem to handle high volume well at all. I end up force-quitting it every 10 minutes. <img src='http://www.snipe.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Also no way to customize what growl notifications you get &#8211; you can turn them on for Replies and DMs, or turn them off for Replies and DMs, but cannot turn them off for Replies and on for DMs.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="TWIHRL"></a></p>
<h2>Thwirl &#8211; Mac/PC</h2>
<p>Version: 0.9.2<br />
Price: Free<br />
<strong>Download: <a href="http://www.Twhirl.org/">http://www.Twhirl.org</a></strong><br />
<strong>Rating: ★★☆ </strong>(2.5 stars)</p>
<p><img class="aligncenter size-full wp-image-1871" title="twitter-Twhirl" src="http://www.snipe.net/wp-content/uploads/2009/05/twitter-twhirl.png" alt="twitter-Twhirl" width="320" height="400" /><br />
Thwirl is a lightweight little Twitter app that does what I would consider the bare minimum for a Twitter client. I personally do not like the look+feel at all &#8211; it feels totally alien to the native Apple OSX environment, and is, I have to admit, just sort of ugly.</p>
<p>Thwirl does support multiple Twitter accounts, but it spawns a new interface for each account (which all stack on top of each other, hiding the one below it when you first launch Thwirl) which is utterly maddening to me, but might be what some people are looking for. No group support is available. It doesn&#8217;t integrate with Growl (which is meaningless to PC users, but annoying to most Mac users), and you cannot customize the types of popups. So every 20 seconds, I get a popup telling me I have x new tweets.</p>
<p>Favorites behavior seems weird, showing lots of tweets in my timeline as favorites, even if they are not favorites of mine.</p>
<p><strong>What I love most:</strong> Not a lot. Missing too many features for my liking. Notifications when you get a hit on saved search items is nice.<br />
<strong>What I hate most:</strong> Too limited, with clunky interface. No groups. Spawning multiple windows for multiple accounts.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="SEESMIC"></a></p>
<h2>Seesmic Desktop &#8211; Mac/PC/Linux</h2>
<p>Version: 0.2.1<br />
Price: Free<br />
<strong>Download: <a href="http://desktop.seesmic.com">http://desktop.seesmic.com</a></strong><br />
<strong>Rating: ★★★★ </strong>(4 stars)</p>
<p><img class="aligncenter size-full wp-image-1873" title="seesmic-desktop" src="http://www.snipe.net/wp-content/uploads/2009/05/seesmic-desktop.jpg" alt="seesmic-desktop" width="597" height="360" /><br />
Seesmic Desktop is a solid little Twitter client written in Adobe AIR (so it is available for Mac and PC, possibly Linux). It seems to handle high-volume well, and has customizable notifications specific to search results, @replies and DMs, including both window pop-up and sound. Pop-up notifications are Seesmic-specific, and Growl integration isn&#8217;t an option.</p>
<p>Seesmic supports multiple accounts and groups, which is a big bonus &#8211; but the interface feels a little confusing to me when switching between accounts. For example, groups are Seesmic-wide instead of account-specific. That might be considered a feature to some, but it&#8217;s not something I really want. The groups appear in the sidebar as a list, but when you click on them, they overlay the group window over your normal timeline window, which isn&#8217;t awesome. Using this day to day, the strange behavior of the columns makes me a little nuts. But then again, I&#8217;m pickier and more rigid than most. On the plus side, removing users from a group is very easy.</p>
<p>Seesmic does support Facebook accounts, but it treats them as a separate account, instead of tying them to your Twitter account so you can update both Facebook and Twitter status simultaneously. This doesn&#8217;t bother me too much, since I have a Facebook application set up to sync my Facebook status from my Twitter status, but just something to note.</p>
<p>One Twitter follower noticed the fact that you cannot un-favorite a tweet once you&#8217;ve fav&#8217;d it. I suspect this is more of a bug than anything, but that&#8217;s annoying.</p>
<p>One very nice feature is the option to report a tweet/user as SPAM, which makes it very easy to report spammy behavior to Twitter and get those accounts yanked offline. It&#8217;s just a quick and clever shortcut to send a DM to @spam, and you&#8217;d think more apps would have thought of it.</p>
<p>Seesmic is a solid option for Mac or Windows users who are looking for group and multi-account support &#8211; it may just take a little time to get used to the interface. Based on <a href="http://feedback.seesmic.com/">their feedback site</a> (and my own experiences with them on Twitter), they take user&#8217;s feedback very seriously, and have lots of good stuff planned.</p>
<p><strong>What I love most:</strong> Multiple account and group support. Adorable dock icon. Higher level of customization than many apps. Report SPAM option r0x0rs.<br />
<strong>What I hate most:</strong> List view and separation between accounts feels ambiguous and clunky.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="EVENTBOX"></a></p>
<h2>Eventbox &#8211; Mac</h2>
<p>Version: 1.0<br />
Price: $15 in beta<br />
<strong>Download: <a href="http://thecosmicmachine.com/">http://thecosmicmachine.com</a></strong><br />
<strong>Rating: ★★★☆</strong> (3.5 stars)</p>
<p><img class="aligncenter size-full wp-image-1881" title="picture-2" src="http://www.snipe.net/wp-content/uploads/2009/05/picture-2.png" alt="picture-2" width="519" height="471" /><br />
To call Eventbox merely a Twitter client would do it an injustice &#8211; Eventbox includes an interface to consolidate many of your favorite social networks, including Facebook, Flickr, Google Reader, RSS feeds, Digg and Reddit.</p>
<p>Eventbox supports multiple social network accounts (but only ONE account per network &#8211; major drag) and custom groups, although their group behavior is still a little wonky. Once you create a group, you cannot (yet) just drag and drop a user into the group, and cannot edit groups once you&#8217;ve created them. Their temporary solution is Smart Groups, which is a little better, but you still need to manually type a user&#8217;s name to add them to a Smart Group, which really harshes my mellow.</p>
<p>Eventbox has a handy shortcut to the special characters people often like to use in Tweets, such as stars, hearts, etc. It&#8217;s nothing fancy, but nice that they added it. I&#8217;d like to see this feature in more Twitter clients.</p>
<p>Notifications are driven through Growl, which is nice, but there is no way to differentiate between what is considered an &#8220;event&#8221; in Eventbox, so you&#8217;ll get Growl notifications for just about everything, which can be aggravating if you follow a lot of people.</p>
<p>Stability-wise, Eventbox seems to be able to handle multi-thousands of users without much trouble at all. The interface reminds me a bit of Nambu, only without all the crashing, and not free.</p>
<p>Honestly, I feel like when Eventbox is &#8220;done&#8221;, it will be amazing, and worth the $15. Right now, I&#8217;m not sure it is. They make a few simple tasks just annoying enough to make me choose another client instead.</p>
<p><strong>What I love most:</strong> Multiple social network accounts.<br />
<strong>What I hate most:</strong> Managing groups is slow and manual.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr /><a name="DESTROYTWITTER"></a></p>
<h2>Destroy Twitter &#8211; Mac/PC/Linux</h2>
<p>Version: 1.6.2 beta<br />
Price: Free<br />
<strong>Download: <a href="https://destroytwitter.com/">https://destroytwitter.com</a></strong><br />
<strong>Rating: ★★★☆</strong> (3.5 stars)</p>
<p><img class="aligncenter size-large wp-image-1890" title="destroy_twitter" src="http://www.snipe.net/wp-content/uploads/2009/05/destroy_twitter-560x362.png" alt="destroy_twitter" width="560" height="362" /><br />
Destroy Twitter is an Adobe AIR application that supports Groups, but not multiple accounts. It &#8220;feels&#8221; very much like an AIR application, which may be a selling-point for people who like that. I personally tend to prefer apps that feel like part of my native OS.</p>
<p>Although the interface clearly supports Groups, and it&#8217;s very easy to add both keywords and users to the Groups you create, I had a helluva time trying to actually view the groups once I had created them.</p>
<p>Destroy Twitter has quite a rich set of user-configurable options, including a nice setting to customize what shows up in your &#8220;home&#8221; canvas, but the UI just feels strange to me. It feels strange to use text instead of icons to indicate available user actions, and it seems stranger that the &#8220;compose new tweet&#8221; button is at the bottom-left. It took me a bit to find it, but I imagine if I used it more often I&#8217;d remember where it was.</p>
<p><strong>What I love most:</strong> Supports groups. I think. Sort of. Nice set of configurable options.<br />
<strong>What I hate most:</strong> Not crazy about the UI. Groups didn&#8217;t seem to work properly for me. Not clear way to refresh a canvas without going to the application toolbar</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>High-capacity:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Editable Groups:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>@reply nick completion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Multiple Accounts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>URL Shortening:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Built-in Search:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Threaded conversations:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Image upload:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Twitpic Integration:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Profile Views:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Separate DM/Replies Pane:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Twitter Trends:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Auto-expand URLS:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Read/Unread Colorization:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Native OS support:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Follow/Unfollow:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Tweet Favoriting:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Tweet Deletion:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Follower Blocking:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Facebook Status:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
</tr>
<tr>
<td>Linked Hashtags:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Saved Searches:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Pop-up/Growl Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
<td>Customizable Notifications:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
<tr>
<td>Spellcheck:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/no.png" border="0" alt="No" /></td>
<td>Customizable Colors/Fonts:</td>
<td><img src="http://www.snipe.net/wp-content/uploads/2009/05/yes.png" border="0" alt="Yes" /></td>
</tr>
</tbody>
</table>
<p><a style="text-align: right;" href="#TOP">^ Back to Top</a></p>
<hr />
<h2>The Verdict?</h2>
<p>As I mentioned, it really depends on what you&#8217;re looking for, but the short version is:</p>
<p>Groups but NOT Multiple Accounts: Tweetdeck or Seesmic Desktop.</p>
<p>Groups AND Multiple Accounts: If you can can handle a slight learning curve, Seesmic Desktop is an excellent option.</p>
<p>Neither Groups NOR Multiple Accounts: Look into simple clients like <a href="http://funkatron.com/spaz" target="_new">Spaz</a> for Mac/PC, or <a href="http://www.thirteen23.com/experiences/desktop/blu/" target="_new">Blu</a> or <a href="http://www.digitweet.com/" target="_new">Digitweet</a> specifically for Windows.</p>
<p>Mac AND Multiple Accounts but NOT Groups: Tweetie is worth the money.</p>
<h2>But wait, there&#8217;s more&#8230;</h2>
<p>Be sure to check out <a href="http://www.opensourcereleasefeed.com/article/show/10-open-source-twitter-clients" target="_new">this great list of open-source Twitter clients</a>, too. The article doesn&#8217;t go into as much depth on specific features, but there are some lesser-known apps here that might fit your needs. All of the clients there are free and open source.</p>
<p><strong>Also, if you&#8217;re fond of the web interface and use Firefox, but just want a few added features, be sure to check out <a href="http://userscripts.org/scripts/show/40617" target="_new">Troynt&#8217;s Twitter Script Greasemonkey script</a> that adds all sorts of great stuff like groups, RT option, auto-complete and more, right in your web browser.</strong></p>
<h2>Info for Twitter App Developers</h2>
<p>In writing this article, I asked my followers what they wanted to see in a Twitter app. Many of the answers included features that some Twitter clients currently offer, but some new ideas came out too. So if you&#8217;re building or planning to build a Twitter app, here are some additional things people are looking for:</p>
<ul>
<li>Reply-ALL feature &#8211; When more than one @ is in a tweet to which you&#8217;re replying</li>
<li>Sync/Cloud data storage, so Tweets show as read/unread across multiple computers/mobile devices</li>
<li>Ability to see all @replies/DMs from specific individual (outside of search/filter)</li>
<li>Tabbed interface over columns for multiple accounts</li>
<li>Settings/Groups sync or export (XML perhaps?)</li>
<li>Ability to add private notes about a follower</li>
<li>Unfollow notifications</li>
<li>Ability to see if follower is following you back</li>
<li>Statistics</li>
<li>Customizable font sizes/UI style</li>
<li>Ability to archive or save tweets/DMs locally</li>
<li>Shortcut to unicode/special characters (Eventbox does this already)</li>
<li>Ability to tweet to all of the multiple accounts (as the account) at once</li>
</ul>


<p>Possibly related posts:<ol><li><a href='http://www.snipe.net/2009/10/twitter-launches-beta-lists/' rel='bookmark' title='Permanent Link: Twitter launches groups in BETA for some users'>Twitter launches groups in BETA for some users</a> <small>In what seemed out-of-left field, when I logged onto the...</small></li>
<li><a href='http://www.snipe.net/2009/12/twitter-business-contributors/' rel='bookmark' title='Permanent Link: Twitter Gets Down to Business'>Twitter Gets Down to Business</a> <small>Twitter has taken the first steps of what will no...</small></li>
<li><a href='http://www.snipe.net/2009/05/following-me-on-twitter/' rel='bookmark' title='Permanent Link: Following Me on Twitter'>Following Me on Twitter</a> <small>If you&#8217;re following me on Twitter, or if you&#8217;re thinking...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2009/05/comparison-of-desktop-twitter-clients/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>
