Contact: (801) 853-8339 or jesse@staynalive.com
Twitter, FriendFeed, LinkedIn, or Facebook
Like StayNAlive.com on Facebook!:
TwitterCounter for @Jesse

Posts Tagged ‘OSS’

Developers, It’s Time to Open Up Twitter’s API

Saturday, December 19th, 2009

TwitterIf you’ve read my previous post on this, you’ll notice how I re-worded the title of this article.  That’s because I’m delusional to think Twitter is going to open source their API any time soon – I’ve been requesting this for over a year now.  I think I’ve come to a new understanding that if we’re to see an open standard built around Twitter’s API, it’s going to be we, the developers, who implement this.

It won’t be Twitter.

I mentioned earlier that developers are starting to catch onto this idea.  It all started almost 2 years ago when Laconi.ca introduced their own Twitter-compatible API into their platform allowing any client library based on the Twitter platform to very simply add Laconi.ca instances to their preferred Twitter client.  Unfortunately it took 2 years for that idea to catch on.  Finally, we’re seeing some big players in this, and my predictions are coming true.  Automattic just released their own Twitter-like API into WordPress.com.  Tumblr just released their own Twitter-like API.  The problem here is that all these developers are re-inventing the wheel every time they re-produce Twitter’s API, and any time Twitter releases a new feature they are stuck re-configuring and re-coding their server code to stay up with Twitter’s new API features.  That’s fine though – this is all a step in the right direction.

The Vision

Imagine now if there were a standard that, at first duplicated what Twitter was producing on their end, but other developers could code off of.  Open Source software could be built around this standard, and now any provider would be able to easily install code that integrated well with their own environments very easily.  We’d see many more providers than just WordPress and Tumblr and Laconi.ca instances like TodaysMama Connect (of which I am an advisor) integrate this.  We’d see big brands and big companies start to implement this.

Soon Twitter will be in the minority amongst services these “Twitter clients” (like TweetDeck, Tweetie, or Seesmic) support.  The Twitter clients will no longer feel obligated to cater to just Twitter, and new layers, such as real time and meta APIs could be added to this API standard in a way that benefits the community, not a single company.  Twitter would no longer have a choke-hold on this and we would have a new, distributed architecture that any developer can implement.

The Proposal

What I’m proposing is that we work together to build an open source set of libraries and services, perhaps a gateway of some sort, all built on a standard that we set (it will most likely copy Twitter’s API at the start).  I’ve built a Google Group, called “OpenTwitter” for now, with the purpose of opening up Twitter’s APIs.  The group will have a primary focus of determining how we want to build this software, establishing documentation for such software, and attaching a completely open standard on top of all that we can modify as it makes sense.  The goal here is that the public will now control how this data gets distributed, not a single company.

But What About RSS?

The question always comes up, why not just push these clients to support RSS and rssCloud or Pubsub Hubbub?  The answer is that we’ve been trying this for too long.  It may still happen, but it’s going to take Twitter clients a lot longer to modify their code to support RSS than an open Twitter-compatible standard.  Ideally, a Twitter client, which there are many, ought to be able to quickly and easily just change the base domain of where calls are sent, and everything with the providing service should “just work”.  RSS complicates this too much.  The fact is that Twitter has taken over and we need to accept that as a fact and work with it.

The Invitation

If you can, I’d like to invite you to join our “OpenTwitter” list on Google.  Let’s get some conversations going, and get this thing off the ground.  My hope is that we can get people like Dave Winer, Matt Mullenweg, Chris Messina, David Recordon, Joseph Smarr, DeWitt Clinton, and Mike Taylor all joining this effort.  My goal is that we can even get Twitter involved in this effort – this isn’t meant to snub Twitter by all means.  The entire goal here is to build a much more open, distributed web in as simple a manner as possible.

You can join the “OpenTwitter” list here.  I’ll be posting a kickoff message there very soon.

Why Do I See So Many Open Source Advocates Using Twitter?

Thursday, August 28th, 2008

opensource_logo.pngAs I am speaking, Utah is having their yearly Open Source conference. If you’re in Utah or outside Utah (most of my audience is outside Utah), it is well worth the trip with some great topics from ssh tips and tricks to WordPress Performance and Scalability by Utah’s own Joseph Scott from Automattic. I would be there myself but I have deadlines I have to meet this week (I have a big announcement to make next week which will explain my lack of time this week). However, as I was tracking the updates from the conference, I noticed there seem to be way more people updating from Twitter vs. the Open Source-based blogging tool, Identi.ca. In fact, I notice many Open Source proponents even outside Utah embracing Twitter over the Open Source-based Identi.ca and I wonder why.

