I've been doing a lot of thinking and writing (at work) about Web platforms and Web APIs recently. Just yesterday I was talking to some folks about Web APIs and an interesting question came up about the Google Web APIs. Basically we couldn't come up with good reasons for Google to have exposed them or for people to use them in their current form. I left the conversation wondering whether I just wasn't smart enough to see the brilliance of their strategy. Thanks to a post by Alex Bosworth's entitled Search Engine APIS it seems I may not be so dumb after all. He wrote

Recently, the Search engines have been trying to get into the mix, with new pushes to gain developer followers. Google recently launched a new subdomain emphasizing their committment to not being a technology black hole. Less recently, Yahoo launched their own developer site, in an attempt to build 3rd party value around their product.

However so far these 3rd party applications haven't found widespread appeal and had breakout success. This is in large part because of crippling artificial restrictions placed on Google/Yahoo/etc APIs.

It's not to say that applications made on platforms haven't been fairly cool ie: Yahoo News In Pictures, or clustering Yahoo search results.

But these will never progress beyond cool toys, and I'm not sure that Yahoo/Google/etc realize that. Talking to Google engineers, I was informed that Google thinks of their 3rd party API program as a complete failure and only a couple people have made anything vaguely useful from it. The reason why is they have no real committment to making these programs work. For example their terms and conditions are so draconian and laden with legalese there is no motive for developers to work with them.

This confirms some of the suspicions I had about their search engine API. Of course, this isn't to say I think providing programmatic access to search engine results is a bad idea. I just think Google's approach is very weird.

For example, I like the fact that I can get the results of a query on recent news items for terms such as "G-Unit Game beef" as an RSS feed from MSN Search.  Or that I can subscribe to the results of searching for my name on Feedster in my favorite RSS reader. As an end user I get a lot of use out of them and as a developer they are a cinch to work with.

There's a difference between cool apps and useful apps. The people at Google sometimes don't get the difference but the guys at Yahoo! definitely do. All you have to do is compare Yahoo! Maps to Google Maps to figure this out. Similarly I think the APIs provided by Google don't really enable people to actually build useful apps just cool little toys. MSN Search and Yahoo! seem to be on a better track because they enable more useful scenarios with their breadth of services exposed as APIs* as well as the fact that they provide these results as RSS.

What I've actually found surprising is that neither service puts sponsored search results in the results returned. I assume this is because we are still in the early days of search syndication but once it catches on and regular people are subscribing to search results so they can do things like build their own newspaper/dashboard then I'm sure we'll see the ads creep in.

* RSS is an API. Deal with it.


Categories: MSN | XML Web Services

Stephen O' Grady has a blog post entitled Gmail Fighting Off Greasemonkey? where he writes

I'm not sure of the reasoning behind it, but it appears that Google may have made some behind the scenes changes to Gmail that disrupted the scipts and extensions I rely on to get the most out of my account. One of the Apache devs noted here that his Greasemonkey enabled persistent searches were no longer functioning, and in the same timeframe I've lost my delete key. It's not just Greasemonkey scripts, however, as my Gmail Notifier extension for Firefox has apparently been disabled as well. While it's Google's perogative to make changes to the service as necessary for maintenance or other reasons, I'm hoping this is not a deliberate play at preventing would-be participants from enhancing the value of Google's service. It's remarkable how much less useful Gmail is to me when I have to log in to see if I have mail, or can't easily delete the many frivolous emails I receive each day (yes, I'm aware that I can use a POP client for this, but I'd rather not).
Update: As one reader and a few posters to the GM listserv have noted, one thing that's disrupted a variety of user scripts has been the fact that the domain to Gmail has changed from gmail.google.com to mail.google.com. While simply adding the domains into the GM interface had no effect on my Gmail, a reinstallation of a version of the script with updated domain returned my beloved Delete button. What do developers think of this change with Google's service? Here's one take from the GM list: "I noticed [the domain change] too. Why they can't just leave it alone, I can't understand." To be a bit less harsh, while Google probably had good reasons for making the change, it would have been great to see them be proactive and notify people of the change via their blog or some other mechanism.

