How often do you floss?
For me it’s one of those things that I know I should do, but which I don’t actually do nearly as often as I could.
Validating HTML is the same.
We web developers all know we should, but so often don’t.
Is it because we don’t think standards are important? I know this is true for a small minority, but I don’t think this is the reason for most, because I think smart developers and testers understand how having valid code makes life easier for both them and the people using their sites.
Is it just too hard?
When we were migrating Trade Me to .NET we decided we would take the opportunity to improve the quality of the underlying HTML as we touched each page. The intention was to validate all pages using the free tools provided by the W3C.
But, as we quickly discovered, this is no trivial undertaking.
If you have pages which require authentication (either on the server or in the application), or requires a user to post information into a form, it becomes more or less impossible. If the validator can’t reach the page directly you have to save a local copy of the HTML and upload this manually to the validator.
Who has time for that?
Even when you do make the effort the results often confuse more than they help.
Validators are (almost by definition) pedantic, and as a result do a generally poor job of differentiating between things that make a real difference to users and things that, while strictly and correctly identified as errors, are not so critical.
And, there is no easy way to keep track of the errors that exist on a page over time. So, when you’re presented with results it’s difficult to identify those errors which are new or to easily exclude results you’ve seen before.
This is not so bad if you have a page that is normally fully compliant, but a much more common scenario, unfortunately, is working on improving a page that is full of invalid code. In that case it’s a nightmare.
The tools really don’t make it easy.
So, what do we do? Continue on wishing we could be more diligent, but lacking time and tools?
I think we can do better!
A while back I wrote about an idea I had for solving some of these problems.
I was stoked when one of the smartest developers I know put his hand up. Over the last couple of months we’ve been working on turning this idea into a real working tool. And now we have something to show you all…
We’re calling it Wingman.
It’s a Firefox browser plug-in, which automatically sends the exact pages you visit to the server, making it trivial to validate.
And, it’s a website which organises the results, making it easy to identify the errors you’re interested in, and to spot trends so you can fix things as soon as they occur.
Plus, it’s designed to get smarter as more people use it, by aggregating information about what types of errors are commonly ignored across all users.
Today we’re opening up a free invite-only preview of the service, so we can start to see how people might use a tool like this.
If you’d like to have a play please register on the site. We’ll be sending out the first group of invite codes shortly.
I’ll look forward to hearing what you think!