Freigeben über


What Blog Posting APIs are supported by MSN Spaces?

I've seen a number of people ask if MSN Spaces supports any web service APIs such as the Blogger API or MetaWeblog API that allow users to post to their blog from applications such as MarsEdit, BlogJet and w:bloggar.  This question has been asked in blog posts by a number of people including Robert Scoble, Don Smith and Roland Tanglao. Like every question there's a short answer and a long answer.

Short Answer: There is currently no support for any web service APIs for managing ones Space. We are investigating the feasibility of supporting a web service API which enables our users to manage their Space while not having to compromise on security which unfortunately is currently the practice in the blogging world.  

Long Answer: I listed the problems with the current crop of blog posting APIs such as the Blogger API and MetaWeblog API  in my post from a year and a half ago What's Wrong with the MetaWeblog API? . The main issues for us working on MSN Spaces are  

  1. Security: The MetaWeblog API has no concept of security. Passwords are sent in plaintext as parameters to XML-RPC functions (i.e. they are sent in plain text on the wire as part of the XML message).
  2. Limited Functionality: The MetaWeblog API only allows one to either post and edit blog entries, fetch information about a specific user or change the website template. This is a drop in the bucket considering all the things one would like to do with a weblog engine which can be supported by the engine.

The security issue is a big problem and we do not plan to compromise on it. Although it may be satisfactory for certain services to exchange user's passwords in plain text where they can be sniffed by malicious third parties we don't want the Passport accounts of our user's exposed in such an insecure manner. This basically means we can't plug into the ecosystem of tools and services built around blog posting APIs today.  

Already the current beta version of MSN Spaces has more functionality than is exposed by APIs such as the MetaWeblog API. For example, it would be difficult to imagine how one would manage their music list with just that API. Add to that the fact that we are planning to add more features in future versions that also have no useful analog in that API.

I plan to present 3 choices to folks at work on what we should do in this regard. The choices I see in order of preference would be

  1. Support Blogger/MetaWeblog API over HTTPS/SSL: This would involve the most minimal change to various blog posting tools to support MSN Spaces yet would give our users the security they desire. Unfortunately it doesn't solve the problem that these APIs don't expose all the functionality of an MSN Space.
  2. Support an MSN Spaces specific API over HTTPS/SSL:   This would allow us to build an API specifc to our service such as has been done with the MovableType API or the LiveJournal API . The downside is that it would mean developers would have to do a lot more work to suupport our service but would expose richer functionality than if we just supported the Blogger/Metaweblog APIs. This would lead to less tool support but I suspect the most popular tools would support our API. 
  3. Support the Atom API over HTTPS/SSL: The IETF's Atom Working Group is working on a new common  API for blog posting which they hope will replace the aforementioned blog posting APIs. I have questions about their delivery timeframe given that its been over a year and a half since Sam Ruby kicked of the Atom effort  and although their schedule has them shipping the spec in a few months they are still having debates on fundamentals such as whether the Atom protocol should be based on WebDAV or not. Having worked on the XML team at Microsoft and watching I have seen what happened when we spent years working on technologies like XInclude & XQuery which are in active discussion only for them to drag out so long that they couldn't fit in our ship schedule so we cut them thus wasting the effort.  Secondly, still has the problem that it won't expose all the functionality of an MSN Space. I don't have much faith in this option but have put it on the list for completeness.

I should note that there is also the question of whether it makes business sense to do support blog posting APIs. Mike will be the one making the business case pitch to folks over here while I'll be making the technical pitches. It would be interesting to know what percentage of users actually use a rich client versus using the Web interface for editing their blogs in existing systems.

Anyway, your thoughts and feedback are welcome. I'd especially love to hear from authors of blog posting tools.

Comments

  • Anonymous
    December 02, 2004
    i vote for #1 because I know MarsEdit supports it and I believe BlogJet does it!

    but i will take #2 if it's clearly documented so other blogging systems can adopt it!
  • Anonymous
    December 02, 2004
    "...there is also the question of whether it makes business sense to do support blog posting APIs..."

    Wouldn't it be nice to be able to post to a blog from Word? Or Outlook? InfoPath?

    Create a public API and it WILL be used. Not having one will turn people away to other free services that do...

    Also a public API will let others innovate in ways that you can't imagine. Or add features... (like an editor with spell checking).

    What is the primary target for Spaces, Readers or Posters?

    If Readers, then you want to make it as easy as possible for people to post... Why tie their hands and force them to post via a web page?

    Also isn't Smart Clients one of the messages coming from MS?

    I don't mean to rant, but I guess that statement struck a cord with me...

    If the current API's don't make sense, build your own. (yeah, I know, you won't win either way...). I would think that a Blog/post/atom/etc like API that fulfills the your requirements could be used in many ways my MS (wouldn't it be cool to have it as part of SharePoint?)

    Anyway, thanks for listening. :)
  • Anonymous
    December 02, 2004
    The comment has been removed
  • Anonymous
    December 02, 2004
    I'd vote for #2, but make it as compatible as possible with MetaWeblog and extensible for the future features. Also, make it so it can be implemented by other engines :)
  • Anonymous
    December 02, 2004
    The comment has been removed
  • Anonymous
    December 02, 2004
    Microsoft announced the launch of their own free hosted blogging service&nbsp;&ndash; <a href="http://spaces.msn.com/">MSN Spaces</a>. They <a href="http://blogs.msdn.com/dareobasanjo/archive/2004/12/02/273762.aspx">do not offer API at ...
  • Anonymous
    December 02, 2004
    Hi,

    Isn't there a way I could import my previous blog's content? At least make a way to import XML data.

    --Szajd
  • Anonymous
    December 02, 2004
    Dmitry,
    It seems to me to be extremely counter productive to adopt an API which you admit no tools currently support as opposed to using one which is widely supported.
  • Anonymous
    December 02, 2004
    Take this comment as a trackback. There are some of my thoughts about this new and really interesting MSN service:
    http://radio.weblogs.com/0140770/stories/2004/12/02/msnSpacesAnotherStarInMsnsSpace.html
  • Anonymous
    December 02, 2004
    Dare,
    I don't think most blogging tools supports HTTPS/SSL. So, in any case, there will be something to implement.
  • Anonymous
    December 03, 2004
    Dmitry,
    True, but it is much less work for them to simply support HTTPS/SSL over their current support of existing APIs than ask them to implement a totally brand new API as well.

    Our goals are to have as many clients as possible be able to interact with Spaces but also to ensure that users get a rich user experience. This goals are somewhat contradictory since the first goal maps to option 1 while the second maps more to option 2. Doing Atom is going the middle road which achieves neither of our goals.
  • Anonymous
    December 03, 2004
    Hey Dare-

    I can't beleive this is even a question. I don't really care what API you use - but there has to be an API and extensibility mechanisms if you want user buy-in. 3rd party smart client tools would make this a "killer app".

    Chad
  • Anonymous
    December 14, 2004
    Dare,
    I've just released BlogJet 1.2 #33 RC with SSL support:

    http://blogjet.blogware.com/blog/_archives/2004/12/14/205152.html

    so you can begin implementing MetaWeblog (prefered with MovableType extensions) API ;)
  • Anonymous
    December 15, 2004
    I wondered if Microsoft's new MSN Spaces blogging system supported the MetaWeblog API, or any of the popular blogging tools. I looked it up, and the disappointing answer is a decided no. I understand them wanting to have an API...