I was just reading the blog post entitled $40,000 Is a Lot of Dollars on the Windows Live Messenger team's blog and saw that we've announced the Invasion of the Robots contest. From the website

Microsoft is challenging developers worldwide to create conversational robots, or BOTs, for MSN® Messenger and Windows Live™ Messenger. The most original, useful robots collect $40,000 in total prizes.

Too bad, I'm not eligible to enter the contest. $40,000 sounds like a nice chunk of change for a summer's worth of coding.


Categories: Windows Live

May 31, 2006
@ 02:30 PM

2006 looks like another good year for superhero movies. I just saw X-Men: The Last Stand and I'm looking forward to Superman Returns and My Super Ex-Girlfriend. I love the annual summer movie season and this year has been pretty decent so far for movies.  Below is a brief list of movies I've seen this year with a mini-review and a rating.

  • Thank You For Smoking (***** out of *****): Excellent satire. Hilarious because you know it is true. The only dark spot was Katie Holmes who just seems unbelievable in any role outside of Dawson's Creek. She ruined Batman Begins for me as well.

  • Mission: Impossible 3 (**** out of *****): An action packed adrenaline rush. Definitely the best movie in the series.

  • Ice Age: The Meltdown (**** out of *****): As funny as the original. I like how the movie was about global warning but they managed to not include any lectures on the topic in the movie.

  • RV (**** out of *****): Funny, if you liked Chevy Chase's vacation movies from years past. I did.

  •  X-Men: The Last Stand (*** out of *****): Not as action packed as the second movie in the series. Having two main plotlines(Jean Grey's Phoenix Saga and a cure for mutants) instead of a single theme didn't help. They definitely tried to go out with a bang but in the final seconds of the movie you could tell that they left the door open for more sequels even if this is the "Last Stand". Lame.
  • The Brothers Grimm (** out of *****): This movie was ridiculously bad, I'm stunned Matt Damon agreed to be in this crap. I didn't bother to finish it.

  • Elizabethtown (** out of *****): Besides the fact that there seemed to be little on-screen chemistry between Kirsten Dunst and Orlando Bloom, this movie was trying too hard to tug at our heart strings. Go watch The Family Stone instead.

  • Date Movie (* out of *****): Rule #1 of parody moies, don't make a parody that is less funny than the original.

What movies have you seen this year that are worth seeing and what would you advise that I avoid given my ratings above?


Categories: Movie Review | Personal

Torsten and I have started working on RSS Bandit regularly again. Last weekend I fixed a bunch of bugs including the problem that prevented IE 7 from importing OPML files from RSS Bandit. I've gotten a few emails from folks at work about that particular issue so I thought it would be good to knock that issue out early. This morning, I checked-in support for the Atom Thread Extensions which means I can now see comment counts and view comments inline on Sam Ruby's blog.

One change we're planning to make is to switch to using a full-fledged text search engine to power the search feature of RSS Bandit. Currently, we load all the text in memory and use the .NET Framework's string comparison operators to find the target text. We want to move to a model where files on disk are indexed in the background and we don't have to have stuff in memory to search it. This should significantly improve the memory consumed by RSS Bandit.

We've investigated a couple of options for our search solution. My first thought was integrating with MSN Windows Desktop Search. After exchanging some mail with various members of the team, I decided that this wouldn't meet our needs for a number of reasons

  • Users will need to have Windows Desktop Search installed so we either need to figure out how to bundle it with RSS Bandit or disable the feature if it is not installed.
  • The indexing service is file-centric. However we need to index individual RSS/Atom items within the cached RSS/Atom feeds on disk. This means we'll have to change our model to storing one file per RSS/Atom item which could lead hundreds to thousands of files per feed.
  • The biggest gotcha was that making the indexer understand the structure of RSS/Atom feeds requires writing a custom IFilter which involves gnarly C++ coding then dealing with hairy COM<->.NET interop issues. Not exactly the kind of work one wants to do in their free time.

After further investigation we've settled on Lucene.NET which doesn't have any of the aforementioned problems. However we have been dealing with some issues that could either be bugs or just a misunderstanding of how the APIs should be used. We'll keep you posted. 


Categories: RSS Bandit

In his blog post entitled Announcing Windows Live Gadget SDK James Lau writes

I am very excited to bring you the first public release of the Windows Live Gadget SDK today! You can start using this SDK right now to build Gadgets that run on Live.com...But as many features as we are adding to Live.com, the site is still very much a Gadget platform for you developers out there to build on. We rely on you to build rich and interesting Live Gadgets that we haven't thought of, and to build a strong ecosystem around this platform. Live.com is still in Beta today, but it promises to be one of the most popular Internet destinations when we launch later this year. You can leverage on the high traffic site to extend services beyond your web site by building Gadgets that live on Live.com.

Although we are releasing the SDK today, the Gadget platform and APIs are still changing. And we want to listen to your ideas and feedback to help us build a better platform. Some of the things that we know we need to work on are:

  1. Unified Gadget model - we want to enable developers to write a Gadget once and have it run on both Vista Sidebar and on the web, maybe even in other environments.
  2. Allow 3rd party gadgets to change header and footer - today, all 3rd party Gadgets are hosted within and iframe and do not have access to the title, title icon and footer.
  3. Make calling web services easier - this is self-explanatory.
  4. Better Settings model - there is no standard way to do settings today for 3rd party Gadgets. We would like to move to a more declarative model.
  5. Better Localization model - we provide API for you to find out the query the current locale but we don't provide much other support otherwise. This is not a big problem for most Gadgets, but it would be nice for more advanced Gadgets.
I can probably think of 5 or 6 others, but I'd rather have you tell me what you think are the important things you want to see.

I've been waiting for the Gadgets SDK to ship for a while so I could rewrite my MSN Spaces Photo Album gadget and turn it into an article. Expect to see an article about this from me before the end of next month. Kudos to James, Scott Isaacs and the rest of the gadgets gang for getting this out. 


Categories: Windows Live

If you are a developer interested in building applications or mashups with Windows Live APIs then you should keep an eye on http://dev.live.com. This will be a complimentary site to the Windows Live developer center on MSDN. The site hasn't launched yet but we already have some content on there such as the Virtual Earth interactive SDK. Expect more details to seep out the closer we get to TechEd 2006. In the meantime, you can keep an eye on Ken Levy's blog to get the skinny.

Having a developer center on MSDN and a separate community-centric site hosted on live.com is something I proposed a couple of months ago. This model has seemed to work for http://msdn.microsoft.com/aspnet and http://www.asp.net where the former site is where official documentation and downloads live while the latter is where you find screencasts, forums and other more interactive content. I expect there will be a bunch of crosslinking between http://dev.live.com and http://msdn.microsoft.com/live once both sites get rolling along.

PS: It's kinda crazy seeing how many recommendations from my thinkweek paper are actually being implemented. I definitely will be writing another one this fall.


Categories: Windows Live

From the press release MSN Spaces Now Largest Blogging Service Worldwide we learn

REDMOND, Wash. — May 24, 2006 — MSN® Spaces is the most widely used blogging service worldwide with more than 100 million unique visitors, according to data released today by comScore Networks Inc. of Reston, Va., an independent Internet audience measurement and consulting company.

comScore World Metrix’s proprietary audience report for April 2006 showed the total number of unique visitors to MSN Spaces has more than doubled in the past 12 months, from 41.65 million to 101 million.* Figures compiled by comScore Media Metrix indicate that during April 2006, nearly one in seven Internet users worldwide had visited MSN Spaces.

MSN Spaces allows consumers to create personal Internet sites where they can express themselves in a variety of ways and interact with the important people in their life. The service provides people with a place to create and update a Web log, or blog, as well as share photos, music playlists and more. For example, more than 6 million photos are uploaded to the service each day, with more than 2.5 billion photos uploaded since MSN Spaces launched as a beta service in December 2004.

It's quite cool realize that I've been working on the MSN Windows Live communications services platform team for about a year and a half building the world's most popular blogging service and supporting the worlds most popular instant messaging client to boot. I guess since we haven't rolled out the social networking features of MSN Spaces across the entire site, we can't be called the world's most popular social networking service. Yet.

Thanks to all our users who keep using our services and giving us great feedback. You rock. We have lots of good stuff planned for y'all in the coming months.


Categories: Windows Live

Greg Linden has a blog post entitled Early Amazon: Shopping Cart Recommendations where he writes

I loved the idea of making recommendations based on the items in your Amazon shopping cart. Add a couple things, see what pops up. Add a couple more, see what changes. The idea of recommending items at checkout is nothing new. Grocery stories put candy and other impulse buys in the checkout lanes. Hardware stores put small tools and gadgets near the register. But here we had an opportunity to personalize impulse buys. It is as if the rack near the checkout lane peered into your grocery cart and magically rearranged the candy based on what you are buying.
I hacked up a prototype. On a test site, I modified the Amazon.com shopping cart page to recommend other items you might enjoy adding to your cart. Looked pretty good to me. I started showing it around. While the reaction was positive, there was some concern. In particular, a marketing senior vice-president was dead set against it. His main objection was that it might distract people away from checking out -- it is true that it is much easier and more common to see customers abandon their cart at the register in online retail -- and he rallied others to his cause.

At this point, I was told I was forbidden to work on this any further. I was told Amazon was not ready to launch this feature. It should have stopped there. Instead, I prepared the feature for an online test. I believed in shopping cart recommendations. I wanted to measure the sales impact.

I heard the SVP was angry when he discovered I was pushing out a test. But, even for top executives, it was hard to block a test. Measurement is good. The only good argument against testing would be that the negative impact might be so severe that Amazon couldn't afford it, a difficult claim to make. The test rolled out
The results were clear. Not only did it win, but the feature won by such a wide margin that not having it live was costing Amazon a noticeable chunk of change. With new urgency, shopping cart recommendations launched.

On the O'Reilly Radar site, Marc Hedlund points to this post as an example company leadership that encourages employees to not only come up with innovations but go head-to-head with management to get them out to customers.

It's interesting how different people look at the same story. When I originally read the story, what jumped out to me was that Amazon must have a great A/B testing framework which allows them to measure such tweaks to the user experience of their site so accurately. Coincidentally, I just had lunch with one of the folks at work who is building a generic A/B testing framework for Windows Live, MSN and third party developers; the Microsoft Experimentation Platform.

I wonder how many web companies have the infrastructure to test and measure the kind of change Greg prototyped at Amazon on their website today? Probably not a lot. We should fix that.


From the Microsoft press release Microsoft Introduces New Version of Windows Live Local we learn

REDMOND, Wash. — May 23, 2006 — Microsoft Corp. today announced the third release of Windows Live™ Local, the company’s online local search and mapping service that gives people the ability to quickly find maps, directions and local search information that is layered on top of rich, immersive aerial photography.
New Sharing Capabilities

The following new capabilities in the online service enable the seamless sharing of localized knowledge:

Real-time traffic flow. Customizable driving directions are now even more useful with the addition of real-time traffic flow and incident reporting provided by Traffic.com. This functionality will be available only in the U.S. release.

Collections. Social networking functionality allows customers to create lists of favorite landmarks and locations, attach personal photos and save them to a Scratchpad. Collections can be saved, recalled later, “permalinked,” and shared with friends and community in e-mail or through their MSN® Spaces blog.

Integration with Windows Live Messenger. Sharing maps and location information from within Windows Live Messenger chats is easier. Users begin a sharing session from the Actions menu. People sharing a chat session can see and interact with the same Windows Live Local map and benefit from a shared mapping and local search experience.

Integration With Microsoft Office Outlook

Also being released today is Windows Live Local Add-in for Microsoft Office Outlook. This add-in introduces Windows Live Local mapping capabilities to the Outlook Calendar, enabling Outlook users to find and print maps and directions to meeting locations from within Outlook...This add-in is available for users of Outlook running on Windows® XP and Outlook 2003 and can be downloaded free of charge from http://outlook.local.live.com.

New Tools for Businesses and Developers

Virtual Earth map control was also released today, enabling developers to bring the same great mapping, imagery and local search capabilities into their business applications and "mashups" (Web applications that seamlessly combine content from more than one source). Virtual Earth map control is available to all developers free of charge for limited use and can be licensed for commercial service and support along with the rest of the Virtual Earth platform components. Windows Live Local is built on the Virtual Earth platform, and includes Virtual Earth map control. Key new features include support for address lookups and driving directions, improved local search functionality, and the ability to easily display standard data sets and Windows Live Local user Collections.

Expansion of Windows Live Local Into and the U.K.

Following last year’s launch of Windows Live Local in the U.S., its arrival, along with that of the MSN Virtual Earth platform, in the U.K. and Canada is evidence of Microsoft’s ongoing commitment to provide this set of services in new markets and regions. Customers in these countries will experience similar high-quality local search and driving directions capabilities currently available in the U.S. Features such as bird's-eye-view imagery, improved aerial views and real-time traffic will be included in future releases and updates. Bird’s-eye-view imagery, also known as oblique imagery, is an image from an angled view taken from a range of 3,000 to 3,500 feet. The perspective offers the customer a unique view of a given area at superior resolution.

The Virtual Earth folks just keep cranking out releases at a great pace. The traffic flow information is something I've been dying to get so that I don't have to get directions from Windows Live Local and then have to go to the Seattle Area Trafic page to see what traffic looks like. Adding the bird's eye imagery to countries besides the U.K. is pretty cool too. I wonder if I'll ever get bird's eye imagery of Lagos.

On a side note, our team worked on the user collections feature with the VE folks. The cool thing about being a platform team is that we are like sand on the beach we get in everything. ;)


