Xiven has now fixed the error that I mentioned earlier today (love this funky weblog thing), and I’m now working on stopping Epistula’s pingBack implementation from treating an XML-RPC error as a fatal one. I think we need a couple of error codes for that, actually. One to complain of a malformed packet (Which /should/ be a fatal error for pB, since it means my packet generation is screwed) and other to complain of a client error. Currently Hixie’s front page responds with an XML-RPC error if I pingBack it, which causes Epistula to think it’s mucking things up and kill the script (My own feelings on this are that if you can’t pingBack to a page, it shouldn’t have an X-Pingback server header, but since it’s possible – and done – I have to work around it (My server responds with an error string (Not an XML-RPC error) if it finds a link that can’t be pingbacked (pingedback? Pingback’d? Damn’ed is the language English for words technological. (Where was I before the endless stream of brackets, can you remember?)))(I thank my director, my agent, and my text editor’s “Find opposing bracket” feature)).

In doing so (in Xiven fixing the link, in case you’ve forgotten), my point has been proven, I think. Xiven’s page was rendered (ahem) totally unrenderable due, not to an error in Xiven’s XHTML, nor even in the WMS that’s behind it, but in the module it uses to generate the original page, over which he has no direct control. In order to remain XHTML compliant, functionally had to be removed from the site. I find this ludicrous. Whether this is XHTML’s fault for specifying that all documents MUST BE well-formed XML, or Mozilla’s over-enthusiastic XML debugging (It can cope with the code when it thinks it’s HTML, but tell it it’s something different, and it gives up entirely) (This, I may need not point out, should at least be configurable in the way that IE’s Javascript debugging is).

I belive in degradation. That is, if you read this site in Mozilla 1.2, it’s perfect. In IE6 it’s slow, but readable, in every version of IE and Netscape down to v2 it’s readable (And below that it’s only because of the virtual hosting of the server. It’s even readable on the travesty of technology that is Pocket IE (PIE ships on all WinCE devices, it has the HTML rendering & CSS ability of IE3, the scripting of IE4, and the XML parsing of IE5. Dreadful doesn’t cover it)). It does this with *no* server or client side scripting. It degrades, and uses the features your browser can provide. The point is not “Woo! I’m $foo compliant!” because I don’t care. The point is that I want this to work in as many browsers as possible without either serving special versions of pages up, or using HTML while conforming to all the standards that I can.

I can’t do that with text/xml, text/xhtml or anything more than I’m using now. XHTML1 may come in the future (Still served as text/html, because of the above), but right now I’m sticking where I am.

I’m now going to start running, before the twin evils of the parenthesis police and the Markup Police shout at me.