RKG Logo

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

 

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

Share this post (via email, Digg, Delicious, etc)

Possibly Similar Posts

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

Your Comment

Tags

RKG: , , ,
Technorati: , , ,

Email Updates

Categories

Recent Comments

  • George Michie: Thanks for your comments Ophir, you raise excellent points. Particularly as Geo-targeting competition in different areas moves...
  • SEO Services: Nice Post. Thanks for sharing this information with us.
  • Ophir Cohen: The Problem with Positions in SEM The whole concept of positions (1 vs 3 vs 15) has a lot of meaning when the goal of a campaign is...
  • George Michie: Thanks for your thoughts, Jason. I like your metaphor of the millions of query "channels". Indeed it may be that poor converting...
  • George Michie: Thanks Christian, I think they simply present those aggregate figures to highlight the difficulty: the data is incredibly sparse,...
  • Jason Anderson: Interesting Post. Seems likely that the same forces that produce a mix of regional and national advertising on television will...
  • Christian Little: Hey George, Regarding the university study, I read it over and I don't understand all the math, but I don't think it could be...
  • Elaine: Alan, Thanks for the Great post. As Eric mentioned, I'd love to see more on year-over-year analysis when you have it.
  • George Michie: Jonathan, thanks for your comment. I look forward to reading your book! Some Direct Marketers worry that the Big Brand Advertisers...
  • Adsense: Yes your comments are spot on. I hate the possibility of fraud and hope I never get accused by accident. If someone hates you enough they...
  • Jonathan Salem Baskin: I absolutely agree with your post, and am continually fascinated (and somewhat befuddled) by marketers' willingness to...
  • George Michie: Dan, I hear you! Ultimately Google will choose the ad that generates the most revenue. That will depend largely on customer intent...
  • dan: I find geo-targeting an alarming trend. The power of the internet is that you can get information, products and services from around the...
  • Alan Rimm-Kaufman: Oliver -- yes, there's always a tradeoff between sales and profits. Picking that tradeoff is the most important strategic...
  • George: Good point, Christian, Yep, far be it from me to criticize the marketing plans of huge, profitable, growing firms. Ultimately there is "hit...

Blog Stats

  • Posts: 757
  • Words: 335,687
  • Comments: 1,326

Administration

Close
  • Social Web
  • E-mail
Powered by ShareThis