Categories: Windows Live

May 24, 2006
@ 01:27 AM

As someone who was raised in the third world, I can't help but shake my head at articles like Study: Obesity rises faster in poor teens which begins

Older American teenagers living in poverty have grown fatter at a higher rate than their peers, according to research that seems to underscore the unequal burden of obesity on the nation's poor.

"Today the percentage of adolescents age 15-17 who are overweight is about 50 percent higher in poor as compared to non-poor families, a difference that has emerged recently," said Johns Hopkins' sociologist Richard Miech, the study's lead author.

Being poor and being overweight seems like an oxymoron to me. Or at least it was when I was growing up. You gotta love America, where the poor are overweight and people go hunting on a full stomach. :)

I've been reading some interesting conspiracy theories about why some recent Microsoft product launches have missed the boat on targetting features of interest to tech geeks.

In his post Microsoft's lack of action will slow Podcasting Growth Todd Cochrane writes

Well it is pretty obvious that Microsoft did not get Podcasting support built into Windows Media Player 11 and all I can say is that they obviously blew it. I have been debating what to say for a few days. My summation is not fit to print, what I really don't understand is how they could have been so stupid.

They had a opportunity with Windows Media Player 11 to get in the game, I can guarantee that their inaction will slow the growth of podcasting in a big way. But it makes sense Podcasting does not make them any money, if I were a betting man I bet MTV had something to say in the process and likely killed any podcasting integration as it would have made the URGE network a lesser value.

In his post How Internet Explorer Stifles Microsoft Devanshu Mehta writes

Microsoft has chosen the growth of IE over every other division in the company for 10 years now. Windows versions from 95 onwards have suffered enough. Now, the company’s IE-centric view of its business is hurting younger divisions of the company that have a chance of becoming a major force as the company looks to take on Google...It all began when MSN announced their AdCenterGoogle AdWords- sells text-based, contextual, per-click advertising for MSN properties on the internet. Curious, I went to sign up for an account...I was more curious in Microsoft’s method, their design and approach as compared to my experience with AdSense. So I went to the MSN adCenter site and clicked to sign up. service which – similar to

Lo and behold:

Microsoft adCenter does not currently support the web browser you are using. Please sign in using Internet Explorer 6+. More about system requirements
Oh great! Another MS web site that does not work with Firefox. So I click on the phrase system requirements to find out what I would need. Would a Mac user like me have any recourse? Or did MS not want my business? It only got worse. The System requirements link did not work either! Not only could they not design a web site for my browser, they couldn’t even manage to create a link to their requirements page that I could click on!

Unlike Devanshu and Todd, I don't think there are sinister conspiracy theories for why two Microsoft products were released and ignored features of interest to the geek demographic. In every product release, you have a limited amount of resources and time in which to apply those resources to your next version. This means that you tend to focus on features that will provide the most bang for the buck and may ignore features that have limited appeal such as supporting a browser which is used by 8% of the market or a media subscription model is only used by 1% of internet users. I don't always agree with the practice of deciding on features based on market penetration statistics but I can understand when product teams make such decisions. I suspect that is more likely the cause of these omissions than some nefarious collusion between MTV and the Windows Media team or some plot to ensure IE's market dominance by having Windows Live services require only that browser.

Disclaimer: The post above is my own personal opinion and does not reflect the opinions, intentions or strategies of my employer or the Microsoft product teams referenced.


Categories: Life in the B0rg Cube

I took a shower on campus this morning because I got stuck in traffic and didn't have enough time to do my work out. Usually I'd still go to the gym just to take a shower but thanks to the recent changes I could just come into work and use the showers in my building. There were a bunch of folks in the locker room and the conversation dwelled on the return of the towels for most of the time I was there. I couldn't help but remember one of my old blog posts entitled On Cost Cutting: Penny Wise, Pound Foolish where I wrote

Recently I found out that we no longer had office supplies on the floor of the building I work in. Now if you need to grab a pen or get a marker after your last one runs out in the middle of a meeting you need to go upstairs. Folks have given me the impression that this is due to the recent cost cutting drive across the company. At first, I couldn't figure out why disrupting people by making them go to another floor for office supplies would cut costs.

Then it hit me. When faced with having to go to another floor to find office supplies the average geek desk jockey will probably say "forget it" and do without. The immediate saving is less office supplies used. But I suspect this is only phase one of the plan. Most people at MSFT believe that on average 50% - 75% of projects and features an employee works on in his career in the b0rg cube never ship. This is all just wasted cash. The best way to nip this is in the bud by preventing people from being able to write down their ideas or whiteboard different ideas with coworkers thus spreading the meme about new projects or features. The amount of money saved by not investing in new money losing ventures like *** and **** would be immense. It all makes a weird kind of sense now.

