A few weeks ago I blogged about the current beta of Social Networking in MSN Spaces for our Australian users. What I didn't mention is that just as most features in MSN Spaces are integrated with Windows Live Messenger, so also is the Friends list feature. Australian users of Windows Live Messenger will have three integration points for interacting with the Friends List. The first is that one can right-click on Messenger contacts and select "View->Friends List" to browse their Friends List. Another integration point is that one can respond to pending requests from people to add them to your Friends List directly from Messenger client (this is also the case with other features like Live Contacts).  Finally, one can also browse the Friends List from their Contact Card. Below is a screenshot of what happens when an Australian user right-clicks on one of their Messenger contacts and selects "View->Friends List". I can't wait till we finally ship this feature to all our users.

NOTE: There is a known bug that stops the Friends list from showing up if you are using the Internet Explorer 7 beta.


 

Categories: Windows Live

April 10, 2006
@ 02:53 PM

Via Shelley Powers I found out that Mark Pilgrim has restarted his blog with a new post entitled After the Bath. Ironically, I didn't find this out from my favorite RSS reader because it correctly supports the HTTP 410(GONE) status code which Mark's feed has been returning for over a year.

Mark Pilgrim's feed being resurrected from the dead is another example of why simply implementing support for Web specifications as written sometimes bites you on the butt. :)


 

From the blog post entitled Spaces and Messenger integration added on the Windows Live Mail team's blog, Steve Kafka lets us know

I just blogged about this on my own Space and someone asked why it wasn't mentioned here on the team blog. Because I forgot, that's why.
We just added the "contact control" to contacts in Windows Live Mail. If you frequent Spaces, this will be familiar to you. For contacts that are Messenger enabled this lets you see their profile picture, Messenger presence, gleams (the "something is new" indicator), their contact card and more. Check out my original post for a screen shot. To see it for yourself, go to your contacts and click on some of your friends from Messenger.
We're definitely working on more integration between Messenger, Spaces and Mail, so consider this just the beginning.

The contact information which is used for the contact control is another one of those core services our team provides as platform piece for other Windows Live user experiences like Spaces, Messenger and Mail. Eventually I'd love to see the contact control integrated across all Windows Live experiences where users have to be identified. It's much better than just a username, dont you think? In the meantime you can check out my screenshot of the new integration in action.


 

Categories: Windows Live

From the blog post entitled Your 'wait' is over on the Office Live team blog we learn

Since we debuted our waitlist for the Microsoft Office Live Beta back in November 2005 we have had over 275,000 customers sign-up in our Beta waitlist, and we thank each and every one of them for signing up. But what we’ve heard over and over is: please don’t make me wait in a list; I want to try Office Live NOW!! So, good news to everyone who hasn’t already gotten a product key, your wait is over (maybe before it even started!)

We have dropped the requirement of a product key from our signup! The Beta is still only open to US residents for now, but ANY US resident with a valid credit card can sign up for the Beta and experience Office Live! All you need to do now is pick your product (Basics, Collaboration or Essentials) and pick your domain. So head over to www.OfficeLive.com now to get your Beta subscription started.

If you've been curious about Office Live and have balked at checking it out due to the waiting list, now's your chance. Let the product team know what you think.


 

Categories: Office Live

April 5, 2006
@ 06:11 PM

Recently, someone commented in a meeting that we were playing "schedule chicken". I hadn't heard the term before so I looked it up. That's where I found the excellent post Schedule Chicken by Jim Carson which is excerpted below

Schedule Chicken
Given the above setup, it's difficult, if not impossible to accurately estimate project delivery dates. Even when you're brutally honest, spelling out
all the things that must occur for you to meet a date, the dependencies get lost in the footnotes in the appendices at the end of the book. Management "pulls in the date" to something ridiculous that they can sell to their bosses. Their bosses do the same. And so on.

Since everyone is using largely fictitious dates as part of a mass delusion, you would think no one expects to make them, no one will make them, no harm. This is sorta true. Each technical lead assumes that the other leads are lying even more about how long it will take them to deliver.

The ruse continues past insignificant milestones until just before something is actually due. The more seasoned managers will delay admitting to the obvious for as long as humanly possible, waiting for someone else (more junior) to "turn" first. The one who does is the "chicken," and is subsequently eviscerated by their boss and made a public example of all the incompetentcies in the universe.

After this "chicken" has been identified, and summarily punished, all the other teams update their schedules with slipped dates that are slightly less than the "chicken's." The process may repeat itself a few times. Key point: You don't want to slip first. Or last.

The question I have for my readers is simple, what do you do once you realize you're a player in a game of schedule chicken?


 

April 5, 2006
@ 06:01 PM

From the New York Times article Software Out There by John Markoff we get choice quotes like

