Microsoft finally gets it

I somehow missed Microsoft’s announcement that (in a complete U-turn from previous announcements) IE8 will support web standards mode by default, and thus any broken sites will have to enable IE7 mode by a meta tag. So finally, IE will cease to be the albatross around the neck of the internet, and developers the world over will at last be able to write standards-compliant sites that work in all major browsers.

I had real trouble believing that MS had convinced so many prominent web standards advocates (here and here) that the previous option was in some way a good thing, when it essentially meant that MS expected 99% of the web to change in order to support the 1% (almost entirely intranets and thus of no public interest) that are so badly written that they couldn’t survive a browser update.

I’m very happy to see this change of heart, which was a really unexpected thing to see from MS. They don’t normally give a stuff about such things, so they fully deserve the adulation that their announcement is getting in the comments. It also vindicates the slagging I gave the authors of those articles promoting the evil meta tag!

So, Thank you Microsoft! I look forward to not having to do anything special for IE – you probably just doubled the world’s web development productivity rate! Who knows – one day IE might be as good as Firefox or Safari…

PHPLondon08 follow-up

I think it was Juliette that was asking me about spam filtering in PHP. I didn’t think that was such a great idea (spamassassin is slow enough!), however, it seems that some others do.

The framework shootout session was very interesting. It was nice to see Toby jumping into CodeIgniter with such ease – it contrasted markedly with my own difficult initiation into CakePHP! There was mention of Kohana which I’d only seen a couple of weeks previously, but looks pretty good – I had always been put off CI by its support for PHP4, so a PHP5-clean version is very appealing. This article spells out the differences.

The shootout was, um, augmented by a heckler who had decided that all frameworks were “criminal” because they didn’t conform to the letter of the “rules of MVC” (though MVC is really a pretty loose term AFAIAC). He wouldn’t name his mystery preferred framework, but I later found out it was Agavi when I saw it demo’d by its creator. It is indeed very nice, and has distant ancestry in Mojavi (as used by Symfony). One of the things that I was impressed by is that it uses (of all things) HTML for marking up templates. This is an elegant reversal of what I’ve seen before, where form elements are typically generated by helpers (requiring syntax that you don’t know). Why mark up a form input like this (vaguely CakePHP style):

<?php echo $htmlhelper->textinput(‘name’, ‘name’, 20, 50); ?>

when you could do:

<input type=”text” id=”name” name=”name” size=”20″ maxsize=”50″ />

and still get automatic server and client-side validation and ajaxy feedback goodness, but also have it play nicely with HTML editors like Dreamweaver? It also makes for a great deal of sense when generating non-HTML output. I can’t think why other frameworks have not done this before.

Agavi also has very elegant routing so that a single controller function is available across all access methods, whether HTML, JSON, SOAP, XML-RPC or whatever. Makes CakePHP look very dumb.

Anyway, so maybe this heckler had a point of sorts.

I have to say a big thank you for the compliments I’ve received about my talk. Maybe it wasn’t so bad after all! I’ll get on with doing the remaining audio ASAP…