Tag Archives: xmlrpc

Micro.blog photos from MarsEdit

This morning I updated Micro.blog’s XML-RPC posting to support the MetaWeblog API, which allows uploading photos to your hosted microblog. If you’re using MarsEdit to post to Micro.blog, edit your “System API” in MarsEdit’s blog settings to “MetaWeblog API” instead of “Blogger API”.

Working on the photo upload support has also helped clarify how Micro.blog should process text from the different posting APIs such as MetaWeblog and Micropub. After the next version of the Micro.blog iOS app ships, Micro.blog will start requiring Markdown and escaping HTML tags from Micropub, just as it currently does from the web interface. This will be a much better default for most people, and bring more consistency between web and iOS posting.

MarsEdit and other tools that use XML-RPC will still be available for when you want more control over the HTML that is posted. Micro.blog does allow Markdown in your MarsEdit posts, but otherwise it does very little processing of text from MarsEdit. It even lets you post long-form blog posts.

Making RSS real-time

One of the critiques of RSS feeds in a world dominated by Facebook and Twitter is that RSS just isn’t fast enough. You can’t hope to achieve what Twitter calls “in-the-moment updates” and “watch events unfold” if your client is polling each web site’s RSS feed once an hour for new microblog posts.

Luckily this was solved years ago. Many blogging apps (including WordPress) have a setting to “ping” another server when a post has been published. When it receives this notification, the other server can request the RSS feed and make note of the new post right away.

There are a few flavors of this, such as just passing the URL of the updated feed, or sending an XML-RPC request, or passing the actual post content along with the ping as JSON. It may not be the most efficient or elegant solution, but it works well, and it’s significantly better than frequent polling. You could build something on this.

Some distributed Twitter clones try to come up with something more clever instead. And there are attempts like PubSubHubbub with significant traction. But adopting any new technology is hard, and this ping system is surprisingly well deployed already. Worse is better wins again.