HyperCard est un programme et un environnement de programmation développé par Apple pour les ordinateurs Macintosh et Apple IIGS, il ne fonctionne que sous Mac OS versions 9 et précédentes. C'est un des premiers logiciels hypermédia précurseurs du World Wide Web à avoir connu un réel succès.

Il combine des éléments de base de données avec un système de développement graphique à base de « piles » similaire à des cartes de répertoire permettant la navigation hypertexte et hypermedia. Le langage de programmation pour HyperCard est HyperTalk. Ce langage permet la manipulation des données mais aussi de l'interface utilisateur.

Cette combinaison de fonctionnalités – une base de données à la mise en forme simple, une flexibilité graphique et une simplicité de programmation – rend HyperCard opérationnel pour de nombreux types de projets : développement rapide d'applications et de bases de données, développement d'applications interactives, système de contrôle et de commandes, et bien d'autres usages, en particulier didactiques ou ludiques.

HyperCard est originellement commercialisé avec le Système 5 en 1987 pour et est ensuite inclus gratuitement avec tous les Macs suivants. Il est retiré de la vente en , ayant reçu sa dernière mise à jour en 1998, avec le retour de Steve Jobs chez Apple. HyperCard n'avait pas été porté sur Mac OS X en 2001, mais pouvait être lancé dans l'environnement Classic sur les versions de Mac OS X qui le supportaient. L'utilisation d'un émulateur pour le faire tourner sur des modèles de Macs plus récents est devenu nécessaire depuis 2009.

Histoire vignette|upright=0.8|Un Macintosh SE/30, ordinateur contemporain d'HyperCard

Développement HyperCard est créé par Bill Atkinson à la suite d'un trip au LSD... Il commence à travailler dessus en en le nommant WildCard (d'où le nom WILD du creator code). En 1986, Dan Winkler commence son travail sur HyperTalk, ce qui entraîne le changement de nom vers HyperCard. L'application sort le pour le premier jour du MacWorld Conference & Expo de Boston, où Atkinson indique faire don d'HyperCard à Apple à condition que l'entreprise l'offre gratuitement sur tous les Macs. Apple fait donc coïncider la sortie d'HyperCard avec le MacWorld Conference & Expo de Boston pour maximiser la publicité et la diffusion.

Lancement Le succès est immédiat : l'Association des programmeurs et développeurs d'Apple (APDA) déclare : "HyperCard a été une frénésie. Depuis août [1987, lors de l'annonce] jusqu'à octobre, nos téléphones n'ont jamais cessé de sonner. C'était la jungle." En quelques mois après sa sortie, on voit naître des tas de livres et une cinquantaine de disques de piles publiques sur beaucoup de sujets, notamment en géographie, et plus généralement lorsque l'on voulait un didacticiel.

Apple ne semble pas avoir compris ce qu'était HyperCard. La direction vit qu'il était utilisé par un grand nombre de personnes, y compris parmi ses employés avec un flot de commentaires et de rapports de bogues. Cependant, le fait qu'il soit gratuit a grandement restreint le budget de son développement.

HyperCard 2.0 Sous l'impulsion de Kevin Calhoun, la version 2.0, très améliorée, voit le jour à la fin de 1989.

Cette nouvelle version inclut alors un nouveau compilateur instantané qui améliore grandement les performances des codes lourds, un nouveau débogueur et beaucoup d'autres améliorations concernant le langage HyperTalk.

En même temps que le développement d'HyperCard 2.0, un autre sous-groupe d'Apple développe HyperCard IIGS, une version d'HyperCard conçue pour les systèmes Apple IIGS, qui sort en 1991. Spécialement conçu pour le marché de l'éducation, HyperCard IIGS contient globalement les mêmes fonctionnalités que les versions 1.x d'HyperCard Macintosh en plus d'un support des capacités colorimétriques des appareils IIGS. Bien que les piles HyperCard ne soient pas compatibles avec le binaire (utilisé par les Apple IIGS), un programme de traduction (une autre pile HyperCard) leur permet d'être transférés d'une plateforme à l'autre.

