rc3.org Strong opinions weakly held

Posts Tagged ‘Twitter’

Why Twitter ought to keep supporting third-party clients

John Gruber has posted a lengthy review of the new Twitter client for iOS that was released yesterday. Just as the new Gmail disappointed a lot of longtime Gmail users, the new Twitter client has disappointed a lot of longtime Twitter users. How big are the changes? Here’s how Gruber describes them:

This is more than an update. It’s a serious rethinking of the entire concept of Twitter.

I’m sure the goal of the new redesign is to make Twitter more engaging to new users and to people who’ve signed up for Twitter in the past but have never really gotten into the flow of things. Rather than working to make things better for the people who are already addicted to Twitter, they’re experimenting with new ways to create more addicts. My gut feeling is that the experiment will be a failure this time around, mainly because the interface is rather muddled in the ways that John describes, but I would expect Twitter to continue to experiment in this direction over time.

The other reason for the redesign is that Twitter wants to make more money. That seems to be the reason the Discover tab has been added — not everything on it is stuff that someone is paying Twitter to show you, but that’s the part of it that matters to Twitter. I don’t begrudge them that, either. It’s clearly a case, though, where Twitter is trading off usability for cash. This goes to a point that Maciej Ceglowski made earlier this week, which is that free services have their own set of costs. The one he focuses on is that the risk of a free service being acquired and disappearing along with your data is high. The other, though, is that when a service is funded through advertising or sponsored content, making money and making the product better for end users are in a constant state of tension.

Twitter once had a thriving ecosystem of third party clients that made the constant tweaks Twitter makes to its Web site mostly irrelevant. You could use your favorite client and ignore Twitter’s user interface mishaps. Unfortunately, Twitter seems to be committed to killing off the third party application market. If Twitter were only worried about its first set of concerns — making Twitter more engaging for new users and old users who aren’t taking advantage of the service — then they’d have no reason to shut out third party clients. New users could try out Twitter as designed by Twitter, and the rest of us could use the clients that make sense to us. A diverse client base makes it more likely that power users will stick around — even if the default interface doesn’t work, they can probably find one that will.

The other side, though, is that third-party client developers don’t really care about shoving sponsored content at users. Indeed, the ability to hide or deemphasize sponsored content could be a killer feature for a third-party client. So inside Twitter, a user switching from an official appa third-party app represents lost revenue.

I’d argue that Twitter should support third-party clients anyway. Twitter, like all social sites, derives nearly all of its value from a network effect. Nobody would use Twitter if other people couldn’t read their tweets. For Twitter, it’s better for a user to abandon the official Twitter client for a third-party client than it is for a user to abandon Twitter for Facebook or Google+. A robust ecosystem of third-party clients is a strong competitive advantage for Twitter against other social sites.

Secondly, the intramural competition helps Twitter. When the official apps are losing market share to third-party alternatives, it’s a good indication that they need to put more work into improving their official apps. Third-party apps provide free R&D for Twitter. They can always incorporate the best ideas from third-party apps into the official apps. And finally, developers of third-party apps provide a solid base of talent from which Twitter can recruit.

Twitter’s two key advantages relative to other social sites have always been that it is simpler than the others, and that it is a platform rather than just a Web site. Unfortunately, Twitter seems committed to erasing both of those advantages. The service continues to gain complexity, and Twitter’s management seems bent on reducing the flexibility of Twitter as a platform. I think both are big mistakes, but it’s not too late to rectify either of them.

Don’t tweet where you eat

Mike Monteiro has some good, simple advice for people who use Twitter:

Never, ever, talk about clients on Twitter. Ever.

I pretty much take this one step further — never talk about other humans with whom you have a personal relationship on Twitter. I talk to other people I know on Twitter, but not about them. I try hard not to even make oblique inside jokes about other people or the code they write. It’s unprofessional and rude.

If there’s one advantage to having been online essentially forever is that nobody had to teach me this stuff after I was a grownup. I came up through the world of dialup BBSes, so I had already confronted the implications of social media long before sites like Facebook and Twitter even existed. I was there when people started getting fired for things they posted on their blogs. In some ways, I feel bad for people who have never been online and jump right into it with Facebook or Twitter. The great danger of social media is that it creates the feeling of intimacy when you are, in fact, on a potentially global stage.

My basic philosophy on social media can be deduced from my old post on levels of candor.

Not migrating Twitter scripts to OAuth

I have a number of scripts I’ve written that send updates to Twitter automatically. They are Perl scripts that run database queries and then post to Twitter using curl. Unfortunately, since Twitter turned off basic authentication they’re all dead.

Twitter ended support for basic authentication in order to prevent third party applications from asking Twitter users for their passwords. Phishing for Twitter passwords is rampant, and it’s harder to combat phishing when legitimate sites are asking Twitter users for their usernames and passwords.

While I was working on this blog post, John Udell beat me to the punch by posting about the good and bad aspects of migrating to OAuth and a technical guide to the migration.

My use case is simple, I just need to come up with an equivalent to the following code that actually works:

