10 règles d’or pour les concepteurs de logiciels

Par | 25 février 2008

Voici une liste très sympathique de conseils aux concepteurs de logiciels trouvée sur le site The Great Software List.

La plupart des points sont surtout valables pour les développeurs indépendants qui développent des applications commerciales grand public. Mais la plupart sont applicables aussi à d’autres domaines :

1.a. Soyez préparé à perdre, et ne pensez pas que vous devez être numéro 1 pour gagner. Le succès prends du temps.

b. Prenez le temps d’étudier la concurrence de façon exhaustive avant d’écrire une seule ligne de code. Localisez les problèmes sur lesquels ils se concentrent, et trouvez leurs défauts et lacunes.

c. Développez des applications que vous utilisez régulièrement. Si vous utilisez votre propre logiciel chaque jour, vous aurez beaucoup plus de chance de construire un logiciel robuste. Autrement, la plupart des développeurs ont tendance à très vite ignorer ou éventuellent saboter leurs créations.

d. Gardez suffisamment d’énergie pour faire la promotion de votre logiciel.

e. Ne pensez pas que les utilisateurs voient les choses de la même manière que vous. Une fonctionnalité qui vous paraît superflue peut se révéler essentielle à un groupe entier d’utilisateurs potentiels qui recherchent le meilleur de ce que votre logiciel peut leur fournir.

f. Ne passez pas tout votre temps à ajouter des fonctionnalités alors que vous feriez mieux de raffiner et simplifier celles qui existent déjà.

g. Si vous comptez gagner votre vie en développant, construisez des outils qui simplifient la vie des gens ou la rendent plus intéressante. Ainsi, il y a de bonnes chances que vous duriez plus longtemps et que vous vous épanouissiez dans votre travail.

2. Soyez logique et cohérent en ce qui concerne le choix des raccourcis clavier. L’erreur la plus commune que j’ai observée avec les sharewares est le conflit de raccourcis clavier entre les menus et les fenêtres de dialogue. N’utilisez jamais une même lettre pour un raccourci clavier deux fois à l’intérieur d’une même fenêtre de dialogue ou d’un même menu. L’assignation des raccourcis clavier prends du temps. Par conséquent, il ne faut pas avoir peur de les modifier dans vos nouvelles versions. Prenez soin aussi de toujours fournir une carte des raccourcis clavier dans votre documentation.

3. Ce sont souvent de petites choses qui vous différencient de la concurrence. Par exemple :

a. Considérez la création d’un menu pour rendre vos raccourcis clavier paramétrables. Vous pouvez par exemple vous inspirer des logiciels FeedDemon (de Bradbury), EmEditor ou EmFTP (d’Emurasoft). Les gens qui savent taper sont plus rapides au clavier qu’à la souris.

b. Si votre application gère du texte, et cela inclue les outils de blogging, ajoutez un compteur de mots dans la barre d’outils. Beaucoup de ceux qui écrivent ont besoin d’un accès rapide à un compteur de mots précis, spécialement dans le cas où ils sont limités à 200, 800 ou 1500 mots.

c. Si votre application est destinée à rester ouverte toute la journée sur le bureau, le moteur de rendu doit être rapide et l’interface utilisateur efficace. Le gestionnaire XYplorer est un bon exemple à suivre.

d. Les utilisateurs remarquent les fonctionnalités créatives telles que le « Squeez archiver » de XYplorer.

4. Clarifiez au maximum les options de licence de votre logiciel et fournissez un historique des diverses versions du logiciel sur votre site. Un historique des versions donne une idée de la fréquence de mise à jour du logiciel aux utilisateurs. La dernière chose qu’un utilisateur voudrait apprendre après avoir acheté un logiciel serait d’être tombé sur un abandonware. Les mises à jour limitées en temps effraient les utilisateurs. Ils se sentent floués s’il y a une limite de mises à jour de 12 mois. Ils veulent sentir qu’ils possède le logiciel, et non pas qu’ils le louent. De toute façon, si vous faites des mises à jour sur des périodes de 12 à 15 mois, il n’y a aucune raison de limiter vos utilisateurs en temps. Les licences par souscription sont à proscrire. Les utilisateurs ont horreur de cette idées et chercheront vite des alternatives. A chaque nouveau renouvellement, ils se demanderont s’ils ont vraiment besoin du logiciel. Payer pour une nouvelle version est attendu, mais construire une application dont les fonctionnalités expirent à la fin d’une période est une marque de dédain et d’indifférence envers eux.

5. Vous n’êtes pas votre code. Rappelez-vous que le but d’une revue est de trouver les problèmes, et il y en aura. Ne le prenez pas personnellement lorsque l’un d’eux est découvert. Ignorez les abrutis et les trolls car la vie est bien trop courte pour leur porter votre attention. Ne prenez pas personnellement les critiques constructives et arrêtez de rester sur votre défensive. C’est dans la nature des logiciels d’évoluer sans cesse, sans jamais atteindre la perfection. Il est difficile de concevoir un site web sans mise à jour ou qui ne contient aucune faute d’orthographe, alors pourquoi traitez-vous votre logiciel comme s’il était parfait? Relaxez-vous et planifiez pour les nouvelles versions.

