(I don't believe in) Web Standards (no more... but I wish I still had faith!)

"Web Standards"... that definitely sounds cooler than it really is...

At first we had HTML and Mosaic... Then came Netscape and Microsoft with their proprietary extensions... and so came the need for standards. We got several versions of standardized HTML, but still varying implementations (IMG align anyone?).

Then came some "really really" standard method to iron out rendering differences: Cascading Style Sheets! Well... another failed attempt: people tweak them even more than standard HTML and the rendering differences get even worse. So now, we have a collection of dirty tricks to apply different CSS to different browsers.

Okay, forget that; we have an even newer standard now: XSL. You just send pure and clean XML to the browser. Then you let the browser reformat it with an XSLT template. PLEASE! XSLT implementation differences are just as problematic as with CSS... and finally no more than with plain HTML! And regarding IE, it's definitely too slow to be really useful! >:XX

So today, I really wonder why we go through all this pain... Sending different presentations in plain HTML (okay, let's say XHTML+CSS for bandwidth and maintainability optimization) was faster than desperately trying to find the "compatibility spot" in a single "standard compliant version"! :|

Not to mention there are still old browsers that do not support a lot of standards out there... and there are more and more alternative browsers (on either desktops, appliances or mobile devices...) that all support standards in their very own way! :(

What can we do? I mean pragmatically! Apart from condemning everyone that doesn't comply 100% to the standards (just a few millions anyway...).

I think we need to remember those "best practices" we had a few years ago and get back to something like this:

  1. Identify most common targets (browsers/devices) and provide them with a specific+optimized presentation (CSS/Flash/whatever). The more targets you can handle with compatible web standards, the better. But don't forget to test all those targets! You'll undoubtly encounter nasty surprises on some of them... Note: contrary to popular belief, most common targets and their "market share" largely depend on your audience!
  2. Provide at least one "safe" presentation. One that is guaranteed to be readable by almost anyone. Alternatives would be good here: maybe one text only (HTML 2.0) and one with basic CSS and images that makes it just a little more attractive (but still avoiding any CSS/Flash showing off!)
  3. Provide a manual switch between version for the times when the user uses a browser that can do more or less than we had expected. (It would be wise to always bet on less, but you'll inevitably make false assumptions at some point.)

Okay, so what's new here? Those of you running corporate sites might think they already do that. You may want to check again: are you sure you didn't stop at step 1? :?:

Now, for personal sites... I completely realize that providing multiple versions will sound like crazy to many of you. How can I expect you to update content concurrently in several files? Well... I don't! Any hosting provider nowadays will let you use dynamic page generation (one content, several presentations). I'll get back to this topic later...

Sendo X unveiled

Sendo X

Sendo has unveiled more of its Sendo X in a press conference today. Let's tell it as it is: that smartphone totally rocks! It's even better than what we could expect from previous announcements.

Of course, in this industry, product cycles are very short, so it's only going to be a matter of months before someone (Nokia?) comes out with something better (I mean a better smartphone, not an experimental device like the 7700! :>>).

The Sendo X should be priced around 500 € (unsubsidized) and actually includes pretty much everything you could wish from a smarphone: compact, true phone form factor, normal keyboard, color display (176*220*16), integrated camera with flash, recording and playback of video (15 fps), sound, music, support of standard formats (mp3, mpeg...)

And of course, it runs on Symbian + Series 60 with Java/MIDP support.

One thing I was pretty unsure of until now, was if it was possible to connect a stereo headset for mp3 playback as an alternative to the built in accoustic system. Not only is it possible, but the headset is provided in the box! B)

The other good news is that the device supports SD cards up to a 1GB capacity and beyond. That's exactly what you need to store the mp3s you want to listen to and all those sound/video recordings you're going to make. Even better: the SD cards are hot swappable! B)

Actually, the only drawback I could find so far is the lack of support for SD/IO.

Also, I had written before that many pocket devices were going to converge soon and this time has definitely arrived (it only lacks an emebedded GPS! :> ) However, I stated that we'd still want PDAs with larger screens and a pen interface to take notes.

Well... the fact is you don't need to take notes no more! Just record or picture the info! You'll process it later anyway. ;) Moreover, when you really need to enter text (for email for example) you can always use T9. (That is for western countries with limited alphabets... :>>) However, for massive emailing, you'll probably want to get the external keyboard accessory. Plus, stylus technologies aren't so reliable anyway!

I am glad I managed to wait that long to replace my aging PDA and phone, because the SendoX is definitely going to replace them both at the same time, with increased efficiency on all my previous plans! ;D

Can't wait! Gotta check availability in France. :)

Interop suite: wireless security

Corollaire du tout wireless évoqué avant hier, la securité des communications wireless est l'autre grand sujet de société (du moins dans le hangar n°2 du parc des expos de la pte de Versailles :P)


Disons le tout net: tout le monde s'accorde à dire qu'à ce jour, la seule solution est de fonctionner en VPN pour tous les terminaux Wi-Fi, même si celà est totalement surdimensionné. 8| Pas vraiment d'évolution sur ce point depuis l'année dernière donc...


A l'opposé de ce discours, l'idée la plus originale est celle avancée par Nicolas Pioch (AOL/CNAM) qui regrette qu'on se focalise autant sur le sans-fil radio alors que la technologie infrarouge a cet avantage intrinsèque de ne pas traverser les murs! Un moyen élégant de s'affranchir de la problématique du war driving... ;)