Of course, the post is tongue-in-check. However a later post where I pointed out that moving office supplies to 'cut costs' was an example used in The Dilbert Principle in a section entitled Companies That Turn On Themselves was not. It sucks when you realize your day job is ripped from the pages of Dilbert. The towel issue was another example of how company can turn on itself. A comment on TDavid's blog by Eric captures the sentiment of many fellow b0rg drones when he writes

Here’s the point on the towels:

1) Health care costs are a huge - and rising - expense for Microsoft. People who are using the towels are exercising - some of them pretty heavily - and are therefore likely to save MS a significant amount of money.
2) There is a serious parking shortage at MS. Some of the people who use the towels are commuting by bicycle, and therefore aren’t taking up a parking space - which has a specific cost per year that you can figure out.

It’s in Microsoft’s best interest to encourage both of those behaviors, and in fact, they have programs specifically designed to encourage such behaviors. But they made a decision that actively discouraged people from these behaviors, for a very measly cost savings.

It’s not that people felt that they *deserved* free towels. It’s that by taking away the towels, management was demonstrating that they weren’t paying attention, because doing so was so clearly against the programs already in place, and clearly not in the company’s self-interest.

I care whether my company has internal coherence in its decisions, and I think that customers and stockholders should also care.

The towel thing was penny wise yet pound foolish. I'm glad that there are two less Dilbert-esque things about my day job. The perks like better cafeteria food and the like are actually less interesting to me than just getting rid of counterproductive practices like The Curve, playing hide & seek with office supplies or removing complimentary towels from on-campus showers.

PS: While looking for the link above, I found one of my old blog posts entitled Post Mortems, Reorganizations and the Dilbert Principle which makes me realize that my blog used to be a lot better two years ago. :)

PPS: For the various folks in the B0rg cube who talk about how much better things are at places like Google, this thread may be of interest to you. The grass is always greener on the other side of the fence.


Categories: Life in the B0rg Cube

In his post Missed big HR meeting (MyMicrosoft is now improved) Robert Scoble mentions that he missed yesterday's town hall meeting at work where a bunch of employee benefits/compensation changes were announced. I missed the meeting as well because I took a friend on the Ride the Ducks of Seattle tour. I haven't been to work yet so I haven't read what the changes are but bits and pieces have come out in blog posts and news articles. Todd Bishop excerpts some of the highlights in his blog post Microsoft rethinks employee reviews ... and towels such as

  • "To reset our approach, beginning with this review period we are retiring the 2.5-5.0 rating scale and introducing a three point Commitment Rating scale of Exceeded, Achieved and Underperformed. ... There will be no forced distribution (i.e. curve) associated with this commitment rating, which allows managers and employees to have a more candid discussion about performance."
  • "We are increasing our investment in our annual review stock award program. This incremental investment is focused on providing meaningful stock awards to our top talent. 'Top talent' refers to employees who are strong performers, achieve results in the right way and are expected to make the greatest future contributions."
  • "We're planning to provide on-campus access to a variety of services, including laundry and dry cleaning, grocery delivery from Safeway and opening convenience stores -- all of which are designed to ease the burden given the hectic pace of life. We will expand and upgrade dining services adding great new retail food in select cafes, dinners to go from Wolfgang Puck and other services. We are also arranging discounts on a variety of home services including house keeping, yard care, pet care, auto services and more.

Getting rid of the curve is great news. Having a quota of how many people get good or bad scores during annual reviews has been a recipe for bad morale for as long as I've seen it practiced at Microsoft. Bringing back a bunch of the stupid cost cuts like the towel service [free towels in the on-campus showers for people who bike to work] is just common sense. The amount of money it saved couldn't have counterbalanced the amount of bad will it generated. Better food in the cafeteria is cool, auto services is also interesting since I my car always seems to need washing and I never seem to have time to do it. I gotta say kudos to Lisa Brummel on doing something to make the employees lives better.

I was surprised to see negative comments from people who aren't Microsoft employees such as TDavid's post For employees Microsoft throws in the towels where he writes

In a move which is bound to be seen as placation and a serious case of Googleplex envy — by those who aren’t employees anyway — Microsoft has restored the employee towel service that was axed for “cost cutting measures.”...

Towels a “symbol of poor leadership?” Who da Punk’s real name must be Who da Kidding. If Microsoft plays lemming to anon cowards like this then the decline of their stock is far from over. I’m sure shareholders will be pleased that they restored towel service and put better food on the menu, thus restoring employee morale — until the stock drops even further.

Outsider customers like me have to wonder what’s next in the long list of employee perks for these major corporations? Why stop at the marginally sane perks? How about insane ones like escort services? If only Microsoft and Google were in Nevada, they could cut deals with the local brothels I’m sure. Heck, maybe escorts.live.com could be a promising vertical niche. The search for skin and sin is on.

I don't think the perks are worthy of such vitriol. First of all, a lot of the Googleplex-style perks are designed to keep people at work instead of having them leave early to manage their personal lives (e.g. getting the car washed, getting home early to walk the dog, etc) or leave campus for meals by having better food in the cafeteria. Secondly, it is common knowledge that Microsoft doesn't pay that great. I've heard that our pay scale is in the 65th percentile meaning that for every 10 companies out there, 3 to 4 of them would pay the average Microsoft employee more for doing the same job. In a climate where Google recruiters are spamming every half-decent employee at Microsoft and recruiter cold calls are not unheard off, the company needs to step up its game if it plans to retain its talent in an increasingly competitive software landscape. 

Taking care of your employees is just good business.


Categories: Life in the B0rg Cube

Mary Jo Foley has an article on the Microsoft-Watch site entitled Worst Microsoft Product Name Ever where she writes

As Microsoft watchers inside and outside the company have noted, Microsoft is not terribly astute when it comes to naming its products. But on Wednesday, the branding department hit a new low, in terms of bad naming choices. Microsoft has decided to christen the new Windows desktop search application (that can search your desktop/Intranet and Internet), due to go beta later this year, as "Windows Live Search." But there already is a Windows Live Search – the Internet search service that is currently in beta. Are the two products the same? No, the Softies said. Are they related? Nope. We've decided we're going to try using Windows Live Search A (for the desktop app version) and Windows Live Search S for the MSN service. And we thought the SharePoint branding was confusing!

This sounds pretty amazing. Microsoft has created two unrelated products that are both called Windows Live Search. Wow. It's like we are determined to cause the Windows Live brand to turn to crap before any of the services even get out of beta. I guess the folks who were behind the .NET branding fiasco are still alive and well in the B0rg cube.

Update: I should clarify that this is likely just poor storytelling on our part as opposed to actual different products being named the same thing. If you read the press release Microsoft Enterprise Search Solutions Help Enable Effective Information Management you'll see the excerpt

To that end, the company will deliver a solution called Windows Live Search, which offers a single user interface (UI) to help people find and use all the information they care about from across the entire enterprise and beyond. It essentially binds together previously separate search solutions including Windows Desktop Search, Intranet search provided by Microsoft Office SharePoint Server 2007 and Internet search via Windows Live Search, among others. Any information available to any of these systems can be exposed in one place, instantly showing relevant and actionable search results from all its enterprise data sources, from the desktop and from the Web
To illustrate, a sales representative trying to find information about a customer she plans to visit could gather the needed data by accessing Office SharePoint Server 2007, initiating a search and pulling business data from a Siebel application in addition to gathering data off her desktop using Windows Desktop Search. However, the same search could be performed from within Windows Live Search to produce all of the relevant desktop, e-mail, intranet and Internet results. Furthermore, when the sales representative clicks through the results, she will see they are actually displayed from that same window. Windows Live Search displays full results without navigating away or opening additional applications.

The press release makes it hard to tell whether this is new functionality of http://search.live.com being announced or a duplicate product which is branded with the same name. If reporters are getting confused about our messaging then there is definitely something broken that we need to fix.


Categories: Windows Live

I just saw the following post on in the RSS Bandit forums entitled Dead? where one of our users asks

Haven't seen a news update in a long time, no releases for about 5 months... is rss bandit dead? It's a nice aggregator, but there are some neat features popping up in stuff like Rss Owl / other feed readers, so I'm debating changing readers...

...but if there's going to be active improvements in the future, there's no reason for me to learn an entirely new program just to come back to rss bandit in the end. ;)

What say you, Code Writers?

This has been bothering me as well. Torsten and I have been busy with our respective day jobs. Over the past few of months, I keep telling myself I'll start work on RSS Bandit "next week" but the following week always seems busier than the last. It hasn't helped that I've had conferences, vacations or out of town visitors every other month this year. I think I have the worst of the disruptions in my schedule done for this year. In addition, the project which has been consuming the lion's share of my time at work also looks like it will soon be able to go on auto-pilot.

Although I can't give an exact date for our next release, what I can say for sure is that we will have an RSS Bandit release this summer. What I would like from our users is some feedback on the RSS Bandit road map. I don't think I'm particularly attached to the features we currently have on tap for the Jubilee release. The major reworkings I'd like to do for the next release are fixing our excessive memory consumption, improving the integration with NewsGator Online, and rewriting our multithreaded code in a way that fixes the pernicious feed mix up issue. As for new features, the ones I want primarily revolve around enclosures/podcasts and conversation tracking similar to TechMeme, Megite and TailRank.

