Twitter meets podcasting, day 2
Sunday, June 24, 2007 by Dave Winer.
Continuing yesterday's thread.
I'm now working on a web service that takes four parameters:
1. username (a string)
2. password (a string)
3. MP3 bits (base64-encoded binary)
4. metadata (a struct)
The username and password are for the user's Twitter account. This data passes through the web service, it is not retained. You have my word of honor on that.
The bits are the "gram" -- the official limit is 200K, but there's a little bit of grace. (We'll accept slightly more than 200K.)
The metadata is a struct that can contain fields that have the same names as an RSS 2.0 item, such as title, link, description, category, source, etc. Very much like the Metaweblog API. Not all the elements are acceptable, but ones that aren't are ignored. (For example, enclosure.) All are optional, as is the struct itself. The title, if present, is used in forming the Twitter post. The remaining elements are retained, and used to form feed(s).
The twits are also posted to a global Twitter account -- twitogram. (They don't allow accounts whose name begin with "twitter.")
The username and password must be valid for the MP3 to be retained.
The service returns a string, if successful, the URL where the gram is stored. (I'm using Amazon S3 for the storage, so it should be fairly reliable.)
There's a limit to the number of grams you can post over time. Not sure exactly what the limit will be. Maybe no more than one every ten minutes? Interested in people's opinion.
The ideal client for this service, it seems, is Flash, because it can do the MP3 recording and has XML-RPC support. I will also implement a RESTful interface.
Disclaimer #1: Who does he think he is? Just some guy.
Disclaimer #2: My mother loves me. (I think.)
More dislcaimers will follow.
Postscript #1: 29 hits today for TwitterGram.