Combien d'entre vous utilisent une feuille de calcul électronique, comme Microsoft Excel ? Très bien. Combien d'entre vous ont géré leur affaire avec une telle feuille, mais manuscrite, comme mon père l'a fait dans son imprimerie de Philadelphie ? Vous êtes beaucoup moins. C'est pourtant ainsi que l'on a fait pendant des centaines d'années. Début 1978, j'ai commencé à développer une idée qui a abouti à VisiCalc. Et l'année suivante, il tournait sur une nouvelle machine, appelée Apple II. 6 ans plus tard, on savait que les choses avaient vraiment évolué quand un éditorial du Wall Street Journal assumait que tout le monde connaissait VisiCalc, voire l'utilisait. En 1990, Steve Jobs a dit ceci : « Les spreadsheets ont propulsé l'industrie dans le futur. VisiCalc a contribué au succès d'Apple bien davantage que toute autre chose. » Personnellement parlant, Steve m'a dit : « Si VisiCalc avait été écrit pour un autre ordinateur, on interviewerait quelqu'un d'autre. » VisiCalc a donc largement contribué à amener les ordinateurs dans les bureaux. Comment est-ce arrivé ? Qu'est ce qui a fait que j'ai créé ces feuilles de calcul telles qu'elles sont ? J'ai commencé à programmer en 1966, quand j'avais 15 ans, peu après cette photo. Peu d'étudiants avaient accès à des ordinateurs à l'époque. Mais grâce à la chance et beaucoup de persévérance, je parvenais à mettre les mains sur des machines, en ville. Après des nuits dans la boue de Woodstock, je suis allé au MIT et j'ai travaillé sur Multics pour gagner ma vie. Multics était un système de temps partagé interactif. Si vous connaissez les systèmes d'exploitation Linux et Unix, ils proviennent de Multics. J'ai travaillé sur des versions Multics de ce que nous connaissons comme le langage informatique interprété, utilisé par des non informaticiens, pour réaliser leurs calculs assis devant un terminal informatique. Mon diplôme du MIT en main, je suis parti travailler pour Digital Equipment Corporation. Chez DEC, j'ai travaillé sur un logiciel pour la nouvelle ère de composition informatique. J'ai aidé les journaux à remplacer les machines à écrire des journalistes par des ordinateurs. J'écrivais des logiciels et ensuite, j'allais sur le terrain, dans des endroits comme Kansas City Star, pour y former les utilisateurs et avoir des retours. C'était la vie réelle, très différente de mon expérience au labo du MIT. Ensuite, je suis devenu chef du projet de ce qui fut le premier traitement de texte de DEC. Comme pour la composition, l'important était de créer une interface naturelle et efficace pour des utilisateurs non informaticiens. J'ai quitté DEC pour travailler dans une petite entreprise qui fabriquait des caisses enregistreuses électroniques pour les fast-food. J'avais cependant toujours voulu créer une boîte avec mon ami Bod Frankston, que je connaissais depuis Multics du MIT. Alors, je me suis décidé à retourner sur les bancs d'école de gestion. Fin 1977, j'ai commencé un programme MBA à Harvard Business School. Je faisais partie du petit pourcentage d'étudiants avec une formation en programmation informatique. Voici une photo de moi dans l'annuaire, assis au premier rang. (Rires) A Harvard, l'apprentissage est fondé sur des cas. On en faisait trois par jour. Il s'agit d'une douzaine de pages sur une situation précise d'affaires. Il y a des tableaux, avec des mots et des nombres disposés d'une certaine manière pour expliciter la situation. Ils sont tous légèrement différents. Voici mon devoir. Des chiffres, des mots, mis en page pour créer du sens. Des tonnes de calculs, nos calculettes n'étaient jamais loin. Voici ma calculette, d'ailleurs. Pour Halloween, je me suis déguisé en calculette. (Rires) Au début de chaque classe, le professeur appelait quelqu'un pour présenter le cas. Cette personne expliquait ce qu'il se passait et dictait des informations que le professeur transcrivait sur les nombreux tableaux noirs de la classe. Ensuite nous en discutions. Une des choses vraiment frustrantes quand on faisait ces devoirs, était d'arriver le matin en classe pour découvrir une erreur de calcul, qui faussait tous les autres chiffres. Impossible de participer au débat. Alors que nous étions notés sur notre participation. Bref, parmi mes 87 collègues de classe, j'ai souvent eu le temps de rêver. A l'époque la plupart des programmeurs travaillaient sur un ordinateur central, construisant des systèmes d'inventaire, de fiches de paie ou de facturation. J'avais bossé sur des traitements de texte interactifs et de la programmation personnelle. Au lieu de penser à tirer des impressions ou à des cartes perforées, j'imaginais un tableau magique qui, quand on effaçait un chiffre et le remplaçait par un autre, ferait percoler ce changement partout automatiquement, un traitement de texte des chiffres. J'imaginais que ma calculette était équipée d'une souris et d'un rétro-projecteur, comme un avion de combat. Je pourrais alors encoder des chiffres, les entourer, pousser sur le bouton somme. Je pourrais, au milieu d'une négociation, obtenir la réponse recherchée. Il ne me restait plus qu'à concrétiser mon rêve. Mon père m'avait appris à faire du prototypage. Il m'avait montré des maquettes qu'il créait pour visualiser la mise en page des éléments de brochures qu'il devait imprimer. Il utilisait les maquettes pour les montrer à ses clients et obtenir leurs retours avant d'envoyer le bon à tirer. En créant des versions simplifiées de ce qu'on souhaite créer, on découvre obligatoirement des problèmes cruciaux. Ce qui permet de leur trouver des solutions moins coûteuses. J'ai donc décidé de créer un prototype. Je me suis assis devant un terminal du système de temps partagé de Harvard et je me suis mis au travail. Un de mes premiers problèmes fut celui-ci : Comment représenter des valeurs dans les formules ? Je vais vous expliquer. Je pensais ainsi : je pointe un endroit, j'y écris quelques mots, et j'écris autre chose ailleurs, j'ajoute un nombre et un nombre ailleurs, je pointe un endroit pour la réponse, je pointe sur le premier, ensuite sur le moins, je pointe le second et j'obtiens le résultat. Voici mon problème : Que faut-il écrire dans la formule ? Ça devait être compréhensible par l'ordinateur. En lisant la formule, il fallait savoir quels étaient ses référents sur l'écran. Ma première idée fut d'organiser ça comme un programmeur. Au moment de pointer un endroit, l'ordinateur nous demande de taper un nom unique. C'est clair que ce système allait vite devenir trop fastidieux. Il fallait que l'ordinateur crée un nom automatiquement et l'assigne. Ensuite, je me suis proposé de les nommer selon leur ordre d'écriture. J'ai essayé ça. Valeur 1, valeur 2. Je me suis aperçu qu'avec quelques valeurs supplémentaires, j'allais oublier quels étaient les référents. Alors j'ai pensé que, au lieu de pouvoir positionner ses valeurs n'importe où, je pourrais délimiter un maillage. Dans ce cas, on pointe une cellule et l'ordinateur lui assigne comme nom sa ligne et sa colonne. Et si je fais apparaître l'alphabet en abscisse et des chiffres en ordonnée, quand vous visualisez B7 dans une formule, vous savez précisément sa localisation sur l'écran. Si vous devez taper une formule, vous savez comment faire. Délimiter un maillage m'a aidé à résoudre mon problème. Ça ouvrait aussi de nouvelles capacités, comme la sélection de plusieurs cellules. Mais ce n'est pas trop contraignant car on peut taper n'importe quelle valeur ou formule, dans toutes les cellules. On fait toujours ainsi aujourd'hui, 40 ans plus tard. Avec mon ami Bob, nous avons décidé de construire ce produit ensemble. J'ai aussi travaillé pour comprendre comment le programme devait se comporter. J'ai développé une carte de référence à titre de documentation. Ça m'a permis de vérifier que l'interface que je développais pouvait être expliquée de manière concise et claire à des gens normaux. Bob a travaillé dans le grenier de son appartement, à Arlington. En voici une photo. Bob a acquis du temps sur le Multics du MIT, pour écrire les codes, sur un terminal comme celui-ci. Il téléchargeait des versions tests sur un Apple II emprunté, via une ligne téléphonique, avec un coupleur acoustique, et ensuite il testait. Pour un de mes tests, j'ai utilisé le cas du Pepsi Challenge. On ne pouvait pas encore imprimer, je prenais donc note de tout. On ne pouvait pas sauvegarder. A chaque crash, je devais retaper toutes les formules. Le lendemain, j'ai levé la main au cours. On m'a désigné et j'ai présenté le cas. J'avais préparé une projection sur 5 ans avec pleins de scénarios. Je les ai complètement bluffés. VisiCalc était déjà utile. Le professeur m'a demandé comment j'avais fait. Je ne voulais pas lui dévoiler notre programme secret. (Rires) Je lui ai dit que j'avais additionné ça à ça, et multiplié par ça et retiré ça. Il a demandé pourquoi je n'avais pas utilisé les ratios. J'ai dit : « Ha ! Ça n'aurait pas été aussi exact. » Je n'ai pas dit qu'on ne pouvait pas encore diviser. (Rires) Finalement, nous avons peaufiné VisiCalc suffisamment pour le présenter au public. Mon père a imprimé un modèle de carte de référence à utiliser pour notre marketing. En juin 1979, notre éditeur a annoncé VisiCalc publiquement, dans un petit stand à la National Computer Conference à New York. Le New York Times a écrit un article très drôle sur la conférence. « Les machines réalisent une espèce de rite religieux... Les croyants se rassemblent, les peintres dans la salle du Colisée ajoutent un nom au panthéon, en lettre jaunes et noires : « VISICALC ». Hip Hip Hip Hourrah à VISICALC ! » (Soupir) Le New York Times : « Hip Hip Hip Hourrah à VISICALC ! » (Rires) Ce fut la dernière mention des feuilles de calcul électroniques dans la presse d'affaires populaire pendant 2 ans. Presque personne n'avait compris. Mais pas tous. En octobre 1979, on a livré VisiCalc. Il se vendait dans un emballage comme celui-ci. Et sur un Apple II, ça donnait ceci. La suite, comme on dit, fait partie de l'histoire. Il y a tant d'autres choses à narrer, mais ce sera pour un autre jour. Une seule chose à ajouter : Harvard se souvient. Voici ma classe. Ils ont posé une plaque commémorative. (Applaudissements) Elle est aussi un rappel pour tous, que nous devons utiliser nos cursus nos compétences et nos envies uniques pour construire des prototypes pour découvrir et résoudre les problèmes et, grâce à cela, changer le monde. Merci. (Applaudissements)