There have been a number of events over the past week that have gotten me thinking about XML Web Services and how the technologies have been handicapped by the complexities of the W3C's XML Schema Definition Language (XSD) and Microsoft & IBM's Web Service Definition Language (WSDL). The events that brought this issue to mind have been

  • Contributing to Mike Champion's efforts in putting together Microsoft's submission to the W3C Workshop on XML Schema 1.0 User Experiences and having to revisit the various interoperability problems caused by the complexity of XSD.

  • A recent paper by Steve Loughran and Edmund Smith entitled Rethinking the Java SOAP Stack which argues that since the complexity of Object<->XML mapping based on XSD/WSDL is too difficult that Java SOAP toolkits should simply work with XML directly instead of doing data binding of XML to objects.

  • A recent post by Steve Maine, who works on the XML Web Services team at Microsoft, entitled Travelling through hyperspace where in response to the various arguments about the complexities of XSD and WSDL he states "WSDL, XSD, and SOAP are facts of life in the web services world"

  • The W3C's creation of the public-web-http-desc@w3.org mailing list to discuss the creation of a web services description format (i.e. a WSDL replacement) for RESTful web services

These are definitely interesting times for XML Web Services. The complexity of the technologies that form the foundations of SOA is now pretty much acknowledged across the industry. At the same time more and more people are taking the idea of building web services using REST very seriously. I suspect that there might be an opportunity here for Microsoft to miss the boat if we aren't careful. 


 

Categories: XML Web Services

May 24, 2005
@ 05:28 PM

Paul Thurrott has an interesting series of articles about MSN's past, present and future. In some ways it could be called How MSN Got It's Groove. 

    1. Part One: Beginnings
    2. Part Two: Fly, Butterfly
    3. Part Three: Services That Communicate

The article does a good job of capturing a bunch of the changes that have happened in the organization over time as well as offers some hints as to some of our future plans. My favorite part of the article is this excerpt from its conclusion.

When I speak with people from the Windows division at Microsoft about new product releases, there's always an unspoken assumption that I won't see these people again for many months or even years. With MSN, it's sort of a running joke that I'll often be speaking with them just days later. They just have so much going on.

And we have a bunch of stuff planned for this year. The recently announced MSN Virtual Earth is just one of many cool things we'll be shipping this year.


 

Categories: MSN

There is an article on PC World entitled Gates Unveils MSN Virtual Earth which describes upcoming releases from MSN that were recently announced by Bill Gates at a recent event. Excerpts from the article are provided below

Microsoft's MSN division will enhance its search engine in the next couple of weeks by adding a local search index for finding business directory listings. Later, the company will supplement this with MSN Virtual Earth, a free new service that will pinpoint places in maps and satellite images.   Local search is a gaping hole in the MSN search engine. All other major search engine providers, including Google, Yahoo, Ask Jeeves, and America Online, have a local search tab on their search Web sites. As part of its local search service, Google also provides maps and satellite images, offering functionality that is similar to what Microsoft is aiming for with MSN Virtual Earth.
...
In addition to complementing MSN's local search index, MSN Virtual Earth will let users overlay maps and satellite photos in order to create hybrid images that combine the best of both mediums, says Stephen Lawler, general manager of Microsoft's MapPoint unit.

MSN Virtual Earth will also be integrated with users' preferred e-mail application and, with a single click, will place links in e-mail messages to maps and images, says Steve Lombardi, a MapPoint program manager. Users will also be able to post images to their MSN Spaces Weblog from within the MSN Virtual Earth interface, Lombardi says.

Users will be encouraged to provide feedback on business directory listings so that the MSN local search service will be able to give users a sense of what a particular area is like, Lawler says.

MSN Virtual Earth uses technology from MapPoint and from Terra Server, a database of satellite images Microsoft has had for about ten years, the officials say.

I was in a meeting with Steve Lombardi and a couple of other folks from the Virtual Earth team a while ago and they definitely have built a compelling product that they are quite passionate about. As mentioned in the article, there are interesting avenues for integration with other MSN properties such as MSN Search and MSN Spaces.

It's great to see the innovation and competition coming out of the online mapping space. 

