Pour quelles versions de Mac OS X développer ?

22122008 In: Cocoa, Mac OS X

En ce moment, l'une des questions les plus présentes dans mon esprit, au sujet du développement de Marquise, est sous quelles versions du système d'exploitation mon application devra être capable de tourner. L'idéal serait de gérer le maximum de versions d'OS X. Cependant, cela présente des contraintes techniques, mais surtout économiques.

Les avantages d'assurer la compatibilité avec 10.4 (voire 10.3)

Ou plutôt, le seul avantage, mais un gros avantage: pouvoir toucher un maximum de clients. Voilà maintenant sept ans que la première version de Mac OS X est sortie. Il faut être conscient qu'il y a sûrement plus de machines tournant sous les OS 10.0 à 10.4 cumulés que Mac OS 10.5.

Il faut toutefois relativiser: la plupart sont tout de même sous 10.2 à 10.4, pour deux raisons. La première, c'est que les améliorations de 10.0 à 10.1 à 10.2 à 10.3 sont très visibles. L'autre raison, c'est que la reprise des ventes de Mac s'est faite lorsque 10.4 était le système actuel.

Pourquoi j'avais fixé le ticket d'entrée à 10.4

Une raison technologique: Core Data

Cette technologie fut introduite dans OS 10.4. Apple la présente comme une solution permettant de ne pas s'occuper de la gestion des fichiers, ni de l'Undo, avec à la clef un gain de productivité. J'ai été très déçu par Core Data (ce sera l'objet d'un autre article), que j'ai remplacé depuis par un enregistrement en XML. Aujourd'hui, j'utilise la classe NSXMLDocument, qui n'est disponible qu'à partir de 10.4.

Une raison pratique: je ne peux pas tester sous des versions antérieures

Ma machine principale est un iMac G5 sous 10.5, qui était livré avec 10.4. Je me suis donc acheté un disque dur externe et y est installé 10.4 pour mes tests. Il me faudrait une autre machine pour tester sous 10.3.

Une raison de puissance

Une machine sous 10.3, je vois ce que c'est: mon vieil iMac G3. Cette machine ne pourra jamais faire tourner Marquise qui manipule des images par dizaines. Fixer le système minimum à 10.4 permet de se limiter aux machines capables de faire tourner 10.4 correctement, c'est à dire les G5 et les tous derniers G4.

Pourquoi j'envisage de mettre le ticket d'entrée à 10.5

Comme je l'écris plus haut, je dois redémarrer pour tester Marquise sous 10.4. En pratique, cela se déroule ainsi: je copie l'application sur une mémoire USB, je redémarre avec Option appuyée et sélectionne mon disque externe pour le démarrage. Enfin, j'arrive sous 10.4, je lance Marquise, et m'écrie: "Bon dieu, ce que c'est moche !". Ce qui m'intéresse en particulier, c'est un des boutons de la barre d'outils qui devrait présenter un petit triangle, indiquant qu'un menu s'affiche, mais qui ne le fait pas. Je dois alors retourner sous 10.5, trouver un compromis sur la taille du bouton, reconstruire l'appli, la remettre sur la mémoire USB, redémarrer, etc. On peut perdre des heures sur ces manipulations. Évidemment, la solution serait de me payer une nouvelle machine, mais il va falloir que Marquise me rapporte quelques thunes avant.

D'autres développeurs, je pense à ceux de Delicious Library ou RapidWeaver, ont carrément fait le choix de ne plus développer que pour 10.5. La première raison est celle que je viens d'évoquer: maintenir leur logiciel pour deux versions d'OS X représente trop de boulot, par rapport au gain économique attendu. La deuxième raison est technologique: ainsi Delicious Library fut la première grosse application à utiliser Core Animation (introduit avec 10.5). On peut trouver cela tape-à-l'œil, mais c'est très certainement séduisant pour les clients potentiels qui essaient le logiciel.

À chaque fois que sort un de ces logiciels dédiés à 10.5, on peut lire les même commentaires aux nouvelles de MacGénération: "c'est bien dommage qu'il ne tourne pas sous 10.4". Ce que je pense, c'est que les deux tiers des gens qui laissent ce genre de messages sont sous… 10.5. Car la réalité la voici: les gens de Delicious Monster ou Real Mac Software ne sont pas suicidaires. S'ils prennent ce genre de décisions, c'est parce qu'il savent que leurs clients sont en grande majorité (au moins 85%) sous 10.5. Ils le savent par les statistiques d'accès à leur site web. Ce n'est pas contradictoire avec ce que j'écrivais plus haut: que la majorité des machines sous OS X, étaient sous 10.4 ou antérieures. En effet, un client qui est prêt à installer et payer un shareware n'est pas un utilisateur moyen.

Ma décision alors ?

À vrai dire, je n'ai toujours pas décidé. Mon code peut encore tourner sous 10.4. Mais un élément va être décisif: l'arrivée de 10.6, certainement à la même période que la première version commerciale de Marquise. Je devrai alors travailler sous trois versions d'OS X. Je me dis que limiter à 10.5 serait une bonne idée, rien que ne pas avoir de clients qui se mettent à râler quand j'abandonnerai 10.4, ce qui arrivera. Au final, je crois que je vais regarder les statistiques de mon site web quand je proposerai les premières versions béta en téléchargement pour décider.

Articles similaires