open source – Stay N Alive

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

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.

Twitter, It’s Time to Open Source Your API

twitter.pngWith the recent launch of a “Twitter API” by both Automattic (WordPress.com) and Tumblr, it is evident that developers have a need to implement similar APIs, on similar platforms, reducing the effort to retrieve data from multiple platforms in a single client.  With Tweetie, for instance, you can simply change a single URL to “WordPress.com” or “Tumblr.com” or “Identi.ca” and immediately be receiving updates from your friends on those services, and even post back to those services.  I argue this approach is very closed though, as for each and every implementation of a “Twitter API” (which ironically has nothing to do with Twitter), the developers need to completely re-invent the wheel and copy what Twitter has done based on documentation of Twitter’s own API to access its data.  Readwriteweb even went to the extent of calling this approach “open”.  There’s nothing open about it.  Each developer implementing their own “Twitter API” (and especially calling it such) is blatantly ripping off Twitter’s API to do so under no license whatsoever and Twitter’s just standing back and watching.  I think it’s time Twitter releases their API under an Open Source license to relieve this mess and protect their IP.

Open Sourcing APIs is nothing new.  Of course, Google, with OpenSocial, did it and even standardized their own API for “containers” to easily implement the same API across multiple sites.  All the code was provided for developers to do this and we quickly saw sites such as MySpace, Hi5, Orkut, and others all implement the same standard, reducing the code needed to port an app from platform to platform.

Facebook did the same with their platform.  A little known fact is that any developer can go to http://developers.facebook.com/opensource.php and download the Facebook Open Platform, along with many other very useful open source tools.  Immediately they have access to enable FBML, FBJS, and other aspects of the Facebook API to developers on their own sites, standardizing the Facebook platform amongst sites that implement it.  Bebo was one of those who took up Facebook on this offer.  Others can too.

What we need now is a standardized platform for sharing micro-content.  Some have proposed RSS do this, which is fine with me, but since developers already have apps built on Twitter which this would go with it makes sense to also enable a standardized platform for developers to code on for these types of apps.  Such an open-sourced code-base would enable developers to not have to change their code to enable access to similar sites beyond just Twitter.  Twitter right now is a closed platform, plain and simple.  With the exception of OAuth, they are based on a proprietary API, do not support open content protocols, and even their real-time stream is proprietary.

A good step for Twitter would be to open source this API.  Enable sites such as WordPress, Tumblr, Status.net, and others to easily integrate it into their own platformse without the need to re-invent the wheel.  Put it under an open license, and then your IP remains protected.  Until that point  developers are going to continue ripping off Twitter’s API, and Twitter’s IP slowly starts to go down the drain.  I’d love to see Twitter take a lead in this process – it took Facebook just about 6 months to open source their API.  Why haven’t we seen this yet from Twitter?

Or are they the next Compuserve?

You Don’t Own Your Data on Social Networks

Open - Please Close the Door

I get asked often by clients, reporters and media folk and others about Facebook’s recent Terms of Service updates, essentially saying they own their users data and have a right to do as they wish with their data. They’ve turned around on that and will be releasing newly revised Terms soon, but at least they’re being honest about it. The thing is, any service on the internet you belong to, which includes Facebook, Twitter, FriendFeed, even Gmail, and more, owns your data. It’s their right to change their Terms for their users any time they want, and the only choice you’ll have at that point is to leave the service, or continue on, recognizing what you already knew – that what you’ve stored on their service is theirs to own forever. I think people have come to accept that – they just get all up in arms when it’s thrown in their face.

The thing is, as a brand, you can’t afford for this to happen. Owning, and losing rights to your data can make or break your business. People take risks to be able to take shortcuts and survive by joining such services, and frankly, it’s important to still have a presence on these services because people are talking about your brand and you could be missing out on that conversation. But can you really trust your content on such services? What if Twitter, or Google, or FriendFeed were to pull a Facebook and with the drop of a hat own all your previous data. They are within right to do so – you gave them that right when you signed up for their service.

The Social Web Needs More Open Protocols

We were discussing on FriendFeed today how the new FriendFeed beta, with its real-time nature, is a lot like IRC, and enables people to chat, in a completely new way, in real time. The thing is, it’s not at all like IRC. IRC is an open protocol. It’s software businesses can own, modify, and change to their hearts content. They can wrap their brand around it. With IRC a business has the ability to own the community that subsides within the environment they set up, on their own servers.

Not FriendFeed, or even Twitter enable this capability, which is why if they don’t adapt in the future things will change. Facebook is attempting to address this with their Connect product, and that’s a step in the right direction. Facebook also provides quite a bit of their underlying developer platform code, as open source, freely and openly to the community, also a step in the right direction, but they can always do more.

Keep in mind that this is all about owning your own community. Can Guy Kawasaki set his own rules about what is, and isn’t spammy? Can Leo Laporte provide a Geek-friendly environment for his TWIT Army? Can ESPN provide a sports-enthusiast friendly environment for Football fans, and properly advertise and provide things, in their own way, that those fans would appreciate? You can’t do this on any of the networks right now (with the exception of Facebook Connect).

Laconi.ca is headed in the right direction on this. As is Automattic, and SixApart. They all have their own major services, but all of their services enable you to focus on owning your own community. And even if you don’t have enough control, they provide you the source code to give you the control you need, should you need it. This is the future!

Why does this matter to the end-user?

You may think, well, I’m not a business. I’m just a casual user so this doesn’t matter to me. I’m willing to bet if you’re an Athletics fan, or a Boston Red Sox fan, or a 49ers fan, or a Mom, or even a Dad, that you put much more interest in those things than you do the brand name Twitter or FriendFeed or Facebook. Those things are your real life! Now imagine if those brands started to give you a way you could communicate with like-minded individuals, and what if different brands could talk with each other? This is one reason Facebook is going to succeed, and one reason Laconi.ca is going to succeed, because I can chat in the environment I want, and my friends all still get to hear me! As an end user, and especially a brand targeting that end user, that’s powerful!

This is why TodaysMama Connect is seeing great participation in their new Connect community for Moms. Now, with their service, Moms can connect with each other without having to sift through the massive data mine of Twitter. At the same time, TodaysMama gets to own and control the community in a way that works well for Moms and is inviting for them, while maintaining their brand image. You see the same with Leo Laporte’s TWIT army, and I’m already talking to several other major brands that are considering the same.

How do you control your data?

Will the future be full of everyone creating their own communities of “followers”, competing for who visits their site and embraces the community? It’s possible, but that’s far down the road. We need more open standards. The Twitters, the FriendFeeds, and the Facebooks all need to be providing and leading these open standards and serving instead of being data hoards, becoming network Connectors, providing ways to connect multiple smaller networks with each other. They need to be the directories and the places where people can go to find each community. They need to be the search, and the stream of the “brand-owned” data, and providing as many ways as possible for those brands to completely own and customize the experience for their own communities. Their role is the glue of the Open Web.

Let’s truly make these services the IRC of the Social Web. Thank you, Laconi.ca and Automattic, and SixApart for leading the way.

Photo Courtesy Eric Kilby

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

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.