Fermer le menu
 

PopChar : 30 ans dans le rétroviseur d'une application Mac

Stéphane Moussie | | 10:00 |  31

30 ans, c’est l’âge remarquable atteint cette année par PopChar, une application Mac facilitant la saisie de caractères spéciaux. Un anniversaire qui est l’occasion pour son créateur, Günther Blaschek, de revenir sur son évolution au long cours.

La version actuelle de PopChar. Cliquer pour agrandir

Tout commence en 1987, quand le docteur en informatique autrichien a besoin de trouver des caractères spéciaux dans la police Symbol :

L’utilitaire Key Caps d’Apple [remplacé par le Visualiseur de clavier dans Mac OS X Panther, ndr] n’était pas très efficace parce que je devais essayer toutes sortes de combinaisons au clavier pour voir quels caractères étaient disponibles.

Étant développeur, j’ai décidé d’écrire un petit utilitaire me permettant de sélectionner des caractères plus facilement. J’ai réalisé cet utilitaire en Turbo Pascal sur un Mac Plus avec 2,5 Mo de mémoire.

La quantité de mémoire étant très limitée, il n’est pas possible de faire tourner plusieurs applications en même temps, à l’exception des « Accessoires de Bureau », de petits programmes pouvant s’afficher par-dessus l’application principale : « J’ai donc créé un Accessoire de Bureau baptisé “Character Map” qui affichait tous les symboles pour une police donnée et permettait de les copier-coller dans un document texte. »

Une des premières versions de PopChar, sur un Mac Plus.

Günther Blaschek fait ensuite évoluer son programme en une extension du système (INIT) afin de pouvoir le laisser constamment à l’écran et insérer directement un caractère. Le nom définitif de l’application jaillit dans son esprit comme les caractères à l’écran (« CHARacters POPped up ») : PopChar — qu’il prononce « pop car », étant germanophone.

En même temps que l’informaticien met à jour son application pour prendre en charge les moniteurs couleurs, passer à Think Pascal ou bien encore résoudre des problèmes liés à Microsoft Word, il la distribue gratuitement au gré du bouche-à-oreille. Il demande uniquement en échange aux utilisateurs de lui envoyer des cartes postales et des timbres. « Je ne peux pas dire combien j’en ai reçu au cours de toutes ces années », se souvient-il.

En 1995, il se rend compte qu’il consacre trop de son temps libre à PopChar, et décide que le moment est venu de tirer un peu d’argent de cette activité. Il change d’environnement de développement (il passe à CodeWarrior) et réécrit entièrement PopChar. Un an plus tard sort PopChar Pro, une toute nouvelle version apportant le réglage de la taille des polices, la sélection manuelle des polices, une fenêtre flottante, un éditeur de mise en page et la gestion de plusieurs langues. C'est aussi à cette période que le logiciel est traduit en français par l'universitaire Hervé Bismuth.

Menu de PopChar Pro.

Le lancement de Mac OS X en 2001 marque un nouveau tournant : « C’était un changement majeur qui rendait obsolètes la plupart des technologies utilisées dans PopChar Pro. » Le développeur réécrit alors l’application en C++ et se sert du framework Carbon comme base. En mai 2001, Ergonis Software, l’entreprise fondée par son associé Christoph Reichenberger, ouvre son site web et y distribue PopChar X.

PopChar X. Cliquer pour agrandir

Quatre ans plus tard, nouveau bouleversement, Apple annonce la transition vers les processeurs Intel. « PopChar a été encore refait de fond en comble, cette fois en Objective-C avec Xcode. Le résultat a été PopChar 3. Comme PopChar 3 était désormais basé sur Cocoa, il pouvait exploiter de nouvelles technologies et disposer d’une interface utilisateur moderne. Mais le plus important était qu’il s’agissait d’un “binaire universel” qui tournait nativement sur les Mac PowerPC et Intel », raconte Günther Blaschek.

Depuis, pas de refonte aussi profonde, mais des mises à jour régulières pour suivre l’évolution d'OS X et d’Unicode, ainsi que pour retirer les éléments devenus superflus et ajouter de nouvelles fonctionnalités. En 2014, par exemple, PopChar 7 introduit un outil de recherche graphique pour trouver un caractère en le dessinant.

Recherche graphique introduite dans PopChar 7.

En 30 ans, PopChar sera passé d’un écran noir et blanc de 512 x 342 pixels à un écran Retina 5K, d’un processeur Motorola 68000 cadencé à quelques MHz à un processeur Intel multicœur à plusieurs GHz, du System 4.2 à macOS Sierra, et il aura aussi survécu à bon nombre de logiciels.