Now, I wasn’t paying attention during OSCON so I don’t know if it was the same there, but I’m willing to bet there was a lot of activity going on within the Twitter network there that really should have been happening over on Identi.ca. I’m wondering if it’s just lack of education about Identi.ca, or if our views of the principles behind Open Source have changed.

I remember a day where in each company I worked for I would do all I could to try and get them to let me run Linux on my desktop. I still run vim and I still run open tools like Apache, MySQL, and Perl. In some (remember Red Hat 5?), I was making a sacrifice by doing so, because I knew I had complete flexibility to make the changes and configurations necessary to make it do what I wanted to do if it did not yet do it.

When I was an Engineer at Backcountry.com we thrived on this principle. It actually made us more productive as a company because when we used Open Source software, we could configure it the way we wanted when it wasn’t working the way we wanted it to as a company. This would have costed us hundreds of thousands of dollars in custom software changes if we used a shrink-wrapped solution. Not only that but we could give back to a great cause if it didn’t meet our needs, and in fact we gave back quite a few changes to the Open Source community because of this principle.

Now, if you are not one of those types that went out of your way to use open source software for the principle, and because of the reasons I mention above, then I’m not talking to you here. However, I’m calling each and every one of the Open Source advocates out that are on Twitter and have not yet tried, nor use Identi.ca on a regular basis. This is no different than running Linux on your desktop as in the examples I mentioned above. If Identi.ca is not working the way you want it to, as an Open Source Advocate and promoter, you have a responsibility to jump in and contribute the areas you don’t have access to. That’s the true spirit of Open Source, plain and simple! Here are the reasons why you can feel good using Identi.ca, or build your own Laconi.ca instance that can communicate with Identi.ca:

  • You own the content you post – All posts through a Laconi.ca instance are published under the Creative Commons license, meaning the publisher cannot own the content of its users. This is very much in the spirit of Open Source.
  • Identi.ca is based on open source software – as already mentioned, Identi.ca is based on the Laconi.ca source code. You can even set up your own instance and have it talk to other Laconi.ca instances. If you don’t like what Identi.ca does, then fix it, publish your own instance, or give back to Identi.ca!
  • Identi.ca talks with an Open Protocol, OpenMicroBlogging Protocol – Not only are you given source that talks this protocol, but you can write your own software that talks this protocol, and it will communicate with any other software that speaks this protocol. See my post on OpenMicroBlogger for an example of this in action. This is called “Federation”, and IMO it’s the essence of Open Standards and communication.
  • Identi.ca has almost all the same features as Twitter, and more – as I’ll explain in a minute, this probably doesn’t matter, but the only features it lacks are direct messaging and SMS. SMS is expensive, and most likely won’t last on even Twitter – it costs too much! Direct messaging can be resolved by means such as e-mail or text messaging in a much cleaner fashion, although there are rumors of some working on even that. What it has that Twitter doesn’t though, and this is powerful, is that all Laconi.ca instances support XMPP out of the box, which means live-streamed updates straight from users, in real-time. Not only that, but you can track those updates, as well as any update on any Laconi.ca instance via Track functionality. Also, via OMB protocol above, you can subscribe to users on other services other than Identi.ca, and vice versa.

Let’s not get me wrong here – I’m not telling you to abandon your network on Twitter. I’m saying if you support and promote Open Source standards and refuse to use an open service like Identi.ca that is based on Open standards, you are living a double standard. You can still use Twitter in the meantime. I still use Windows and Mac for functionality I don’t get on Linux until me or someone else is able to replace that functionality for something better. The concepts are the same. I still use Twitter occasionally.

Also, many are giving the excuse of, “my network is bigger on Twitter”. I’d first like to point you to my listening/follower ratio article on LouisGray.com as to how strong your network really is on Twitter, but in addition to that, let’s pull in the Linux example again. How many Linux desktops are there in the wild? How many Windows desktops are there? We use Open Source because it allows us to configure it to do what we need it to do, and often we can get the job done better because of that. We don’t care if the majority of the population is using another closed tool because we can do much more with the open tools we’re a part of.

I’d really like to see some more Open Source proponents using Identi.ca as their primary posting platform. If you would still like to use Twitter that’s fine – there’s a bridge to enable you to do that, but it’s time we stood to our principles and why we’re using Open Source in the first place. Please don’t consider this a criticism, but rather a Bearhug to come help us out in this cause.

You can find me on Identi.ca at http://identi.ca/jessestay.