Update: There is an interview with the Virtual Earth team complete with demos up on Channel 9.


 

Categories: MSN

May 21, 2005
@ 02:35 AM

From Bob Wyman's post Microsoft to support Atom!

Robert Scoble, a Microsoft employee/insider very familiar with Microsoft's plans for syndication, declares in comments on his blog " we are supporting Atom in any aggregator we produce ." Microsoft's example in supporting Atom should be followed by all other aggregator developers in the future and Microsoft should be commended for supporting the adoption of openly defined standards for syndication.

Given that virtually every aggregator in use today and virtually every blog hosting and syndication platform (expect MSN Spaces) already supports both RSS and Atom, it is clear that the heyday for the historical RSS format has passed. RSS is a historical format, Atom represents the future. We don't need two formats -- or twenty... We should consolidate on that format which incorporates the most learning and experience with the syndication problem. That format is Atom V1.0.

I'm surprised that Bob Wyman is crowing at such a non-issue. Supporting both versions of Atom (Atom 0.3 and Atom 1.0) is a must for any information aggregator that wants to be taken seriously. This is all covered in my post from a year and a half ago (damn, has this debate been going on for that long?) entitled Mr. Safe's Guide to the RSS vs. ATOM debate where I wrote

The Safe Syndication Consumer's Perspective
If you plan to consume feeds from a wide variety of sources then one should endeavor to support as many syndication formats as possible. The more formats a feed consumer supports the more content is available for its users.

Based on their current popularity, degree of support and ease of implementation one should consider supporting the major syndication formats in the following order of priority

  1. RSS 0.91/RSS 2.0
  2. RSS 1.0
  3. Atom

RSS 0.91 support is the simplest to implement and most widely supported by websites while Atom is the most difficult to implement being the most complex and will be least supported by websites in the coming years.

The Safe Syndication Producer's Perspective
...
The average user of a news aggregator will not be able to tell the difference between an Atom or RSS feed from their aggregator if it supports both. However users of aggregators that don't support Atom will not be able to subscribe to feeds in that format. In a few years, the differences between RSS and Atom will most likely be the same as those that are different between RSS 1.0 and RSS 0.91/RSS 2.0; only of interest to a handful of XML syndication geeks. Even then the simplest and safest bet would still be to use RSS as a syndication format. This is the same as the fact that even though the W3C has published XHTML 1.0 & XHTML 1.1 and is working on XHTML 2.0, the safest bet to get the widest reach with the least problems is to publish a website in HTML 3.2 or HTML 4.01.

So far this thinking has aligned with the thinking around RSS I have seen at MSN, so it is extremely unlikely that MSN Spaces will do something as disruptive as switching its RSS feeds to Atom feeds or as confusing to end users as providing multiple feeds in different formats.


 

From the RSS feed for the post MSN: RSS Everywhere


 

MSDN just published my article, Fun with IXMLHttpRequest and RSS. The article attempts to illuminate two growing trends; using DHTML & IXMLHttpRequest to build dynamic web applications and the building of interesting applications layered on top of RSS.

In my recent post Ideas for my next Extreme XML column on MSDN, I asked what people would like to see me write about next. Although this topic came second, I felt that it highlighted some interesting disruptive trends that warranted writing about sooner rather than later.

Coincidentally, I checked my favorite RSS reader this morning and find out that our CEO decided to downplay the importance of RSS this morning in favor of XML Web Services in a Q&A on the RSS weblog. I find it interesting that his core argument against RSS is that it is not as complex as XML Web Service technologies. On the flip side, we have Mark Lucovsky who in his post Don Box and Hailstorm argues that the simple technologies and techniques of RSS may succeed in building an ecosystem of applications built on open data access where his attempt with Hailstorm at Microsoft failed. Combining this with the thinking in Adam Bosworth's Web of Data, it seems clear that key people at Google are beginning to understand the power of REST in combination with the flexible nature of RSS.

This all seems like classic Innovator's Dilemma stuff. Thankfully, in this case even though there are lots of people who want us [Microsoft] to bury our heads in the sand when it comes to recognizing these emerging trends, there are also annoying people like me at work who keep preaching this stuff to anybody who is willing to listen.

