Wednesday 23 January 2008

HTML 5

HTML 5 komt eraan, eindelijk wordt de webstandaard sinds 1997 herzien. Een bult aan nieuwe functionaliteit komt er bij waardoor de webbeleving ook echt het nieuwe millenium in kan.

Zo kunnen linken van te voren worden gecontroleerd op werking (zogenaamde dode linken). En komen er meer formulier elementen bij, zoals een URL-element en datum en tijd elementen. Tevens wordt het makkelijker om content in verschillende secties te tonen en gerelateerde content te koppelen.

Zodra de nieuwe versie is gereleased moeten er natuurlijk wel bladeraars zijn die HTML 5 gaan ondersteunen, hopelijk hebben ze in Redmond al rekening gehouden met de komst van HTML 5, zodat de nieuwe IE8 die in het eerste kwartaal uitgegeven gaat worden ook in de loop van het jaar zonder al teveel strubbelingen de uitbreidingen ondersteund. Natuurlijk zullen ook de jongens en meisjes van Firefox en Opera hun mouwen op moeten stropen, maar in beiden zit al rudimentaire ondersteuning.

Ik ben benieuwd.

Linken:
W3C Diff

Saturday 19 January 2008

Yahoo en OpenID

Yahoo! gaat gebruik maken van OpenID, zowel in client als in server optie. Zometeen wordt jou Yahoo! account dus een OpenID-account en kan je met een enkele gebruikersnaam en wachtwoord op verschillende sites die OpenID ondersteunen inloggen.

The Register: Yahoo! backs! OpenID!

Wednesday 16 January 2008

XML communicatie

Gegevens kunnen op veel manieren worden uitgewisseld tussen verschillende machines. Eén van die manieren is middels XML. Om ervoor te zorgen dat gegevens altijd op dezelfde manier worden aangeleverd, ingelezen en uitgevoerd moeten er afspraken worden gemaakt, er moet een interface worden bepaald.

In vroegere jaren werd dat gedaan door middel van een DTD (nog steeds een handige methode om je XML mee te defineren) maar ik geef toch de voorkeur aan XSD. In combinatie met het xs-schema van w3c is dit een erg simpele en mooie methode:


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">


Bij het inlezen van de XML kan je de XML (sinds PHP 5) valideren tegen het schema door gebruik te maken van DOM. Ik maak daarvoor gebruik van het volgende.


function XMLValidate() {
libxml_use_internal_errors(TRUE);
$dom = new DOMDocument;
$dom->preserveWhiteSpace = true;
$dom->resolveExternals = true; // for character entities
$dom->load($xml); // xml file

$result = $dom->schemaValidate($xsd); // xsd file

// catch errors
$errors = libxml_get_errors();
libxml_clear_errors();

if (0 < count($errors)) {
return $errors;
}

return $result;
}


Met een paar regels en een XSD heb ik nu een check kunnen doen of het aangeleverde bestand voldoet aan de afspraak die ik met de andere machines heb gemaakt.

IRL heeft me dit al een paar maal gered van een hoop gepriegel om aangeleverde gegevens op juistheid te controleren.

Linken:
W3C's XSD tutorial
PHP's $dom->schemaValidate()

Thursday 10 January 2008

Betaalde e-mail

Betaalde e-mail is misschien een leuk idee om spam te bestrijden, maar dat kan nooit gaan werken. E-mail is nooit een vervanger geweest van een brief, van een echte brief, met liefde over vier kantjes uitgespreid, nee, e-mail is altijd een snel medium geweest, een paar regels, en een druk op de verzendknop. De luiheid die we hebben leren kennen bij het schrijven van e-mail zit nu zo ingebakken dat mensen geen geld over hebben om ervoor te betalen.

Het probleem van spam zit namelijk ook niet bij de verzender. Natuurlijk verzend de verzender de ongewenste bulk e-mail, maar dat hij (hij kan natuurlijk ook een zij zijn, maar voor het gemak hebben we er een man van gemaakt) doen door een gat in het ontwerp. E-mail is een idealistisch protocol dat goed werkt in een wereld met alleen maar 'de goeien' en zonder 'de slechten'. Alleen door het toepassen van filters is het mogelijk om ongewenste e-mail buiten de deur te houden. Helaas met als gevolg dat er zo nu en dan ook een gewenst mailtje in de prullenbak verdwijnt.

Kortom, een aardig idee, maar kansloos. De fout zit in het mail-protocol zelf. Alleen het neerzetten van een nieuw protocol gaat helpen het spam-probleem om te lossen.