Wellformed RSS and RFC 3023

We’ve announced that the RSS platform in Vista will permit only well-formed XML. Most people are celebrating, but there are some comments that indicate some people may be confused.

To clear things up, this statement is ONLY about well-formed XML. It is NOT a statement about validity, or conformance to any other spec, including any RSS/Atom spec. Per the XML spec, well-formed is a very specific definition. If a document is not well-formed, it is not XML, period. A document can be invalid, yet still be well-formed, but if it’s not well-formed, it is never going to be valid, and is not RSS or Atom either (since it’s not XML).

Sam Ruby (who is not confused)responds positively to the news, and asks “Question: how will IE7 deal with Priorities in the Presence of External Encoding Information?” He’s talking about RFC 3023, which is referenced in appendix F of the XML spec. This is a non-normative reference, and is not a wellformedness constraint (nor a “must”), but it’s worth responding.

The short answer is that we do not implement RFC 3023 currently. The RSS platform uses MSXML (inXML conforming mode)to fetch and parse the data, so the behavior is inherited from MSXML. Since MSXML is used by most products that we ship, it means the platform is consistent. And nearly every other stack in the industry ignores RFC 3023 as well, so it’s not a widely accepted interop point at the moment.

The longer answer is that there are good arguments for having a well-defined standard for handling external encoding information. Without a spec that all of the vendors implement, the matrix of interop for edge cases can be pretty complex. However, I don’t think RFC 3023 in current form is a good starting point. Implementing would break a large chunk of the web, and the spec could easily be modified to be just as useful without breaking so many feeds. No vendor is going to unilaterally adopt RFC 3023, because it would mean their products would croak while their competitors’ continue to work. By the same token, the RSS platform is not going to unilaterally deviate from what MSXML does, because it means you would get behavior inconsistent with the rest of Microsoft products.

So, “well-formed” is a conservative bet, since practically everyone requires it anyway (it’s very, very difficult to read non-WF on Microsoft stack now). Requiring RFC 3023, on the other hand, would be attempting to make a much bigger change to current state of the web, and not likely that the RSS platform alone is in a position to force such a sea change. Such a change would need to be made lockstep across the whole Microsoft platform, and in concert with others in the industry.

A change in URI parsing between IE7 and IE6

As has been reported, IE7 consolidates URI parsing code into a single library. I’ve been playing with this a bit. To IE6, the following 6 URIs are equivalent. To IE7, only 5 of the 6 are the same:

  1. file:/c:/foo bar/x.txt — IE6 Works, IE7 Works
  2. file:/c:/foo%20bar/x.txt — IE6 Works, IE7 Fails
  3. file://c:/foo bar/x.txt — IE6 Works, IE7 Works
  4. file://c:/foo%20bar/x.txt– IE6 Fails, IE7 Fails
  5. file:///c:/foo bar/x.txt– IE6 Works, IE7 Works
  6. file:///c:/foo%20bar/x.txt– IE6 Works, IE7 Works

Since it impacts the single slash file:/, it doesn’t appear to impact http:// URIs.


Update: more on this at http://blogs.msdn.com/freeassociations/archive/2005/05/19/420059.aspx.

Microsoft and ‘Live’

Dave Winer is blogging the ‘Live’ announce in San Francisco, live, as is Dan Farber.

Finished now; here are my notes:

First, I think Bill sets the stage nicely by explaining the age of software on your PC is over. There is an explosion of devices, and the only way to tie them together and give the next wave of features that people want is with software as a service. I don’t feel the discussion of this as a “sea change” is very convincing — as he mentions, this vision is a lot like the 1999 company meeting, and the decks look a lot like many of the .NET decks. Maybe it comes from having worked in Netdocs and MSN and seeing lots of “service-izing” of Windows and Office firsthand, but it doesn’t seem all that new to me.

30 minutes in, I agree with Dave. The demos show some cool functionality of Xbox 360, but haven’t yet driven home the point about services in the back. The Xbox demo seemed to belabor the point “we write cool dashboard stuff so game developers can save money and used shared components” — this is completely tangential to the main point, which isn’t coming across clearly yet.

Intro to Windows Live and Office Live. Vague references to profile, people centered. Mentions that both ad and subscription revenues play. Then mentions that all the interfaces will be open — Windows will use services that anyone else can use.

Ray Ozzie talking about trends. Summarized; the proliferation of devices and contexts leads to lots of seams. What people want is integrated, seamless experiences, more now than ever before. This has got to resonate with people. Examples of ipod/itunes and Xbox as seamless experiences weaving hardware, software, and services. OK, the first part was marketing hype, but Ray has a lot of red meat. The discussion of seams resonates more with people now than it did in 1999, since everyone feels the pain.

Ray mentions auto-update (petabytes per month), SQM, etc. Convincing case that “Internet makes software deploy at lightspeed”, is not the same as saying “Web apps deploy at lightspeed”. He’s framing the discussion as software on the Internet, rather than thin-client DHTML.

Discussing ad revenues. Again, nothing new, but he makes incredibly significant points. First, ads are a growth market, and the technology is nowhere near tapped. Second, it’s not our only source of revenue. Third, ad engine on web pages is just a tiny portion of the possibilities. Companies that serve ads only on web pages, or who are dependent on ad revenues, or who think their technology gives them a competitive edge, should be on notice.

So far, it’s still kind of vague. It’s like, “There is a huge problem/opportunity everyone recognizes, we have a ton of assets that can be brought to bear on this opportunity, and we’re flexible about how we monetize it”. All correct, but people will have LOTS of questions.

Now getting ready to do a preview. Repeats mentions that “Windows Live is completely different from Windows”. Couldn’t they just say, “windows live is to windows as xbox live is to xbox”? Also repeats that all interfaces will be open.

Blake Irving, to do demo. Demo not working, connectivity issues. Ouch! Blake goes on to talk about live.com (audience is connecting just fine; demo box not). Mentions gadgets. Explain that you can add flickr photos, other gadgets. Live.com is basically start.com.

Ray takes over. Discusses need for metadata standards to help advertisers share user behavior? Mentions that RSS is the “unix pipe of the internet” (not a bad analogy, as he explains).

Connectivity is back. Showing demo of live.com. Good demo of integrating e-mail, PC health, information, etc. Demo Kahuna (e-mail). Phishing filter, inline spellcheck, etc. Someone is IMing me, “this is all MSN; where is the integration with Office or Windows?”

Now showing live contacts. This is nice; similar to Plaxo, more seamless. This feature is way overdue; please ship it now. First demo of live sharing folders; a very Groove-like feature. Demo sharing photos with mom; similar to how Max works. Demo of Virtual Earth integrated with search (“Windows Live Local”).

Plug for live favorites, ideas.live.com, microsoftgadgets.com.

Rajesh is demoing Office Live now. This guy has been right at center of MSFT “software as a service” since day one. Demo showing some newer bcentral-type functionality; just shifted to talking about small biz. Now talking about application sharing. 22 business apps that can be integrated into the dash; mentions project list, tracking, contacts.

Now RE3W to demo partner app that uses live platform. Demo not working? OK, have a demo. App is a commercial real estate app that “remixes” multiple other services. Find commercial properties based on VE images, pulling up parcel maps.

Wrapup, Q&A, I’m not blogging this part. Good questions and discussions about how partners make money, how we balance user desire for ad-free with revenue.