The new economics of software development poses a fresh challenge to the dominant players in the industry. In 1995, when Microsoft realized that the Netscape Internet browser created a threat to its Windows operating system business, it responded by introducing its own free browser, Internet Explorer. By doing so, Microsoft, which already held a monopoly on desktop software, blunted Netscape's momentum.

Last November, Microsoft introduced a Web services portal called Windows Live and Office Live.
...
Mr. Ozzie, who used the Firefox browser (an open-source rival to Internet Explorer) during his demonstration, said, "I'm pretty pumped up with the potential for R.S.S. to be the DNA for wiring the Web."

He was referring to Really Simple Syndication, an increasingly popular, free standard used for Internet publishing. Mr. Ozzie's statement was remarkable for a chief technical officer whose company has just spent years and hundreds of millions of dollars investing in a proprietary alternative referred to as .Net.

I've heard that it's hard to take newspapers seriously because when they write about things you are knowledgeable about they get it wrong. John Markoff does an excellent job of proving that old saw right.


 

April 4, 2006
@ 07:02 PM

Eric Gunnerson has a blog post entitled Mom and Apple Pie where he writes

What do following words all have in common:

  • Passion
  • Innovation
  • Synergy
  • Agility

They're what I call "Mom and Apple Pie" words, for two reasons.

First, they all have a positive connotation. Who wouldn't want to be more agile, more innovative? Who is going to argue against having a more synergistic approach? Shouldn't everybody have passion?

Combine that with the fact that these words are used in a content-free environment, and you get a nice-sounding platitude that means nothing, but makes it sound like you are for changing things.

You don't think we should have more apple pie? What's wrong with you? Why do you hate your mother?

People who want to make an organization more agile don't say, "We're going to improve agility". They say, "we're going to get rid of <x>, we're going to change <y>, we're going to release every <x> months". People who want to improve synergy say, "Our users are trying to do <x>, and it's way too hard. What do I need to do to help you fix this?"

I have a blog post in my head about the top 3 things I'd like to see from Microsoft executives. One of the three things I'd like to see our execs do addresses one of the words mentioned by Eric Gunnerson; agility.

I am currently part of the Plaforms & Services Division which encompasses both Windows and MSN Windows Live. There've been two reorganizations that have affected this division in the past eight months. Both times, the claim has been that these reorganizations are intended to boost our 'agility'. The first reorg involved adding a new layer of vice presidents between David Cole who ran MSN at the time and Steve Ballmer. This meant that at the time I had four people with the title 'Vice President' between me and our CEO [Brian Arbogast->Blake Irving->David Cole->Kevin Johnson]. How adding more management made us more agile was a mystery to me. Our most recent reorganization involved splitting the teams that build the Windows kernel from the team that builds the Windows user interface and the teams that build the Windows Live services from the teams that build the user interfaces. In practical terms it means that when I work on features like Photo E-Mail and Social Networking, the folks I work with not only don't share the same boss as me but our management chains don't meet until it gets all the way up to Kevin Johnson and Jim Allchin (i.e. 3 vice presidents up the hierarchy later). I don't see how this makes us more agile but maybe I'm just dumb.

At Microsoft, agility has joined innovation and passion as words that now have negative connotations to me. The longer I am at Microsoft, the more words I end up excising from my vocabulary.

I agree with Eric that what I'd like to see is less buzzwords and more concrete talk about how things are being improved for our users. I'm still waiting for the mail from Kevin Johnson which contains an FAQ explaining why adding layers of management and splitting up teams makes us more agile. I hope I'm not waiting in vain.


 

Categories: Life in the B0rg Cube

I stopped paying attention to the syndication wars a couple of months ago. I barely have time to stay on top of all the stuff I have to worry about as part of my day job let alone keeping track of the pointlessness that is the Atom vs. RSS debate. Unfortunately, every once in a while something happens that forces me to pay attention because I'm also the project lead for RSS Bandit.

One cool thing about XML syndication formats like RSS and Atom is that they are easily extensible. This means that anyone can come up with a new extension to the RSS/Atom formats which adds a new feature but is ignored by feed readers that don't understand the extension. Some of my favorite extensions are slash:comments which provides a count of the number of comments in a feed and wfw:commentRss which provides the URL to the feed for the comments to a blog post in the feed. One of my work items for the next version of RSS Bandit is to make it easier for people to 'watch' the comments for a blog post they are interested in if it supports these extensions. That way I can get get a notification everytime some comment thread I am interested in gets new posts directly from my aggregator instead of using other tools like CoComment.

A few days ago Sam Ruby posted an entry entitled Rogers Switches! where he mentioned that he now redirects all requests for his RSS feeds to his Atom feed. This meant that in RSS Bandit I now no longer see the comment count for the blog posts in Sam's feed nor can I view the comments to his posts directly within my aggregator. Sam and I had the following exchange in his blog comments when I discovered the ramifications of his change