6. Encouragez les retours des utilisateurs. Vous avez bâti une bon logiciel, maintenant laissez-les décider de ce qu’ils veulent (dans la limite du raisonnable bien sûr). Plus important encore : soyez réactif. Si vous ne pouvez pas inclure ce que les utilisateurs veulent, partagez au moins avec eux vos projets pour les prochaines mise à jour. Ceci réduira leur niveau de frustration et modèrera leur anxiété. Leur patience jouera ainsi en votre faveur. Note : je sais bien que certains sont des abrutis sans aucun tact. Mais l’important est de trouver une poignée d’utilisateurs en qui vous avez confiance et dont le savoir et la considération vous feront avancer. Plus important encore, recherchez la diversité d’opinion.

[NDLR : deux bons élèves sur ce point : les logiciels Essential PIM et Tudumo]

7. Pour commencer, copiez les meilleures fonctionnalités des autres programmes. Pas besoin de réinventer la roue. Ne vous concentrez pas sur une petite fonctionnalité, virtuellement insignifiante au détriment d’une fonctionnalité que vous êtes le seul à proposer. Faites évoluer les fonctionnalités déjà inclues dans votre logiciel. Par exemple, les boîtes de dialogue peuvent toujours être revues et améliorées. Vos écrans de Recherche, Trouver/Remplacer sont-ils aussi efficace qu’ils devraient l’être?

8. Reconsidérez le coût de votre logiciel : 59,95$ pour une application unitâche est simplement trop cher pour la plupart des budgets. Si votre logiciel n’a qu’une fonction, il ne devrait pas coûter plus de 15 à 30$. Vous vendrez deux fois plus de licences pour 30$ que vous n’en vendriez pour 50$. Par contre, si vous vendez une licence à vie, comme WinRAR ou l’explorateur de fichiers XYplorer, alors vous avez intérêt à demander plus, voire même tripler le prix. UltraEdit propose à la fois une licence de 1 an et une option pour une licence à vie. Si votre logiciel reste ouvert sur le bureau la plupart de la journée, vous avez intérêt à fixer un prix correct comparable à celui pratiqué par vos meilleurs concurrents dans votre catégorie de logiciel. Malheureusement, faire payer trop cher encourage le piratage et pousse les utilisateurs à se rabattre sur des alternatives gratuites ou open-source, quelle que soit la qualité de votre logiciel. (Et les abrutis qui piratent les logiciels continueront, chaque affaire y est confrontée depuis la nuit des temps).

Il est probable que vous ne deviendrez pas fabuleusement riche en écrivant du code. Donc si vous désirez faire de l’argent sur le long terme et ne pas tuer la poule aux oeufs d’or, rattrapez-vous sur les mises à jour, pas sur le prix initial. Si votre application est bonne, je serai heureux de payer 40 à 50% pour une mise à jour substancielle ou périodique. Tenez aussi compte des taux de change lorsque vous calculez les prix. L’Euro est la plus populaire des devises sur l’internet, mais vu qu’elle est très forte, certains utilisateurs peuvent être poussés vers des alternatives plus accessibles.

9. Si vous voulez limiter votre version d’évaluation, limitez-la au nombre de lancements plutôt qu’au nombre de jours d’utilisation. De cette manière, si je pars pour quelques semaines, ça ne m’empêche pas de tester votre application et ça évite que vous perdiez un client potentiel. Si vous choisissez une limite de temps, soyez généreux : 21 à 30 jours est tout à fait correct. Si vous suspectez que votre logiciel a été piraté ou que vous le trouvez sur un site pirate, considérez aussi la création de 2 fichiers exécutables séparés : un pour la version d’essai et un pour la version enregistrée du programme [NDLR : mais comment faire si la version enregistrée se retrouve sur un site pirate?]

10. Ne désactivez/limitez pas les fonctionnalités du logiciel dans les versions d’évaluation. Cela empêche les utilisateurs de comparer les capacités de votre logiciel par rapport aux autres. Les utilisateurs ont toujours beaucoup de choix dans les diverses catégories de logiciels. Et si vous limitez les fonctionnalités du logiciel, ils n’ont aucune raison de prendre votre logiciel au sérieux. Aucun logiciel « handicappé » ne figure sur La liste « The Great Software List ». Il vaut mieux restreindre la période d’évaluation plutôt que de limiter les fonctionnalités.

Je serais tenté de rajouter aussi : « proposez une version portable« . Celà dit, ça contredit un peu le concept de licence monoposte puisque l’avantage principal d’une version portable est de transporter son logiciel d’un ordinateur à un autre sur sa clé USB. Et ces versions sont en outre dépourvues de protection contre le piratage. Mais on remarque que certains logiciels à succès s’y mettent comme Essential PIM, Website Watcher et même Tudumo.

S’il y a des développeurs dans le coin, vous pouvez nous faire part de vos expériences dans les commentaires…