I believe Torsten also plans to revamp our UI. What else would you like to see us do in the next release?


Categories: RSS Bandit

If you're a regular reader of Don Box's weblog then you probably know that Microsoft has made available another Community Technical Preview (CTP) of Language Integrated Query (LINQ) aka C# 3.0. I think the notion of integrating data access and query languages into programming languages is the next natural evolution in programming language design. A large number of developers write code that performs queries over rich data structures of some sort whether they are relational databases, XML files or just plain old objects in memory. In all three cases, the code tends to be verbose and more cumbersome than it needs to be. The goal of the LINQ project is to try to simplify and unify data access in programming languages built on the .NET Framework. 

When I used to work on the XML team, we also used to salivate about the power that developers would get if they could get rich query over their data stores in a consistent manner. I was the PM for the IXPathNavigable interface and the related XPathNavigator class which we hoped people would implement over their custom stores to enable them to use XPath to query them. Some developers did do exactly that such as Steve Saxon with the ObjectXPathNavigator which allows you to use XPath to query a graph of in-memory objects. The main problem with this approach is that implementing IXPathNavigable for custom data stores is non-trivial especially given the impedence mismatch between XML and other data models. In fact, I've been wanting to do something like this in RSS Bandit for a while but the complexity of implementing my own custom XPathNavigator class over our internal data structures is something I've balked at doing.

According to Matt Warren's blog post Oops, we did it again it looks like the LINQ folks have similar ideas but are making it easier than we did on the XML team. He writes 

What's the coolest new feature?  IMHO, its IQueryable<T>. 

 DLINQ's query mechanism has been generalized and available for all to use as part of System.Query.  It implements the Standard Query Operators for you using expression nodes to represent the query. Your queries can now be truly polymorphic, written over a common abstraction and translated into the target environment only when you need it to.

    public int CustomersInLondon(IQueryable<Customer> customers) {

        int count = (from c in customers

                     where c.City == "London"

                     select c).Count();

        return count;


Now you can define a function like this and it can operate on either an in memory collection or a remote DLINQ collection (or you own IQueryable for that matter.)  The query is then either run entirely locally or remotely depending on the target. 

If its a DLINQ query a count query is sent to the database.

SELECT COUNT(*) AS [value]

FROM [Customers] AS [t0]

WHERE [t0].[City] = @p0

If its a normal CLR collection, the query is executed locally, using the System.Query.Sequence classes definitions of the standard query operators.  All you need to do is turn your IEnumerable<Customer> into IQueryable<Customer>.  This is accomplished easily with a built-in ToQueryable() method.

  List<Customer> customers = ...;


Wow!  That was easy.  But, how is this done?  How can you possible turn my List<T> into some queryable thingamabob?

Good question.  Glad you asked.

Check out this little gem: 

  Expression<Func<Customer,bool>> predicate = c => c.City == "London";           

  Func<Customer,bool> d = predicate.Compile();


Now you can compile lambda expressions directly into IL at runtime!

ToQueryable() wraps your IEnumerable<T> in IQueryable<T> clothing, uses the Queryable infrastructure to let you build up your own expression tree queries, and then when you enumerate it, the expression is rebound to refer to your IEnumerable<T> directly, the operators rebound to refer to System.Query.Sequence, and the resulting code is compiled using the built-in expression compiler.  That code is then invoked producing your results.

Amazing, but true.

I think it's pretty amazing that all I have to do as a developer is implement a simple iterator over my data structures (i.e. IEnumerable) and then I get all the power of Linq for free. Of course, if I want the queries to be performant it would make sense to implement IQueryable directly but the fact that the barrier to entry is so low if my perf needs aren't high is goodness.

For more information on LINQ, read the Linq project overview. If you are like me and are primarily interested in XLinq then check out XLinq: XML Programming Refactored (The Return Of The Monoids) which has the fingerprints of my former team all over it. Way to go guys!


Categories: XML

One of the reasons I like providing APIs to online services is that it gives users more control of their data. Alex Boyko, who's one of the testers on our team wrote a tool for migrating his blog from one blog service to the other using the APIs they provide. In his blog post Blog Content Transfer he wrote

Apparently, my old blogging site (Blogger) and the new one (MSN Spaces) expose some APIs that can be used to play with your content (Metaweblog API for Space and Atom API for Blogger). I spent some time over the weekend and wrote a tool that helped me to transfer my data between two sites.

In case if somebody else is excited about gleams as much as I am ;] I've decided to share a copy of BCTransfer (Blog Content Transfer).


Please let me know if it works and especially if it does not work for your. I’ll be more than glad to help.

Please read this first. It tells your how to get a login for your space.

At this moment, it is a command-line tool written using .NET 2.0. So you need to have it installed (the easiest option for that is Windows Update). Here’s how you run it in the most basic scenario:

bctransfer -bu <old-username> -bp <old-password> -su <new-username> -sp <new-password>

Yet another reason why providing APIs for online services is a good for regular users as well as developers. Nice.


I found the following comments by Om Malik and Mike Arrington to be quite telling.

In his blog post entitled The Myth, Reality & Future of Web 2.0 Om Malik writes

The Myth of Web 2.0 is the investment opportunities. The reality of Web 2.0 is too little original thinking. Web 2.0, simply put, is a set of technologies and a new kind of thinking, which companies like Yahoo, Google, Microsoft and AOL are incorporating in their products. That’s the reality and the future of Web 2.0.

In the blog post entitled AOL To Release YouTube Clone Mike Arrington writes

Prepare for the launch of AOL UnCut (currently in open beta), a near perfect clone of YouTube...This is right on the heels of the launch of AIM Pages, which is directly targeting Myspace and other social networks...I am seeing an increasing trend of the big guys simply copying what successful startups are doing. AOL with this product and AIM Spaces. Google with Google Notepad and a flurry of other projects, etc. The only large company that is even experimenting with unproven concepts at this point is Microsoft with its various Live.com ideas. I’d like to see more experimenting at the big company level.

I guess the criticism has now grown from 'building a new Windows app is just doing research for Microsoft' to 'building a new Web application is just doing research for Google/Yahoo/AOL/Microsoft'. The more things change, the more they stay the same.

On the positive side, it is good to see Microsoft being called innovative in comparison to Google by a technology pundit.


Tim Ewald has been blogging about ways to add versioning to web services which work around the various limitations of the W3C XML Schema Definition Language (XSD).One bit of insight I always like to share when talking about XSD is that there are two primary usage scenarios that have developed around XML document validation and XML schemas. My article XML Schema Design Patterns: Is Complex Type Derivation Unnecessary? describes them as

  1. Describing and enforcing the contract between producers and consumers of XML documents: An XML schema ordinarily serves as a means for consumers and producers of XML to understand the structure of the document being consumed or produced. Schemas are a fairly terse and machine readable way to describe what constitutes a valid XML document according to a particular XML vocabulary. Thus a schema can be thought of as contract between the producer and consumer of an XML document. Typically the consumer ensures that the XML document being received from the producer conforms to the contract by validating the received document against the schema.

  2. Creating the basis for processing and storing typed data represented as XML documents: XSD describes the creation of a type annotated infoset as a consequence of document validation against a schema. During validation against an XSD, an input XML infoset is converted into a post schema validation infoset (PSVI), which among other things contains type annotations. However practical experience has shown that one does not need to perform full document validation to create type annotated infosets; in general many applications that use XML schemas to create strongly typed XML such as XML<->object mapping technologies do not perform full document validation, since a number of XSD features do not map to concepts in the target domain.

If you are building a SOAP-based XML Web service using the toolkits provided by the major vendors like IBM, Microsoft or BEA then it is most likely that your usage pattern aligns with scenario #2 above. This means that your Web service toolkit isn't completely enforcing that documents being consumed or generated by the service actually are a 100% valid against the schema. This seems bad until you realize that XSD is so limited in the constraints that it can describe that any XSD validation done would still need to be backed by a further business logic validation phase in your code. In his post Making everything optional Tim Ewald writes

DJ commented on my post addressing the problem Raimond raised with my versioning strategy. He wondered if he'd missed an earlier post where I argued that you not use XSD to validate your data because if you make content optional, you can't use it to check what has to be there. Since I haven't written about that yet, I figured I'd start to address it now.

When people build a schema for a single service, they tend to make it reflect the precise requirements of that system at that moment in time. Then, when those requirements change, they revise the schema. The result is a system that tends to be very brittle. If you take the same approach when you design a schema for use by multiple systems, describing a corporate level model for customer data for instance, things are even worse. Some systems won't have all the required data. They have to decide whether to (a) collect the data, (b) make up bogus data, or (c) not adopt the common model. None of these are good approaches.

To solve both these problems, I've started thinking about my schema not as the definition of what this system needs right now but as the definition of what the data should look like if it's present instead. I move the actual checking for what has to be present inside the system (either client or service) and implement it using either code or a narrowed schema that is duplicate of the contract schema with more constraints in place.

There are important lessons in Tim's posts which are unfortunately often learned the hard way. A document or message can have different required/optional fields depending on what part of the process your are in or even whether it is being used as input vs. output. It's hard to come up with on single schema definition for a common type across a system without resorting to "everything is optional" and then relying on code to do the specific business logic validation for which phase in the process your are in.

