Dans les deux derniers articles de Retro Apple, j’ai mis en avant du matériel d’Apple qui a eu un impact sur l’industrie technologique dans son ensemble : l’appareil photo numérique Apple QuickTake 100, et le Apple Newton MessagePad 2100. Aujourd’hui, je vais parler d’un produit logiciel d’Apple qui a changé le monde et qui, malheureusement, n’existe plus : HyperCard.
Les racines d’HyperCard
HyperCard était un outil puissant, mais extrêmement facile à utiliser pour créer des « piles » – essentiellement des bases de données de fichiers plats qui utilisaient des hyperliens comme moyen de naviguer dans une pile de « cartes ». Il faut savoir qu’à l’époque de la sortie d’HyperCard, en 1987, le World Wide Web n’existait pas encore et que le concept d’hyperliens était totalement nouveau. HyperCard a non seulement permis à de nombreux fans de Mac de se lancer dans la programmation, mais il a également inspiré certains des outils que nous considérons comme acquis aujourd’hui.
Le développement d’HyperCard a commencé lorsque Bill Atkinson, l’un des principaux concepteurs de l’interface utilisateur graphique du Mac, a imaginé le système de cartes liées lors d’un voyage sous LSD. Il désigna la première version sous le nom de WildCard, mais lorsque son collègue d’Apple Dan Winkler commença à travailler sur le langage de script HyperTalk qui permettrait aux utilisateurs d’attribuer des actions aux objets, le nom fut changé en HyperCard.
Bien que le produit d’Apple n’existe plus, sauf sur les Mac pré-macOS et les machines Apple IIGS collectrices, son héritage perdure.
HyperCard a existé en tant que produit Apple pour Mac et Apple IIGS jusqu’en 2004. Vous pouviez l’acheter pour 49,95 $, mais la plupart des propriétaires de Mac l’ont eu gratuitement car il était inclus avec chaque nouveau Mac. Au moment où HyperCard a été abandonné en tant que produit, le besoin d’un tel outil avait été largement remplacé par le World Wide Web. Au lieu de piles autonomes, le Web reliait les personnes utilisant des navigateurs Internet comme Netscape ou l’affreux Internet Explorer à des pages Web hébergées sur des serveurs.
Il est fascinant de considérer que le créateur du World Wide Web, Tim Berners-Lee, et la personne derrière le protocole de transfert hypertexte (HTTP), Robert Cailliau, ont tous deux été influencés par HyperCard. Le créateur de JavaScript, Brendan Eich, s’est inspiré du langage de script HyperTalk. Même le concept de Wiki (c’est-à-dire Wikipédia) trouve ses racines dans une pile HyperCard créée par l’inventeur de Wiki, Ward Cunningham. Connaissez-vous AppleScript, le langage de script d’automatisation sur le Mac ? Il est également basé sur HyperTalk. Si vous voulez un regard détaillé sur le fonctionnement d’HyperTalk, voici un lien vers un PDF de la pile HyperTalk 2.4 Reference, courtoisie de hypercard.org.
Pourquoi HyperCard était-il si incroyable ? Il permettait à peu près à tout le monde de créer ses propres programmes Mac. Ces programmes n’étaient fondamentalement limités que par l’imagination des « auteurs » (Apple n’utilisait pas le terme « développeur » pour les programmeurs HyperCard). Le langage HyperTalk original était interprété, de sorte que les piles complexes pouvaient être lentes à fonctionner, mais en 1989, Apple a publié HyperCard 2.0, qui comprenait un compilateur HyperTalk à la volée pour un fonctionnement plus rapide, ainsi qu’un débogueur intégré.
Apple voulait vraiment que tout le monde puisse créer ses propres programmes, de sorte que tout dans HyperCard était aussi peu menaçant que possible. Les programmes étaient des « piles », les développeurs étaient des « auteurs », et HyperTalk était un « langage de script ». HyperTalk est considéré comme un « langage de script orienté objet de haut niveau ». Ce qui m’étonne encore aujourd’hui, c’est que tout cet environnement de développement se trouvait à l’origine sur seulement quatre disquettes double face.
Je dirigeais un département informatique basé sur Mac pour une société de gazoducs lorsque HyperCard a été présenté pour la première fois au bureau local d’Apple, et le potentiel de l’outil a immédiatement attiré mon attention. Peu après la démonstration, Apple a organisé un séminaire d’une journée avec l’auteur Danny Goodman au bureau local. Goodman avait écrit un livre intitulé « The Complete HyperCard Handbook », et tous les participants ont non seulement eu la chance d’essayer HyperCard, mais ont également reçu un exemplaire du livre gratuitement. Ce livre est considéré comme le livre le plus vendu de tous les temps pour la plate-forme Mac et aurait été le livre informatique le plus rapidement vendu de l’histoire. Plus de 650 000 exemplaires ont été vendus, et je sais que mon exemplaire de la première édition s’est rapidement usé !
Goodman nous a montré combien il était facile de créer une pile en prenant une « carte » vierge, en y ajoutant des champs et des boutons, puis en écrivant des scripts qui réagissaient aux actions de la souris ou agissaient sur les données entrées dans une carte. A quoi pouvaient servir HyperCard et HyperTalk ? Tout et n’importe quoi.
HyperMedia
Une pile d’exemples courants était un carnet d’adresses, mais l’application se prêtait à faire beaucoup plus. Par exemple, disons que vous vouliez créer un manuel scolaire interactif. Vous pouviez créer une pile qui commençait par un écran de titre, puis avait une table des matières qui – lorsqu’on cliquait dessus – vous envoyait à un chapitre ou une page spécifique. Chaque page pouvait comporter des graphiques, ou peut-être des liens qui faisaient apparaître une fenêtre contextuelle donnant la définition d’un mot ou d’un terme. Cette capacité était appelée HyperMedia à l’époque, décrivant l’utilisation de liens dans une présentation média.
Beaucoup de programmeurs ont immédiatement sauté sur HyperCard comme outil de prototypage d’interfaces graphiques ou de création de démos fonctionnelles de projets complets. Il était si simple de faire apparaître une carte (écran) vierge, d’ajouter des boutons et des champs, puis d’ajouter des actions qui étaient soit initiées par l’utilisateur (cliquer sur quelque chose), soit exécutées en coulisse. Pour les entreprises qui avaient besoin de kiosques informatiques autogérés, HyperCard était parfait, car une pile HyperCard pouvait être configurée pour s’exécuter automatiquement au démarrage d’un Mac.
Ne pensez pas que parce qu’HyperCard était facile à utiliser, il n’était pas utilisé par des développeurs sérieux. Le jeu Myst, très populaire dans les années 1990, a été créé à l’aide d’HyperCard.
Danny Goodman a réalisé que l’énorme succès de son premier livre et d’HyperCard demandait une suite, il a donc écrit le Guide du développeur HyperCard. Il reste un exemplaire disponible sur Amazon si quelqu’un est intéressé!
Inspiré par Goodman, j’ai commencé à créer des piles à la fois pour mon propre usage et pour mon entreprise. Pour commencer, j’ai créé des supports de formation pour les nouveaux employés qui utilisaient les capacités d’HyperCard non seulement pour former les employés aux règles de sécurité mais aussi pour les tester.
HyperCard pouvait être étendu par l’utilisation de XCMD (commandes externes) et de XFCN (fonctions externes), qui étaient créés à la fois par Apple et par des développeurs tiers. Notre société mère à l’époque faisait fonctionner le système de facturation de notre entreprise sur des mainframes IBM, et je me souviens avoir montré peu d’intérêt pour un XCMD dont j’avais entendu parler et qui fournissait une connectivité avec le mainframe.
Cela a changé un jour où je travaillais avec notre équipe de facturation et qu’ils étaient frustrés par le manque de progrès des programmeurs du mainframe sur un moyen de traiter certaines des informations brutes qui arrivaient des sites de comptage de gaz autour de l’état du Colorado pour en faire des factures publiables. Il m’est venu à l’esprit que je pouvais utiliser la connectivité XCMD de l’ordinateur central pour extraire un fichier brut de l’ordinateur central, puis utiliser les puissantes fonctions de traitement de texte d’HyperScript pour analyser les données dans un format de fichier .csv qui pouvait être importé dans une feuille de calcul Microsoft Excel. Les feuilles de calcul pouvaient ensuite être utilisées à des fins de facturation.
Les programmeurs de l’ordinateur central ont rechigné, mais lorsque j’ai eu le système opérationnel en une semaine – alors qu’ils s’attendaient à ce que cela prenne au moins neuf mois de plus pour faire fonctionner une solution d’ordinateur central – ils m’ont dit de foncer. Je n’entrerai pas dans les détails de la gestion du texte par HyperScript, mais cet article de Wikipedia explique très bien ce que l’on appelait le « chunking » et les « expressions chunk » qui le rendaient possible. Oh, et d’ailleurs, il a fallu plus de trois ans aux programmeurs de l’ordinateur central pour mettre en œuvre les mêmes fonctionnalités que j’ai fait fonctionner en une semaine. Ce n’est pas qu’ils n’avaient pas les compétences ; ils n’ont simplement pas donné la priorité à notre projet.
La vidéo suivante provient de hypercard.org, et à travers un exemple simple, elle montre le processus de création d’une pile, d’ajout d’images, de liaison de cartes et de réalisation de scripts. Un grand merci à Uli Kusterer (@uliwitness) pour m’avoir permis d’intégrer la vidéo ici.
L’interface utilisateur d’HyperCard était, pour la plupart, strictement monochrome. Lorsqu’HyperCard 2.2 est apparu en 1992, il incorporait deux modules complémentaires commerciaux qui lui permettaient de prendre en charge les images et les animations en couleur. À cette époque, Apple n’avait aucun problème avec ses concurrents, si bien que d’autres sociétés ont créé des « clones » d’HyperCard qui se vantaient d’avoir des fonctionnalités qu’Apple n’avait pas ajoutées.
SuperCard
L’un de mes clones préférés était SuperCard, qui supportait pleinement la couleur et avait beaucoup de puissance… mais bien sûr, il ne pouvait pas vraiment rivaliser avec le Web. Heureusement, il est toujours disponible auprès d’une société appelée Software Essentials et fonctionne parfaitement sous macOS. L’entreprise offre une remise à toute personne possédant du matériel HyperCard ancien et original (emballages, disques et manuels), et SuperCard peut traduire les anciennes piles HyperCard dans son format actualisé. Il est peut-être temps pour moi de me remettre à SuperCard !
J’ai souvent pensé qu’un HyperCard des temps modernes serait l’accompagnement parfait des iPhones et iPads, permettant à peu près à tout le monde de créer ses propres applications sans avoir besoin de Xcode et d’un Mac pour faire du développement. Vous écoutez, Tim Cook ?
À un moment donné, il y avait une industrie artisanale florissante d’auteurs de piles commerciales, et j’étais l’un d’eux. Heizer Software gérait ce que l’on appelait le « Stack Exchange », un endroit où les auteurs de piles pouvaient vendre leurs marchandises. Comme Apple avec les magasins d’applications actuels, Heizer prenait une part de chaque vente pour faire fonctionner le magasin, mais les auteurs pouvaient bien vivre de la vente de piles populaires. La société envoyait des catalogues imprimés avec des descriptions et des captures d’écran de chaque pile ; vous commandiez par courrier postal, puis receviez des disquettes (CD à une date ultérieure) avec la ou les piles dessus.
Essayez HyperCard sur votre Mac actuel
Peut-être que ce long regard sur la voie de la mémoire vous a donné l’envie d’aller trouver un Mac vintage, de le charger avec System 7 ou 8, puis de lancer une copie d’HyperCard. Eh bien, vous n’avez pas besoin de faire cela – il y a un merveilleux émulateur sur l’Internet Archive qui fonctionne dans un navigateur Web.
- Pour avoir un aperçu de cet émulateur, pointez votre navigateur préféré sur https://archive.org/details/AppleMacintoshSystem753 puis cliquez sur le bouton vert de l' »image ». Un Mac émulé fonctionnant sous System 7.5.3 – y compris HyperCard – se lance, et vous pouvez jouer avec les piles existantes ou créer les vôtres. Vous pouvez même faire fonctionner l’émulateur sur votre iPhone ou iPad!
- Si vous avez un peu plus de temps, il y a aussi un émulateur mis en place qui inclut 250MB de diverses piles HyperCard du Berkeley Mac User Group (BMUG). Cela prendra un certain temps pour télécharger et démarrer, alors soyez patient.
Comme le Newton MessagePad, qui a inspiré les smartphones et tablettes puissants et portables d’aujourd’hui, et le QuickTake 100 (le premier appareil photo numérique grand public populaire), HyperCard a ensuite eu un impact sur qui se fait encore sentir à ce jour. Lorsque vous lancez l’application Automator de Mac ou que vous travaillez avec des raccourcis sur un iPad ou un iPhone, vous voyez un reflet des capacités d’HyperCard. J’espère que cet article incitera les lecteurs à ne pas se contenter de jeter un œil à HyperCard via l’émulateur, mais à s’essayer aux outils modernes pour créer leurs propres flux de travail. Ils ne sont peut-être pas aussi amusants que les anciennes piles HyperCard, mais ils sont certainement plus puissants.