Comment l’automatisation grand public est arrivée chez Apple

Nicolas Furno |

Apple aime à nouveau l’automatisation pour tous. Avec l’arrivée de Raccourcis, l’app qui va succéder à Workflow, l’entreprise propose au plus grand nombre une solution relativement simple pour créer des tâches répétitives sur iPhone et iPad. 13 ans plus tôt, c'était Automator qui débarquait sur Mac avec la mission de simplifier la réalisation de scripts en tout genre.

Pour autant, l’automatisation, surtout celle destinée au grand public, n'a pas toujours été une évidence pour Apple. C’est ce que rappelle un article de Wired à propos de la naissance d’Automator au sein d’Apple et surtout de Sal Soghoian, son créateur.

Sal Soghoian aujourd'hui, photo Wired.

Une embauche menacée par le retour de Steve Jobs

Sal Soghoian est embauché par Apple en janvier 1997, quelques mois seulement avant le retour de Steve Jobs. Il s’était fait connaître auparavant pour ses connaissances en matière d’automatisation dans l’univers de la publication. Apple a inventé AppleScript en 1993 et ce langage de script avait été pensé pour les utilisateurs avancés, mais pas pour les développeurs. Sa syntaxe repose sur des phrases courantes en anglais, ce qui en simplifie la lecture et permet de commencer plus rapidement, surtout quand on n’a jamais appris un langage « sérieux », comme Objective-C ou Swift qui sont utilisé pour macOS et ses apps.

C’est aussi en 1993 que Sal Soghoian utilise pour la première fois un Mac et il s’amuse à créer des scripts sur la machine. Il parvient à automatiser la création de menus pour les bars et restaurants, et la mise en page de recettes pour faciliter leur impression. Très vite, ce passe-temps devient son occupation professionnelle : il devient consultant en AppleScript et conseille des entreprises dans l'automatisation de tâches répétitives afin d'augmenter leur productivité.

Quelques lignes d’AppleScript, extraites d’un script utilisé en interne pour récupérer les informations d’une app de l’App Store.

Il commence à travailler pour Apple en tant que « product manager of automations technologies », mais son poste est menacé par le retour aux affaires de Steve Jobs. Comme tous ceux qui avaient été embauchés après son départ, Sal Soghoian est sur la sellette, le cofondateur de l’entreprise entendant faire le ménage dans les rangs pour repartir sur de meilleures bases. Il commence à inspecter tous les départements au sein d’Apple et cherche à distinguer ceux qui sont importants de ceux qui sont perfectibles et peuvent être supprimés.

Au cours d’une réunion à laquelle Sal Soghoian participe, Steve Jobs se plaint de la chute de Mac OS, désormais loin derrière Windows, et surtout du manque d’idées de la part d’Apple pour améliorer la situation. « C’était facile quand nous étions cent fois meilleurs que Windows. Mais maintenant que ce n’est plus le cas, vous ne savez plus quoi faire. » C’est alors que l’un des responsables dans la salle répond « non, vous avez tort. »

« Et vous êtes ? », riposte le nouveau CEO, « Je m’appelle Sal Soghoian et vous avez tort. Ma technologie est meilleure que Windows. » Il était le premier dans la salle à oser répondre et c’était précisément ce qu’attendait Steve Jobs, venu juger qui était suffisamment passionné pour se battre pour garder son travail. Le responsable de l’automatisation a gardé son poste jusqu’en 2016. Le deuxième moment important de sa carrière a eu lieu en 2004, avec la sortie d’Automator.

« Automation, but for the rest of us »

Sept ans après son arrivée chez Apple, Sal Soghoian a un déclic. AppleScript a considérablement simplifié l’accès aux scripts avec son langage basé sur l’anglais, mais cela reste un langage de programmation malgré tout. C’est trop complexe pour la majorité des utilisateurs, qui seront bloqués par la nécessité d’écrire des lignes de code sur une page blanche. Il lui fallait une interface graphique. L’idée qui allait conduire à créer Automator était née.

