I mentioned in a recent post that I was considering writing an article entitled Using Javascript, XMLHttpRequest and RSS to create an MSN Spaces photo album browser. It actually took less work than I thought to build a webpage that allows you to browse the photo albums in a particular person's Space or from a randomly chosen Space. 

I haven't used Javascript in about 5 years but it didn't take much to put the page together thanks mostly to the wealth of information available on the Web.

You can find the page at http://www.25hoursaday.com/spaces/photobrowser.html 

The page requires Javascript and currently only works in Internet Explorer but I'm sure that some intrepid soul could make it work in Firefox in a couple of minutes. If you can, please send me whatever changes are necessary.  


 

Categories: MSN | XML

The current issue of Seattle's favorite free weekly newspaper has an article entitled Microsoft Caves on Gay Rights which describes recent happenings in local politics about how Microsoft apparent withdrawal of support for a state bill that would prevent discrimination against gays and lesbians may have been key in preventing the law from passing.

I've tried to write down my feelings about the issue several times over the past few days but words have escaped me. In the meantime you should read some posts from others at Microsoft who've done a better job a capturing their disappointment with our employer than I seem able.

  1. Robert Scoble: Steve Ballmer's memo posted, my reply
  2. Cyrus Najmabadi: Gay Rights (part 2)
  3. Adam Barr: Microsoft and the Anti-Discrimination Bill

I also strongly disagree with Vic Gundotra's post in his response Responding to Scoble. Corporations should not be amoral entities that only exist to generate money. They employee members of a community, they exist as part of community and their actions affect both local and global communities. Sometimes the greatest sins are acts of omission instead of commission.

I hope this feeling of disappointment will soon pass.


 

Categories: Life in the B0rg Cube

Every once in a while I see articles like Aaron Skonnard's Contract-First Service Development which make me shake my head in sorrow. His intentions are good but quite often advising people to design their XML Web services starting from an XSD/WSDL file instead of a more restricted model leads to more problems than what some have labelled the "code-first" approach.

For example, take this recent post to the XML-DEV mailing list entitled incompatible uses of XML Schema

I just got a call from a bespoke client (the XML guru in a large bank)
asking whether I knew of any XML Schema refactoring tools.

His problem is that one of their systems (from a big company)
does not handle recursive elements.  Another one of their
systems (from another big company) does not handle substitution
groups (or, at least, dynamic use of xsi:type.) Another of their
systems (from a third big company) does not handle wildcards.
(Some departments also used another tool that generated ambiguous
schemas.)

This is causing them a major headache: they are having to
refactor 7,000 element schemas by hand to munge them into
forms suited for each system.

Their schema-centricism has basically stuffed up the ready
interoperability they thought they were buying into with XML,
on a practical level. This is obviously a trap: moving to a
services-oriented architecture means that the providers can
say "we provide XML with a schema" and the pointy-headed bosses
can say "you service-user: this tool accepts XML with a schema
so you must use that!" and the service-user has little recourse.

This is one of the problems of contract first development that many of the consultants, vendors and pundits who are extolling its virtues fail to mention. A core fact of building XML Web services that use WSDL/XSD as the contract is that most people will use object<->XML mapping technologies to either create or consume the web services. However there are fundamental impedance mismatches between the W3C XML Schema Definition (XSD) Language and objects in a traditional object oriented programming language that ensure that these mappings will be problematic. I have written about these impedance mismatches several times over the past few years including posts such as The Impedence Mismatch between W3C XML Schema and the CLR.

Every XML Web Service toolkit that consumes WSDL/XSD and generates objects has different parts of the XSD spec that they either fail to handle or handle inadequately. Many of the folks encouraging contract first development are refusing to acknowledge that if developers  build schemas by hand for use in XML Web Services, it is likely they will end up using capabilities of XSD that are not supported by one or more of their consuming applications. The post from XML-DEV is just one example of this happening. When I was the program manager for XML Schema technologies in the .NET Framework I regularly had to help customers who had to deal with the interoperability problems they encountered because they'd read some article extolling the virtues of schema first design which failed to acknowledge the realities of the XML Web Service landscape.

From my experience "contract first" design is actually more likely to lead to interoperability problems than "code first" design. The only time this isn't the case is when the schema designer actually pays attention to use a minimal subset of XSD as opposed to using its full capabilities. This is one of the reasons I have tried to provide some guidance on what XSD features to avoid in my XML Schema Design guidelines series on XML.com.

However it is far easier to avoid these missteps if one starts from objects instead of XSD/WSDL since the expressiveness of objects is less than that of XSD which automatically means the web service contracts are less complicated. I remember getting this insight from Don Box and Doug Purdy a couple of months ago and rejecting it at the time since it seemed anti-XML but now I realize that it is actually the most practical thing to do.


 