There's another great comment in Tim's follow up post More on making everything optional

I think it's important not to confuse your schema with your contract. A client and a service have to agree on all sorts of things, only some of which are captured in your WSDL/XSD(/Policy). My goal in proposing that almost everything in your XSD be optional is to find the sweet-spot between easy coding and flexibility for evolution.

Amen! Preach on brother.


Categories: XML Web Services

Steve Rubel has a blog post entitled Dissecting Windows Live PR with Data where he uses the infamous Alexa traffic chart which has become popular among bloggers and other amateur pundits to dissect the populariity of a website. Specifically he writes

According to Alexaholic there was a lag between these news events and when the site became a regular visit for many consumers. In other words, it took Windows Live a considerable amount of time following the launch to build any kind of critical mass. (A caveat here. Alexa data is questionable when measuring true traffic data because it amounts for a small subset of the total browsing public.  However, the overall trends it shows I feel are bankable.)

Picture 4-2

I've noticed that quite a few folks have misinterpreted the traffic spike within the past month for the live.com domain in Alexa. If you take a deeper look at the Traffic Details for Live.com you'll notice the following data

  • login.live.com - 46%
  • mail.live.com - 38%
  • ideas.live.com - 6%
  • live.com - 4%
  • local.live.com - 2%
  • help.live.com - 1%
  • expo.live.com - 1%
  • safety.live.com - 1%
  • Other websites - 1% 

That's right, the largest chunk of the traffic for the live.com domain is split between the Passport Windows Live ID login page which is now being used by most MSN and Windows Live services when signing in. The second largest slice is for the Windows Live Mail beta. I don't think one can draw any conclusions on the 'adoption' or popularity of Windows Live based on this data.


Categories: Windows Live

My buddy Joshua Allen has a blog post entitled Was WS-* a Failure? where he writes

Dare excerpts Yaron Goland, explaining how MSN uses POX instead of WS-* in many cases. It is very good to see MSFT employees no longer afraid to say that WS-* is sometimes not the right choice.

On the other hand, it's reasonable to say that WS-* met most of its objectives; and IMO has been a great success. Read this post from Miguel. Miguel makes the point that Java is still vendor-proprietary, in contrast to the way that .NET is ISO. IMO, one of the most important goals of WS-* was to break the stranglehold that J2EE had on the middleware/appserver market. Today, reading about Scott McNealy stepping down amid Sun financial troubles, it is hard to remember how dominant Sun used to be. But Sun is still very powerful in the enterprise, and I imagine it would be game over by now (with Sun/Oracle alliance being the clear winners) if Microsoft had not pushed WS-*. WS-* leveled the playing field, and gave both Microsoft and IBM ability to go head-to-head with Sun in app servers. Today, an Oracle/Microsoft alliance seems more realistic than Oracle/Sun.

So perhaps WS-* was the critical factor that liberated the Internet from a dark future of Sun/Java control, and enabled the new era of POX/HTTP to flourish.

That's an interesting perspective which I think is worth sharing. I also want to correct what seems like a misconception about Yaron's post. I'm not aware of many teams at MSN Windows Live that have eschewed using the WS-* family of technologies (SOAP/WSDL/XSD/etc) for Plain Old XML over HTTP (POX).  On my team, the distributed computing protocols we use are either SOAP or WebDAV. Most of the Windows Live teams whose back ends I'm familiar with also tend to use SOAP. The only upcoming change I can see for our team we have been flirting with the idea of using binary infosets instead of textual XML but still sticking with SOAP. I'm not sure whether we'll do it or not but that would be a compelling reason for taking the Windows Communications Foundation (aka Indigo) out for a spin. I see more dinners with Doug and Mike in my future.

On the other hand, the front end teams that actually build the web sites [as opposed to platform teams like mine] who use AJAX techniques seem to lean towards using JSON as opposed to XML. I guess that would make those services POJ not POX. :)

When I think about POX or RESTful Web services in the context of my day job, it is usually focused on the work we are doing for the Windows Live developer platform. I ask myself questions like "If we were to expose something equivalent to the Flickr API for MSN Spaces, what would be the best choice for developers?". For such questions, RESTful APIs seem like a no-brainer.


Categories: XML Web Services

May 12, 2006
@ 03:55 PM

One of the cool things about my day job is that I get to work with over a dozen teams all over Microsoft who are interested in consuming our Web services. This means that sometimes I get juicy scoops which I have to sit on for months before I can talk about them. One example, is the feature described in Joe Friend's blog post Blogging from Word 2007 where he writes

We've been working late into the nights and very late into our development schedule for Word 2007 and we have a special goody for all you bloggers in Beta 2 of Office 2007. That's right blog post authoring from Word. This is a very late breaking feature and is definitely beta software.
This is pretty standard stuff if you've ever used one of the many blog post authoring applications. In Beta 2 we support MSN Spaces, SharePoint 2007 (of course), Blogger, and Community Server (which is used for blogs.msdn.com). You can also set up a custom account with services that support the metaweblog API or the ATOM API. All the blog providers seems to interpret these APIs a bit different so there kinks we're still working out. But the basics should work in Beta 2. We hope to add a few more services to the list before we ship. The Word blog authoring feature is extensible and we will publish information so that blog providers can insure that their systems work with Word.

I met with Joe's team a few months ago and was pleased to hear they were going to add this feature to Word 2007. I've been working with them on this feature for a while and now that we actually have an official blog posting tool coming out of Microsoft, it's time for me to start investing more time in looking at exposing more of our blog-related features via an API.

This is definitely cool news. If you are a blogger that uses Microsoft Word, you definitely need to give it a try. They've gone out of their way to build a product that is easy to use and doesn't stomp on your expectations of a blogging tool (i.e. no nasty HTML for one). Mad props to Krista, Joe Friend and all the other folks who worked on getting this out the door.


May 11, 2006
@ 10:00 PM

I smiled today as I read Mark Nottingham's post where he described vendors of WS-* technologies as Vendor-pires. However what I found even more interesting was the following comment by Yaron Goland which states

First of all who says that the vampires are necessarily happy with WS-*? I leave it as an exercise to the reader to figure out why my group's VP (Brian Arbogast) goes around giving speechs about just using plain HTTP.

Second of all who says even the vampires can talk with each other in any useful way?!?!?! At least three people with text on this webpage know the answer to that question from hard real world experience.

Third, what to do without WS-*? Gosh, I don't know, how about ship useful code? I hear that HTTP stuff is pretty cool. If anyone cares you can peruse a bunch of blog entries on my website (www.goland.org) where I walk through a number of key enterprise scenarios and show that nothing more than HTTP+XML is required.

And yes, I still work for Microsoft. In fact, one of my jobs is to write the best practices for the design of all external interfaces for Windows Live. What you will see is a lot of HTTP, microformats, URL encodings and XML. My instructions are clear, first priority goes to simple HTTP interfaces..