Will RSS change the world? That's a silly question, it already has.


 

Chris Anderson has been learning Python via Jim Hugunin's excellent IronPython and came to the conclusion that Microsoft has been missing the boat in programming language trends. In his post The Hobbyist and the Script  he writes

Scripting is great for glue code - the same thing that VB1 and 2 used to be great at. VB3 started to get into the serious app development with rich data integration, and VB4 brought us into the 32-bit era, and in a way back to glue code. VB4's embracing ActiveX controls gave VB developers an entirely new place to play. I remember working on an application using a beta of VB5 and writing my "hard core code" in MFC ActiveX controls. After a while I started writing more and more of the code in VB, because it worked and wasn't the bottle neck in anyway for the application.

I think that scripting and many dynamic languages are in the same camp. They are great for small applications and writing glue code. Look at Google Maps, the real processing is on the server, and the client side AJAX is just the glue between the user, the browser, and the backend server. I would argue that something more beefy like Outlook Web Access (a Microsoft AJAX application, writen before AJAX was the name) demonstrates more of the limitations of writing the majority of your client interface in script.

Regardless of the limitations, our singular focus on strongly typed compiled languages has blinded us to the amazing productivity and approachability of dynamic scripting langauges like Python and Ruby. I'm super excited that we are changing this. Hiring Jim Hugunin is a great start. I hope we continue this, and really look to add a strong dynamic language and scripting story to our developer portfolio.

I've actually been quite upset by how many programming language camps Microsoft has neglected in its blind pursuit of competition with Java and the JVM. Besides the scripting language camps, there are significant customer camps we have neglected as well. We have neglected Visual Basic developers, we gave them a poor replacement in Visual Basic.NET which the market has rejected which can be gleaned by posts such as Chris Sells's pointing out that publishers don't want to VB.NET books and the Classic VB petition. We have neglected DHTML developers who have been building web sites and web applications against Internet Explorer, we don't even have a Javascript IDE let alone a story for people trying to build complex AJAX/DHTML applications like GMail or Google Maps.

The main problem is that Microsoft is good at competing but not good at caring for customers. The focus of the developer division at Microsoft is the .NET Framework and related technologies which is primarily a competitor to Java/JVM and related technologies. However when it comes to areas where there isn't a strong, single competitor that can be focused on (e.g. RAD development, scripting languages, web application development) we tend to flounder and stagnate. Eventually I'm sure customer pressure will get us of our butts, it's just unfortunate that we have to be forced to do these things instead of doing them right the first time around.

On a similar note, thank God for Firefox.


 

The Inside Microsoft blog has an entry where he describes the Syndicate Conference Keynote by Phil Holden of MSN. Phil talks about MSN Spaces and the various things we are doing on Start.com. Excerpts from the post are below

Next, Phil shows off MSN Spaces, which is very consumer oriented and easy to set up. He says, "The product is clearly not for everyone". It is very much targeted to the Friends/Friends market. The conducted a survey to see what people thought Spaces did well. Number one was sharing photos, while in last place was staying up to date on hot topics.

He shows how many people use MSN Spaces. In December, it was one million. In January, 2; February, 3.5; and March, 4. However, since Messenger 7 went live and Spaces left beta, Spaces exploded, going up to 10 million Spaces at the end of April. Wow. They are adding 100,000 Spaces a day.

Moving on, Phil gets into notifications. He mentions "gleaming", where Microsoft leverages Messenger to notify people that their friends have updated their Space. Clicking on a person reveals their contact card, and that can take you to the blog. This is the single-source personal notification system.

Phil shows how a less personal, single-source public contact notification occurs, through MSN Alerts. This is what they acquired MessageCast for last week. It will work to notify people of updated blogs.

The multiple-sourse public notification is through MSN's "What's Your Story" page, which highlights the most interesting Spaces.

Then he introduces Kyle Von Haden, program manger of Global Site & Develoment at MSN, who shows off Start.com/1/, which is to be the multiple-source personal notification system, or RSS reader. He explains how they have been silently releasing and updating stuff on Start.com, with no publicity for the time being. Start.com can be a superfast loading home page. The whole thing is built in Ajax, so they can change the page without refreshing. They plan to add sections that suggest feeds that a person's friends like. The focus is making it easy, simple, fast, and with no learning curve.

