Twitter Annotation Proposal – Image
This is a proposal for a twitter annotation that I hope to be blessed by both the development community and twitter itself.
Image Namespace
Images are something commonly shared throughout twitter. Something that would be fantastically idealistic would be embedding image data into twitter annotations.
Due to constraints, images should be resized to a lower-quality “preview”. Possibly VGA or so? A link to a privately hosted image should also be available.
Using the current preview information supplied by the twitter development team, I imagine that it would go something like this:
"image": { "preview": "data here.. base64 etc.", "preview_encode": "base64", // Or whatever else floats your boat. "bin" or "binary" for raw data. "full_src": "http://example.org/link/to/image.jpg" }
Any additional thoughts on other information that should be included? Maybe a title and description, or is that not needed? Please, leave all of your thoughts and ideas in the comments!
Why SuperTweets won’t kill URL Shorteners
Now, the title of this blog post makes it sound like I’m going to write an essay about why SuperTweets (and the probability of them having a URL metadata for tweets) will not be killing URL Shorteners like j.mp and bit.ly anytime soon.
1) URL Shorteners Keep You Safe
One of the things URL shorteners do now is they keep you safe from malicious websites. You can preview the site you are visiting, and if its determined to be delicious the short URL will either be deleted or blocked or a warning will be shown, letting you know it is no longer safe to visit that URL.
2) URL Shorteners are Branded
All I really have to say here is “Bit.ly Pro” URL Shorteners now have custom branding, so it makes it even easier to send people to your website or promote your brand on twitter by including the link in the text.
3) URL Shorteners are Easy to Remember
When they are used correctly. Services like bit.ly allow you to give a custom name to your short link. This is especially useful in media such as Television or Print: http://j.mp/cnn-transgender is much easier to remember and type than www.cnn.com/2010/LIVING/04/14/transgender.irpt/index.html?hpt=C1
With even just these three simple reasons in mind, it is very clear to me that URL shorteners will not be dying anytime soon, no matter how much metadata you can attach to tweets. I’m not even sure they’re bad for the internet, anymore.
Sneaky Twitter, or My Imagination?
Fairly surprisingly, twitter went down today (for what appeared to be no rhyme or reason), but something much more surprising happened when it did. A tweet I posted (from my own, self-coded twitter client that has no “store tweets until twitter is back up” system) was there on the site when it came back up (viewable in the image above).
I’m not entirely sure if this is what I want to think it is, but could it be that twitter has a secondary service that stores tweets that come in via the API until the system is back up, or something? I didn’t think the update had posted at all, as the API didn’t return any of the proper data (nor an error).
So, is this just a coincidence, or does twitter have a system in store to keep the stream flowing even when its not?
TwCLI
So, you think you’ve had a lot of fun with twitter on the web and all those twitter clients you’ve played around with? What if I told you that you haven’t seen anything yet? What if I told you that you could use Twitter in a TRUE Command Line Interface with specific commands for interacting with twitter.
Welcome to one of my latest and greatest creations, TwCLI.
TwCLI supports almost everything twitter has to offer, and will soon be expanding to support even more!
TwCLI includes a long list of commands, help information for each command, a theme-able interface (Specify a Pre-Determined theme, import from your twitter profile, or even specify an external CSS file!), Geo-Location, Retweets, and even Contributor Support!
Go ahead, give it a try and tell me what you think!
Rumor: Twitter Close to Unveiling Contributions
Do I know for sure? Absolutely not. Do I have inside information? Absolutely not. Was I randomly observant one night and saw something that seemed to push me to think in this direction? Yes.
Back in December, Twitter blogged about its “feature test with businesses” of a new Contribution API they were adding in to Twitter. One that would allow companies to give users permission to tweet on behalf of the main account, and still attribute that post to the user who wrote it.
If you wanted to see this in action, all you would have to do is look at the main Twitter account, where almost every post and retweet is attributed to one of the employees.
They originally announced that this feature would improve usage of applications like @CoTweet and @HootSuite. But if you look at their timelines, you see very little Contribution API dabble – until recently, that is.
Looking through CoTweet’s posts all the way back through December, none of them have contribution metadata – except for the latest two on February 18th and 19th. HootSuite has only one, posted on February 18th (none earlier, and none later). This brings to mind: Twitter must have recently been rolling out (or testing) their Contribution Feature – or are we really supposed to expect this to be coincidence?
And all of this with the Twitter Developer Meetup Scheduled for Monday, March 1st 2009.
All I’m saying is, I think they’ve gotten much closer to rolling out Contributions. Maybe they’ll announce it at this small developer meetup, since everybody already knows about it. Then again, maybe they won’t.
simpleTAPI is Broken
Apparently I’ve completely broken simpleTAPI somewhere between Build 27 and Build 30. I thought I had fixed it with Build 29, but it seems that I was mistaken.
In lieu of this, I am putting simpleTAPI on a temporary hiatus. I will be re-constructing it from scratch (though, probably looking back and using a good bit of the original code). The next version should have several configurable options, and will hopefully interact with the Twitter API much better than the previous versions.
Build 30 was supposed to return results as an array([“TAPI”] => data, [“result”] => data). But all I’m getting from it at the moment is “Unable to Authenticate User.”
Those wanting to use simpleTAPI should use Build 27, though you will have to deal with some minor quirks in the way results are returned. (the TAPI array is simply appended to the results array, making things slightly complicated if you don’t unset($result[“TAPI”]);
What will be simpleTAPI 0.4 should have better error handling, better return data, and better built-in caching. I’m also hoping to build in support for xAuth and Delegated OAuth, if at all possible. (Though probably not since simpleTAPI is built upon another OAuth library).
So, I’m asking for any and all feature requests. Is there something about simpleTAPI you don’t like or want to be improved? Please, post in the comments below!
A Quick Update to Simple Twitter
A lot of people use my Simple Twitter Feed written in JavaScript (for some reason). Well, today I pushed out a quick update that should fix all the woes users have given me in the past.
The code should now be valid XHTML strict, and I know longer use innerHTML for each list element. Instead, I’ve moved from adding the list elements via innerHTML to DOM Manipulation (appendChild). I’m not sure exactly what the benefits of this are, but I’m sure they exist.
As the previous HTML code seems to have been broken, this may cause some rendering errors for a few websites, but all in all it should work better than it has previously.
I’m not writing out a whole changelog, I’m just going ahead and saying that some changes were made – and hopefully Simple Twitter should work a lot easier for everyone using it.
Settings Needed on Twitter
- The ability to block someone from showing up in your timeline, but not block them from following you.
- The ability to allow users to send you DMs, even if they’re not following you (and block them from doing so on an individual basis).
- The ability to see all @replies from your friends – I WANT THIS BACK
That is all.
simpleTAPI v0.2.1 – Build 16 (Twitter API Library)
I’ve renamed the Twitter API Library to “simpleTAPI.” Yes, I’m not very good at names when it comes to this sort of thing. We’ve jumped forward two builds since my last post here.
Build 15
- The addition of a quick variable, bool Twitter::geo_enabled.
Returns TRUE if the user has turned on geo functionality, FALSE if not.
Version 0.2.1
- Re-Organized classes. Separated TwitterOAuth and OAuth into separate files, and moved them along with Twitter into a “twitter” folder. All classes can be loaded simply by including Twitter.lib.php.
Build 16
- Fixed a minor inconsistency in TWML where different functions returned different links to a twitter user’s profile.
- Fixed a bug where specifying screennameonly=TRUE for TWML::name resulted in an empty hyperlink.
Examples
- Started work on Example files to teach how to use simpleTAPI. Currently, the only one included is a basic Update script. This file includes logging in, updating a status, and returning the same status as well as some basic TWML examples.
So, enjoy! I will continue to improve this library. Please remember to post all issues and feature requests either on this blog or the github page.