Oh and here is a thought that an unnamed Microsofty gave me. The new shlock movie (http://www.imdb.com/title/tt0417148/) Snakes On A Plane (SOAP). Just a thought.

Yaron Goland is another one of the folks who'll be working on the Windows Live developer platform along with others like Danny Thorpe, Ken Levy and myself (virtually). I've been thinking that there is a big disconnect between the folks who sell the technologies and the folks who use them even within Microsoft. I've been slowly trying to bridge that gap but we definitely still have a long way to go as an industry.


Categories: XML Web Services

Richard MacManus has a blog post entitled AIM Pages - AOL breaking down the Walled Garden where he writes

I'm told by my sources that it's still in the testing phase, nevertheless it *is* live on the Web. There is a lot more functionality to come though. For example PaidContent wrote recently:

"Unlike walled-garden Classic AOL, AIM Pages is built on giving users ways to collect and connect to various parts of the web — and each other — from one base. For instance, users can add a flickr module. “Our approach is not to get you to leave flickr but to super-set your stuff from flickr,” explained Parkins. Other modules focus on AOL content, like the Top 11 list from AOL Music; options will be limited at first with more modules being introduced on a rolling basis."

As Mike said, the design is very modular - and that extends not only to internal AIM Pages functionality, but also to external web services modules. From the AIM Pages homepage, click on 'Create your profle'. You will be taken to your profile page, click 'Add Modules' and then you will see a 'Module Gallery' at the top-left. The most interesting part in that gallery is the 'Under Construction' selection. It currently features modules like delicious, netflix and youtube - but there's a whole lot more to come!

Check out AOL's test 'playground' I Am Alpha to see what I mean. In there you'll see modules for popular web services such as: MySpace, YouTube, del.icio.us, Flickr, Amazon, eBay, MapQuest, Netflix, AOL apps, RSS feeds, plus plenty of other test modules. Now admittedly these are all very alpha quality modules (as the name implies), but it shows that AOL is ahead of the curve in integrating external services into its social networking offering.

This sounds like regurgitated press release pablum. Both MSN Spaces and Yahoo! 360 allow users to integrate external services into their social networking offerings via RSS/Atom feeds. If you go to http://spaces.msn.com/darestestspace you'll see the RSS feed for this blog included in a sidebar. It is a nice touch to special case the feeds from specific services to provide a richer experience but it isn't a revolutionary step like Richard MacManus implies. 

As for whether this implies 'breaking down walled gardens', I don't see how it does. Can I export my AOL social network to MySpace? Can I talk to my AIM buddies from Yahoo! Messenger? Instead what this does is acknowledge that walled gardens exist. AIM Pages can't get people to export their data from these services so they do the next best thing by republishing the content via RSS feeds.

I sometimes joke at work that we could save a ton of money by having people upload their photos in Flickr and then use the RSS feeds to power the photo album feature in MSN Spaces. Yahoo! pays the image hosting costs while we get to show the ads on people's spaces. I bet we could even do all this via the Flickr API without people having to leave our user interface. Would that also be considered breaking down walled gardens? 

I expect a lot of services to rethink their use of RSS/Atom feeds as such repurposing becomes more popular.


Categories: Social Software

In a blog post entitled AIM Pages Launches - First Impression  Mike Arrington of TechCrunch writes

AIM Pages, the new AOL Myspace competitor that we’ve been buzzing about for the last couple of weeks, launched this morning at aimpages.com.

First impression: The site is clean and organized (something I’m not sure the Myspace crowd wants), and module based (about me, photos, etc.). Modules can be dragged to any point on the screen. It’s not working properly with Firefox (or possibly at all), which I imagine will be fixed. UPDATE: I am using Firefox 2.0 on a Mac, not 1.5. This may be the cause of my problems.

If AIM Pages launched today as a stand alone company with no affiliateion to AOL, I’d be ripping it apart. Personal publishing is very easy, and users have too many choices. Anything new really has to stand out, and AIM Pages doesn’t. AIM Pages is a slick looking Ajax product, but is not really raising the bar v. Myspace, Tagworld and others. I’m also dissapointed that it’s not working properly in Firefox. Now, the fact that your AIM Page will be prepopulated with your AIM buddies is a big competitive advantage, and I imagine AIM will have some level of success due to that asset.

In the reverse direction, according to the post MySpace IM is Live by Om Malik, MySpace is adding an integrated IM client to their social networking service. This same tack has also been taken by Yahoo with Yahoo! 360 and by Microsoft with MSN Spaces. The integration is beta in all of the aforementioned services but it seems clear that within a year that most of the major Web players will have a suite of social software services that will include IM, social networking, blogging, photo and media sharing as all part of a single integrated experience. So far, Google are the laggards in this space but I wonder how long it will take them to play catch up.

In the meantime, you can compare and contrast what a personal page looks like in all of the aforementioned services

  1. http://spaces.msn.com/darestestspace/
  2. http://www.aimpages.com/tenor/profile.html
  3. http://360.yahoo.com/profile-oifn9.o6da.Tz.JDUSJEGMMj6ZQxnfhU279kmtOyttkPMw--
  4. http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=76636812

Since I work on the Social Networking platform for Windows Live, I'm interested in people's observations about this convergence in social software applications. Holla at me. 


Categories: Social Software

May 10, 2006
@ 03:22 PM

I stumbled on a post entitled Using Gmail for work from Rakesh Agrawal, President and CEO of Snapstream, about switching from Microsoft Outlook and Exchange to GMail for his work email. He writes

After going through my fourth or fifth Microsoft Exchange crash and countless Outlook problems (after 3 years!), I decided that I had had enough. For a little over a month, I've been using Gmail as my primary client for e-mail -- for work e-mail, for personal e-mail and everything in between. So far I love it, though I've discovered that there are also a few things that make it undesirable. Read on for the details...

The Benefits

For me, there have been countless benefits of running email in the network cloud and not on a local client on my PC. Let me count the ways...

  • - No more crash-prone exchange server or outlook clients:
  • - Access from literally any computing device with Internet access:
  • - Gmail Mobile (m.gmail.com):
  • - reliable and effective search:
  • - spam filtering is really, really good
  • - filtering is fast, simple (just like search):

The Downsides

  • - E-mail accounts functionality could be a lot better:
  • - m.gmail.com doesn't support "accounts":
  • - No offline access:
  • - It's not a local application:
  • - Space limitations:
  • - Formatting limitations:
  • - Occasional hiccups of service:

Most of his complaints seem to be already fixed in existing versions of Exchange. I often access my Outlook mail using the Outlook Web Access functionality that has been a part of Exchange for years [and is the reason XMLHttpRequest exists in the first place]. In fact VPNing has been such a hassle for me at home that I often resort to a combination of OWA and the RPC over HTTP feature of Outlook 2003. I get mobile access fine from my Audiovox SMT 5600 phone which syncs both my mail and calendar which has quite literally changed my life. Of course, it does mean that I check work email when I shouldn't such as when I'm at airports supposedly on vacation.For search, I use Windows Desktop Search which works great. However it is a fair point that there is no decent equivalent if accessing mail from the Web or a mobile phone. 

I found this post via Nathan Weinberg who addresses the offline problem in his commentary on Rakesh's post by adding

So, how can Google address his caveats? The biggest seems to be an offline version of Gmail, something Google has not indicated it is developing. I think the Windows Live Mail Desktop solution is the way to go, designing a light, yet very well featured desktop email client that is clearly designed to work in conjunction with web-based email, not as a replacement.

I totally agree with that approach because it marries the best of the Web and the desktop instead of one trying to replace the other. This topic points out the kind of interesting tensions that I believe exist at Microsoft today. The Exchange team should look at posts like Rajesh and wonder how to stay competitive with Web-based solutions but I suspect they also wonder if products like Windows Live Mail and Office Live aren't cannibalizing their business. Ideally, we should offer a continuoum of products which should include Web-based offerings for companies that don't want the hassle/cost of managing their own mail servers to enterprise offerings for the bigcos who can't fathom why any business wouldn't want all their mail to be processed and stored in-house. This seems to be the tack that we are taking today, which is great, but it definitely leads to interesting conversations.

One size doesn't fit all. Always remember that. 

NOTE: I inserted the link to the Windows Live Mail Desktop team's blog to Nathan's post.


It seems news of an upcoming Windows Live service got leaked before it was intended to be announced. From the blog post entitled Here we are - Windows Live QnA! we get

A little background…
Once upon a time, there was an intern at Microsoft who had an idea for getting people answers to the questions they needed. He nicknamed it the “hyperengine” and everyone in Web Search used it for internal projects; it was way cool. Then, when he went back to college, the internal discussions started. Shouldn’t we be building a real one?

Grassroots momentum continued and eventually Windows Live QnA was born. We hired the intern back (yes,he graduated) and got another college hire to be core developers of this new idea  -- creating a question-answer engine driven by the people.

Why do it?
Windows Live QnA gives us an opportunity to showcase unique knowledge – provided, filtered, rated and approved by human beings – not available anywhere else.  QnA allows people to ask questions of their knowledgeable friends, family, classmates at school, professional and community peers in a way that others around the world can benefit from the answers.  We want to build the biggest, friendliest and most helpful community of smart humans the world has ever seen.  Some people will love the fame and recognition that answering questions will bring them; others will appreciate getting answers quickly and easily.
Topics will range from business, health, arts, sports, technology and more.
• Does ivy kill trees?
•  What's a good, inexpensive moving company in Seattle?
• Any great ideas on getting motivated to exercise?
• What’s the best chocolate chip cookie recipe?
• Can I hook up an Xbox to a PC monitor instead of a TV?
 Key features include: 
•       In a one-to-many system, consumers may pose questions to the Windows Live QnA community, thereby creating a store of human knowledge containing facts, opinions and experiences on topics ranging from business, health, arts, sports, technology and more.
•       People then can rate answers and reputation-based scoring is available so you and others know which sources are most reputable.
•       Questions are tagged so others can easily find similar or related questions and answers to learn from
•       The ability to mark and remove inappropriate content

Just before I left for Nigeria last year, I remember a series of meeting I had with Brady Forrest and Nishant Dani about this project. The meetings were mainly exploratory but proved interesting enough that I actually moved my trip out a few days so that Brady and Nishant could get all their questions answered before I left the country.

It's almost a year later and the project is a lot further along with some nice hiring coups such as getting Betsy Aoki on board. Unfortunately once Yahoo! Answers shipped I realized that whenever Windows Live QnA got out the door people would call it a "me too" offering. From Mike Torres's post about Windows Live QnA I see that Jeremy Zawodny of Yahoo! did just that in his link blog.

Right now, I think the question and answer offerings from the various big search providers (Google Answers, Yahoo! Answers and Windows Live QnA) will need to significantly change the game to distinguish themselves. So far the main differentiator between Yahoo! Answers and Google Answers has been price (it's free). However we'll need to kick things up a notch for Windows Live QnA.

There is definitely a lot of room for improvement in this space. I can't help but remember the Web Search History: Before Google Answers and Yahoo Answers There Was "Answer Point" From Ask Jeeves post from the Search Engine Watch blog which outlined some of the tough problems in launching a user-powered Q&A service in a mail from Jim Lanzone, Senior Vice President of Search Properties at Ask Jeeves. He wrote  

I commend Yahoo for joining sites like Wondir in trying the free model again. Beyond the obvious issues like spam, I can share a few challenges with community-driven question-answering that we experienced.

First, as a free service, there was little incentive for people to answer other people's questions. I think the dynamic of question-answering is/was different than other user-generated content. With user reviews, like those found on Amazon, TripAdvisor or Citysearch, people are playing "critic", a long-standing model from newspapers and magazines. With Wikipedia, participants are creating specialized content, in one centralized location, for the masses to consume. With De.icio.us and Flickr, tagged items are made public, but the initial motive is borne at least somewhat from self-interest: organization of bookmarks and photos. With question-answering, on the other hand, it takes a true good samaritan to spend the time to provide answers to one-off questions for people you don't know. (And an even better samaritan to perform this good deed repeatedly, over time, for free.) Meanwhile, if you do it for ego, your answers get lost in the system pretty quickly. So neither motive was that compelling. We observed that only a small group of "experts" took the time to answer questions for others.

Secondly, if not enough people provide answers, then you can't answer enough questions. This is a problem when search has such a long tail of queries, as we showed at Web 2.0. Most searches are unique. This is why search engines are so useful, even though relevance is far from perfect: we can cast a very broad net.

The notion of waiting for an answer is also in conflict with one of the biggest user needs in search: speed. Most things that people search for are things they want an answer to, or a solution for, almost immediately. In theory people will put in more effort to get a better answer, but in practice they seldom do. For example, 30% of users surveyed say they want advanced search, but only 1% of them ever use it. The same thing applied to AnswerPoint. It was usually just faster and easier for people to search normally, iterating on their searches, than to submit a question to the community and wait for an answer.

Lastly, there's the reason we created Smart Answers in the first place: people like to search from one box. Getting them to head to a different part of our site for results is always an uphill battle for any engine.

These are all issues the Windows Live QnA folks are aware of and are looking at innovative ways to tackle. It seems they are already going down the right path of tackling the third problem with the promise that Windows Live QnA will be an integrated aspect of Windows Live Search.


Categories: Windows Live

From the press release Windows Live Messenger Beta Now Available Broadly to Consumers for Download we learn

REDMOND, Wash. — May 9, 2006 — Microsoft Corp. today announced that the new Windows Live™ Messenger beta is available broadly to the public for download at the Windows Live Ideas Web site. The beta of Windows Live Messenger, which is the next generation of MSN® Messenger, the most widely used instant messaging service with more than 230 million customers worldwide, includes customer-driven feature enhancements that make it even easier for consumers to stay in touch with the people and information that matter most to them. Windows Live Messenger was previously available for beta testing by invitation only. The beta also makes PC-to-phone calling available in six additional markets...

Some features include the following:

Windows Live Call with Verizon Web Calling service. With one click, users can go directly to the Windows Live Call feature and, through the Verizon Web Calling service, place affordable outbound local voice calls and domestic or international long-distance voice calls over the Internet..

Cordless phones designed exclusively for Windows Live Messenger. Beginning today, customers will be able to purchase phones from companies such as Uniden Corp. and Philips that make Windows Live Call available through the handset, which can be used to make landline and Internet phone calls. 

Windows Live Contacts. Contact information is always current with Windows Live Contacts in Windows Live Messenger; users choose which contacts they want updated automatically. Windows Live Contacts are integrated and accessible across Windows Live Messenger, Windows Live Mail and MSN Spaces.

Unified contacts. Customers now have the ability to see and search all their contacts with the unified contact list accessible through Windows Live Messenger. Users can have up to 600 contacts, and easily search using the word wheel feature, which automatically sorts the contact list.

Sharing Folders. By simply dragging and dropping their files and personal photos of any size to their Windows Live Messenger window, customers can share them with family, friends and colleagues.

Offline instant message (IM). Customers can now send an IM to their offline contacts, who will receive the IM the next time they log in.

Video conversation. The free synchronized audio and video service in Windows Live Messenger, powered by Logitech International SA, allows customers to view and talk to their friends through their PCs in full-screen video with one push of a button using the webcams and broadband Internet connections.

I didn't work on any of the major features in this release except for Social Networking which isn't widely available yet and thus is omitted from the press release. By the way, the Friends List (the PR name of the social networking feature) is now available to our users from the Netherlands as well as Australian users. At this rate, I guess we'll have it rolled out worldwide by Christmas...JUST KIDDING!!! ;)

The next major release of Windows Live Messenger will have more features that I managed to get my hands on. At this rate, people may stop mistaking me for someone who works on the MSN Spaces team. 


Categories: Windows Live

I found a blog post entitled Called Out… by Al Billings who just left the Microsoft Internet Explorer team which is excerpted below in its entirety [in case it gets altered later]

Oops, looks like I made someone cranky

I could respond to this in some detail but it isn’t worth the effort. Let’s just say that Dare has worked closely with the IE team on our RSS features. He was consulted, at least for his opinion, on much of the work. In spit of this, he makes a consistent public effort to talk shit about IE7 and its RSS support while the people that I have worked with, who care passionately about RSS and its role in IE, keep on talking to him internally since Dare works on a partner team affected by the work.

I find Dare to be a whiner and an unconstructive partner who burns bridges with people that he should be building them with instead. The fact that he gives little direct feedback (or confrontation) to coworkers on the IE team but will then turn around, the same day, and make snarky comments in his blog is not cool. In fact, I’ll be slightly bold and say it makes him look like a complete asshole.

Since I no longer have to work professionally with him in any capacity and this is my personal opinion, I don’t see a reason to pull any punches. With his attitude, he really should go get a job for the competition. He certainly doesn’t help the company he works for…

I have issues with how Microsoft has done many things but I have the utmost respect for the people that I have worked with, especially on the IE team. There are a lot of very intelligent and talented people there and I am glad that I had the opportunity to work with them.

For myself, it is time for a change. Part of it is motivatated by the desire that my wife and I have to live in the Bay Area and part of it is that I’ve worked at Microsoft for a month shy of nine years. It isn’t the same company that I started at but I don’t doubt it will survive. I’m at peace with that. I’m not so sure that Dare can say the same and, as was commented to me, it seems more likely that Dare is crafting his exit strategy and trying to make a name for himself. He’s no Scoble though so this seems a doomed adventure.

Last week, I got mail from some exec at Microsoft complaining about my blog. Today I read this tripe from Al Billings who has the gall to criticize my corporate loyalty as he ditches Microsoft for [supposed] greener pastures.

I'll write here the same thing I wrote to the exec that complained about. My blog is a personal weblog that precedes my time at Microsoft which will likely outlive my time as a Microsoft employee. In it I talk about things that affect my life such as my personal life, work life and interests. Since I work at a technology company and my interests are around technology, I sometimes talk about Microsoft technology and working at Microsoft. Since everything about Microsoft's technology and work life aren't perfect, sometimes these posts are critical.

If you don't like my blog then don't read it. If you think my blog is so bad for Microsoft, then [please] go ahead and complain to my management. They get enough complaints about my blog as it is, I'm sure there must be some threshold where they'll decide that receiving mail about my blog is more work than keeping me around. Then I'm sure you'll get your wish that I work at some competitor. :)


Categories: Personal

May 8, 2006
@ 06:48 PM

One way I can tell that I am approaching thirty is that I now spend more time watching VH1 than MTV. Not only do I feel too old to watch MTV whenever I happen to surf to that channel, I've felt that way for years. There are other ways things have slowly began to change as I settle into a long term relationship with someone who I believe is the one (to coin an overused cliché). The change that has been most unsettling for me is that I worry about money a lot more than I used to. Over four years ago, when I was fresh out of college I remember looking at my five figure salary and wondering what I'd do with all that money. Being single in a new city with no commitments [not even student loans] meant that I didn't really worry much about money. My friend Michael Brundage captured the feeling quite well in his much linked essay on Working at Microsoft where he wrote

It's hard for people who don't work at Microsoft's main campus to understand just how unreal the experience of working there can become. Some employees forget that most of the world doesn't have broadband wireless networking, high-end consumer electronics, luxury vehicles, and enough money that they don't need to live on a budget. Some employees spend so much time using Microsoft products, that they forget about the competition and/or lose touch with typical customers' needs.

As you grow older commitments begin to show up whether you want them to or not. I live with my girlfriend and she has kids. My mom retires this year and after having her come visit a few months ago, it is clear that I need to find a bigger place to stay. This means I've started worrying about house prices. I recently found out that median house prices in the Seattle area now hover at $419,000 which is a $100,000 more than what it was when I first moved here. A friend of mine just dropped half a million bucks for a house a few streets down from where I live. At first I thought that was crazy until I found out that the median house price in Queen Anne is $505,000. 

After Microsoft's recent stock plunge which resulted in an 11% loss in market value, it took me a while to realize that this affected my net worth by a couple of grand. I now realize that I should actually pay attention to my stock portfolio beyond whatever default actions seemed like a good idea when I was fresh out of college. Stock portfolio? Growing older does suck.

I now worry about the fact that people at work with titles like containing 'Vice President' and 'Chief X Officer' either read my blog or get complaints about it because it is too critical of Microsoft. I don't want my personal weblog to now place some glass ceiling on my career growth at Microsoft. It's bad enough that I'm black. ;)

Speaking of career growth, I saw some interesting comments to the post on the Mini-Microsoft blog entitled FAQ on reviews, promotions, job changes, and surviving re-orgs - Comment Repost. There were a lot of people who agreed with the somewhat cynical advice on how to deal with the review system and climbing up the corporate ladder at a place like Microsoft. There were other comments who described the advice as only being necessary for poorly performing bottom feeders that deserve to be fired. Given that I'm someone who would have benefited from this advice during my first couple of annual reviews at Microsoft, I guess that makes me a poorly performing bottom feeder that deserve to be fired. I remember the review where my naivete was shattered like it was yesterday. I had gotten a lower score than expected and was chatting with a coworker on how our reviews went. I didn't feel I got a clear idea on what I needed to improve on since my manager had made it seemed like I'd been doing a good job. To my surprise, my coworker responded that I had been called out as a role model during his review to which to aspire. The surprise was that this coworker got a better score than me. After a little bit of digging I realized that the corporate review process is primarily a popularity contest. The Microsoft practice of having a bunch of mid-level managers on a team argue about who deserves what score on the team means that anyone who (i) isn't visible to all the mid-level managers on the team and (ii) doesn't have a manager who's good at arguing on their behalf is going to get the short end of the stick. In many cases you can't do much about the latter but the former is completely under your control. For the most part, simply being good at your job doesn't guarantee you'll get a good review score. On a cynical note, it's hard to even define what being good at your job even means at a lowly individual contributor level sometimes. How easy is it to prove or disprove that the lowly developers and testers who work on white elephant projects like Longhorn Windows Vista are actually good at their jobs? Performance reviews at that level of granularity on such monster projects seem mostly subjective anyway. The repercussions of people's actions often can't be seen for years. Like the poster says, Mediocrity - It Takes a Lot Less Time and Most People Won't Notice the Difference Until it's Too Late. Being good at your job is important, however you also shouldn't expect that's all it takes to get a good review score. As I grow older, my lack of faith in human nature seems to grow by leaps and bounds. 

The good thing about going on vacation is that it gives you time to be introspective even if the introspection occurs amid the blare of slot machines and constant booze ups that is Las Vegas. :)


