Il a fallu attendre l'iPhone 3G et la 3e version de ce qui était encore iPhone OS pour avoir la fonction de copier-coller sur le smartphone d'Apple. Une lacune inexplicable à l'époque et dont la principale raison était assez simple : "pas le temps".
Ken Kocienda a travaillé sur les premières générations de l'iPhone, il est revenu dans un fil Twitter sur quelques-uns de ses souvenirs d'alors. Et donc ce fameux copier-coller aux abonnés absents lors du grand jour.
« Je n'avais pas le temps de m'en occuper correctement. J'avais trop de choses à faire pour l'autocorrection du clavier, et la gestion du texte. L'équipe design n'avait pas non plus le temps. On a décidé de s'assoir dessus pour la 1.0. » Kocienda était également aux manettes pour trouver un moyen de faire fonctionner le clavier virtuel de l'iPhone, l'une de ses caractéristiques les plus importantes dans un océan de téléphones dotés de claviers physiques.
En 2005, le casse-tête du clavier virtuel de l’iPhone
La fonction de copier-coller fut finalement au menu de la 3e version du système. Kocienda revendique l'idée de la petite loupe qui venait grossir la partie sélectionnée du texte et masquée par le doigt.
L'écran tactile amenait une autre contrainte, lorsqu'on relevait le doigt après avoir positionné le curseur au milieu d'un texte, l'élément pouvait déraper d'un ou deux caractères, le doigt ayant pu légèrement frotter l'écran lors de son mouvement de retrait.
Kocienda explique avoir conçu un journal d'activité tactile qui, lors d'une manipulation de texte, consignait la dernière position détectée quelques millisecondes avant que le doigt ne s'éloigne de l'écran, pour remettre le curseur à la bonne place.
Il raconte aussi que chaque portion de texte qui venait à être modifiée par l'utilisateur était rendue à l'écran sous la forme d'une minuscule page web (le développeur avait travaillé à la prise en charge de l'édition de texte dans WebKit entre 2003 et 2005).
Autre idée mise en pratique lors d'une modification textuelle, l'apparition automatique du clavier virtuel. Cela parait évident, mais ça ne l'était pas à l'époque. Le clavier montait et descendait sans aucune intervention de l'utilisateur et le texte à changer était déplacé à l'écran si le clavier risquait de le recouvrir.
C'était un comportement de base du système dont les développeurs allaient pouvoir profiter dans les apps sans rien avoir à faire. De même, le clavier s'adaptait tout seul au type de texte qui devait être entré, un pavé numérique pour la saisie de chiffres par exemple.
Il y a eu d'autres petites astuces futées, comme d'agrandir la zone de détection autour de celle qui était effectivement touchée par l'utilisateur, ou du moins celle qu'il croyait avoir touchée. La courbe du doigt faisant que l'on peut être trompé sur ce point, croyant avoir touché là alors que le doigt a pris contact avec l'écran un ou deux millimètres à côté.
Ou encore, l'idée d'exercer une pression longue sur une touche pour révéler les options d'accents avec les claviers étrangers.
Il évoque enfin l'une des limitations techniques du premier iPhone, l'absence de mémoire virtuelle et la possibilité d'offrir un véritable multitâche. Ses collègues utilisèrent un système baptisé "jetsam" qui, chaque fois qu'une app venait au premier plan, allait s'occuper de forcer à quitter les apps en arrière-plan lorsque la mémoire venait à manquer. Ces apps étaient alors réouvertes (et non pas juste réactivées) lorsqu'elles revenaient à l'écran.
Il y a 15 ans, Apple se remuait les méninges pour recréer des actions d'édition de texte sur un écran multipoints. Aujourd'hui le téléphone sait détecter, extraire voire traduire automatiquement du texte incrusté au sein de photos et de vidéos. On appréciera le chemin parcouru.
iOS 16 : « Texte en direct » opère dans les vidéos, dans les apps tierces et se montre encore plus pratique
Kocienda a travaillé chez Apple entre 2001 et 2017. Il a rejoint en 2020 certains de ses anciens collègues chez Humane, une startup dont on attend encore le premier produit.
Humane, l'amicale des anciens d'Apple, planche sur un appareil de réalité augmentée sans écran