I find this hilarious. Greasemonkey scripts work by effectively screen scrapping the website and inserting changes into the HTML. Stephen and others who are upset by Google's change are basically saying that Google should never change the HTML or URL structure of the website ever again because it breaks their scripts. Yeah, right.

Repeat after me, a web page is not an API or a platform.  

Speaking of apps breaking because of GMail domain changes it seems RSS Bandit users were also affected by the GMail domain name change. It looks like we have a problem with forwarding the username and password after being redirected from https://gmail.google.com/gmail/feed/atom to https://mail.google.com/gmail/feed/atom. I'll fix this bug in the next version but in the meantime RSS Bandit users should be able to work around this by changing the URL manually to the new one. My bad.


Categories: RSS Bandit | Technology

I've been really busy at work and haven't had free time left over to do significant work on RSS Bandit for the past few weeks. I should have some more free time starting this weekend and will begin to start making progress again. In the mean time there have been decisions made which are probably worth sharing.

Synchronization with Bloglines and Newsgator Online
I've mentioned in the past that I'd like the next version of RSS Bandit to be able to synchronize it state with a user's account in Newsgator Online or Bloglines. However I've also mentioned the various limitations of the Bloglines sync API which make it less than ideal as a way to synchronize the state of a desktop RSS reader with an online aggregator. On the flip side, I've had some discussions with folks at Newsgator which imply that I'll be able to get a full synchronization API from them by the time Nightcrawler ships.

My current decision is that I am dropping plans for supporting synchronizing RSS Bandit with Bloglines due to the limitations of its API which is guaranteed to leave users with a poor user experience. Instead the only new synchronization target added in the next release will be Newsgator Online.

Newsgroup support
One interesting problem that came up when integrating newsgroups into the RSS Bandit  user interface was what to use as permalinks for newsgroup posts. Thankfully, Google Groups comes to the rescue here. All newsgroup posts are given a permalink that maps the the Google Groups URL for that message ID. This works fine with public newsgroups that are archived by Google but leads to broken links for internal newsgroups. I think this is a decent trade off.

The screenshot below shows this feature in action

Subscription Wizard
Given that we now provide the ability to subscribe to both newsgroups and RSS/Atom feeds we've decided to revamp the feed subscription mechanism. We'll be adding an "Add Subscription" wizard which gives people the option of adding an RSS or Atom feed, a newsgroup, a web page (which we then scour for feeds) or a search term (which we map to an MSN Search or Feedster search results feed). My initial instinct with the last option was to just go with PubSub but it doesn't seem to have a straightforward mechanism for people to create search feeds programmatically. REST wins again.

Screenshot below 


Categories: RSS Bandit

June 22, 2005
@ 04:59 PM
One of the reasons I came to work at MSN is that I believe strongly in the power of software to connect people together. I recently found a post entitled Spaces Friends which shows exactly how strong these connections can become. The post is excerpted below

The Importance of Spaces

 One should never expect the good fortune that has come my way since I was first aware of the MSN Spaces wide beta release last fall.  I first started writing on December 4, 2004, as I recall on a Spaces blog with a different title and editorial theme.  My experience since has been both personally rewarding and life-expanding.

I published (posted) the first poetry I ever showed to anyone in this life here on Crackers.  I’ve made some attempts at humor in some entries.  I have written some serious stuff as well.  All of it is pretty strange coming from an old Electrical Engineer/Physicist/high-tech manager/pilot/geek.  But other guys I’ve known with similar histories have done even more bizarre stuff.