Simultanément, Apple décide que la plupart de ses logiciels, y compris HyperCard seront désormais gérés par leur nouvelle division Claris. Beaucoup de développeurs refusent de changer de division, , ce qui mène à une division de l'équipe de développement. Les premières versions Claris d'HyperCard sont livrées sans le mode d'édition, mais avec une astuce cachée : en entrant "magic" dans le champ de texte on transformait le lecteur en environnement d'édition. Lorsque cette astuce devient universelle, Apple décide que seul HyperCard Player, sera distribué gratuitement avec les systèmes d'exploitation Macintosh, pendant que Claris vendra la version complète séparément. De nombreux utilisateurs et utilisatrices trouvent alors indigne de devoir payer l'utilisation d'un logiciel qui avait toujours été offert gratuitement et que beaucoup considéraient comme indissociable du Macintosh.

Claris continua le développement en ajoutant des améliorations mineures, permettant d'utiliser la couleur, mais la version 3.0 ne fut jamais distribuée. Face au manque de nombreuses fonctionnalités basiques, les utilisateurs commencèrent à migrer vers d'autres logiciels comme SuperCard et Macromedia Authorware. Malgré tout, la popularité d'HyperCard et son utilisation pour diverses applications, du jeu The Manhole (par les futurs créateurs de Myst) en passant par les services d'informations d'entreprises, persistaient.

Deux ans après, Apple finit par réintégrer Claris à la maison mère et le développement d'HyperCard revient à l'équipe originelle d'Apple, qui sort prématurément la version 2.2 en 1992. Cette nouvelle version contient des licences de Color Tools et Addmotion II, qui permet de créer des images en couleurs et intègre l'animation. Mais ces outils étaient limités et difficiles à utiliser par le manque de gestion des couleurs dans HyperCard 2.0.

Hypercard 3.0 Il y eut plusieurs tentatives chez Apple pour relancer HyperCard. Le produit fut même rattaché au groupe QuickTime car il y avait une relation avec le multimédia. Une nouvelle version visait à permettre à HyperCard de créer des films interactifs QuickTime (QTi), encore une fois sous la direction de Kevin Calhoun. QTi a étendu les fonctionnalités multimedia de QuickTime jusqu'à obtenir de réelles interactions et un langage de programmation de bas niveau basé sur le langage assembleur 68000.

Une version 3.0 alpha est présentée à la Apple Worldwide Developers Conference (WWDC) de 1996. Sous la direction de Dan Crow, le développement continue jusqu'à la fin des années 1990, avec des démos publiques montrant des fonctions populaires telles que la gestion des couleurs, la connexion à Internet, et la possibilité de jouer les piles HyperCard (alors devenues un format de films QuickTime) dans un navigateur web.

Pour plusieurs raisons, le produit ne fut jamais disponible et le développement d'HyperCard 3.0 s'arrête lorsque les équipes de QuickTime se concentrent sur le développement des fonctions interactives pour QuickTime 4.0, en 1998.  

Steve Jobs, qui n'aimait pas le logiciel à cause du refus d'Atkinson de le suivre lors de son départ chez NeXT, abandonna le logiciel en 2000 et dirigea les équipes chargées de son développement vers d'autres projets. Calhoun et Crow quittèrent Apple en 2001.

Après des années d'hésitations et de mauvaise gestion, dans une période où Apple avait de grosses difficultés financières, le produit fut mis au rancart. Sa dernière version date de 1998 et son arrêt total de 2004.

Réception Le magazine Compute!'s Apple Applications affirmait en 1997 qu'HyperCard . Tout en notant que ses grands besoins en mémoire seraient plus adaptés pour des ordinateurs munis de de mémoire et de disques durs, le magazine prédit que , surtout en utilisant des CD-ROMs. Compute! prédit en 1988 que la plupart des futurs logiciels Mac seraient développés via HyperCard, car son utilisation était si addictive que les développeurs .  

