November 18, 2004
@ 07:12 PM

My XML 2004 talk, Designing XML Formats: Versioning vs. Extensibility, went over well yesterday. Lots of interesting questions were asked during the Q&A session for my talk and the following talk by Dave Orchard, Achieving Distributed Extensibility and Versioning.

One issue that came up during the discussions after our talk was the cost/benefit of using a mustUnderstand construct in an XML format similar to the SOAP mustUnderstand attribute. The primary benefit of the having such a construct is that it enables third parties to create mandatory extensions to an XML format. However there a number of costs to having such a construct

  1. Entire Element or Document Must Be Read: A processor that just wants to extract a subset of the data in the document still has to parse the entire document and see if there are any mustUnderstand constructs before it can process the document. This increases the cost of processing instances of the format.
  2. Ambiguity as to what is Meant by 'Understand': The concept of what it means to "understand" an XML vocabulary is context specific. For example, should a stylesheet that pretty prints an XML document fail because the format contains a mustUnderstand construct that is not explicitly handled by the stylesheet? A mustUnderstand construct is particularly limiting since it forces all consumers to fail even though there may be some consumers that can still use the format even if they don't explicitly understand certain elements or attribute in the document.
  3. Causes Confusion for Intermediaries: In certain cases, a format may be processed by an intermediary on the way to the client from the server. For example, HTTP requests often pass through proxy servers and there are also web-based aggregators of RSS/Atom feeds such as Feedster & PubSub which can then be subscribed to by other aggregators. In such cases, it is ambiguous whether intermediaries are expected to fail if a construct which isn't explicitly handled is labelled as mustUnderstand or whether they are expected to pass it on with that label to third party aggregators. In fact certain formats thus have separate mustUnderstand constructs for hop-to-hop versus end-to-end transmission.

From my perspective, the cost of having a mustUnderstand construct is often not worth the benefits provided. This wasn't explicitly in my talk but is a conclusion I came to recently which I expanded upon during the Q&A session.


 

Categories: XML

November 17, 2004
@ 01:13 PM

Recently I've been having the same problems with my iPod that Omar Shahine described in his post PlaysForSure

So, here is the landscape today. I have an iPod, it's beautiful, small, light and has a great out of box experience. I plug it into a Mac or a PC with iTunes installed and the rest is mostly magic. iTunes can automatically communicate with the iPod, sync all my music over firewire and charge the device at the same time. However, my iPod seems to think that after hours and hours of charging the battery is half full. As you use it though the battery meter increases before it decreases. If I leave the iPod sitting for a few days, via osmosis or some process, the battery drains. So most of the time when I want to use it, I can't cause it's dead. It also won't even last for a complete transatlantic flight.

I love my iPod but this is beginning to get old. It looks like it's time I replaced my battery, at least the price seems to be only about $30.00. Anyone out there have any experience with replacing their iPod battery?


 

Categories: Ramblings

November 16, 2004
@ 06:56 AM

I picked up a copy of Halo 2 from the Microsoft company store last week. It's definitely a great game but nothing revolutionary. It's the original Halo with more guns where you also get to play as one of the Covenant in campaign mode. The graphics are excellent, the sound is great and the gameplay is about the same. The outdoor levels where you ride around on a Warthog are just as cool as before and the treks around the mazes in the indoor levels also tend to get just as repetitive as before. The game truly shines in multiplayer mode and may be the incentive for me finally setting up XBox Live at home given that the kit has been sitting on my cofee table for about half a year.

I also picked up the AudioVox SMT 5600 last week. I've wanted a Windows Smartphone for months because I'd gotten to the point where having access to my Outlook inbox and calendar on the go was becoming more and more necessary. I picked the AudioVox 5600 based on some favorable comments from Robert Scoble which were echoed by someone from the MSN Messenger team during an impromptu cross team meeting. I totally love the phone and take back all the snide comments I used to make about folks like Russell Beattie who are always singing the praises of mobile phones that do more than make voice calls. I even used the camera on my phone today while sight seeing in Washington, DC. However, unlike Scoble and my new boss I don't see this phone or anything like it replacing my iPod anytime soon.

That's two Microsoft-related personal purchases that I'd heartily recommend to a friend. Excellent.


 

I checked in the basic infrastructure for adding support for deleting items in RSS Bandit this weekend and Torsten made a first pass at the UI. The screenshot below shows the feature as currently checked into CVS. The main pieces left are to ensure that this works smoothly with synchronization so that if I sync from home my work instance of RSS Bandit knows which items I deleted while at home.


 

Categories: RSS Bandit

This morning I tried out the MSN Search Beta and was suitably impressed. There were some availability issues last night which led some to proclaim the new MSN search: an unmitigated disaster. However today things are running fine.