« Pour survivre à tous ces changements, PopChar a été réécrit complètement à plusieurs reprises. Ces efforts ont été nécessaires pour assurer une évolution régulière de PopChar et un support continu pour nos clients fidèles », conclut l’infatigable développeur… qui est en train de finaliser une nouvelle version majeure.

Catégories: 

Les derniers dossiers

Ailleurs sur le Web


31 Commentaires Signaler un abus dans les commentaires

avatar Wolf 16/05/2017 - 10:34 via iGeneration pour iOS

Ça aurait été intéressant de savoir si il gagne sa vie avec PopChar ou pas

avatar DG33 16/05/2017 - 10:51 via iGeneration pour iOS (edité)

Mon Dieu ça ne me rajeunit pas !
Installé sur mon Mac SE.
🎉

avatar Giloup92 16/05/2017 - 10:57 via iGeneration pour iOS

Excellent article que ceux qui trouvent les logiciels (ou les applications) toujours trop chers devraient lire. Je conserve cette citation : " la clé de la simplicité est de maintenir l’illusion de la simplicité".



avatar BeePotato 16/05/2017 - 11:02

Deux petites remarques sur l’article :

« PopChar — qu’il prononce « pop car », étant germanophone. »

C’est sans doute surtout, tout simplement, parce que c’est un nom en anglais et que ça se prononce de cette façon en anglais. ;-)

« En 30 ans, PopChar sera passé […] d’un processeur Motorola 68030 cadencé à quelques dizaines de MHz à un processeur Intel multicœur à plusieurs GHz »

L’écart est encore un peu plus grand que ça : sur le Mac Plus, c’était un 68000 à 8 MHz.

À part ça, merci pour cet article qui réveille plein de souvenirs qui ne nous rajeunissent pas. Ah, Turbo Pascal sur un Mac Plus… :-)

avatar Stéphane Moussie macG 16/05/2017 - 11:08 (edité)

Pour la prononciation, voici ce qu'il dit lui-même : « I live and work in Austria, so I used to pronounce it like "pop car" (we pronounce the German word "Charakter" with a "K"). Most English-speaking people pronounce the second syllable like "charcoal" or "charming". »

C'est rectifié pour les MHz du Mac Plus.

avatar HoulaHup 16/05/2017 - 14:26

Pourtant, les anglais prononcent bien "car" et pas "char".
https://translate.google.com/#fr/en/caract%C3%A8re

Rien à voir avec la prononciation de Charming :
https://translate.google.com/#en/fr/charming

avatar BeePotato 16/05/2017 - 14:36 (edité)

@ Stéphane Moussie : « Pour la prononciation, voici ce qu'il dit lui-même : “I live and work in Austria, so I used to pronounce it like "pop car" (we pronounce the German word "Charakter" with a "K"). Most English-speaking people pronounce the second syllable like "charcoal" or "charming ».” »

Ah ? Ok.
C’est surprenant. Je pensais que les Anglo-Saxons le prononceraient avec le son [k], vu que le « char » vient de manière évidente du mot « character » (qui se prononce bien avec le son [k] au début).
Mais finalement, ce lien n’est peut-être pas si évident que je l’imaginais pour tous les utilisateurs. :-)
Bizarre, tout de même…

avatar YAZombie 16/05/2017 - 22:11 (edité)

@BeePotato: je suis surpris comme toi, mais finalement et en y réfléchissant seulement à moitié. Dans mon discours intérieur j'ai tendance à le prononcer "ʃ" alors qu'à haute voix plutôt "k"! In fine je pense que les Anglo-saxons se fondent dans le cas présent plus sur l'euphonie ("p"+"k" pouvant facilement tourner au pataquès) que sur la logique linguistique.

avatar Ios_What a joke 16/05/2017 - 13:37

"C’est sans doute surtout, tout simplement, parce que c’est un nom en anglais et que ça se prononce de cette façon en anglais. ;-)"
Ou pas. Des cours de bases en anglais s'imposent d'urgence!

avatar HoulaHup 16/05/2017 - 14:27

Ou pas :
https://translate.google.com/#fr/en/caract%C3%A8re
et clique sur le petit haut-parleur.

avatar YAZombie 16/05/2017 - 22:02 (edité)