More important than publishing fledging writing has been some remarkable friendships that have developed by magic from initial contacts left in the comments to entries.  The first of these came in late December, 2004, and remains one of my strongest adult friendships, and there is every reason to believe that it is a life-long association even though we may never see each other face to face.  Geographical distance can be a real barrier at times, but one that is breaking down rapidly because of Internet-enabled communication.  Who knows?  We might meet in person someday down the road.  Along the way a few other friendships have developed which span great distances.  Each has been an asset to my life.
Now, as I find myself in a situation I simply can’t manage without help, my friends have made a selfless commitment getting me through the initial phases of my cancer treatment.

As my first Spaces friend said the other day, “Isn’t it interesting how God places people in our path at important points?”  It’s more than interesting, B.  It’s going to help save my life.  MSN Spaces has been of the utmost importance to me.  Maybe it will continue to be.

A number of us working on Spaces read Bill's blog and our thoughts definitely go out to him in this time of need. It is really humbling to see how the work we do is changing people's lives.


Categories: Social Software

From the press release MSN Continues Investments in Search With the Launch of Local Search we learn

Starting today, consumers in the United States will see a new Local category added to the MSN Search options on MSN.com. When consumers search for local information, they will receive results from city- and region-specific White Pages and Yellow Pages directory information. For example, a local search on “auto mechanics” could bring up listings of nearby mechanics, repair shops and towing companies.

Each local search result is shown as a numbered pin on a corresponding map provided through Microsoft® MapPoint® Web Service, and digital aerial images are supplied by TerraServer-USA when available for a given search result. The TerraServer-USA Web site is one of the world’s largest online databases, providing access to a vast data store of maps and aerial photographs of the United States. Originating at the Microsoft Bay Area Research Center, TerraServer is operated by Microsoft as a research project for developing advanced database technology.

The new MSN Local Search functionality is an evolution of the Near Me search feature that debuted on MSN Search in February of this year and allowed consumers to receive search results tailored to a geographic location. Those interested in trying the beta of the new offering should visit http://www.msn.com.

Kudos to the MapPoint/VirtualEarth and MSN Search folks for getting this out the door. My first test was trying a search for "pizza" in my area.  I decided to figure out how to specify my location with more accuracy. Come to think of it I'm not sure how it even figured out to look in Seattle. Anyway I followed the link from the phrase How do I change my location? and saw that I can specify my city, state and zip code in the settings page which is stored in a cookie.

There are two minuses here. The first is that I can't store my exact address. When I'm looking for a pizza place I want to find one that delivers in my area not just one in the same city as me. The second is that I can only store one location which is one better than Google Maps but quite poor when compared to Yahoo! Maps. It looks like I'll be sticking with Yahoo! for now. I will send the MSN Search folks some feedback about needing to add these features.

By the way, a more direct link to the service is http://search.msn.com/local.


Categories: MSN

Joe Wilcox has a post that has me scratching my head today. In his post Even More on New Office File Formats, he writes

Friday's eWeek story about Microsoft XML-based formats certainly raises some questions about how open they really are. Assuming reporter Pater Galli has his facts straight, Microsoft's formats license "is incompatible with the GNU General Public License and will thus prevent many free and open-source software projects from using the formats." Earlier this month, I raised different concerns about the new formats openness.

To reiterate a point I made a few weeks ago: Microsoft's new Office formats are not XML. The company may call them "Microsoft Office Open XML Fromats," but they are XML-based, which is nowhere the same as being XML or open, as has been widely misreported by many blogsites and news outlets.

There are two points I'd like to make here. The first is that "being GPL compatible" isn't a definition of 'open' that I've ever heard anyone make. It isn't even the definition of Open Source or Free Software (as in speech). Heck, even the GNU website has a long list of Open Source licenses that are incompatible with the GPL. You'll notice that this list includes the original BSD license, the Apache license, the Zope license, and the Mozilla public license. I doubt that EWeek will be writing articles about how Apache and Mozilla are not 'open' because they aren't GPL compatible.

