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.confIgnoreURL
*.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'tfirstdate.jpg#Linux Switch
AdI'm
Steve & I'm a Super Villain#
Get yourself a
News Aggregator and subscribe to my
RSSfeedDisclaimer:
The above comments do not
represent the thoughts, intentions, plans or
strategies of my employer. They are solely my
opinion.