I was trying to figure out if I’d introduced a bug in RSS Bandit to make your comment count and inline comments disappear. Instead, it seems you have made your feed less useful as part of the fallout of yet another iteration of the eternal pissing match which is the XML syndication wars.

sigh

Posted by Dare Obasanjo at 20:25

Dare, is this is your way of saying that you don’t intend to support the Feed Thread Extension?  I’d think that you would be on the watch for it.

Posted by Sam Ruby at 22:08

I looked at the draft of the Feed Thread Extension specification Sam linked to and it seems like a reinvention of the functionality provided by the slash:comments, wfw:commentRss and annotate:reference extensions. Great, not only do we now have to deal with the an increase in the number of competing XML syndication formats due to the Atom process ...By the way, have you seen the Atom 0.3 vs. Atom 1.0 debate? I told you so... we now also have to deal with duplicates of all the popular RSS extensions as well? Give me a break!

That said, you can expect support for these new extensions in the next version of RSS Bandit. At the end of the day, what matters is building useful software for our users regardless of how many petty annoyances are thrown in our way on the road there.


 

I mentioned recently that my new kick is storage platforms for Internet-scale services. Sometimes it's hard to describe the problems that large scale services have with modern relational databases. Thankfully, I now have the post I want a big, virtual database by Greg Linden to crib a simple 1 sentence description of the problem and solution. Greg writes

In my previous story about Amazon, I talked about a problem with an Oracle database.

You know, eight years later, I still don't see what I really want from a database. Hot standbys and replication remain the state of the art.

What I want is a robust, high performance virtual relational database that runs transparently over a cluster, nodes dropping in an out of service at will, read-write replication and data migration all done automatically.

I want to be able to install a database on a server cloud and use it like it was all running on one machine.

It's interesting how your database problems change when you're thinking about hundreds of transactions a second over terabytes of data belonging to hundreds of millions of users.You might also be interested in Greg's post on Google's BigTable.

PS: If building large scale services relied on by hundreds of millions of people to communicate with their friends and family sounds interesting to you, we're still hiring for test, developer and PM positions.
 

Categories: Web Development

In his post Exploring Live Clipboard Jon Udell posts a screencast he made about LiveClipboard. He writes

I've been experimenting with microformats since before they were called that, and I'm completely jazzed about Live Clipboard. In this screencast I'll walk you through examples of Live Clipboard in use, show how the hCalendar payload is wrapped, grab hCalendar data from Upcoming and Eventful, convert it to iCalendar format for insertion into a calendar program, inject it natively into Live Clipboard, and look at Upcoming and Eventful APIs side-by-side.

All this leads up to a question: How can I copy an event from one of these services and paste it into another? My conclusion is that adopting Live Clipboard and microformats will be necessary but not sufficient. We'll also need a way to agree that, for example, this venue is the same as that venue. At the end, I float an idea about how we might work toward such agreements.

The problem that Jon Udell describes is a classic problem when dealing with mapping data from different domains. I posted about this a few months ago in my post Metadata Quality and Mapping Between Domain Languages where I wrote

The problem Stefano has pointed out is that just being able to say that two items are semantically identical (i.e. an artist field in dataset A is the same as the 'band name' field in dataset B) doesn't mean you won't have to do some syntactic mapping as well (i.e. alter artist names of the form "ArtistName, The" to "The ArtistName") if you want an accurate mapping.

This is the big problem with data mapping. In Jon's example, the location is called Colonial Theater in Upcoming and Colonial Theater (New Hampshire) in Eventful. In Eventful it has a street address while in Upcoming only the street name is provided. Little differences like these are what makes data mapping a hard problem. Jon's solution is for the community to come up with global identifiers for venues as tags (e.g. Colonial_Theater_NH_03431) instead of waiting for technologists to come up with a solution. That's good advice because there really isn't a good technological solution for this problem. Even RDF/Semantic Web junkies like Danny Ayers in posts like Live clipboard and identifying things start with assumptions like every venue has a unique identifier which is it's URI. Of course this ignores the fact that coming up with a global, unique identification scheme for the Web is the problem in the first case. The problem with Jon's approach is the same one that is pointed out in almost every critique of folksonomies, people won't use the same tags for the same concept. Jon might useColonial_Theater_NH_03431 while I use Colonial_Theater_95_Maine_Street_NH_03431 which leaves us with the same problem of inconsistent identifiers being used for the same venue. 

I assume that for the near future we continue seeing custom code being written to make data integration across domains work. Unfortunately, no developments on the horizon look promising in making this problem go away.

PS: Ray Ozzie has a post on some of the recent developments in the world of Live Clipboard in his post Wiring Progress, check it out.


 

Categories: Technology | Web Development