"et clique sur le petit haut-parleur": je ne sais pas ce que tu as fait comme réglages, mais si ça dit autre chose que "ˈkarəktə" ils sont foireux… car c'est bien ainsi qu'il convient de le prononcer en anglais, quelle que soit la localisation (pour le "k" initial s'entend)…

avatar HoulaHup 17/05/2017 - 16:41

Oui, on est bien d'accord, c'est exactement ce que je dis.

avatar YAZombie 17/05/2017 - 19:47

Ah ok, tu avais répondu à la mauvaise personne alors! hahaha

avatar HoulaHup 17/05/2017 - 21:23

Non, ma réponse est bien destinée à Ios_What a joke. Whatever!

avatar YAZombie 17/05/2017 - 23:59

Mmm, tu as raison, et je ne sais même plus comment présenter mes excuses. Je ne sais pas ce que c'est mais il faut manifestement que j'arrête un truc là 🤔

avatar BeePotato 16/05/2017 - 14:37

@ Ios_What a joke : « Ou pas. »

Si, si, bel et bien. :-)

« Des cours de bases en anglais s'imposent d’urgence! »

Non, merci, je n’en aurai pas besoin. Je me permettrai en revanche de te retourner le conseil. ;-)

avatar YAZombie 16/05/2017 - 22:05 (edité)

@Ios_What a joke: si tu penses que ça se prononce ˈʃarəktə alors c'est clairement toi qui as besoin de prendre des cours de base d'urgence. Mais alors d'extrême urgence…

avatar perrudja 16/05/2017 - 11:05 via iGeneration pour iOS

Yes turbo pascal le langage qu'on nous enseignait en première année de fac de science dans les années 80 !
Bel article !

avatar gwen 16/05/2017 - 11:56 via iGeneration pour iOS

Utilisateur depuis près de 20 ans du logiciel, il fait partie de la trousse à outils indispensable sur mon Mac. Je ne pensais pas qu'il existait depuis si longtemps. Je croyais avoir été un utilisateur de la première heure, ne connaissant personne d'autre qui l'utilisait à l'époque. Ça fait du bien de relativiser du coup :)

avatar Vivid 16/05/2017 - 13:18

Lightspeed C, Think C, Code Warrior.... et bien sur les enseignants irrémédiablement toujours a côté de la plaque avec le pascal ;-)

avatar oomu 16/05/2017 - 17:16

le but n'était pas de vous enseigner un langage d'un constructeur ou de production en industrie, tel le C, Visual Basic ou Python, mais l'algorithmie : découper une tâche en sous-tâche, organiser une résolution de problème, etc.

Le Pascal convenait très bien à cela, il fut d'ailleurs écrit pour être une transcription des cours d'algorithmie. Donc on vous enseignait des principes d'algorithmes usuels, et vous les transposiez par la suite dans n'importe quel langage du jour.

En IA idem: on vous forme à UN lisp et autre prolog, mais avec le bagage théorique pour que vous adaptiez tout cela à n'importe quelle grammaire ou nouvelle évolution.

Bon bien sur de nos jours c'est ringard et naze : tout ce qu'on demande c'est de former sans recul ni compréhension à un truc cool que demandent les entreprises pour être un salarie rentable immédiatement. Le temps que vous ayez du recul sur SWIFT pour faire du code intéressant, vous serez remplacé.

Le point est: les enseignants sont pas que des abrutis.

avatar byte_order 16/05/2017 - 18:11

Ce n'est pas de l'académisme forcené mais simplement parce que MacOS Classic ayant été programmé en Pascal, son interface de programmation native était Pascal.

Cela a d'ailleurs posé de nombreux problèmes quand une partie de l'API de MacOS a petit à petit évolué et intégré des nouvelles fonctionnalités écrites ensuite en C, voir C++.
Avec, par exemple, certaines API attendant des chaines de texte au format Pascal (premier octet = longueur de la chaine, chaine de 255 caractères max donc) ou au format C (pas de taille limite, commence dès le premier octet, se termine par un octet nul).

Ou le format d'appel des fonctions - en particulier les callbacks appelées depuis une vieille API encore en Pascal, formats différents entre le C et Pascal.

Mais je parle d'une époque que les moins de 30 ans ne peuvent pas avoir connu...

Bref. programmer en Pascal au tout début du Mac c'était tout aussi logique que programmer en Objective C au début de MacOS X, pas une posture académique : c'était le langage pour qui l'API était native, point.

Dans les 2 cas l'histoire a prouvé ensuite que le choix de langage natif n'était pas si perenne ni universel que cela. Sur ce plan, la langage C est clairement loin devant, par exemple.

avatar BeePotato 16/05/2017 - 18:22

@ byte_order : « Bref. programmer en Pascal au tout début du Mac c'était tout aussi logique que programmer en Objective C au début de MacOS X, pas une posture académique : c'était le langage pour qui l'API était native, point. »

