Mon chemin de croix avec mon BlackBerry Storm

BlackBerry Storm 9530

Je me suis procuré le BlackBerry Storm 9530 en janvier 2009. Je l’ai choisi suite à différents avis sur le sujet. Je ne voulais pas l’iPhone, car on l’étiquetait comme un jouet mal adapté aux affaires. Apple m’a toujours aussi paru des maîtres des solutions propriétaires et fermées. L’App Store et l’utilisation obligatoire de iTunes me déplaisaient. Je voulais un téléphone intelligent qui me permettrait de continuer à travailler sur la route et qui s’intègrerait à mon courriel et mon agenda.

Les premiers mois ont été un genre de lune de miel. Je n’avais jamais eu un gadget de ce genre. La nouveauté et les bénéfices obtenus m’ont obstrué la vue. Toutefois, les derniers mois ont été parsemés d’irritants :

  • Le téléphone est trop lent (CPU trop occupé) pour recevoir un appel

  • Surutilisation de la batterie et décharge en moins de 24 heures
  • Des freezes ou plantages quotidiens qui exigeaient des battery pull (redémarrage)
  • L’orientation de l’écran quand on tourne l’appareil ne fonctionnait pas toujours (on devait le secouer)
  • Lenteur de l’interface, surtout quand on débarre l’appareil après l’avoir retiré de son étui

J’ai toujours apprécié l’ergonomie de l’interface et les possibilités de l’appareil. Mon insatisfaction était centrée sur son manque de fiabilité flagrant.

J’ai installé à deux reprises des révisions non officielles du système d’exploitation du BlackBerry Storm 9530. Elles corrigeaient plusieurs irritants comme la lenteur de l’interface, mais elles plantaient pareil. Bell a poussé une seule mise à jour officielle en avril. C’était mieux, mais pas assez. J’étais un peu découragé. Allais-je être pogné 3 ans avec un mini-Windows 95?

Cette semaine, j’ai fait encore des recherches et j’ai constaté que la dernière version semi-officielle était la 4.7.0.151. Elle avait été rendue disponible en téléchargement pour les clients d’une compagnie de télécommunications au Mexique. Les systèmes d’exploitation de BlackBerry sont multilingues, donc on peut l’installer sans problèmes sur un téléphone en français.

Je l’ai installée et je dois vous avouer que je suis agréablement surpris. Je suis finalement très rassuré de mon achat. Mon BlackBerry semble aussi rapide qu’un iPhone. Tous les irritants mentionnés plus haut sont chose du passé. Je me croise les doigts quand même. Je vais peut-être découvrir un autre problème prochainement, mais j’assume que l’OS s’améliore de version en version.

Si on veut aller encore plus loin, la version 5.0 est aussi disponible toujours non officiellement. On peut la télécharger dans les forums et blogues spécialisés. Mais pour ma part, je la regarde de loin pour l’instant. Je n’ai pas de raison de l’essayer. J’installais les versions non officielles pour être en mesure de m’en servir minimalement. Les versions officielles distribuées par Bell sont parsemées de bogues et elles vous empêchent de profiter pleinement de votre appareil.

Installez là à vos risques si vous vous en sentez capables. Évidemment, votre fournisseur de téléphonie et RIM ne vous supporteront pas dans cette démarche. Posons-nous toutefois la question : quel support donnent-ils à ceux qui ont une version officielle?

L'innovation a-t-elle le dessus sur l'assurance qualité?

Le succès de différents services sur internet dit « web 2.0 » est indéniable. Prenons l’exemple de Twitter, ce réseau social où ses membres diffusent de courts messages textes de 140 caractères à d’autres membres qui sont abonnés à leurs mises à jour. Ce site a vécu et vit toujours d’importantes difficultés de « scalability » ou d’extensibilité (merci l’OLF). L’adoption du site par les internautes n’a jamais été ralentie par ses innombrables problèmes techniques. Lorsqu’on parle de ses problèmes techniques, ils sont sérieux :

  1. Perte de données : des messages ont été perdus.
  2. Violation de la confidentialité : des messages privés entre membres sont apparus dans les messages publics.
  3. Pannes intermittentes : tous les jours, il y a des périodes aléatoires où le système ne répond pas.

Normalement, ce genre de problèmes sont suffisants pour décourager et effrayer les utilisateurs. Mais, au contraire, le site continue à croitre en membres. Alors, je me questionne : l’innovation qu’un service amène dans la vie des utilisateurs a-t-elle plus d’importance que sa fiabilité?

