RKG Logo 434-978-4300

I noticed our engineering team was taking an unusually long time to upgrade our MSN systems from MSN API version 4 to version 5.1, so I asked about it.

“Everything changed,” our project lead replied, “and the documentation is pretty poor.”

In general, one of the characteristics of a good API is stability. Once published, partners in the outside world build code which depend intimately on the API spec. Well-designed APIs evolve slowly, adding and removing features gracefully so partners can adjust their apps to the improvements.

MSN jerked the rudder hard in a new direction going to v 5.1. Below is a list of pitfalls our engineers encountered. Hopefully this list will help others struggling with MSN’s docs.

Beyond MSN’s business challenges competing again Google and Yahoo, this list demonstrates some of the technical challenges MSN is facing with their codebase. To their credit, the MSN API team has responded quickly and knowledgeably to our requests. For that we are grateful. We appreciate the technical help we receive from MSN, and we hope their API stabilizes relatively quickly.

If any MSN folks are reading this, if it would be helpful, our project lead on this recent API upgrade would be glad to share his experiences with you folks on how in the future this could go more smoothly for both sides.

For contrast, about the same time period, our engineers upgraded our platform from Google API v11 to v12.

The Google API upgrade took 20 minutes.

To be fair, Google v11 to v12 was an extremely small and gradual API tweak, a handful of type changes and other little details. Comparing the Google 20 minutes to MSN’s many developer-days of effort is comparing apples to oranges. I would say, though, that Google’s API advances more gradually and more thoughtfully, making Google an easier technical partner than the other engines.

Again, our thanks to the MSN engineers for fielding so many of calls and emails to clarify the docs. The following email snippet indicates some of the places our engineers hit snags.

There there were more of these, but here is a brief list. In overall they changed the external interface, including names, enumerations and methods. This was more like a full rewrite than an upgrade. My biggest negative on the list is the documentation, as this was the cause of much of our frustrations.

And to give credit – MSN responded quickly and knowledgeably to our requests.

  • .Net2/asmx (Administration, CustomerManagement, NotificationManagement interfaces) .Net3 (or 3.5?)/wcf (CampaignManagement, Reporting interfaces)
    • changed xml structure (authentication, etc)
    • enforced xml sequence
    • appears to be that the upgrade is not full, likely an internal deadline was not met
  • Renamed many fields and classes to comply with industry standards
    • API is for machine communication, so the name only matters to developers, who has to redo the code now
  • Changed method enumerations
    • most of these are 1-to-1 renaming enums, what is the point?
    • eg. removing underscores from EasternTime_US_Canada
  • Xml arrays for NegativeKeywords (yes, no longer notkeywords)
    • fine, although web-interface uses comma separated list
  • Date type of fields
    • communicate as 3 xml tags: year, month, day
      • looks like a bug workaround, as field supposed to be nullable!
  • Inherited classes (eg: Ad to TextAd and MobileAd)
  • API DOCUMENTATION
    • bad navigation (needs to click through many pages to get to the right page, unless you know what you need, and use the sidebar then)
    • INCORRECT information
      • Campaign BudgetLimitType field for a while listed v4 enumerations! – incorrect hyperlink (simple MSN internal curl could discover these after removing the old docs from their internal website, like what we do with our website :-))
      • Parameter substitution in some Ad fields were listed without substituion (appears to be fixed by now)
    • offline version for windows framework only
    • xml code snippets are limited and started to appear in June (middle of the upgrade process)
  • Why to have fields, which are reserved for future use? (like v4 had APIFlags, which never made to production, and now is eliminated)
    • Nice to see the ideas, where MSN might go
    • But has no value for an API, and makes documentation readability worse as it litters the information with useless stuff
  • V5 was retired ~2 months before deadline, and 5.1 took its place (5.1 had some new reserved for future use fields, AND expanding int to long fields)
    • not a big deal, but what is the point to publish deadlines?

 

corn

 

Technorati Tags: , , ,

If you like this post, consider subscribing to our RSS feed. You can also have new posts sent to you via email.


Related Posts

    No related posts.

Your Comment

Tags

RKG Tags: , , ,

Technorati Tags: , , ,

Trackback

http://www.rimmkaufman.com/rkgblog/2008/07/16/msn-api-v51-upgrade/trackback/

Blogs Citing This Post

  1. Pingback: SearchCap: The Day In Search, July 17, 2008 | PAGE PROPELLER NEWS on July 17, 2008
  2. Pingback: On Writing Effective Blog Post Titles on August 13, 2008

Email Updates

Categories

Recent Comments

  • George Michie: Doesn’t have to be, it can be intra-adgroup as well.
  • Josh: George – I take it you’re referencing a scenario where your exact-match keywords are not listed as negative exact match keywords...
  • George Michie: Melissa, you’re right, it’s always happened to varying degrees, particularly since the advent of extended broad match....
  • Mel66: I don’t think this is a bug. It’s been happening for years. It *is* impossible to manage, and I can’t help but wonder if...
  • George Michie: Thanks Matt, Sometimes humor serves a purpose.
  • George Michie: Ken, sadly, as Jim stated above, too few people look under the hood and raise Cain. We’re very fortunate to have great reps on...
  • Matt: This is great! I started out reading this with the same anger that I feel everyday I spend unnecessary amounts of time optimizing to get...
  • Ken Truman: Right on, George. This is yet another one of the vagaries of broad matching that continues to drive smart advertisers mad. Your post...
  • George Michie: Interesting idea, Mark. The question might be: would advertisers know someone’s Twitter handle? Most require an email, but I...
  • @markthijssen: What if you would ask a consumer about his experience with the product some days/weeks/months after the sale via twitter. This might...
  • George Michie: Thanks Kenny, Another particularly annoying variation on the theme involves flashing the brand ads around on general searches. The...
  • Kenny: I’ve seen this happen too – very annoying, especially when the broad match ad that is served is specific to a particular...
  • George Michie: Jim, I think you’re right on that last piece. To me, Google doesn’t have to see this as either/or, by simply offering...
  • Jim Novo: I’ve also written about this “smart client” problem, the idea that a lot of what Google “suggests” or does...
  • Kathleen Raines: In my letter I did put the wrong month. I said April it should have been May.

Blog Stats

  • Posts: 948
  • Words: 451,089
  • Comments: 2,862

Administration