Automator en action, ici avec un processus qui extrait toutes les images favorites de Photos et les assemble en un seul fichier PDF sur le bureau.

La première version d’Automator a été créée par Sal Soghoian. Il imagine une fenêtre avec une grille d’icônes dans le coin en haut à gauche, une par application que l’on peut automatiser. On y trouvait le Finder, Mail et des icônes plus génériques : internet, images, musique. Chaque icône ouvrait une liste de fonctions qu’Automator proposait et l’utilisateur pouvait glisser ces actions dans la partie de droite pour les combiner en un processus complet.

L’app fonctionne, Sal Soghoian parvient à imaginer plusieurs scénarios pour la présenter, mais personne ne s’y intéresse vraiment au sein d’Apple. Alors que la WWDC 2004 approche, il cherche à faire une démonstration à Steve Jobs pour le convaincre de l’intérêt de son app. On lui refuse un rendez-vous, mais qu’à cela ne tienne, il reste dans le couloir devant son bureau toute une journée pour enfin le croiser en fin de journée. Sans attendre, il annonce au CEO sur le départ qu’il veut lui parler de l’automatisation « but for the rest of us1 ».

Intrigué, Steve Jobs accepte la démo. Sal Soghoian ouvre dans Safari un site web .Mac (l’ancêtre d’iCloud) avec un album de photos de famille, une grille de miniatures qui peuvent être cliquées pour voir la grande version. Il ouvre ensuite Automator, ajoute quelques actions et crée un script qui télécharge les photos originales, les charge dans iPhoto (l’ancêtre de Photos) et lance iDVD (l’ancêtre de… plus rien en fait) quelques secondes plus tard, avec un diaporama prêt à graver sur un DVD.

Wired raconte que Steve Jobs a alors interrompu la démo : « Stop ! Je veux des robots pour les icônes. » Sal Soghoian avait réussi à le convaincre et Automator allait désormais être intégré à tous les Mac. Quelques mois plus tard, il monte sur la scène de la WWDC pour faire la même démonstration qu’au patron d’Apple. Un an après, Automator était intégré à Mac OS X Tiger, avec l’icône en forme de robot réclamée par Steve Jobs.

L’automatisation sur iOS s’est faite sans Apple

Trois ans après cette démonstration publique, Apple présentait le premier iPhone. Même si son système d’exploitation, qui n’était pas encore nommé iOS, se basait sur Mac OS X, l’iPhone ne prenait pas en charge AppleScript et il n’y avait aucune solution d’automatisation prévue pour ce nouveau produit. Rien de plus normal les premières années, mais Apple ne s’est jamais intéressée à ce domaine par la suite. La solution cette fois est venue de l’App Store.

C’est en 2011 que le développeur Greg Pierce présente x-callback-url, une solution pour permettre à deux apps iOS de communiquer entre elles. Il travaille avec Marco Arment, alors développeur d’Instapaper, pour exploiter cette nouvelle fonction avec sa propre app, Terminology, un dictionnaire. L’utilisateur pouvait sélectionner un mot dans Instapaper et obtenir directement la définition dans l’app Terminology. Cette méthode de communication ne s’est pas limitée à deux apps, très vite d’autres l’ont également exploitée, parfois des gros acteurs comme Google et Evernote.

Cette méthode est devenue un standard de fait, sans qu’Apple n’y soit pour rien. Elle a aussi permis à l’automatisation de faire ses premiers pas sur la plateforme : Launch Center Pro en 2012 exploitait x-callback-url pour permettre de créer un tableau de raccourcis vers des apps, mais aussi vers une section spécifique d’une app, ou en remplissant une information dans une app. C’était encore très rudimentaire, mais c’est bien Workflow, sortie fin 2014, qui a apporté l’automatisation à iOS, comme Automator l’avait fait pour le Mac dix ans auparavant. Et elle l’a fait sans le concours d’Apple, en exploitant notamment x-callback-url.