Secondly, it's completely unclear to me what distinction Joe Wilcox is making between being XML and being XML-based. The Microsoft Office Open XML formats are XML formats. They are stored on the hard drive as compressed XML files using standard compression techniques that are widely available on most platforms. Compressing an XML file doesn't change the fact that it is XML. Reading his linked posts doesn't provide any insight into whether this is the distinction Joe Wilcox is making or whether there is another. Anyone have any ideas about this?



Categories: XML

I was chatting with Mike Vernal a few weeks ago about the various outcomes we've seen from writing a Bill Gates Thinkweek paper. We came up with the following taxonomy

  1. Increased Visibility for the Author: These are usually the papers of the form "Here's a Cool Idea from [my buddies and] me". The most common result for a ThinkWeek paper is for the author to get a virtual pat on the back from BillG and to get their name noticed by their management especially since some product groups have an internal review of these papers before sending them up the stack to the big man himself. 

  2. Increased Visibilty for a Product Group: These are usually the papers of the form "Here's a Cool Idea from [my product group]". Sometimes a product group wants to lay out its vision for their product or technology space to the big guy outside of the usual executive review + PowerPoint format and a ThinkWeek paper is good way to do that. A great example is the MapPoint team which submitted the "Virtual Earth" paper recently.

  3. The Fire Drill: These are usually of the form "Here's a Cool Opportunity that Microsoft is missing". The best example of this is the "Internet Tidal Wave" memo that Bill Gates sent in response to J Allard's thinkweek paper a decade ago. Many people who send in a ThinkWeek paper are expecting this reaction and in fact I've seen a few that actually have "send Internet Tidal wave-style memo" as one of the recommendations in their paper. Of course, the chances of such reactions to the average ThinkWeek paper are the same as getting a record deal from sending Dr. Dre a copy of your demo tape.

  4. Spreading a Meme: Sometimes the ideas in a paper are so powerul it seems that they take a life of their own as they spread from person to person. It is hard to point to any direct action being taken as a result of them but their influence is felt by many. This is my favorite outcome from a ThinkWeek paper.

A recent ThinkWeek paper entitled "10 Crazy Ideas to Shake Up Microsoft" is exactly the last kind of paper mentioned above. The MiniMicrosoft blog mentioned this paper a while ago in a post entitled Think Week, the WSJ, and those Ten Crazy Ideas. According to Mini the 10 Ideas were

  1. Schedule Unscheduled Time into Performance Reviews
  2. "Break Up" the Company
  3. Encourage Loose but Prominent Couplings
  4. Exile and Empower Incubation Projects
  5. Offer Super-exponential Rewards
  6. Offer Different Risk-Reward Compensation Profiles
  7. Cut Back on Bureaucracy
  8. Review Cost Cutting
  9. Reduce Headcount on Large Dev Projects
  10. Eliminate Exec Reviews

