Contexte matériel et contraintes de l’époque

Le prototype de Project Xanadu a été développé entre 1988 et 1995, période où les ordinateurs de bureau typiques ne disposaient que d’un disque dur d’environ 50 Mo. Cette capacité était déjà insuffisante pour héberger les documents de référence de l’auteur : le site Gwern.net, cité comme comparaison, occupe 221 438 Mo, soit plus de quatre mille fois la taille d’un disque moyen de l’époque. La mémoire vive disponible était souvent limitée à 1 Mo, ce qui imposait aux développeurs de concevoir des algorithmes extrêmement compacts, comme le correcteur orthographique de McIlroy en 1982, qui nécessitait plusieurs mois d’optimisation pour tenir dans cette contrainte.

Architecture du prototype et chaîne de compilation

Le premier prototype a été écrit en Smalltalk, un langage orienté objet réputé pour sa productivité. Cependant, pour exécuter le code sur les machines disponibles, il a fallu le cross‑compiler en C++. Le processus de compilation était alors très lourd : chaque génération du binaire prenait une semaine complète, bien plus que les quelques minutes habituelles aujourd’hui. Cette lenteur était aggravée par les « silliness » du C++ de l’époque, notamment les dépendances circulaires et les erreurs de liaison qui nécessitaient des interventions manuelles prolongées.

Interface utilisateur et lisibilité

Le démonstrateur présenté lors de la fête montrait le texte biblique du Book of Genesis avec des lignes en zigzag indiquant les transclusions et les commentaires. Sur les écrans de l’époque, dont la résolution était souvent inférieure à 640 × 480 px, ces lignes se croisaient et rendaient le texte illisible. Même sur un moniteur 4 K moderne, la densité de ces annotations crée un « clutter » qui empêche la lecture fluide. L’interface, conçue autour de « sidenotes » à portée de curseur, n’a jamais offert une expérience de navigation viable, car elle supposait un affichage suffisamment large pour séparer visuellement les annotations du corps principal.

Implications pour les projets hypertexte contemporains

Les leçons tirées de Xanadu soulignent l’importance d’aligner la conception d’une fonctionnalité sur les capacités matérielles réelles. Aujourd’hui, les navigateurs web supportent des dizaines de gigaoctets de stockage local et des compilateurs qui livrent du code en quelques secondes, ce qui rend les transclusions de plage beaucoup plus praticables. Néanmoins, le problème de lisibilité persiste : les systèmes modernes qui superposent des métadonnées (par exemple les annotations de PDF ou les commentaires en ligne) doivent gérer la surcharge visuelle pour éviter le même « clutter » que celui observé sur les machines Xanadu. En outre, la dépendance à un leader visionnaire et à une architecture fermée, comparée à des projets comme Cyc, montre que la gouvernance ouverte et la modularité restent des facteurs décisifs pour la pérennité d’un projet hypertexte.