Then he shows off something new, what will be next: Start.com/3/, a much richer interface, with folders, logos, custom pages. You can add custom feeds, like weather feeds. It looks very, very impressive.
...
Phil says one good idea would be to build RSS readers into existing applications, making it easier for users to adopt and use. Challenges exist in making it easier for users to understand what's going on, so they don't just get confused by little orange boxes. Industry challenges exist from different formats and authentication for private content.

Kyle gets back up and shows off the next thing from MSN: a (currently alpha) screensaver that uses RSS to show recent news, much like Apple's Tiger has, but much cleaner looking. Its very easy to add any feed, especially easy for Spaces. You can subscribe to image feeds and have those feeds supply the photos on the screen, as well as showing blog entries and news articles. The product didn't work perfectly yet, but seeing the photos full-screen with other articles in the corner looked very useful.

Phil wraps thing off with some goals, including serving multiple segments of consumers, new ways of getting content (like the screensaver), and strategies to let the public know how useful syndication can be.

A great presentation. MSN clearly gets RSS better than most, and they've got some very interesting stuff coming down the pike.

A few weeks ago I was chatting with Steve Rider about a feature I'd like to see on http://www.start.com/2 which I thought would be rather cool. Yesterday I got a demo of the next version of the site from Scott Isaacs, and not only was my idea implemented but the implementation was a lot better than what I requested. Excellent!!

Now I can't wait for the next version to ship.  


 

Categories: MSN

 From the Business Week article, The World According to Ballmer

Clearly alluding to Microsoft's key Internet search rival, Ballmer said: "The hottest company right now -- the one nobody thinks can do any wrong -- may just be a one-hit wonder."

Actually Google is already at least a two hit wonder; AdSense/Adwords and the Google search engine. Given that revenues from AdSense are growing to match those from the Google website, it seems inevitable that in a few years it'll be more important to Google that they are the #1 ad provider on the Web not whether they are the #1 search engine.

 

 


 

A few years ago I used to participate in an online community called Kuro5hin which was founded by Rusty Foster. K5, as we affectionately called it, eventually became a haven for people trying to escape from the ills of Slashdot. There were several problems with Slashdot that folks like Rusty and Karsten Self planned to fix with K5. These included
  • Lack of democracy in selecting stories
  • Moderation system that encouraged group think and punished not toeing the party line
  • Visible karma score which encouraged treating participating in the community as a game

The solution was to allow all users to create stories, vote on the stories and to rate comments. There were a couple of other features that distinguished the K5 community such as diaries but the democratic aspect around choosing what was valuable content was key. K5 was a grand experiment to see if one could build a better Slashdot and for a while it worked.  For a while, it worked fairly well although the cracks had already begun to show within the first year. A lot of the spirit of the first year of the site can be gleaned from the post K5, A One Year Retrospective.

Now five years later, I still read Slashdot every day but only check K5 out every couple of months out of morbid curiosity. The democracy of K5 caused two things to happen that tended to drive away the original audience. The first was that the focus of the site ended up not being about technology mainly because it is harder for people to write technology articles than write about everyday topics that are nearer and dearer to their hearts. Another was that there was a steady influx of malicious users who eventually drove away a significant proportion of K5's original community, many of whom migrated to HuSi.  This issue is lamented all the time on K5 in comments such as an exercise for rusty and the editors. and You don't understand the nature of what happened.

Besides the malicious users one of the other interesting problems we had on K5 was that the number of people who actually did things like rate comments was very small relative to the number of users on the site. Anytime proposals came up for ways to fix these issues, there would often be someone who disregarded the idea by stating that we were "seeking a technical solution to a social problem". This interaction between technology and social behavior was the first time I really thought about social software.

Fast forward a few years to earlier this week. I wrote a blog post entitled When did Blogrolls Become Evil? which started an interesting dialog in the comments which I've been thinking about for a few days. Below are excerpts from my post and its comments which got me thinking