I tried the following queries on both services and got some interesting results

  1. "dare obasanjo"

    Google Result Description
    http://www.25hoursaday.com/weblog/ My current personal weblog
    http://www.kuro5hin.org/user/Carnage4Life/diary My former personal weblog
    http://blogs.msdn.com/dareobasanjo My current work-related weblog
    http://www.xml.com/pub/au/142 My author page on XML.com
    http://msdn.microsoft.com/library/en-us/dnexxml/html/xml01202003.asp The most popular article from my Extreme XML column on MSDN

    MSN Search (beta) Result Description
    http://www.25hoursaday.com/weblog/ My current personal weblog
    http://blogs.msdn.com/dareobasanjo My current work-related weblog
    http://www.xml.com/pub/au/142 My author page on XML.com
    http://www.rssbandit.org/ow.asp?DareObasanjo My personal page on the RSS Bandit wiki
    http://www.afriguru.com/2004/dare-obasanjo.html A blog post that refers to me as a Nigerian XML expert

  2. "rss bandit" OR rssbandit

    Google Result Description
    http://www.rssbandit.org/ The RSS Bandit webpage
    http://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=cb8d3173-9f65-46fe-bf17-122e3703bb00 The former RSS Bandit project page on GotDotNet Workspaces
    http://sourceforge.net/projects/rssbandit The current RSS Bandit project page on SourceForge
    http://www.kuro5hin.org/story/2003/5/16/135349/207 A post in my former blog about RSS Bandit
    http://weblogs.asp.net/rosherove/archive/2004/01/04/47392.aspx A review of RSS Bandit by Roy Osherove

    MSN Search (beta) Result Description
    http://www.rssbandit.org/ The RSS Bandit webpage
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml02172003.asp The first article I wrote about RSS Bandit on MSDN
    http://www.marketingwithrss.com/rss-bandit-or-rssbandit/ SPAM
    http://www.25hoursaday.com/weblog/CategoryView.aspx?category=RSS%20Bandit Posts from the RSS Bandit category of my current weblog
    http://directory.google.com/Top/Reference/Libraries/Library_and_Information_Science/Technical_Services/Cataloguing/Metadata/RDF/Applications/RSS/News_Readers/ A catalog of RSS readers

The results from MSN Search were pertinent and in some cases moreso than the Google ones. Although MSN Search did allow a spam entry to make it into the top 5 results it also returned a link to all the RSS Bandit related posts on my blog which Google didn't pick up. Well, it doesn't look so inconceivable anymore that Microsoft will give Google a run for their money.

Then just wait until you see launch version of MSN Spaces and compare it to Blogger (although I'd prefer comparisons to LiveJournal or TypePad). The next few years are going to be fun.


 

Categories: MSN

November 11, 2004
@ 03:54 PM

Yesterday I literally stopped being the face of XML at Microsoft. From now on if you go to http://www.microsoft.com/xml or http://msdn.microsoft.com/xml you won't see my work blog or my picture welcoming you to the XML Developer Center at MSDN. It's a particularly bittersweet experience. I fought with MSDN for about a year and a half to get that site launched and for a while I felt that it was my baby. The new owner of the site, Irwin, is a great guy and I'm sure he'll do excellent things with it.

Speaking of transitions, I'm still trying to fit in at MSN. It's interesting going from being extremely knowledgeable about all the technologies I'm responsible for to returning blank stares when asked about some aspect of a spec I now own. Hopefully I'll have some downtime at next week's XML 2004 conference to bone up on the various specs about our backend infrastructure so I don't seem so clueless at the next feature costing meeting. :)

So far the new job's been awesome. Great people and the features I'm working on are killer. Best of all I not only get to deliver features for MSN Spaces but also Hotmail, MSN Messenger and even MyMSN. Of course, this means I attend lots and lots of cross-team meetings. Yay, fun...


 

Categories: Life in the B0rg Cube | MSN

November 10, 2004
@ 06:00 AM

A comment in Slashdot pointed out to me that it's been a day full of good news. On this day we find out that

  1. Halo 2 Released
  2. Firefox 1.0 Released
  3. U.S. Attorney General John Ashcroft Resigns

The last one is spectacularly good news [unless he is nominated as a Supreme Court Justice].


 

I saw The Incredibles this weekend and it was great. The animation was amazing, the story top notch and it had the right ratio of action to humor. This is probably one of the best super hero movies I've ever seen.

Rating: ***** out of *****

 


 

Categories: Movie Review

November 9, 2004
@ 01:28 PM

A recent post entitled Finally, a Use for Atom by Charles Miller got me thinking about the usefulness or lack thereof of the IETF Atom effort. It seems I wasn't the only one who started thinking this given a mail thread started by Tim Bray on the atom-syntax list entitled Posted PaceDeclareVictoryOnFormat where he writes

