Thursday, March 5, 2009

Inline Twitter Apps – Discoverability and Uses

Time to throw out one of those ideas that is so far out there that it might just inspire someone.

Twitter continues to be used in more and more interesting ways with bot accounts from the simple @Timer which will twitter you after a period of time, to a graphing tool like @uladoo. And I can only see more of these coming – which if they are useful I am all for ( As long as they support direct messages else they just create spam! )

So before the flood begin ( well maybe it has and I just don’t know about them all yet ) I propose that there be some conformity to how to discover the usability of these services from within twitter – in the same way that all command line applications are discoverable.

Something like this : ( where => is the reply )

D CoolService ?usage => cmd1, cmd2, ?usage, ?more

For simplicity I would assume that the default would ?usage so that

D CoolService is the same as D @CoolService ?usage

?More would be the standard way for getting the remainder of the commands that did not fit into a 140 char reply. This would put the onus on the service to remember some state to determine what a ?more means for that user, given there may be multiple “pages” of commands.

For more detailed help on each command a standard ?help <cmd> would be useful

D CoolService ?help cmd1 => Does cool thing number 1 …

Now that kind of a service would be great for discoverability without having to leave twitter, but that is really just scratching the surface.

Now lets add in this single command “|” and the world changes somewhat.. the ability to pipe can make some of these service even more powerful.

Imagine I have a graph with @uladoo and they supported the following 2 commands :

D Uladoo ?usage => ?stats, ?history:<range>, ?more

which might work like this :

D Uladoo MyChart ?stats => MyChart Ave:5 Mean:3
D Uladoo MyChart ?history:4 => MyChart 4,5,6,4

Now I could pipe these together to get more control over my data and ask questions like “Give me the stats for my data over the last 10 data points”

D Uldaoo MyChart ?history:10 | ?stats =>MyChart Ave:6 Mean:3

This then means that I can use twitter as a way of getting external services to do work for me.. potentially very complex work.

Now lets move that up a level of abstraction and get one service to talk to another with piping :

D Timer 45 | D Uldaoo MyChart ?stats | D WebBuddy MySite publish

Which if somehow this were possible and marshalled would mean something like “After 45 mins get the stats for MyChart and then publish that information on MySite”

Okay so I have no real idea how this might work, but it does suggest that there may still be much more growth for the little blog-chatter service called twitter.

Perhaps the 140 character web service shell ?

0 comments:

Post a Comment