Categories: XML | XML Web Services

Walt Mossberg of the Wall Street Journal recently tried out MSN Spaces and has a review in today's issue. His review Microsoft Service Lets You Create A Nice Blog, But Limits Tweaking contains the following excerpts

If you think that only techies can launch a blog, or Web log, to share their views with friends, family or the whole Internet -- think again. Numerous online services make it dead simple for anyone to create a blog, at no cost, with no technical knowledge whatsoever.
...
Google got a big jump when it bought a service called Blogger (blogger.com). Today, the company hosts an estimated eight million blogs. Yahoo is developing an elaborate service called Yahoo 360 (360.yahoo.com), which offers blogging and other features designed to connect people. It's currently in a test phase, open only by invitation.

Microsoft has just launched its own blogging service, called MSN Spaces (spaces.msn.com). Because it's the newest of the giants' offerings to complete its test phase, I decided to try it out. Microsoft says it already has more than seven million blogs in Spaces, and is adding new ones at a rate of over 100,000 a day.

My verdict: MSN Spaces is very well done. It makes it easy to create a simple, attractive blog with text, links and photos, and to customize the blog in interesting ways

The review was quite favorable which is great news for us because it means we've done a good job at hitting our target demographic. This is awesome given that this is just the first version. 

A number of the criticisms in the article related to limited customizability are things we are aware about and plan to address in future releases. Y'all should nag Karen with your ideas. :)

As for the number of spaces created so far, that isn't a typo. We've added over 2.5 million spaces since it came out of beta two weeks ago. 100,000 new spaces a day is actually a conservative number, we were seeing multiples of that number shortly after launch but I assume our current adoption rate will hover at that number for now.


 

Categories: MSN

I recently stumbled on a post entitled The end of the quest for the perfect RSS reader which made my day. The author wrote

RSS readers have lately been appearing all over the place, however, until recently I wasn’t able to find the perfect one. My needs are not huge. I want a reader which can synchronize feeds and read posts between several PCs, have a useful and selectable notification mechanism so I don’t miss important news, but still don’t get bothered with less important ones, display feeds in a tree without favicons, be robust and fairly fast, provide descent search functionality and saved searches, flag news items for easy follow up and review.

I have tried most of the existing Windows and web based aggregators, and each one had some of these missing. I recently checked the new version of RSS Bandit and my quest for the perfect RSS reader seems to have come to an end. RSS Bandit features all I need and provides even more nice goodies like integrated Feedster and Google searches.

If you are not completely satisfied with your reader, give RSS Bandit a spin. You won’t regret it.

It's really good to see people getting so much use of my favorite RSS reader. Of course, there is still a lot of interesting stuff we'd like to add to make it even better. Check out the roadmap for the Nightcrawler release to see where we plan to go in the next release.

If you currently aren't an RSS Bandit user but would like to try it out, download the latest version from here.


 

Exhibit A: From The Submarine by Paul Graham

PR people fear bloggers for the same reason readers like them. And that means there may be a struggle ahead. As this new kind of writing draws readers away from traditional media, we should be prepared for whatever PR mutates into to compensate. When I think how hard PR firms work to score press hits in the traditional media, I can't imagine they'll work any less hard to feed stories to bloggers, if they can figure out how.

Exhibit B: From My Dinner With Microsoft's Jim Allchin in Thomas Hawk's weblog

Last night I had a unique opportunity to sit down with Jim Allchin, Microsoft’s Group Vice President for Platforms, for dinner along with a group of other bloggers and technologists and discuss the future development of Longhorn as well as see an early demo of the Longhorn technology firsthand.

Exhibit C: From A comment on Slashdot by Thomas Hawk about the dinner

I do feel that there is room in the world of journalism for hard news, op/ed and yes, openly biased writing where the blogger places him or her self as a participant in the news itself.

Was I thrilled to be having dinner with Allchin? Of course. I'm a huge Microsoft enthusiast. I have been an advocate of the digital home for many years and I think that Microsoft may represent our best chance possible of making the digital home of the future a reality.

Was I really enthused about Longhorn? Absolutely. From what I saw it was really was amazing. I spend hundreds of hours every year organizing digital media in front of all five of my Windows PCs. The technology that I saw will save me hundreds of hours of work going forward. This is really exciting to me at a personal level.


 

