10 règles d'or pour les concepteurs de logiciels 10 golden rules for software developers
Voici une liste très sympathique de conseils aux concepteurs de logiciels trouvée sur le site Here is a very nice list of tips for software found on the site The Great Software List 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 . Most items are especially valuable for independent developers who develop business applications general public. Mais la plupart sont applicables aussi à d'autres domaines : But most are also applicable to other areas:
1.a. Soyez préparé à perdre, et ne pensez pas que vous devez être numéro 1 pour gagner. 1.a. Be prepared to lose, and do not think you should be number 1 to win. Le succès prends du temps. Success takes time.
b. Prenez le temps d' étudier la concurrence de façon exhaustive avant d'écrire une seule ligne de code. b. Take the time to 'study the competition thoroughly before writing a single line of code. Localisez les problèmes sur lesquels ils se concentrent, et trouvez leurs défauts et lacunes. Locate the problems on which they focus, and find their faults and shortcomings.
c. Développez des applications que vous utilisez régulièrement . c. Expand the applications you use regularly. Si vous utilisez votre propre logiciel chaque jour, vous aurez beaucoup plus de chance de construire un logiciel robuste. If you use your own software every day, you will have much more chance of building a robust software. Autrement, la plupart des développeurs ont tendance à très vite ignorer ou éventuellent saboter leurs créations. Otherwise, most developers tend to ignore or quickly éventuellent sabotage their creations.
d. Gardez suffisamment d'énergie pour faire la promotion de votre logiciel . d. Keep enough energy to promote your software.
e. Ne pensez pas que les utilisateurs voient les choses de la même manière que vous. e. Do not think that users see things the same way as you. 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. One feature that seems superfluous may be key to an entire group of potential users who want the best of what your software can provide.
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à. f. Do not spend your time to add features as you would do better to refine and streamline existing ones.
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. g. If you plan to make a living by developing, build tools that simplify people's lives or make it more interesting. Ainsi, il ya de bonnes chances que vous duriez plus longtemps et que vous vous épanouissiez dans votre travail. Thus, there are good chances that you duriez longer and you thrive in your work.
2. Soyez logique et cohérent en ce qui concerne le choix des raccourcis clavier . 2. Be logical and consistent regarding the choice of keyboard shortcuts. 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. The most common mistake I've seen with the shareware is the conflict between keyboard shortcut menus and dialog windows. 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. Never use a single letter for a shortcut twice within the same dialog or the same menu. L'assignation des raccourcis clavier prends du temps. Assigning keyboard shortcuts take time. Par conséquent, il ne faut pas avoir peur de les modifier dans vos nouvelles versions. Therefore, do not be afraid to edit your new versions. Prenez soin aussi de toujours fournir une carte des raccourcis clavier dans votre documentation. Take care as always to provide a map of keyboard shortcuts in your documentation.
3. Ce sont souvent de petites choses qui vous différencient de la concurrence. 3. These are often small things that differentiate you from the competition. Par exemple : For example:
a. Considérez la création d'un menu pour rendre vos raccourcis clavier paramétrables . a. Consider creating a menu to make your keyboard shortcuts configurable. Vous pouvez par exemple vous inspirer des logiciels FeedDemon (de Bradbury), EmEditor ou EmFTP (d'Emurasoft). You can, for example inspired software FeedDemon (Bradbury), or EmEditor EmFTP (of Emurasoft). Les gens qui savent taper sont plus rapides au clavier qu'à la souris. People who know are faster typing on the keyboard than the mouse.
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. b. If your application handles text, and that includes blogging tools, add a word counter in the toolbar. 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. Many of those who write need quick access to one count of specific words, especially if they are limited to 200, 800 or 1500 words.
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. c. If your application is designed to stay open all day on the desktop, the renderer must be rapid and effective user interface. Le gestionnaire XYplorer est un bon exemple à suivre. The manager XYplorer is a good example to follow.
d. Les utilisateurs remarquent les fonctionnalités créatives telles que le “Squeez archiver” de XYplorer . d. Users are noticing the creative features such as "Squeez archive" of XYplorer.
4. Clarifiez au maximum les options de licence de votre logiciel et fournissez un historique des diverses versions du logiciel sur votre site. 4. Clarify maximum licensing options for your software and provide a history of various versions of the software on your site. Un historique des versions donne une idée de la fréquence de mise à jour du logiciel aux utilisateurs. A version history is an indication of the frequency of updating the software to users. La dernière chose qu'un utilisateur voudrait apprendre après avoir acheté un logiciel serait d'être tombé sur un abandonware. The last thing a user wants to learn after having purchased software would be dropped on an abandonware. Les mises à jour limitées en temps effraient les utilisateurs. The latest limited-time scare users. Ils se sentent floués s'il ya une limite de mises à jour de 12 mois. They feel cheated if there is a limit of updates to 12 months. Ils veulent sentir qu'ils possède le logiciel, et non pas qu'ils le louent. They want to feel they have the software, not their praise. De toute façon, si vous faites des mises à jour sur des périodes de 12 à 15 mois, il n'ya aucune raison de limiter vos utilisateurs en temps. Anyway, if you make updates over periods of 12 to 15 months, there is no reason to limit your users' time. Les licences par souscription sont à proscrire. The licenses for subscription should be avoided. Les utilisateurs ont horreur de cette idées et chercheront vite des alternatives. Users of this horror ideas quickly and seek alternatives. A chaque nouveau renouvellement, ils se demanderont s'ils ont vraiment besoin du logiciel. With each new renewal, they will wonder if they really need the software. 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. Paying for a new version is expected, but building an application whose functionality expire at the end of a period is a mark of disdain and indifference towards them.
5. Vous n'êtes pas votre code . 5. You are not your code. Rappelez-vous que le but d'une revue est de trouver les problèmes, et il y en aura. Remember that the purpose of a review is to find problems, and there will be. Ne le prenez pas personnellement lorsque l'un d'eux est découvert. Do not take it personally when one of them is discovered. Ignorez les abrutis et les trolls car la vie est bien trop courte pour leur porter votre attention. Ignore the morons and trolls because life is too short to wear them your attention. Ne prenez pas personnellement les critiques constructives et arrêtez de rester sur votre défensive. Do not take constructive criticism personally and stop your stay defensive. C'est dans la nature des logiciels d'évoluer sans cesse, sans jamais atteindre la perfection. It's in the nature of software to evolve constantly, without ever achieving 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? It is difficult to design a website without updating or which contains no spelling mistake, then why do you treat your software as if it were perfect? Relaxez-vous et planifiez pour les nouvelles versions. Relax and plan for new versions.
6. Encouragez les retours des utilisateurs . 6. Encourage feedback from users. 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). You have built a good software, now let them decide what they want (within reasonable limits of course). Plus important encore : soyez réactif. More importantly, are reactive. Si vous ne pouvez pas inclure ce que les utilisateurs veulent, partagez au moins avec eux vos projets pour les prochaines mise à jour. If you can not include what users want, at least share with them your plans for the next update. Ceci réduira leur niveau de frustration et modèrera leur anxiété. This will reduce their level of frustration and temper their anxiety. Leur patience jouera ainsi en votre faveur. Their patience will play in your favor. Note : je sais bien que certains sont des abrutis sans aucun tact. Note: I know that some are morons with no 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. But the important thing is to find a handful of users who you trust and whose knowledge and consideration you will advance. Plus important encore, recherchez la diversité d'opinion. More importantly, look for diversity of opinion.
[NDLR : deux bons élèves sur ce point : les logiciels [Editor's note: Two students good on this point: software Essential PIM Essential PIM et and Tudumo Tudumo ] ]
7. Pour commencer, copiez les meilleures fonctionnalités des autres programmes. 7. To begin, copy the best features of other programs. Pas besoin de réinventer la roue. No need to reinvent the wheel. Ne vous concentrez pas sur une petite fonctionnalité, virtuellement insignifiante au détriment d'une fonctionnalité que vous êtes le seul à proposer. Do not focus on a small feature, virtually insignificant at the expense of functionality that you're the only one to offer. Faites évoluer les fonctionnalités déjà inclues dans votre logiciel. Make evolve the features already included in your software. Par exemple, les boîtes de dialogue peuvent toujours être revues et améliorées. For example, dialog boxes can always be reviewed and improved. Vos écrans de Recherche, Trouver/Remplacer sont-ils aussi efficace qu'ils devraient l'être? Your search screen, Find / Replace are they as effective as they should be?
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. 8. Reconsider the cost of your software: $ 59.95 for an application unitâche is simply too expensive for most budgets. Si votre logiciel n'a qu'une fonction, il ne devrait pas coûter plus de 15 à 30$. If your software has a function, it should not cost more than 15 to $ 30. Vous vendrez deux fois plus de licences pour 30$ que vous n'en vendriez pour 50$. You sell twice as many licenses for $ 30 than you would sell for $ 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. By cons, if you sell a license for life, like WinRAR or XYplorer File Explorer, then you'd better ask for more, or even triple the price. UltraEdit offers both a license for 1 year and an option for a lifetime license. 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. If your software is open on the desktop most of the day you have interest in fixing a fair price comparable to that charged by your top competitors in your category of software. 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. Unfortunately, overcharge encourages piracy and pushes users to turn to free alternatives or open-source, whatever the quality of your software. (Et les abrutis qui piratent les logiciels continueront, chaque affaire y est confrontée depuis la nuit des temps). (And the idiots who pirate software will continue, each case is facing since the dawn of time).
Il est probable que vous ne deviendrez pas fabuleusement riche en écrivant du code. It is likely that you will not get fabulously rich by writing 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. So if you want to make money in the long term and does not kill the goose that lays golden eggs, you catch up on the updates, not the original price. Si votre application est bonne, je serai heureux de payer 40 à 50% pour une mise à jour substancielle ou périodique. If your application is good, I'll be happy to pay 40 to 50% for an update or periodic substancial. Tenez aussi compte des taux de change lorsque vous calculez les prix. Also consider exchange rate when calculating prices. 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. The Euro is the most popular currencies on the internet, but since it is very high, some users may be pushed alternatives more accessible.
9. Si vous voulez limiter votre version d'évaluation, limitez-la au nombre de lancements plutôt qu'au nombre de jours d'utilisation . 9. If you want to limit your evaluation version, limit to the number of launches rather than the number of days of use. 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. This way, if I go for a few weeks, it does not prevent me to test your application and it prevents you lose a potential customer. Si vous choisissez une limite de temps, soyez généreux : 21 à 30 jours est tout à fait correct. If you choose a time limit, be generous: 21 to 30 days is quite 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?] If you suspect that your software has been hacked or you are on a pirate site, consider also creating 2 separate executable files: one for trial and for the registered version of the program [Editor's note: but how if the registered version is found on a pirate site?]
10. Ne désactivez/limitez pas les fonctionnalités du logiciel dans les versions d'évaluation. 10. Do not disable / not limit the functionality of the software in trial versions. Cela empêche les utilisateurs de comparer les capacités de votre logiciel par rapport aux autres. This prevents users to compare the capabilities of your software compared to others. Les utilisateurs ont toujours beaucoup de choix dans les diverses catégories de logiciels. Users always have much choice in the various categories of software. Et si vous limitez les fonctionnalités du logiciel, ils n'ont aucune raison de prendre votre logiciel au sérieux. And if you limit the functionality of the software, they have no reason to take your program seriously. Aucun logiciel “handicappé” ne figure sur La liste “The Great Software List”. No software "handicapped" not listed "The Great Software List". Il vaut mieux restreindre la période d'évaluation plutôt que de limiter les fonctionnalités. It is better to restrict the period of assessment rather than limit functionality.
Je serais tenté de rajouter aussi : “ proposez une version portable “. I am tempted to add also "offer a portable version. 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. That said, it contradicts somewhat the concept of single-user license, since the main advantage of a portable version is to transport the software from one computer to another on the USB key. Et ces versions sont en outre dépourvues de protection contre le piratage. And these versions are also unprotected against piracy. Mais on remarque que certains logiciels à succès s'y mettent comme Essential PIM , Website Watcher et même Tudumo . But we note that some software to make it successful as Essential PIM Website Watcher and even Tudumo.
S'il ya des développeurs dans le coin, vous pouvez nous faire part de vos expériences dans les commentaires… If there are developers in the corner, you can send us your experiences in the comments ...
Tags: Tags: commercial Name , , conseils advice , , développement development , , développeur Developer , , grand public public , , logiciel Software , , raccourcis clavier keyboard shortcuts , , succès success
Articles similaires (en théorie) : Like (in theory):
Il ya un an sur C'éclair! A year ago on this Thread! - février 2008 - February 2008
Trouver facilement l'équivalent gratuit d'un logiciel commercial Find easily the equivalent of a free commercial software
Une astuce éclair pour trier les programmes lancés au démarrage de windows A flash trick to sort the programs launched at Windows startup
Résultats du concours Elise Franck “Comment je suis devenue rentière en 4 ans” Contest Results Elise Franck "How I became a rentier in 4 years"
Il ya un an sur C'éclair! A year ago on this Thread! - mai 2008 - May 2008








Achraf Cherti (Asher256) Ashraf Cherti (Asher256) said, said,
Wrote on Wrote on février 6, 2009 @ 3:17 February 6, 2009 @ 3:17
Salut Ceclair, Hi Ceclair,
Sympa comme article. Fun as an article. Plein de conseils bien avisés pour toutes les personnes développant des logiciels ! Full of advice do well for all those developing software!