- Home
- Rkgblog
- Search Engines From The Engineering Perspective: Notes on MSN’s migration from API v4 to v 5.1
| Title: | Search Engines From The Engineering Perspective: Notes on MSN’s migration from API v4 to v 5.1 |
| URL: | http://www.rimmkaufman.com/rkgblog/2008/07/16/msn-api-v51-upgrade/ |
| Printed: | July 4, 2009 |
| Source: | The Rimm-Kaufman Group Blog, info@rimmkaufman.com |
- July 16, 2008
- 2 comments
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)
readonly “Type” field is set by derived class type creating ads as Ad xml tag with xml attribute of TextAd, but eliminate Type field during soap operations, as it is readonly… 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?

If you like this post, consider subscribing to our RSS feed. You can also have new posts sent to you via email.
Related Posts
- Search Engines Killing The Clever Headline, Journalist Laments Steve Lohr laments the loss of clever newspaper headlines due to the growing importance of scoring high on the search engines....
- Engineering Triumphant: Google’s Building 43 Interesting Google article in today's NYT. Engineering and marketing are inherently human endeavors, best approached using a "messy" Minsky-esque society of solutions....
- Experiencing AdSense From The Advertiser Perspective Wanting to learn more about Google Content from the publishing side, last week we placed ads on a single page of this blog. Here are...
- On Perspective I've been thinking recently about how one's perspective influences what one sees....
Trackback
http://www.rimmkaufman.com/rkgblog/2008/07/16/msn-api-v51-upgrade/trackback/Blogs Citing This Post
- Pingback: SearchCap: The Day In Search, July 17, 2008 | PAGE PROPELLER NEWS on July 17, 2008
- Pingback: On Writing Effective Blog Post Titles on August 13, 2008


Your Comment