To: Atom WG <atom-syntax@xxxxxxx>
Subject: Posted PaceDeclareVictoryOnFormat
From: Tim Bray <Tim.Bray@xxxxxxx>
Date: Mon, 08 Nov 2004 14:13:17 -0800

See http://www.intertwingly.net/wiki/pie/PaceDeclareVictoryOnFormat

The world can use Atom, sooner rather than later. The return-on-investment of further WG time invested in polishing something that's already pretty good is starting to be very unattractive. Particularly when the Protocol draft seriously needs work and progress.

Note that this has not been formally placed at the front of the queue yet. -Tim

I posted some comments to the thread that reflect the same opinions from my post Mr. Safe's Guide to the RSS vs. ATOM debate, the relationship between the Atom syndication format and RSS is the same as that of XHTML and HTML; geeks will like it but there's no real concrete reason to use it over the old stuff that already works pretty well for the most part.

However I also reiterated that I think the Atom API is a worthwhile addition to the world of blogging technologies. I listed the problems with the current crop of blog posting APIs such as the Blogger API and MetaWeblog API in my post What's Wrong with the MetaWeblog API? from a year and a half ago

Security: The MetaWeblog API has no concept of security. Passwords are sent in plaintext as parameters to XML-RPC functions (i.e. they are sent in plain text on the wire as part of the XML message).

Strongly Coupled To XML-RPC: RSS and Joe Gregorio's CommentAPI have shown that one can build applications that retrieve and send XML documents from client to server directly using HTTP GET and POST instead of going through an added layer of indirection by using exlicit RPC mechanisms.
...
I also believe that there should be the API should not just be tied to XML-RPC but should have interfaces that utilize the XML Web Services family of technologies like SOAP and WSDL not just XML-RPC. There are many products and toolkits that support SOAP/WSDL/etc plus more are being built every day. It makes little sense to me that almost everywhere else in the software industry people are either exchanging XML documents using RESTian principles (i.e. HTTP GET and POST) or the XML Web Services family of technologies but when it comes to web content related technologies there is this anachronism where an arbitrarily different methodology is used.

Limited Functionality: The MetaWeblog API only allows one to either post and edit blog entries, fetch information about a specific user or change the website template. This is a drop in the bucket considering all the things one would like to do with a weblog engine which can be supported by the engine.

As time has passed some of my opinions on this matter have mellowed. Security is a big problem and one I don't think can be ignored. The fact that existing APIs depend on XML-RPC instead of more accepted industry practices such as using RESTian principles or SOAP+WSDL isn't that great but it isn't that big a deal. The issue of limited functionality is probably something that has to be lived with since for the API to be widely adopted it has to support a lowest common denominator of features. As long as the API can be extended then the fact that there isn't some functionality in the core isn't that bad.

So for me, the high order bit is security. I can see at least two ways to solve this problem listed in order of least disruptive to most disruptive

  1. Blog editing tools and blog vendors moving towards using XML-RPC over HTTPS/SSL or at least use digest HTTP authentication instead of HTTP.
  2. Blog editing tools and blog vendors moving towards using the Atom API over HTTPS/SSL or at least use digest HTTP authentication instead of HTTP.

A number of blog hosting services such as Blogger/Google and SixApart have moved towards doing (2) above. However it is unclear to me how much this has been embraced by builders of popular blog editing tools such as BlogJet and w::bloggar. Looking at the list of Atom Enabled client software I only see aggregators listed but not blog editing tools.

So I was curious, are there any major blog editing tools that support the Atom API? If not, do these tools support using the Blogger/MetaWeblog API over HTTPS/SSL? If not, is there any interest in doing the former or the latter any time soon?


 

There was a recent posting on the RSS Bandit bug forum entitled Weblog comments do not appear in listview where the author wrote

I use Wordpress to generate my site feed (http://www.chaoszone.org/index.xml). Wordpress supports wfw:commentRSS, but RSS Bandit is unable to show comments for posts in this feed inside the listview (the way it does for Dare's and other MSDN weblogs). Instead, I have to click through to go to the comments page.

I've since tweaked the basic Wordpress RSS2 generator routine to include slash:comments -- a temp feed is available here: http://www.chaoszone.org/rss-with-slashcomments.xml

Since the element in question is supported by RSS Bandit and I can view comments just fine in any dasBlog or Community Server::Blogs (formerly .TEXT) weblog I assumed this was a bug in WordPress. Eventually I tracked down the problem to an issue of capitalization.

The element in question is called wfw:commentRss in Chris Sells' original specification but incorrectly transcribed as wfw:commentRSS in Joe Gregorio's list of the wfw namespace elements. Since it looks like at least one blog tool uses the latter capitalization the next version of RSS Bandit will support both versions of the element. This means that comments to blog posts on WordPress-based blogs will now show up in the next version of RSS Bandit.


 

Categories: RSS Bandit