La toute première version de Workflow était très impressionnante à l’époque, et pas si différente de ce que l’app est devenue.

Pendant tout ce temps, Apple a donné l’impression de ne plus s’intéresser du tout à l’automatisation. Ce qui était autrefois son point fort est devenu un héritage du passé délaissé, voire abandonné. À l’automne 2016, Sal Soghoian a été remercié, mis à la porte sans aucun avertissement : Apple avait supprimé sa position et n’avait plus besoin de lui. Dans l’entreprise, Steve Jobs était devenu l’un des plus gros défenseurs de l’automatisation en général et d’Automator en particulier. Maintenant qu’il n’était plus là, ces sujets n’étaient plus une priorité.

C’est pour cette raison que l’annonce de l’acquisition de Workflow par Apple, au printemps 2017, a pu surprendre. Et si l’on a pu craindre pendant un moment que l’entreprise n’allait rien en faire de bon, elle a prouvé le contraire en présentant Raccourcis, une mise à jour majeure qui est mieux intégrée au système, en exploitant notamment Siri (lire : Raccourcis : découverte de l’app d’Apple pour automatiser iOS).

De quoi rassurer sur l’avenir de l’automatisation au sein d’Apple, au moins du côté d’iOS. Sur Mac, les fans d’Automator seront rassurés d’apprendre qu’Apple n’a pas oublié l’app, mise à jour pour macOS Mojave avec de nouvelles options pour s’intégrer au Finder et à la Touch Bar. Cette nouvelle page s’écrit sans Sal Soghoian, qui a rapidement trouvé une nouvelle place chez Omni Group, éditeur historique d’apps macOS et iOS, où il développe une nouvelle solution pour l’automatisation. Plutôt que de reposer sur le vieillissant x-callback-url, elle exploite du JavaScript, une technologie universelle qui permet notamment de faire interagir des services web entre eux.

Démonstration de l’automatisation par JavaScript développée par Sal Soghoian : ce script appelé depuis Safari modifie l’app automatiquement, ici pour créer une carte des États-Unis.

Quelle que soit la solution utilisée, l’automatisation est encore durable, selon Sal Soghoian. Il est même persuadé que l’on n’est qu’au début dans le domaine et que le meilleur est à venir. C’est peut-être aussi ce que s’est dit Apple en constatant le succès et le potentiel de Workflow… On a hâte de voir ce que l’entreprise en fera dans les prochaines années !


  1. Que l’on pourrait traduire « mais à la portée de tous », mais il s’agit d’une référence au slogan de la publicité pour le premier Macintosh, « the computer for the rest of us ». ↩︎

avatar DeluxePainter | 

Merci au rédacteur 👍🏼

avatar guigus31 | 

Y’a du boulot du côté de Homekit pour l’automatisation. Impossible de réaliser un scénario de simulation de présence (lumière / tv qui s’allume a horaires aléatoires mais suffisamment crédible)
Ou alors j’ai pas trouvé comment ?

avatar BeePotato | 

« comme Objective-C qui était déjà utilisé pour Mac OS et ses apps. »

Non, à cette époque (ni en 1993, ni en 1997), Objective C n'était pas encore utilisé pour le développement de Mac OS et de ses applications.

avatar Jeckill13 | 

@BeePotato

Ils utilisaient quoi ?

avatar Un Type Vrai | 

Basic puis pascal sur Mac OS.
Je crois que la majorité de Mac OS était en pascal jusque 8.6...

Les outils par contre, j'ai oublié le nom de l'IDE de Cupertino.

Et puis pour les "bidouilles" magique, il y avait resedit ! :D

EDIT : https://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop
Merci Wikipedia ;-)

avatar occam | 

@Un Type Vrai

"Je crois que la majorité de Mac OS était en pascal jusque 8.6..."