par karpidis

par karpidis

Je viens de l’école de pensée qu’il faut livrer des produits de qualité supérieure au risque de livrer en retard. Il ne faut pas livrer des bogues majeures qui pourraient causer un préjudice envers l’utilisateur. Mais, est-ce que cette école de pensée est désuète?

Cette obsession de la perfection nuit-elle au TTM (« time-to market »)? Si on livre trop tard à nos utilisateurs, risquons-nous de perdre la fenêtre d’opportunité de faire une différence dans sa vie?

Je vous avoue que je ne sais pas sur quel pied danser sur cette question. Possiblement, les microlivraisons permettent de remplir ces deux objectifs. Si l’usager a un besoin pressant, serait-il plus judicieux de lui offrir une solution simple sans artifices rapidement? Si le besoin évolue, peut-on faire évoluer intelligemment ce produit? Qu’en pensez-vous?

Déployer vos corrections rapidement

J’utilise le logiciel Digsby comme je vous l’avais déjà mentionné. J’ai eu un pépin avec l’application lorsque je me suis mis à l’utiliser avec deux moniteurs sur mon ordinateur. J’ai soumis un bug directement dans l’application.

Croyez-le ou non, mais le développeur, Steve Shapiro, m’a répondu dans l’heure pour m’indiquer qu’il avait déployé la correction sur internet. Il m’a tout simplement demandé de redémarrer l’application pour qu’elle se télécharge et s’installe sur mon poste. Affaire classée.

Ceci m’amène à dire, lorsque vous êtes en phase d’essais ou de tests, déployez vos corrections rapidement. J’ai souvent vu des projets où les déploiements une fois par semaine ou même une fois par mois. Toutefois, la perception chez l’utilisateur peut s’avérer très négative puisque le bug va être dans leur face pendant toute l’attente. La confiance envers le système risque de perdre des plumes.

Ceci s’applique aussi aux systèmes en production. Les bugs irritent vos usagers et le plus longtemps qu’ils ne seront pas corrigés et déployés, les usagers vont devenir de plus en plus cyniques envers l’application.

J’entends les antagonistes! Vous vous dites que déployer fréquemment risquent de déstabiliser votre application? C’est possible, mais c’est peut-être de votre faute. Avez-vous réfléchit au mode de déploiement de votre application? On est à l’époque du web et de l’instantané. Si pour déployer on doit fermer la salle de serveur pendant 4 heures, vous êtes « out ». Les gens s’attentent que vos systèmes soient disponibles. Vous ragez lorsqu’il y a des travaux routiers? C’est la même chose.

Un petit truc pour mieux programmer selon les spécifications

Lorsqu’on travaille en mode waterfall et on est dans le siège du programmeur qui doit réaliser ce qui est rédigé dans le dossier fonctionnel, on fait de notre mieux de le lire et de le comprendre. Toutefois, la programmation objet étant ce qu’elle est, on finit par sauter d’une section à l’autre dans le dossier fonctionnel au risque d’omettre un détail ou une règle d’affaire.

Un truc que j’ai adopté au fils des ans c’est de coller du texte du dossier fonctionnel comme commentaire aux endroits prévus. Je m’explique, si le dossier fait référence à une dynamique lorsqu’on quitte un champ texte, ajoutez la description de la règle d’affaire du dossier comme commentaire dans l’événement LostFocus du champ avec une petite mention TODO (à faire plus tard). Ceci vous assure plusieurs choses:

  1. Vous n’allez pas l’oublier de coder la règle.
  2. Vous allez programmer exactement ce qui a été demandé.
  3. Vous allez avoir des commentaires dans votre code sans trop d’efforts.
  4. Vous établissez un lien de traçabilité avec le dossier fonctionnel. Si il existe un code quelconque de la règle d’affaire incluez là sans hésitation!

Pour aider la tâche du programmeur, j’avais découvert un petit Add-In pour Visual Studio et que j’utilise depuis longtemps. Il s’agit de Smart Paster qui permet de coller une chaîne de caractère comme un commentaire, une String ou un StringBuilder.

Si le texte que vous tentez de coller est trop long, il va le couper à 100 caractères (valeur par défaut) et copier la suite sur autant de lignes que nécessaire. Fini les oublis!