Categories: Personal

Nathan Weinberg who writes the Inside Google blog has a blog entry entitled Screw YouTube where he writes

Miel’s quit YouTube. Considering he introduced me to the service, which I began to love, contribute to, and trumpet as the next great success story, you’d think I’d be surprised. Not even a little.

See, I got kicked off YouTube over two months ago. The reason? Contributing to the success of their service. I uploaded a good number of videos to YouTube, almost none of which I owned the copyright to, all of which I got from other sources on the internet. My first video, the “banned” Xbox 360 ad, was for a time the second most watched video on YouTube, with close to two million viewings.

On February 24, I received two emails, detailing how a video I had posted, a Saturday Night Live sketch in which President Bush asks a Santa Dick Cheney for an Xbox 360, had been rejected due to a third party notification of infringement.

Anyway, I’m done with YouTube, almost. It is clear they have no interest in preserving a digital archive of video content for the future, and that I cannot rely on them for posterity...I do have one thing left to do: Ruin YouTube. Since it is so easy to get someone kicked from YouTube, I am going to launch an assault on the service...Every day, I will destroy at least one account. I will only target those with copyright infringing content. When I am done, the only popular videos on YouTube will be those with zero commercial value. We will see how well the service does without the Daily Show and South Park entire episodes that are its real bread and butter.