It looks like I didn't get an Extreme XML column out last month. Work's been hectic but I think I should be able to start on a column by the end of the week and get it done before the end of the month. I have a couple of ideas I'd like to write about but as usual I'm curious as to what folks would be interested in reading about. Below are three article ideas in order of preference. 

  1. Using Javascript, XMLHttpRequest and RSS to create an MSN Spaces photo album browser: The RSS feed for a space on MSN Spaces contains information about the most recent updates to a user's blog, photo album and lists. RSS items containing lists are indicated by using the msn:type element with the value "photoalbum". It is possible to build a photo album browser for various spaces by using a combination of Javascript for dynamic display and XMLHttpRequest for consuming the RSS feed. Of course, my code sample will be nowhere near as cool as the Flickr related tag browser.

  2. Fun with operator overloading and XML: This would be a follow up piece to my Overview of Cω article. This article explores how one could simulate adding XML specific language extensions by overloading various operators on the System.Xml.XmlNode class.

  3. Processing XML in the Real World: 10 Things To Worry About When Processing RSS feeds on the Web: This will be an attempt to distill the various things I've learned over the 2 years I've been working on RSS Bandit. It will cover things like how to properly use the System.Xml.XmlReader class for processing RSS feeds in a streaming fashion, bandwidth saving tips from GZip encoding to sending If-Modified-Since/If-None-Match headers in the request, dealing with proxy servers and authentication.

Which ones would you like to see and/or what is your order of preference?


 

Categories: XML

Lenn Pryor who until quite recently was the Director of Platform Evangelism at Microsoft has left the company for greener pastures. If you don't know of Lenn you should read the notes on Lenn Pryor from Robert Scoble's book blog. Lenn was the guy who came up with Channel 9 and was instrumental in Microsoft hiring Robert Scoble. Particularly interesting is the following description from Robert Scoble's book blog about Lenn's day job

Much of Pryor's job is to serve as a bridge between Scoble and other company elements, such as PR where he has worked to help each to see the other's value and respect each other's turf.

So one might wonder why a guy who was probably been most responsible for the increased corporate transparency at Microsoft would want to leave the company. The answer is in his blog post Goodbye Microsoft, Hello Skype where he writes

I have a lot to say about both companies right now. Microsoft lost me for many reasons, Skype gained me for many reasons. I will let you draw your own conclusions rather than disparage my Microsoft colleagues or over hype my new colleagues and company. I don't believe in writing diatribes and manifestos when moving on from a job so I will spare you the soapboxing. Microsoft has its challenges, we all know what they are, they are more than apparent these days. Skype has its opportunties we all know what they are, who wouldn't like to see the communication and collaboration technologies in their lives get much much smarter and cheaper?

I decided to swap problem sets from one that I am not passionate about any more to one that I AM deeply passionate about. I just couldn't go on being an evangelist for a gospel that I don't believe I can sing. I am returning to focus on what I enjoy most, building amazing things that make people happy, change lives, and make money. In this case Skype was a better place for me to do this and one that shares my core values and beliefs in how the future of both software and business will unfold.

I know lots of people at Microsoft who have voiced the same sentiments that Lenn has. Some like the Mini-Microsoft blogger are anonymous voices in the wilderness begging for change, some like Mark Lucovsky [and Lenn Pryor] leave for other companies that they feel can still make a difference while others have tried to find somewhere at Microsoft that isn't overwhelmed by the current malaise that has smothered main campus. I'd count myself in the latter camp.

At least once a week I want to post a blog entry about how much my job rocks. Unfortunately I haven't found a way to do this that doesn't paint a negative picture of other parts of the company. Our VPs get it and are very open to communication, the product teams have a vision of what they want to build and they want to build it as quickly as possible, and we literally have millions of happy users who are excited about our products. In the places where we are lagging, we have lots of efforts under way to reverse the trend.

I didn't get that feeling when I worked on main campus nor do I see it the few times a month I have to go down there to meet with various folks. However unlike the Mini-Microsoft blogger I don't think Microsoft is Better Off Without Ballmer but I do think something should be done about the company's current funk and it definitely should involve some executive heads rolling.

I hope it doesn't take the stock hitting $10 before some action is taken.


 

Categories: Life in the B0rg Cube

My mom is a journalist so I tend to take the responsibilities of the media very seriously. Unfortunately, I live in the United States where it seems the American media does not. An excellent description of the malaise that has spread across the American media landscape can be found in Laurie Garrett's memo to Newsday colleagues upon her resignation. She wrote

The deterioration we experienced at Newsday was hardly unique. All across America news organizations have been devoured by massive corporations, and allegiance to stockholders, the drive for higher share prices, and push for larger dividend returns trumps everything that the grunts in the newsrooms consider their missions. Long gone are the days of fast-talking, whiskey-swilling Murray Kempton peers eloquently filling columns with daily dish on government scandals, mobsters and police corruption. The sort of in-your-face challenge that the Fourth Estate once posed for politicians has been replaced by mud-slinging, lies and, where it ought not be, timidity. When I started out in journalism the newsrooms were still full of old guys with blue collar backgrounds who got genuinely indignant when the Governor lied or somebody turned off the heat on a poor person's apartment in mid-January. They cussed and yelled their ways through the day, took an occasional sly snort from a bottle in the bottom drawer of their desk and bit into news stories like packs of wild dogs, never letting go until they'd found and told the truth. If they hadn't been reporters most of those guys would have been cops or firefighters. It was just that way.