En effet.
Et dans les deux cas, ce n’était pas désagréable du tout. :-)

« Dans les 2 cas l'histoire a prouvé ensuite que le choix de langage natif n'était pas si perenne ni universel que cela. »

Ben pour Objective C, c’était tout de même bien pérenne, puisque c’est toujours d’actualité, 16 ans après la première version de Mac OS X.

« Sur ce plan, la langage C est clairement loin devant, par exemple. »

Oui et non : les OS qui ont toutes leurs API attaquables directement en C, on en trouve encore beaucoup ?
D’autre part, l’Objective C profite pleinement de son socle C sur ce point.

avatar byte_order 16/05/2017 - 19:10 (edité)

> Ben pour Objective C, c’était tout de même bien pérenne, puisque c’est toujours d’actualité,
> 16 ans après la première version de Mac OS X.

Y'a quand même une volonté chez Apple, tout comme chez Microsoft avec C# d'ailleurs, d'inciter à investir dans un langage plus multiplateforme qu'Objective C, Swift, mais surtout un une plateforme logicielle qui transcende les frontières des plateformes dites "natives" seulement.

Une incitation qui répond d'ailleurs à un besoin des développeurs qui sont de plus en plus multiplateformes eux aussi, marché oblige.

> Oui et non : les OS qui ont toutes leurs API attaquables directement en C,
> on en trouve encore beaucoup ?

En PDM, oui : Windows et Linux offrent toujours une API C.

Dans les faits, ceci dit, ce n'est plus le langage favori des développeurs désormais car ils gagnent nettement plus de temps en utilisant des surcouches en C++, .NET, Qt, Java ou que sais-je encore et la transformation du paysage applicatif avec le web et les mobiles ont largement contribué à bousculer cette situation.

Mais vu que le C date de 1972, et qu'on peut considérer comme établi à partir de 1978, sa durée de vie et sa versatilité reste un record à ce jour. C'est ce que je voulais dire, sans pour autant prétendre qu'il va continuer à augmenter encore longtemps...
Nul doute qu'un beau jour ce record sera dépassé, car clairement il n'est plus dans la course désormais, les plateformes logicielles récentes ne l'utilisant plus nativement, c'est inévitable.

C'était aussi pour souligner que les besoins académiques et industriels sont différents, et que croire que les seconds peuvent s’accommoder des choix des premiers est illusoire.

Cependant, y'a une pénurie de développeurs en C/C++ actuellement, donc l'annonce de la mort du C est largement exagéré ^^

avatar BeePotato 16/05/2017 - 23:32

@ byte_order : « Y'a quand même une volonté chez Apple, tout comme chez Microsoft avec C# d'ailleurs, d'inciter à investir dans un langage plus multiplateforme qu'Objective C, Swift »

Je ne pense pas que ce soit principalement l'aspect multi-plateformes qui intéresse Apple dans cette histoire. Cet aspect est un plus car il permet d'amener plus de développeurs à utiliser ce langage et d'avoir plus rapidement une grosse base de code source partagé, mais la motivation principale était bien de passer à un langage plus moderne (le côté multi-plateformes n'est arrivé que plus tard, d'ailleurs).

Cela dit, c'est très récent cette histoire et avant ça, Objective C tenait très bien – et il continue de tenir pas mal, puisqu'on ne l'a pas encore remplacé par Swift.
C'est juste ce que je voulais faire remarquer : pas prétendre que l'usage de ce langage pour le développement sur Mac sera éternel, juste qu'il aura été utilisé sur une période plutôt longue.

« mais surtout un une plateforme logicielle qui transcende les frontières des plateformes dites "natives" seulement. »

?
Là, j'avoue que je ne vois pas bien à quoi ça fait référence.

« En PDM, oui : Windows et Linux offrent toujours une API C. »

J'ai bien précisé : toutes leurs API. Je ne suis pas sûr qu'on puisse accéder à toutes les dernières nouveautés en C sous Windows (mais je peux me tromper, ne développant que peu pour cet OS).

« Mais vu que le C date de 1972, et qu'on peut considérer comme établi à partir de 1978, sa durée de vie et sa versatilité reste un record à ce jour. »

Là, tout à fait d'accord.
J'apporte d'ailleurs régulièrement ma modeste contribution à cette durée de vie. :-)

« C'était aussi pour souligner que les besoins académiques et industriels sont différents, et que croire que les seconds peuvent s’accommoder des choix des premiers est illusoire. »

En effet.

« Cependant, y'a une pénurie de développeurs en C/C++ actuellement, donc l'annonce de la mort du C est largement exagéré »

En effet aussi.

Pages