exec("curl -s -u $username:$password -d status=\"$tweet\" 
http://twitter.com/statuses/update.json");

When updating command line scripts to use OAuth, there are three steps. The first is registering the application with Twitter. The second is obtaining an OAuth token that the script can use. The third is updating the script to authenticate using OAuth.

Twitter’s recommendation in this case is that I stop using curl and migrate to an OAuth or Twitter library instead. To be frank, this sucks. Our servers run Red Hat Enterprise Linux and my systems administrator doesn’t like to install random Perl modules. In researching how to solve this problem, I decided to start with Net::Twitter, which has the following dependencies:

DateTime [requires]
Data::Visitor::Callback [requires]
DateTime::Format::Strptime [requires]
Net::OAuth [requires]
Moose [requires]
JSON::Any [requires]
Try::Tiny [requires]
Moose::Role [requires]
URI [requires]
namespace::autoclean [requires]
Moose::Exporter [requires]
JSON [requires]
MooseX::MultiInitArg [requires]

Those dependencies each have dependencies of their own as well. So I’m looking at moving from a script that is dependent only on the curl command line tool, which is already installed, to a script that requires dozens of Perl modules to be installed in order to work. That’s a deal breaker. As an aside, when I tried to install Net::Twitter on my Mac, the installation failed because the tests for the module didn’t pass.

Before I can even bother with registering my silly 15 line Perl script with Twitter as an application and authorize it for the account to which I submit these status updates, I have to rewrite it to use a library that I was unsuccessful in installing on my laptop and probably can’t install on the server, or I can write my own OAuth implementation from scratch to avoid getting caught in the mire of dependencies.

My Twitter script is just dead for now.

Twitter has traded simplicity for the potential for greater security. The emphasis is on the potential, because the tough part isn’t getting third party sites to migrate to OAuth, but teaching users not to give their passwords to sites that ask for them. Just because sites don’t need your password any more doesn’t mean that third parties can’t still ask for passwords or that users won’t continue to enter them when asked.

Update: My scripts started working again a few hours ago with no changes on my end. Has Twitter reenabled basic authentication temporarily?

Twitter integration with @Anywhere

Twitter has launched a new feature for third party Web sites, @Anywhere, automatically converts Twitter usernames to links with a hover effect that provides information about their Twitter account. I’ve added it to the blog. Here’s an example: @rc3dotorg.

If you’re a Twitter user, feel free to use your Twitter username (with the @) in the Name field in the comment form. Then people will see a link to your Twitter page.

If it slows things down or sucks in any other way, I’ll get rid of it.

Raw follower counts on Twitter

Anil Dash has been presenting some really interesting information about the results of being on Twitter’s infamous suggested user list. He’s found that while it does drive up your follower count very rapidly, those followers don’t seem to be active in any way, in terms of responding, retweeting, or otherwise interacting with you. And other accounts on the list are confirming his experience. Today he follows up with the logical conclusion, which is that large follower counts are meaningless.

Why is this important? There are around 16,000 people on Twitter claiming to be social media experts, and I doubt that many of them are telling their clients that being on the suggested user list is not an easy route to Twitter success, and that raw follower counts don’t really matter, unless you just want to flex your e-peen.

All that said, you should of course be following rc3dotorg on Twitter.

Rick Bayless on Twitter

Top Chef Masters winner Rick Bayless explains what he likes about Twitter:

On Twitter, I can do three things: I share photos of what’s going on in the restaurant (behind the scenes as well as finished dishes I’m really excited about); I share photos of cool food (and food-related things) I find outside my restaurant (markets, restaurants, events either in Chicago or away from home), and I answer some of the questions that are posted to my Twitter account.

Because I love being able to more fully open my world to folks through the Twitter portal and because I love being part of the community Twitter can create, I’ve decided to devote 15 or 20 minutes to it each day. That amount of time is typically what I can find while I’m waiting on a meeting to start or waiting for an elevator or drinking a cup of coffee.

Bayless, who is no doubt incredibly busy running three popular restaurants, writing cook books, and creating a television series on regional Mexican food, seems to have endless energy for answering questions of all kinds for people on Twitter. His output is impressive.

Twitter everlasting

Tyler Cowen on Twitter:

Think of it as Google focused on one time-slice and giving the weight of crowd opinion no more than linear force. If an opinion is more common it will receive more tweets but otherwise your search brings up the splat, ordered by chronology, and thus it is more idiosyncratic than the first Google search page and often in a good way.

What’s interesting to me about Twitter is that it is different things to different people. Some people get lots of value from Twitter search — I hardly use it. But I find Twitter to be invaluable as a place to sound out ideas and keep in touch with people in my network. And I have very good luck seeking advice on Twitter.

Tweetbacks installed

I’ve installed the Tweetbacks plugin to try to capture tweets about blog posts as comments. We’ll see how it works out.

Disinformation on Twitter

The Iranian government (or its supporters) are starting to use Twitter to spread disinformation. ABC News reports on a Twitter user who is retweeting items from their correspondent that he didn’t write. Marc Ambinder’s suggestion that people think like a CIA analyst is worth remembering.

Improving my blogging workflow

As I’m sure you already know, I’ve created the rc3dotorg Twitter account so that I can let people on Twitter know when I’ve published something. One unfortunate side effect has been that it has complicated my workflow when I write new posts.

Normally I just compose the post in MarsEdit and hit the publish button. I’m sure the process could be greatly simplified, but for two things that complicate the process. The first is that I like to use short URLs that I furnish myself, and the second is that I like to compose the tweets by hand.

I publish this blog using WordPress, and I use the le petite url plugin to create short links. Most of the time I publish updates to Twitter using Tweetie.

So here’s my workflow these days:

  1. Compose a post in MarsEdit and publish it.
  2. Go to the WordPress application on the server and navigate to the new post so I can copy the short link.
  3. Open my Twitter client and write a new tweet, then publish that.

The main inconvenience is opening WordPress in the browser once I’ve already gone to the trouble to write the post somewhere else. What I need is a tool that will allow me to access the internally generated short URL and compose a Tweet from MarsEdit that can be published whenever the blog post itself is published.

It’s looking like I’m going to need to write my own WordPress plugin to do exactly what I want. There are a ton of Twitter plugins, I think I’ll just have to find the right one and adapt it to my needs.

More later.

← Before