I am extremely surprised at such a vindictive and destructive response by Nathan Weinberg to what I see as a reasonable act on the part of YouTube. From my perspective, YouTube is a video sharing service which is likely to make a bunch of money [via ads] serving content that doesn't belong to them. Even if it wasn't illegal I personally think this is unethical. YouTube shouldn't be making money off of TV shows like Daily Show and South Park instead of the creators and/or owners of the copyright on these shows. I find it commendable that the folks at YouTube are trying to make sure they don't become a leech on the system and instead are a way to provide an avenue for long tail content which you cannot find via traditional broadcast media. Of course, this is just common sense on the part of the YouTube folks since they want to avoid the same mistakes made by Napster.

On the flip side I can't help but remember Danah Boyd's excellent paper, Friendster lost steam. Is MySpace just a fad? which argues that one of the reasons that Friendster lost steam is that it failed to recognize and bow down to the wishes of core members of its user base. This lead to alienation and outright hostility from users who were once major users and proponents of the service. Reading Nathan Weinberg's post, I wonder of YouTube is going down the same path. 


Danny Sullivan of the Search Engine Watch journal has a blog post entitled Google Worried About Microsoft's Browser Advantage? What Advantage? where he writes

I am nauseatingly exhausted by idea that Microsoft will conjure up some magical method of yanking people into its MSN Windows Live Whatever You Want To Call It search service via the Windows operating system or the Internet Explorer browser. Microsoft has failed for years to be successful in this, which is why it's amazing anyone would still believe it.

In the longer version of this post for Search Engine Watch members, I revisit the tired facts in more depth:

  • How search has been integrated into Windows and Internet Explorer since 1996 but failed to help Microsoft.
  • How even when MSN Search was made the default choice by 2001, Google still rose in traffic share.
  • How putting the search box into the "chrome" of the browser doesn't necessarily mean Microsoft will have a major win this time.
  • How search via toolbars still remain the minority of the way searches happen.

Meanwhile, skip past the business aspects. What about the consumer issue of choice? The New York Times writes of Google's preferred solution:

The best way to handle the search box, Google asserts, would be to give users a choice when they first start up Internet Explorer 7. It says that could be done by asking the user to either type in the name of their favorite search engine or choose from a handful of the most popular services, using a simple drop-down menu next to the search box. The Firefox and Opera browsers come with Google set as the default, but Ms. Mayer said Google would support unfettered choice on those as well.

Sure, I can get behind the "give people a choice from the beginning" idea. But if Google wants Microsoft to do that, then Google should make it happen right now in Firefox, which pretty much is Google's surrogate browser. If this is the best way for a browser to behave, then Google should be putting its weight on Firefox to make it happen. And Google should also ensure it does the same with Dell, where it has a partnership that I believe makes it the default search engine on new Dell computers.

There definitely has been a bunch of interesting commentary on this topic. Check it out on tech.memeorandum.

Omar Shahine has a blog post entitled From two to one where he writes

Well, one of my philosophies, and something I think our team shares is Don’t piss off the customer.

How do you piss off the customer?

  1. Give them a 2 MB inbox
  2. Don’t save their sent mail, or make it difficult to do so, and then delete their sent mail after 30 days.
  3. Make their inbox about advertising instead of about their email
  4. Have crappy Quality of Service.

Sound familiar? It sure does to me. All of these things are anti-customer. What’s the point of offering a service that’s anti-customer? I sure as heck have no intention of working on a service like that. I never would have taken the job that I did if I didn’t know and feel that everyone around me was driven and motivated to fix all of these things, and we have been working on all of these since day I started this job.

Starting next month we are reducing the number of advertising from two graphical ads to a single ad in the inbox. The skyscraper will be gone from Windows Live Mail! I hope people see this as an olive branch from us to the user, and the advertiser. The users will be happier and more engaged, and the advertisers will ultimately benefit in the end. This change and its impact is an investment that we believe is a smart one to make.  Everyone in MSN has been supportive of this decision and we wouldn’t be making it if we didn’t feel that it was the right thing to do and better for all of us in the long term.

One of the best things about working on Windows Live is that on almost every team I've worked with there are people like Omar who totally get it. The number one priority for people building consumer services is making users happy. Now if only Omar and crew can get me some of the features from the Yahoo! Mail beta such as full support for Firefox and tabbed browsing within the in-browser mail client I may just retire my @yahoo.com email address.  


Categories: Windows Live

I'm going on vacation to Las Vegas in the next few days so I'm going to be heads down trying to wrap up some work before I leave. Expect blogging to be light over the next week or so. In the meantime, here are some links I found interesting which folks can chew over while I'm gone

  1. MSN: Another Quarter Closer To Irrelevant:  My favorite quote "why any one company wants to have $50 billion in revenue and compete with IBM and Oracle on one end and Google, Time Warner, and Sony on the other is beyond me".

  2. New Microsoft browser raises Google's hackles: Microsoft talking about spending billions "Winning the Web", Google talking antitrust because of browser defaults. I guess Bugs Bunny was right...this means war. Pass the popcorn.

  3. How it works: FAQ on reviews, promotions, job changes, and surviving re-orgs: If you are a new hire interested in climbing the corporate ladder at Microsoft [or any other big company] you should print out that comment. I am surprised by how many of my peers still haven't figured a bunch of this stuff out.

  4. Steve Rider Moving On: Steve Rider, original developer for start.com/live.com, has left to join a startup founded by Hadi Partovi who was the original manager who greenlighted and incubated the start.com project. At this rate, I wouldn't be surprised if Sanaz dipped before the year was up.

  5. Google's GData, MySQL, and the Future of on-line Databases: I think GData is hot. I'd like us to use this as a building block for some of the developer platform stuff we are doing for Windows Live. Unfortunately, I'll likely have to contend with NIH. I'll worry about this when I get back from Vegas.