Maintenant, de manière pragmatique, le problème n°1 ce n'est pas la faiblesse du cryptage WEP/WiFi mais plutôt le fait que la plupart des produits réseaux sont aujourd'hui livrés avec toutes les options de sécurité désactivées par défaut. Ceci est vrai non seulement pour les matériels réseau mais aussi pour Windows... Microsoft a promis (une fois de plus :>> ) de faire des efforts...


Finalement, on peut noter que IPv6 est toujours aussi techniquement au point mais toujours aussi peu adopté en entreprise. Pourtant une meilleure sécurité intégrée fait partie des bénéfices apportés par IPv6.


En réalité, le problème n°1 c'est plutôt les utilisateurs, la plupart desquels ne se préoccuppant de sécurité qu'une fois qu'ils ont subit des dommages...

En direct de Networld+Interop

Plus grand rendez-vous européen des NTIC, j'aime bien venir prendre la température ici (à Paris) tous les ans! :p D'ailleurs puisqu'on en parle, la température, au sens propre, elle est glaciale! Il doit faire 17 degrés à tout casser. :( Bien heureux sont les visiteurs qui sont venus avec leur menteaux d'hiver... et bien malheureuses sous les hôtesses à qui l'on a demandé d'exhiber leur t-shirt moulant aux couleurs de l'entreprise qu'elle représentent. Certaines ont craqué et sont en anorak sur leur stand. On a presque envie de trouver la situation comique... Mais d'un autre côté, on se demande si l'économie des TIC va si mal qu'ils en sont arrivés à louer un hangar du parc des expos sans prestation de chauffage... |-|


Bon, changeons de sujet, je ne voudrais quand même pas vous faire croire que je suis venu regarder les hôtesses! :>> Côté tendances, la chose semble entendue: le salon est entièrement consacré au wireless sous toutes ses formes! Ceci dit, on aurait été surprit du contraire! ;)


Wi-Fi est au centre des préoccupations de tout le monde, opérateurs de téléphonie mobile compris, dans la mesure où ces derniers, avec leur offres GPRS, ne peuvent pas rivaliser en termes de débit. Même s'ils ne sont donc pas encore tout à fait au point en matière de forfaits combinés GPRS+hot spots Wi-Fi, ils se positionnent en équipant des hot spots à leur marque, même si l'accès y est commercialisé avec de bêtes cartes prépayées. Il ne faudrait quand même pas que le marché du haut débit wireless leur file entre les doigts! (Sur l'UMTS, ils ne sont pas très bavards... car probablement pas très fiers de l'état d'avancement des travaux...)


L'autre application Wi-Fi qui fait bcp parler d'elle, c'est la désserte en haut-débit des zones rurales, celles où l'ADSL ne va pas... et aura du mal à aller. En effet, il faut savoir que le coût d'équipement d'une ligne en ADSL par l'opérateur de boucle locale varie de 300 en centre ville à 10000 en rase campagne. Même si FT peut encore étendre les zones de couvertue rurale qui seront déficitaires grâces aux abonnements urbains qui sont eux fortement bénéficiaires, il y a une limite qu'ils ne franchiront pas (comme celà se passe pour les réseaux GSM par ailleurs). Cette limite constituera une vraie fracture de l'accès au haut débit sur le territoire. Dans quelques années on verra ça de la même manière que si aujourd'hui 10 à 20% des foyers n'avaient pas l'électricité! (Rappelons que EDF a encore un monopole là ou FT doit être un minimum concurrentiel...)


Une solution à ce problème est de créer des zones Wi-Fi reliées au reste du monde par une liaison satellite bi-directionnelle, type VSAT. Note: il s'agit bien là d'une hypothèse d'infrastructure subventionnée par les collectivités territoriale dans la mesure où le coût d'équipement satellite initial reste élevé.


A ce sujet on peut noter également la mise au point par ASTRA et ses partenaires industriels d'une technologie dénomée "satmod" (modem satellite) qui ouvrira aux particuliers une voie de retour en passant par des antennes de petite taille telles que celles utilisées actuellement pour la télévision (unidirectionelles pour l'instant, faut il le rappeler?). Si le surcoût de cette voie de retour satellite ne devrait pas excéder 50 €, le débit associé, quant à lui, n'est guère prometteur. Il faut plus considérer celà comme l'équivalent des SMS... en fait, un moyen de faire de la TV interactive, pas vraiment plus.