Le rôle de Pascal avait fortement diminué bien avant, comme en peut s’en convaincre en consultant les éditions successives de Inside Macintosh.

En fait, la vraie « Pascal  Machine », et peut-être la seule si mes souvenirs ne m’abusent, était Lisa.

Quant à MPW, tous les programmeurs de l’époque PPC que je connaissais lui préféraient largement Code Warrior de MetroWerks. Choix ouvertement entériné par Apple lors des Apple University Days de l’époque. L’ « évangéliste » de l’époque, dont j’ai oublié le nom, disait sans embages : « MetroWerks saved our ass, and it will save yours ».

avatar Un Type Vrai | 

oops, trompé de version, je pensai à 7.6 (voir plus bas)

avatar byte_order | 

> Je crois que la majorité de Mac OS était en pascal jusque 8.6...

Difficile à dire, mais je pense sincèrement que le ratio Pascal / C était quand même un peu plus en faveur du C à l'époque de MacOS 8.x.

> Les outils par contre, j'ai oublié le nom de l'IDE de Cupertino.

On a nettement plus retenu CodeWarrior de Metrowerks plus que MPW, et c'est pas uniquement à cause du nom de ce dernier...

avatar Un Type Vrai | 

Mea culpa, je pensais à 7.6 après la foirée de 7.5.x
Mais j'ai quitté le mac à cette époque (mes macs plantaient 10 fois par jour sous Mac OS 7.5.x ) pour linux.

Et j'ai du lire ça dans un magasine de l'époque :-)

avatar BeePotato | 

@ Jeckill13 : « Ils utilisaient quoi ? »

Pour les développeurs d'applications, encore un peu de Pascal en 1993, mais ensuite surtout du C++.
L'usage d'Objective C dans le monde de Mac OS n'est arrivé qu'avec la sortie de Mac OS X.

avatar occam | 

@BeePotato

"Non, à cette époque (ni en 1993, ni en 1997), Objective C n'était pas encore utilisé pour le développement de Mac OS et de ses applications."

Pas en ‘93, d’accord. Je ne sais plus quelle était la situation pour Mac OS en ‘97, mais en tout cas, mon équipe de ‘97-‘98 s’était déjà mise, sous pression, à Objective-C et surtout à Project Builder, pour élaborer des applications statistiques.

avatar BeePotato | 

@ occam : « Je ne sais plus quelle était la situation pour Mac OS en ‘97 »

Mac OS 7.6, puis la sortie de Mac OS 8 dans le courant de l'année, et donc toujours pas d'Objective C.

« mais en tout cas, mon équipe de ‘97-‘98 s’était déjà mise, sous pression, à Objective-C et surtout à Project Builder, pour élaborer des applications statistiques. »

C'était avoir grande confiance dans le planning annoncé par Apple pour Rhapsody.
Mais bon, ça a dû permettre de prendre le temps de peaufiner les applications en question avant la sortie de Mac OS X en 2001. ;-)

avatar Jetsurfer | 

Super article 👌 et content de voir que Salut a retrouvé du boulot, rien d'étonnant et c'est certain qu'il va sortir quelque chose...

avatar ET80 | 

Où peut on trouver des ressources pour apprendre à utiliser et débuter sur Automator ?

D’ailleurs qui utilise Automator ? Pour quels besoins ?

avatar fanchig | 

@ET80

Ton commentaire montre bien que "automation, for the rest of us" reste un slogan, sans effet sur le grand public.

Ps: je suis comme toi. Je n'ai pas encore trouvé d'intérêt pour automator...

avatar guill | 

@fanchig

Perso je l’utilise régulièrement pour renommer ou redimensionner des fichiers en volume
Ça peut être aussi pour fusionner des fichiers répartis dans pleins de sous dossiers.

Principalement des utilisation Finder du coup

avatar Un Type Vrai | 