Now the blue collar has been fully replaced by white ones in America's newsrooms, everybody has college degrees. The "His Girl Friday" romance of the newshound is gone. All too many journalists seem to mistake scandal mongering for tenacious investigation, and far too many aspire to make themselves the story. When I think back to the old fellows who were retiring when I first arrived at Newsday — guys (almost all of them were guys) who had cop brothers and fathers working union jobs — I suspect most of them would be disgusted by what passes today for journalism. Theirs was not a perfect world — too white, too male, seen through a haze of cigarette smoke and Scotch — but it was an honest one rooted in mid-20th Century American working class values.

Honesty and tenacity (and for that matter, the working class) seem to have taken backseats to the sort of "snappy news", sensationalism, scandal-for-the-sake of scandal crap that sells. This is not a uniquely Tribune or even newspaper industry problem: this is true from the Atlanta mixing rooms of CNN to Sulzberger's offices in Times Square. Profits: that's what it's all about now. But you just can't realize annual profit returns of more than 30 percent by methodically laying out the truth in a dignified, accessible manner. And it's damned tough to find that truth every day with a mere skeleton crew of reporters and editors.

This is terrible for democracy. I have been in 47 states of the USA since 9/11, and I can attest to the horrible impact the deterioration of journalism has had on the national psyche. I have found America a place of great and confused fearfulness, in which cynically placed bits of misinformation (e.g. Cheney's, "If John Kerry had been President during the Cold War we would have had thermonuclear war.") fall on ears that absorb all, without filtration or fact-checking. Leading journalists have tried to defend their mission, pointing to the paucity of accurate, edited coverage found in blogs, internet sites, Fox-TV and talk radio. They argue that good old-fashioned newspaper editing is the key to providing America with credible information, forming the basis for wise voting and enlightened governance. But their claims have been undermined by Jayson Blair's blatant fabrications, Judy Miller's bogus weapons of mass destruction coverage, the media's inaccurate and inappropriate convictions of Wen Ho Lee, Richard Jewell and Steven Hatfill, CBS' failure to smell a con job regarding Bush's Texas Air Guard career and, sadly, so on.

What does it mean when even journalists consider comedian John [sic] -- "This is a fake news show, People!" -- Stewart one of the most reliable sources of "news"?

I'm surprised I haven't seen this letter floating around the blogosphere. Then again I don't read political blogs so for all I know this is last month's news. I suggest reading the entire letter, it is quite sobbering.


 

Evan Williams recently met with Jim Allchin and wrote about in his blog post Dinner with Jim Allchin. Evan writes

One of Jim's repeated statements was that he wanted to bring "this stuff" to the masses. I asked for clarification because, in a lot of Microsoft's talk, they speak of RSS and blogging as the same thing. He agreed they weren't the same thing, and it seemed to be RSS he was talking about implementing in a variety of ways throughout Windows (e.g., built-in readers, automatic feed generation from a variety of lists...). While Microsoft does have a blogging tool, that's MSN—not Jim's department.

We discussed, briefly, how cool it would be if Windows had, say, the Atom API built in—and then that, it already would had the Atom API been built on WebDAV. Hmmm...I've heard that before.

It seemed pretty clear to me that it is not in Allchin's edict to create web services that bridge the gap between the desktop and the web—which, to me, seems like the future of computing (not to mention, the real potential power play against Google, et al). His job is to create another Windows. They will make more plumbing for others to plug in such services—and I assume it will be within MSN's edicts to do so. But they didn't do much (nor has anyone else) to take advantage even of the stuff that's in XP (such as Save to Web via WebDAV), to Allchin's dismay, it seemed.

I have seen a lot of interest across Microsoft for bringing RSS to the masses and all of us working on MSN Spaces definitely do want to bring blogging to everyone. There are definitely  cool things coming up in the next year or two.

As to whether MSN takes advantage of the various WebDAV related features of Windows XP? I suggest taking a look at the article on Publishing Web Site Content with Windows XP specifically at the section entitled Publishing to Remote Locations Using WebDAV. Not only do we support the WebDAV functionality in Windows XP in our properties such as MSN Groups but since there are so many Windows XP users out there, we don't dare change it without risking causing a negative user experience for a lot of people.

Guess who has to deal with the WebDAV legacy as part of his day job? :)


 

Categories: Life in the B0rg Cube | MSN