So much for testing

| 3 Comments
My category-based RSS feeds stopped feeding through to Testing Reflections and Test Driven a couple of weeks ago. They had worked fine, and then they just stopped. I assumed that the problem was at their end; either they didn't think much of my testing posts or their feed polling software had some weirdness in it... But you know what assume does...

I'd got it into my head that because the feeds used to work and now they didn't, and that I hadn't changed anything at my end, the problem must be the consumers... Wrong... My feed had crap in it because I don't really understand how the MT templates work, I'd been sloppy and I hadn't bothered to test the feed apart from running it through my aggregator and eyeballing it in IE.

Since, as far as I can remember, I didn't change anything, and it worked to start with, I'm guessing that the consuming sites changed something and the change made the consumer less accommodating of my failure to adhere to the specification... I guess I could blame Postel for his comments on network protocol design; "Be liberal in what you accept, and conservative in what you send"...

Assuming, for a moment, that I'm correct in my guess about the reason for the sudden failure and that the original consumer was happy to be liberal in what it accepted from me; i.e. it recovered from the errors in my feed and managed to work out what I meant to say, but the upgraded consumer was less liberal and therefore it began to reject feeds that had previously accepted. If that's the case then my gut feeling is that being liberal in what you accept is pants. Yet again, short term happiness wins out over long term stability...

In a world where there are 1000 providers but 400 of them don't quite provide the correct format of data it can be tempting to be liberal in what you accept so that you can deal with all 1000 of them rather than just the 600 conforming providers. I'd argue that this is the wrong approach and that it's likely to lead to more work on your end of the contract. Since you decide to accept 400 broken implementations as if they're correct what happens when the 401st broken implementation comes along that's broken in a slightly different way to the other 400? To be equally accommodating you might need to adjust your implementation to allow the new provider to interoperate with you, after all, why is this broken implementation any less valid than the other 400 that you already allow? Of course if all of your competitors allow broken interop then there may be a business reason to be liberal, but...

If you were strict in your interpretation of the original specification then you'd initially only be able to interop with 600 out of the 400. If the 400 wanted to be able to work with you then they'd have to fix their non-conformant implementations. If every consumer was conformant then all providers would be forced to be conformant... Win-Win as the business boys like to say...


I know it's not always possible, but, personally, I think it's better to be strict in what you accept... Pain now, when you can control it, rather than pain later, when you cant.

Bill Veners has some interesting discussion on this, "Sloppy and Forgiving versus Strict Systems".

3 Comments

For anyone that doesn't know... I run testingReflections
...

I can safely say that I very much want Len's content aggregated in the site. There have been a few other feeds that are also causing a similar error which appears in my log as:

"failed to parse RSS feed : not well-formed (invalid token) at line 1."

Strangely, I haven't actually made any changes to the site in the last 2 months... Len's site stopped updating just over 5 weeks ago.

Read this post for details of those affected

Keep writing Len... we will get your content back in at some point... I need to set aside some time to investigate on my end too... so that I can either fix the issue or contact the affected people and tell them what they need to change in their feeds.

Antony

The title of this post referred to my lack of testing, not yours ;)

And, I've now fixed the problem, I hope...

I ran the feed through http://feedvalidator.org and it seems that the fact that there was a wierd character in one of the entries meant that the feed was in one character encoding whilst the server reported that it used another - and that, according to the validator, made the feed invalid. The character was a 'wacky version' of ' in the Tests as tours entry. I'd obviously cut the text into word to spell check and then pasted back a version with a wierdness in it...

So, now the feed didn't validat, it does now. Let's hope that fixes the problem...

Looks like it has - nice one!

Although I now have some work to do to put your entries into testingReflections categories... but it will be worth it :-)

I know what you were getting at in your post - but I just wanted to publicly say - I like your articles and wanted them in testingReflections... that's why I wrote the comment...

I will be advising others who's feeds aren't working to take a look at your article...

Keep on blogging!

Leave a comment