En 1989, Byte le place parmi les gagnants du prix "Excellence" des Byte Awards. En déclarant que , le magazine explique qu' et félicite Apple de l'offrir d'office avec chaque Mac.  

En 2001, Steve Wozniak nomme HyperCard ..

Description

Design HyperCard est basé sur le concept de piles de cartes virtuelles.

Les cartes contiennent des données, de la même manière que dans le Rolodex

Les cartes sont composées globalement de deux objets : le fond, duplicable et utilisable comme modèle d'une carte à une autre⁹ afin de conserver des éléments similaires ; les calques qui utilisent les outils graphiques (boutons, champs, images, sons, etc.) du fond et ajoutent les leurs. Plusieurs niveaux autorisent ou non des modifications devenant définitives, l'état historique étant sauvé comme nouvelle carte.

Les utilisateurs peuvent construire des bases de données en ouvrant l'éditeur de fond et des éléments de dessin pour contenir les diverses pièces de données. Par exemple, un carnet d'adresses peut être construit en ajoutant quelques champs de textes pour contenir le nom et l'adresse. Une fois complété, l'utilisateur ajoute simplement une nouvelle carte et tape les nouvelles informations dans les champs texte. Le fond peut être changé à n'importe quel moment. Les opérations de base comme la recherche, l'ajout ou la suppression sont incluses dans l'environnement.

Un script dans le langage HyperTalk permet de modifier ou étendre le système dans une certaine mesure. Le script de chaque objet peut être édité à tout moment et ses changements sont enregistrés automatiquement. Quand l'utilisateur opère des actions dans l'interface graphique, comme cliquer sur un bouton ou taper du texte, elles sont transcrites en événements par l'exécutif HyperCard. L'exécutif examine ensuite le script de l'objet ciblé par l'événement, comme un bouton, pour vérifier s'il contient le code de l'événement, appelé un handler. S'il le contient, le moteur HyperCard exécute le handler ; sinon l'exécutif examine les objets suivants dans la hiérarchie visuelle. Cependant, plus la taille de pile augmente, moins celle-ci est réactive.

Ces concepts constituent la majorité du système HyperCard ; les piles, les fonds et les cartes offrent un système d'interface graphique, le dossier de pile contient les objets et les fonctionnalités de base de données, HyperTalk permet l'écriture des handlers pour les événements graphiques. Cependant, contrairement à la majorité des systèmes RAD ou de bases de données de l'époque, HyperCard combine toutes ces fonctionnalités, à la fois orientées utilisateur et développeur, en une seule application. Cela permet des changements rapides et un prototypage immédiat, possiblement sans aucun code, permettant aux utilisateurs et utilisatrices de proposer des solutions personnalisées via une interface adaptée.

"Autonomie" est devenu un mot clé saisi par les communautés Macintosh, tout comme la phrase "programmer pour les autres" (programming for the rest of us), faisant référence à n'importe qui et pas seulement les programmeurs.

HyperTalk HyperTalk est un langage de script orienté objet. Sa syntaxe se rapproche de la langue anglaise. Les spécificités du langage HyperTalk ont été prédéterminées par l'environnement HyperCard, mais pouvaient être étendues à des fonctions (XFCN) et commandes (XCMD) externes, écrites en langage compilé. HyperTalk supporte la plupart des structures programmées simples telles que "if-then" et "repeat". HyperTalk est verbeux, d'où sa facilité de lecture.

On peut écrire une commande en anglais simplifié, écrire les chiffres sous forme ordinale ou numérique, et tous les objets utilisés peuvent posséder un nom.

Ajouter des scripts était facile d'utilisation : on « option-cliquait » n'importe quel élément dans la pile et un éditeur apparaissait. Le script pouvait être édité, sauvé et utilisé immédiatement.

Modules Externes