Toujours à propos d'Astra, j'ai appris avec bonheur que la TVHD allait enfin avoir un visage concrêt en Europe avec le lancement en janvier 2004 de 2 chaines en clair. Euro 1080 ça s'appelle (1080 comme 1080 lignes d'image au lieu des 620 actuelles).


Bon je m'arrête là pour le moment. Plus d'infos dans la presse demain! ;D

Industrialisation du web: un exemple

Pour bien fixer les esprits, je vais prendre un exemple proche de nos préoccupations quotidiennes de bloggeurs ;D : la vérification des referers.

Si vous enregistrez le referrer de chaque requête dans le but de l'afficher dans vos stats publiques, vous vous êtes sans nul doute déjà confronté au besoin de vérifier que le référant pointe bien vers votre site avant de le valider, ceci afin d'éviter le "referer spam". Il en est de même pour le comment spam.

Pour ce faire, vous devez déclencher une "contre requête" HTTP afin de récupérer et analyser la page référente. Cette opération est longue et ralentit d'autant le traitement de la requête d'affichage de votre page.

Certes, vous placerez judicieusement cette requête à la fin de votre page et déclencherez l'envoi de la page vers le client avant de commencer l'opération de vérification. Mais la connexion HTTP reste ouverte et le browser client indique qu'il continue de charger. A la limite, un utilisateur lambda pourra ne pas s'en rendre compte. En revanche, un robot d'indexation aura vite fait de classer votre site dans la catégorie des mammouths lents à la détente et donc à ne pas indexer trop fréquemment.

La chose se complique encore dans le cas d'un traitement plus évolué tel que l'enregistrement d'un nouvel article. Non seulement vous allez le stocker dans la base de données locale mais vous allez déclencher toute une série d'opérations en "cascade". Exemples:

  • Génération de pages statiques
  • Trackbakcs
  • Pingbacks
  • Pings de mise à jour d'annuaires
  • Envoi de mails aux abonnés
  • Syndication en mode PUSH

(Liste non exhaustive... :>>)

Avec une plateforme web basique (type PHP, ASP, etc...) vous laissez mouliner et vous partez boire un café (si vous êtes moins feignant, vous ouvrez une autre fenêtre). Bien évidemment, vous pouvez bidouiller. Qui a dit "pop-under"? Mais ce genre de solutions où l'on compte sur les capacités de scripting du client pour assurer la cohérence des traitements sur le serveur est vraiment tout sauf recommandable. >:XX Tout celà reste acceptable dans le cadre d'un site web perso (et à budget limité), pas dans un contexte professionnel, ni avec un minimum d'ambition.

Une plateforme telle que J2EE (à ne pas confondre avec un simple script Java) ou .NET (à ne pas confondre avec un simple script ASP) permet de traiter ce type de problème de manière tout à fait élégante.

Pour faire simple et parce que ce post commence à être long, tous les traitements énoncés ci-dessus vont être passés à une (ou plusieurs) file de messages. Cette "message queue" fera exécuter les traitements annexes et non "urgents dans la seconde afin de répondre à la reuqête" par un composant dédié à cette tâche et travaillant de manière asynchrone.

Un autre exemple est le déclenchement sans intervention de l'utilisateur de tâches telles que l'envoi d'emails de résumés quotidiens, la réindexation périodique ou encore la génération de snapshots statiques à intervalles réguliers.

Alors évidemment, les message queues et les traitements asynchrones peuvent parfaitement cohabiter à côté de technologies que j'ai qualifiées de "basiques" telles que PHP. Mais on est déjà là en train de construire une plateforme plus évoluée qui n'a plus rien à voir avec ce que l'on trouve chez un hébergeur low-cost par exemple. C'est le début d'une grosse machinerie... et on aura vite fait de préférer une machinerie standardisée, documentée et maitrisée par un certain nombre de personnes (J2EE, .NET) plutôt qu'une machinerie propriétaire, issue d'un individu isolé, aussi géniale soit-elle.