February 1, 2003
@ 11:58 PM
The Über-browser

Dave Hyatt has a blog entry where he complains about needing one app to browse blogs and another to browse websites. He suggests building an Über-browser that combines the abilities of RSS aggregators with that of a web browser. Reading it it seems most Windows based RSS aggregators (e.g. FeedReader, Syndirella, RSS Bandit, etc) already have half the functionality he's asking for.

The other half of the equation being the ability to integrate an RSS aggregator is something I've talked about for a few weeks now and have done the investigation to test the feasibility of such an approach. The main problem I had was what functionality I wanted to provide and what I wanted the UI to look like. I've decided to take my UI cues from Don's XSLT based RSS viewer and a combination of Dave Hyatt's feature list and some that Joshua talked about a few days ago.

These features should take a month or so to get out to people since I have a ton of work to do including a presentation for the MVP Summit, this month's column that describes the current RSS Bandit code base and an article for MSDN on XML Everywhere.

Speaking of RSS Bandit, I've fixed two user complaints already. I added the double click feature ucblockhead asked for and fixed an issue where RSS Bandit failed to import OPML files created by NewsGator. This turned out to be due to an inconsistency in the capitalization of the xml[uU]rl attribute across RSS aggregators. It seems Radio uses xmlUrl while AmphetaDesk uses xmlurl. To make everyone happy RSS Bandit now supports both.


Referrer Log Abuse

I bumped into an online discussion where people rightfully complained about the fact the RSS aggregators abuse the Referrer field in their HTTP request by filling it either with a user-supplied value or a link to a description of the product instead of leaving it blank. I can't stand the fact that people fill my referrer logs with bogus referrer links.

I used to be able to use my referrer logs to track who is linking to my website or articles I've written which always lead to surprises like the fact that quite a few college grad and undergrad classes have an article or two of mine either as recommended or required reading. For the past month my referrer logs have been useless since most of the links there are either useless links to product descriptions for RSS aggregators or links to the blogs of people subscribed to my feed. However today I found out how to fix that by reading the docs for Webalizer and all it took was one addition to webalizer.conf
IgnoreURL       *.xml
Now I no longer see any stats generated by RSS aggregator in my page statistics anymore. Sweet.


God's Own Type System

Considering that my last internship and current day job are heavily involved with the W3C XML Schema Definition Language (aka XSD) I had a number of reasons why I disagreed with Keith calling XSD a type system or even suggesting that people should think of it in that manner. So I started to write them down after dinner on Saturday as part of diary entry but once I got up to ten reasons it sucks problematic areas in the language I realized that such a list would probably be great fodder for an academic paper on using W3C XML Schema as a basis for processing strongly typed XML. I talked to a coupleof smart people at work and they thought such a paper would be worthwhile.

So what started of as a blog post on why XSD is should not be touted as a type system let alone God's chosen one is probably going to evolve into an academic style paper. My main problems now are finding time to write the paper and finding a conference where such a narrowly focused yet technical paper would be appropriate. The XML conferences I know off seem to be rather fluffy affairs that are contain a mix of tutorials and sales pitches. I guess I could spin it in a manner that makes it seem more relevant to databases or object oriented programming which should make it more widely accessible. Hmmmm.

So far I have the following sections mapped out in my head
  • General brokenness inconsistencies or design flaws in the type system.
    • EXAMPLE: The xs:anySimpleType is such a mess. It is the base type of lists and atomic values and derives from itself. This is analogous to System.Object (in C#) or java.lang.Object (in Java) inheriting from itself recursively and being the base type of Object[] or any other array type. Sick.
  • Characteristics of the language that make downstream processing based on schema information difficult.
    • EXAMPLE: Subtyping (i.e. derivation) can either be by restriction or by extension. This means that the instances of a subtype can either contain a subset or a superset of the information of an instance of the supertype. No one I've met can point to any programming language type system that behaves in a similar manner which means there is likely very little experience in how to process items using such a type system in a robust manner
  • Impedence Mismatch Between XSD & OO type systems
    • EXAMPLE: A number of features of W3C XML Schema have no analog in popular Object Oriented Programming languages (namespace based wildcards) or would require additional notions such as Aspect Oriented Programming to be mapped succesfully (simple type restriction facets or identity constraints)
  • Impedence Mismatch Between XSD & relational type systems TENTATIVE
  • Proposed changes to XSD to make it more Suitable as a Basis for a processing model for strongly typed XML The XQuery working group has already done a number of these
  • Proposed features for a language that processes strongly typed XML based on XSD.


#1 T-Shirt I Wish I Had But Don't



Linux Switch Ad

I'm Steve & I'm a Super Villain


Get yourself a News Aggregator and subscribe to my RSSfeed

Disclaimer: The above comments do not represent the thoughts, intentions, plans or strategies of my employer. They are solely my opinion.