Je pense effectivement que se dire qu'une tâche que l'on fait tous les jours sans y penser nécessité d'y penser...
C'est le point faible d'Automator, mais je suis persuadé que l'IA peut changer grandement la donne.

A mon avis, il faut inverser le schéma. Ne pas se dire qu'est-ce que je peux automatiser, mais QUAND.

Exemple : script du matin : je pars au travail.
Le script coupe le son, verouille la porte et allume l'alarme.

On change de voiture et de porte de garage, l'IA repere qu'on sort aussi la voiture et propose d'y ajouter : ouvrir la porte de garage, sortir la voiture et refermer la porte de garage.
A ce moment la, on decouvre que la porte de garage, la voiture et le systeme d'automatisation savent se parler... Génial.

Sinon, on se retrouve avec un Automator, quelques essais rigolo, à la limite un petit jeu* et puis c'est tout.

* il y avait un «cover maker» qui allait chercher un nom de groupe, une image et un morceau de phrase (dont on devait extraire le titre) pour faire une fausse jaquette de cd.

Enfin, pour Applescript, c'est un langage facile à lire, mais pas si facile à écrire. Or l'automatisation pour tous, ca doit être la facilité d'écrire (pour lire on a les commentaires). Les concepts de variables, constantes, listes, types ne sont pas naturels et beaucoup de personnes ne savent pas commencer à écrire du code. Il aurait fallut un outil plus visuel bien plus tôt.
Et pour ceux qui sont sceptiques parce qu'ils maîtrisent parfaitement tout ces concepts, prenez un et mettez le devant coding game, il ne saura même pas par où commencer le premier exercice... Comment voulez vous qu'il écrive un Applescript ?

avatar Un Type Vrai | 

Au sujet des connaissances supposés de base, il y a une série de vidéo avec des enfants devant de vieilles technologies. C'est intéressant de voir qu'ils ne savent pas allumer un mac LC ou régler l'heure d'un vieux magnétoscope...
Pourtant, ils sont experts en iPad, smartphone etc...

avatar Dark-mac | 

Je vous conseille ce site : http://macosxautomation.com/automator/
C'est fait par Sal Soghoian lui même et c'est vraiment intéressant ! Il y a pas mal d'explications sur les actions d'Automator, je vous conseille d'y faire un tour.
A noter qu'une bonne maitrise de l'anglais est requise.

PS : Je recommande également de faire un tour aussi directement sur https://macosxautomation.com/ !

avatar mcgyver | 

Bravo pour cet intéressant et excellent article !

avatar hugome | 

Moi qui ne suis pas un programmeur, j'ai fait de nombreux scripts en Applescrit, mais j'ai jamais compris ni trouvé d'intérêt à Automator. D'autres comme moi ?

avatar marenostrum | 

tu peux ajouter tes Applescript (ou JavaScript, ou commandes Shell, SQL, etc) à un processus donné.

avatar hugome | 

@marenostrum

C’est à dire ?

avatar ovea | 

Ni l'un ni l'autre non vraiment d'intérêt.

Écrire ses scripts, c'est … penser qu'un algorithmes peut être asservie à l'utilisateur.
Ça rend l'action déclenché trop spécialisée.

Automator fait plus dans l'inversion du point de vue, pour que l'utilisateur soit au service de l'algorithme. C'est effectivement ce qui manque cruellement à Apple qui … malheureusement est toujours à la traîne alors que quasiment tous les nains du GAFAMI y arrive péniblement … et même beaucoup d'autres, encore mieux.

Ni l'un ni l'autre non vraiment d'intérêt ?
L'une et l'autre des solutions sont parfaitement équivalentes. Mais Apple est passée maître dans la stratégie de ne plus rien faire qu'elle n'est déjà fait autrement et, c'était l'ouverture à ce point de vue opposé qui pourtant faisait son unique intérêt.

avatar hugome | 

@ovea

Rien compris

Pages

CONNEXION UTILISATEUR