Dare Obasanjo:  I was going to write a lengthy counterargument to the various posts by Shelley Powers about blogrolls then wondered whether the reason I even cared about this was that her writing had convinced Uche Ogbuji to drop me from his blogroll? Wouldn't I then be justifying some of the arguments against blogrolls? It's all so confusing...

While I'm still trying to figure this out, you should read Shelley's original post, Steve Levy, Dave Sifry, and NZ Bear: You are Hurting Us and see whether you think the arguments against blogrolls are as wrong as I think they are.

Kingsley Idehen: Anyway, Shelley raises a really important issue which actually highlights what is more than likely a flaw in the concept of blogrolls. I certainly saw you vanish from Uche's blogroll, and I was really curious about the underlying algorithm that lead to this (I suspected that Uche wouldn't have done this by hand :-) ).

Blogrolls are static and to some degree completely ambiguous, what are they really? My published blogroll is at most .01% or lower of the total blogs that I subscribe to, and actualy read with varying degrees of frequency

Dare Obasanjo: There is a social and technological aspect to blogrolls. The fact that to some degree a blogroll is a way for people to indicate what community they belong to and/or share links to people they find interesting, it is social. Whether the blogroll is static or dynamically updated is an implementation detail that is wholly technological.

The fact that Technorati uses blogroll links as part of their mechanism for calculating 'authority' is quite broken from my perspective and too easily gamed. Just a few short months ago they had to scramble because they were counting the various links in the 'Updated Spaces' and 'Newly Created Spaces' modules that exist on millions of spaces. We've since used rel=nofollow on these links to prevent other simplistic link calculators from being similarly confused.

Going back to social aspect of blogrolls, I liked the fact that one could go to Uche's blog and find links to other Nigerians who were doing interesting things in the technology industry. I don't think the fact that Technorati would use that link to count one more point of 'authority' to our URLs is any reason to stop doing this. We shouldn't change social behavior due to design flaws in software.

As for blogrolls being static or dynamic, to me this is just an implementation detail and where there is a will there is a way.

Uche Ogbuji:Kingsley,

I've learned an important lesson from the fact that both you and Dare noticed that he went missing from the Copia blogroll. We hacked at the blogroll in a bit of a careless manner and that was wrong. We always planned to go back and fix things as we clarified what those links actually meant, but things got in the way, and the result looked worse than the intention.

Dare,

Good points.

"I liked the fact that one could go to Uche's blog and find links to other Nigerians who were doing interesting things in the technology industry."

Very important note. I think it's very fair for such a dispersed group as we are to have these sorts of mini-hubs.

"The fact that Technorati uses blogroll links as part of their mechanism for calculating 'authority' is quite broken from my perspective and too easily gamed."

Yikes! That is friggin' broken, and perhaps helps explain some of the sensitivity of this issue when Shelley took it on.

Blogrolls are definitely a social construct as are popularity lists. However how they are generated and calculated often boils down to a technology issue. This overlap between technology and social behavior is what I find so interesting about social software.

We face a lot of the issues surrounding the overlap between technology and social behavior everyday at work as we build software that millions of people use to communicate with each other. We regularly have to answer questions like how to deal with rejection in instant messenger invitation scenarios (Joe asks Jess to be his IM buddy but she declines), how to deal with people impersonating other users in blog comments, and whether it is a good idea to let people have access to the blogs of their IM buddies in two clicks.

I had assumed that the renewed interest in social software in recent years would create an environment where discourse about the overlap between technology and social behavior would become more commonplace. However I haven't found good communities or blogs where this discourse abounds. I recently unsubscribed from the Many-to-Many weblog because I got tired of reading Clay Shirky raving about how tagging/folksonomies are the second coming, David Weinberger and Ross Mayfield's verbose yet obvious observations on the state of the art in social software, and Danah Boyd's inane prattling. I also subscribed to the blogs of various members of the Social Computing Group at Microsoft Research but not only do they post infrequently there's also the fact that most of them just got re-orged into the Windows division to work on Longhorn.

Any pointers to other communities on social software or even just interesting research papers would be much appreciated. Holla back!


 

Categories: Social Software