Why I like the list [and why I assume it's been so popular at work] is that it succintly summarizes the major problems facing folks trying to get stuff done at Microsoft today AND proposes solutions. I suspect these problems exist in every large corporation and are not limited to Microsoft or even software companies.

If you work at Microsoft and you haven't read the paper, you really should. If you work at a medium sized to large corporation and you are a decision maker you should staple that list to a bulletin board in your office and ruminate on its points. 



Categories: Life in the B0rg Cube

June 20, 2005
@ 02:35 PM

I saw Batman Begins this weekend and I'm still trying to decide whether it is the best Batman movie of all time or not. Although there is no villain who gives a performance as commanding as Jack Nicholson's in 1989 Batman movie, Christian Bale is a better Batman than Michael Keaton and Michael Caine plays Alfred better than I imagined possible. Morgan Freeman is also great as Lucius Fox.

The movie is over 2 hours long which is to be expected given that it spends the first 45 minutes or more on the back story leading up to Bruce Wayne deciding to become the Batman. Though the movie is a bit long it makes up for this by hitting all the right notes when it comes to exploring the Batman mythos. My favorite themes from the comic are there from the night and day difference between Bruce Wayne's playboy lifestyle and Batman's ongoing war on crime to Jim Gordon questioning whether the existence of Batman encourages the existence of the more "theatrical" criminals (e.g. Joker, Two Face and the Riddle).

I definitely can't wait to see the next movie in the series.

Score: **** out of *****


Categories: Movie Review

In today's issue of the Wall Street Journal, Walt Mossberg reviews a number of blog hosting services in the article Taking the Mystery Out of Blog Creation. The article describes the experiences of Walt and his assistant Katie in building their test blogs including  http://spaces.msn.com/members/wmossberg and http://kaboehret.blogspot.com/. He writes

This past week, my assistant Katie Boehret and I tested three of these free blog-creation services to see what they offer. We tried the popular Google-owned service, Blogger.com, as well as Microsoft's new MSN Spaces service, each of which is estimated to host millions of blogs. We also tested Yahoo's Yahoo 360 service, which still is in its test phase. We quickly learned how simple it is to set up a blog, and how addictive they can become.

While using these three sites, we paid careful attention to how each blog-creating service handled four basic tasks: publishing text entries, or "posting" as it is called in blog land; adding photos; publishing links to other Web pages on our blogs; and providing privacy (if desired) online. We also took note of the overall style and formatting options provided on each site.

Our verdict: Microsoft's MSN Spaces did the best job of performing these tasks in a way that was organized and self-explanatory. Yahoo 360 was almost as easy, but it tries to tie in the use of too many other Yahoo services. Blogger.com has a long way to go until it becomes as easy to use as the others.

It's great to see the validation by both our users and reviewers like Walt Mossberg of the design choices we've made in attempting to bring blogging to a more widespread audience.

I'd like to thank all the folks who've been giving us great feedback; reviewers like Walt, various folks who leave comments in my space or Mike's or Scott's, the people who've added stuff to the MSN Spaces wiki, and the good people at work who send mail to the various Spaces mailing lists. You're feedback makes us better. Thanks.


Categories: MSN

A few months ago, Omar Shahine wrote about how various folks in our org came together to get the MSN Mobile Messaging feature to work. This feature allows people to have IM conversations with people using a cell phone via SMS using MSN Messenger. In his post When the work you do is architectural (MSN Mobile Messaging) he talks about the feature and how it was implemented on our various back ends. Some of his post is excerpted below  

So what to do? Enter MSN Messenger to SMS communications (we call this Enhanced mobile messaging). The feature we've been working on for the past year (or longer) was to allow a user of MSN Messenger on a PC to send a message to some one that is not signed into MSN Messenger but has an SMS enabled Mobile device AND to reply to that SMS message and have a real time chat (in otherwords, a two way conversation between MSN Messenger and Mobile phone using SMS as the wire protocol). This last part is important, but to understand it I need to explain one more thing.

For the past few years part of the scenario above has been available through what I will call a hack. Most phones that have SMS also have an email gateway that can take a message sent to a special email address and forward that message to the phone. For example, an email sent to <phone number>@mmode.com will forward that message via SMS to the <phone number> of an ATT Wireless subscriber. However, the user cannot reply to that email enabling a 2 way chat. Furthermore, it breaks the SMS user experience that mobile phone users are used to.

So, to fix this we set out to build all the necessary carrier infrastructure, SMS infrastructure, and build the technology and carrier relationships to ship the ability for users to have a two way conversation from MSN Messenger to a Mobile device that has nothing more than SMS capabilities (practically every singe phone on the planet). Not only that, but we support "Offline messages" so that if a Mobile phone device replies to an SMS from Messenger, and you have signed out of MSN Messenger, the next time you sign in the message will be delivered to you allowing you to continue the conversation.

I was reminded of this today because of his follow up post MSN Mobile Messaging for Cingular, which let me know that my girlfriend's cell phone carrier is now supported. Sweet.

Omar's original post has some interesting details on some of the issues they faced in bringing this feature to the market. This is an awesome feature and I'm definitely going to get a lot of use out of it.


Categories: MSN