Application mobile Native ou Web?

De nos jours, la question ne se pose plus à savoir si notre application « desktop » doit être accessible sur téléphone mobile.

Les gens veulent accéder à leurs services à partir de plusieurs emplacements différents.  Ils veulent que le service s’adapte à leur environnement, ce n’est plus à l’utilisateur à faire un effort pour rejoindre votre service.  Le service doit venir à lui le plus facilement possible.

Donc, la création d’une application mobile pour votre service devient essentielle.  Sinon, votre client potentiel choisira le compétiteur qui lui offre la fonctionnalité.

Maintenant, il faut choisir un mode de développement pour votre application.

La grande question à se poser suite à la décision de créer un app mobile, est la suivante: Natif ou Web?

Le « natif » implique la création, dans le langage de programmation de la cible, d’une application indépendante pour chaque plateforme.  Objective C pour IOS, Java pour Android, .NET pour Windows 8 Metro.  Mais, il y a des coûts reliés à ces développements.

Voyons d’abord les avantages et inconvénients de chacun de ces 2 type d’application.  Et, par la suite, je vous présenterai une troisième alternative, qu’on a décidé d’utiliser chez AceProject, qui combine le meilleur des 2 mondes.

Application 100% Web

Avantages

  • Accessible de tous les téléphones récents.
  • La modification de l’application est immédiatement accessible à tous les utilisateurs, peu importe leur appareil.

Inconvénients

  • Ne pas être listé dans les boutiques virtuelles (moins de visibilité)
  • La complexité pour l’usager d’avoir à entrer un URL et de rendre l’application accessible facilement de son téléphone.
  • Complexité pour les développeurs d’adapter l’application (style CSS, code JS) à tous les environnement pour une réponse uniforme peu importe l’appareil

Application 100% Native

Avantages

  • Utilisation de la puissance et de la flexibilité offerte par le « GUI » de l’appareil
  • « Listing » de votre application dans le « Store », donc visibilité accrue
  • Communication plus simple avec le matériel de l’appareil, comme le gps, l’appareil photo, les fichiers, etc.
  • Mise à jour simple via les boutiques virtuelles

Inconvénients

  • Développement multiple – difficulté à offrir une nouveauté sur les 3 plateformes simultanément
  • Difficulté à offrir une expérence utilisateur unique d’un appareil à un autre
  • Difficulté à trouver une équipe de développement multi disciplinaire capable de programmer dans 3 langages complètement différents
  • Requiert souvent de s’équiper d’une équipe de développement variée pouvant fournir les services pour chacune des plateforme

Combinaison des 2: le meilleur des deux mondes.

Description

Il s’agit d’une technique permettant à la fois d’être publié dans toutes les boutiques, d’avoir une application sur toutes les technologies, sans avoir à développer 4 applications (3 native + web).  C’est la décision qui a été prise chez AceProject.  Techniquement, nous faisons faire, à prix minime, 3 applications extrêment simples pour les 3 plateformes.  Ces applications ne sont que des « conteneurs », permettant de loger à l’intérieur, un accès à la version Web.  Par exemple, pour l’application Android, on démarre une application « native », téléchargée du Android Market.

Cette application ne sert que de point d’accès vers l’application web, offrant un fureteur à l’intérieur de l’application, qui ouvre le url, sans que l’usager n’ait à s’occuper de cet accès.  Il ne fait qu’entrer ses informations d’authentification dans la partie configuration native de l’application, une seule fois, et tout le reste se fait tout seul.

Le même procédé est utilisé pour IOS et Windows Metro.  Ainsi, tous les utilisateurs mobiles utilisent exactement la même application, soit la version Web, peu importe leur appareil, tout en ayant installé une véritable version « native » sur leur téléphone ou tablette.

Avantages

  • Une seule application doit être maintenue, soit la version Web.
  • Coût de développement des application native minime
  • Présence dans les boutiques virtuelles
  • Forte présence de votre application sur toutes les plateformes
  • Mises à jour simultanées sur toutes les plateformes
  • Aucun besoin de mettre à jour les application natives lors de mises à jour de l’application web – 0 maintenance.

Inconvénients

  • Incapacité à dialoguer directement facilement entre votre application web et le conteneur afin d’en utiliser la puissance
  • Incapacité ou difficulté à utiliser le matériel natif tel la caméra, le gps, … via l’application Web.
  • Complexité à avoir 1 seul app qui s’adapte à différents navigateurs pour offrir une expérience unique.  Mais cette complexité est aussi présente si on fait l’application uniquement Web, sans être dans les conteneurs natifs. (multiple styles CSS / code javascript à adapter au navigateur)
  • Pas de notification de mise à jour publiée dans les boutiques lors de mises à jour de l’application web.

Conclusion

Notre application étant un logiciel de gestion de projet, de suivi de tâches, nous n’avons pas besoin d’accéder au GPS, à la caméra, ou à tout autre possibilité offerte par l’application native.  Cette solution s’est avéré un franc succès pour notre entreprise.  Suite à notre test « beta » via la plateforme Android, nous avons été surpris de voir la réponse.  
En fait, en très peu de temps, la majorité des utilisateurs Android qui utilisaient l’application mobile via le navigateur, ont installé l’application native, et ont grandement apprécié son fonctionnement. En plus, dans notre cas, les clients obtenaient un avantage, soit ne plus avoir à se « logger » à l’application à certains intervales, car ces informations sont conservées dans les paramètres de l’application native.

Bien entendu, il faut que notre application web puisse vivre avec la contrainte suivante: Pouvoir exécuter toute tâche sans avoir à entrer un URL, ou à utiliser les touches suivant-précédent du navigateur.  Il faut avoir une bonne gestion de la navigation à l’intérieur même de l’application Web.

La valeur d’un million

Plus le temps passe, plus je paye de l'impôt et que je dois garder le budget serré à la maison, plus je vérifie si l'état fait de même avec le budget que je lui fournit.

A force d'entendre des annonces par ci par là, on en vient à oublier la valeur de l'argent.  50 millions pour ci, 400 millions pour ça, l'état va investir 275 millions dans telle affaire, défoncement de coût, 125 millions de plus, on en oublie ce que valeur les chiffres.  
Combien vaut 1 million de dollars?  Quels sont les efforts requis afin de ramasser ce million?
A l'endroit où je travaille, c'est environ notre chiffre d'affaire annuel.  1 million.  Pas 400.  Juste un.  Et il est dur à gagner.
Notre entreprise en informatique compte 10 employés.  Nous vendons des services en ligne à des clients américains et mondiaux.  Environ 90% de l'argent qui rentre dans notre entreprise, donc au pays, est de l'argent neuf.  De l'argent qui ira environ à 40% à l'état en impôt et taxes directes et indirectes sur les salaires.
Le 60% restant de ces salaires va en maisons, meubles, ordinateurs, biens, restaurants, donc tout cet argent dépensé pour vivre est de l'argent neuf amené à l'économie locale.  Lorsque je vais au restaurant le midi dépenser un $10, c'est un $10 d'argent neuf qui était en Inde il n'y a pas longtemps.  Tout comme lorsque je paye de l'intérêt sur mon hypothèque, lorsque je fait réparer mon patio, lorsque j'achète une piscine.  Tout l'argent que brasse chacun des 10 employés est de l'argent neuf.
Le reste va en frais de locaux, gestion, comptabilité, etc. et à la fin de l'année, le million est passé.  1 année complète de travail acharné pour le ramasser.
Quels efforts ont dû être mis pour obtenir ce million?
Dans un monde concurrentiel, où plusieurs concurrents partout dans le monde font la même chose que nous, on doit se démarquer.  Marketing, stratégies web, nouveautés dans l,application, innovation, prix concurrentiel, comparatifs, blogs, twitter, facebook, beaucoup de programmation, beaucoup de tests, le support à la clientèle, satisfaire chaque client un par un pour ne pas qu'il parte chez un concurrent.  Ce sont des efforts soutenus de tous les jours.  Chaque jour, chacun vient faire son 8 heures.  On aime notre emploi, la plupart sont au bureau à 7h ou avant et font bien plus d'heure que demandé.
C'est ça, 1 millions de dollars qui rentre dans l'état.  1 an d'efforts acharnés pour laquelle on se fait un petit party de noel à dépenses contrôlées là aussi en fin d'année pour se féliciter de nos succès.
Alors, quand j'entend dire que contruire un colisée de 400 millions c'est rien, est-ce que je peux être un peu fâché?  
Chaque fois que j'entend dire qu'un seul dollar a été donné à n'importe quoi qui n'aurait pas pu vivre dans un libre marché sans argent artificiel de l'état, je suis fâché.
L'état a tendance à oublier que chaque dollar a été durement gagné, pas par lui, mais par les citoyens qui le font vivre.

Le PQ est d’extrême droite.

Ce matin, suite à la lecture de quelques articles sur la tragédie d’Oslo, en Norvège, j’ai eu quelques réflexions sur le Québec, la Droite, le PQ, etc…

Me qualifiant moi même de droite économique, c’est à dire, moins d’état, plusieurs « gauchistes » viennent souvent m’accuser de tous les maux au monde, reliés à l’extrême droite.  Racisme, contre les gai, contre l’avortement, extrémiste religieux, tout ce qui va avec le mot droite de connotation négative.  Pourtant, la seule et unique chose qui m’intéresse, c’est avoir moins d’état.  Point final.
Le malade qui a fait la tuerie serait donc d’extrême droite.  J’ai vite pensé que, dès lundi, tous les groupes de gauche vont se lever pour dire ce que peut donner la montée de la droite.  Violence, extrémisme, terrorisme.  C’est réglé, la droite, c’est Satan.
Lisons donc alors un peu ce qui fait de cet individu, une personne d’extrême droite.
» l’auteur présumé des attentats voulait «un changement dans la société et, de son point de vue, il fallait forcer (ce changement) par une révolution» «
» le suspect avait été inscrit sur un forum extrémiste suédois. Baptisé Nordisk, ce forum déclare défendre «l’identité, la culture et les traditions nordiques». «
» Il rappelle la vague d’incendies criminels perpétrés dans une cinquantaine d’églises de Norvège, dont plusieurs avaient été l’oeuvre de musiciens de la scène black metal national-socialiste. »
» Cela aurait été le cas s’il avait été actif dans des mouvements néo-nazis en Norvège, mais il pourrait quand même avoir été inspiré par leur idéologie». »
» un Norvégien «de souche» «
(voir images « annonces google » sur cette page)
Maintenant, une petite analyse des extraits que j’ai identifié.
1.  Changement dans la société par une révolution?  C’est là le discours des séparatistes depuis 30 ans!  
Pourquoi veulent-ils faire cette séparation? pour l’identité, la culture et les traditions.  Comme notre ami dans l’organisation « Nordisk ».
2.  Un point un peu plus obscure ici, est cette référence aux incendies des églises, l’oeuvre de gens de la scène national-socialiste.  
Le lien que je fais ici avec le PQ, est que depuis quelques mois sinon années, on les entend crier à tout rompre que le Québec doit devenir une société 100% athée, supprimer toute référence à n’importe quelle religion, partout.  Je me souviens avoir entendu Pauline Marois dire qu’un employé de l’état devrait se voir interdit de porter une simple croix à son cou.  C’est là ce que j’appelle de l’athéisme extrémiste, et c’est l’oeuvre principalement de nos amis du PQ au Québec.
3.  Voyons ensuite 2 points, « néo-nazis », que j’associe à « norvégien de souche ».  Les nazi voulaient, comme l’histoire nous l’a malheureusement appris, avoir une race pure et supérieure, croyant que la leur l’était.  On sais tous que c’est exagéré, mais à un autre niveau, on entend souvent les séparatistes nous parler de « Québécois de souche », le vrai québécois, celui qui a un nom français, qui a un descendant de la France, dans les années 1600-1700.  Un vrai de vrai.  Aucun immigrant dans son arbre généalogique.  Le québécois qui symbolise le vrai Québec.  J’arrêterai ma comparaison ici.
4.  Je terminerai par une petit anecdote, qui n’en est peut-être pas une.  Nous connaissons tous la capacité de Google de sortir des annonces « adwords » reliées le plus possible au contenu de la page visitée.  Si une page parle de téléphones cellulaires, il y a de bonnes chances d’y voir une pub de Telus ou Bell.  Je vous laisse donc lire par vous même les publicités AdWords qui me sont présentées dans une page où on parle beaucoup de l’extrême droite!

Les péquistes ne sont pas fiers du Québec

Chaque année, les 23 et 24 juin, je met des petits drapeaux bleus du Québec sur ma voiture.  1$ au Dollarama. 

Les québécois n'ont pas l'habitude de sortir leurs drapeaux.  La plupart n'en ont pas. 
Ici, on n'en sort jamais de drapeau.  Peut-on au moins en sortir lors des fêtes nationales?  
Chaque fois je suis surpris de constater à quel point il y en a si peu.  

Lorsque le Canadien va en séries, 1 voiture sur 5 a ses drapeaux.  On le voit aussi à Québec pour les Ramparts.  
Des drapeaux partout.  Sur le trajet vers le travail, on peut voir 15-20 voitures avec drapeaux d'équipe. 
Pourtant, pour le Québec, on en voit très peu.
Je crois que ça doit venir du bon vieux mythe québécois, qui dit "On ne doit jamais parler argent et politique".  On voit ce que ça donne.  Des québécois qui sont totalement ignorants en économie, et qui votent en majorité pour le NPD sans rien comprendre à la gauche ou la droite.  
S'ils avaient pris l'habitude de parler économie et politique couramment, comme les autres cultures du monde le font, ils ne feraient pas de telles folleries.  Ils ne seraient pas si instables, prêt à suivre n'importe qui sans comprendre les enjeux.
Sortez vos drapeaux, rouge ou bleu, pas juste les 23 et 24, mais n'importe quand.  
Et si vous êtes un commerce avec drapeau sur le toit, prenez en soin.  S'il est en place depuis 12 ans, tout défraîchi, déchiré à moitié, installez-en un neuf!  
Message aux péquistes de ce monde: Arrêtez de dire que les Québécois sont ci, les québécois sont ça, les québécois sont fiers, vous êtes des hypocrites.  Vous n'êtes fiers de rien.
Bonne St-Jean!

Journal papier = terminé.

J'avais vu à quelques reprises des publicités à propos des services de publication électronique du Journal de Québec et du Soleil. 

Ce qui est très peu mentionné sur ces sites, c'est qu'ils utilisent une technologie mondialement reconnue étant la norme officielle de publication des journaux en format électronique, soient les services offerts par NewsPaperDirect, par leur technologie PressDisplay.
Comme l'outil PressDisplay est disponible pour iPad, j'ai essayé le produit.  Ça ne m'intéressait pas de m'abonner avec le service régulier par ordinateur, car je lis mon journal en déjeunant et je n'ai pas d'ordinateur sur la table, un portable c'est quand même encombrant devant son bol de céréales.
J'ai donc installé le PressReader pour Ipad, créé 1 compte sur ces 2 services, et essayé les produits.
Belle surprise, je préfère même le PressReaader sur Ipad que celui sur un ordinateur régulier!
Le journal est là au complet, 1 page entre parfaitement sur la largeur du iPad en format paysage, est lisible sans avoir à zoomer, et prend moins de place que le vrai journal papier sur la table!  Possibilité de zoomer sur un article, ouvrir 1 article en format texte en cliquant sur le titre, ou envoi d'un article par e-mail.  très pratique.
J'étais convaincu que ça me prenait un abonnement.
J'ai ensuite comparé les prix.
Notons qu'un abonnement régulier papier 7 jours à ces journaux est d'environ $20/mois.
Le Journal de Québec électronique est à 3.99/mois, ou 39.99 pour 1 an (donc 2 mois gratuits), un prix très raisonnable.
Le Soleil, cependant, n'ont rien compris.  Leur prix régulier est $10/mois (plus du double de son concurrent).  Il est possible de l'avoir pour $2/mois si on est abonné au Soleil papier, (je ne sais pas s'il faut être abonné 7 jours), et $5/mois si on est abonné à un autre journal de Gesca.  Mais comme l'idée est de remplacer la version papier, ça m'aurait coûté $10, c'est quoi ça?  
Je me suis donc abonné 1 an au journal de Québec.  J'aurais pu profiter du $2/mois car je suis abonné au Soleil. 
Hey, amis du journal Le Soleil, vous êtes complètement dans le champ avec votre offre LeSoleilSurMonOrdi.ca, en plus que vous n'indiquez NUL PART sur votre site que ça peut être utilisé sur un iPad, probablement que vous l'ignorez vous même… Ca serait un argument de poids pour vos abonnements de mentionner ça à mon avis.

Attention: féministes hystériques au volant!

Je ne sais pas ce qui se passe ces jours ci, les féministes hystériques sont vraiment enragées.  

Peut-être que la peur des Conservateurs qui supposément leur enlèverait tous leurs droits y est pour quelque chose, si on se fie à tous leurs communiqués émis à ce sujet durant cette période électorale.
Ce matin, pour la deuxième fois depuis 24 heures, une dame a décidé de me montrer qui avait priorité sur la route.  Pour un simple changement de voie.  Je voulais tourner à droite, pour me rendre où je travaille, sur le Boul. Pierre-Bertrand.  J'ai mis mon clignotant, pour bien signifier que je voulais me tasser.  Il y avait beaucoup de trafic.  Normalement, un conducteur courtois ralenti, car il comprend que je si je clignote pour changer de voie, je le fais pour une raison valable.
Mais, la madame elle, pense autrement.  Elle semble penser que si je clignote à droite, c'est pour la couper pour le plaisir.  Juste pour passer devant elle et la ralentir je suppose.  J'avais juste à être déjà à droite.  Je ne passerai pas bon.  Car je suis un méchant homme qui veut passer par dessus elle.  
Donc, dès que j'ai mis mon clignotant, elle a accéléré pour coller son précédent à 2 pouces du "bumper" pour être bien certain que je ne passerais pas.
Vous imaginez la manoeuvre.  Ma sortie arrivait, je devais passer.  J'ai continué à me déplacer lentement vers la voie de droite pour qu'elle finisse par comprendre.  Et bien on a dû se rendre à un quasi accrochage pour qu'elle comprenne!  Le klaxon, les "masse" en l'air, j'ai eu droit à tout le kit!  Car je voulais juste tourner dans une rue à droite, et MADAME a décidé que je ne tournerais pas.  
Pourquoi est-ce que chaque fois qu'un cas semblable survient, c'est TOUJOURS une femme qui conduit?  D'où vient ce besoin d'écraser sans raison quelqu'un sur la route, qui veut juste prendre place dans le trafic avec les autres? Contrôler son bout d'asphalte?  
Quelle était sa réelle intention?  Raconter à ses amiEs à quel point elle avait montré à un méchant homme à vivre en l'empêchant de changer de voie?  La fierté d'avoir obligé un méchant homme à prendre un détour pour se rendre au bureau car elle avait décidé que jamais je ne tournerais dans la rue où je devais aller?
Bon, ok, je l'ai suivie un peu par la suite, car je voulais lui demander pourquoi elle avait fait ça.  Elle a pris peur, et avec raison un autre aurait pu vouloir lui "régler son cas", comme elle a voulu faire avec moi au départ.  Je voulais juste qu'elle m'explique pourquoi elle ne voulait pas que je passe.  Une simple question.  Pourquoi.  Je ne le saurai jamais.
Bonne journée mesdames.

Outlook 2003 = Worst version of MS Outlook EVER

At my work, we are using a lot of mails to send notifications to our customers.

We recently decided to switch every mails to full utf-8 compliant base64 encoded mails.  That's the only way we can handle every languages around the world easily in 1 single format.  Even tools that detects languages, like gmail, encoded messages in utf8/base64 when it detects multiple different languages in the same email.
That causes us some troubles first.  Some antispam software automatically tags these mails as spam, as he have trouble decode them and analyse the content.  So, to avoid that, we used a multipart email, with a text/html section, + a text/plain section.  That solved our antispam trouble.
But, we discovered after that, that our customers using outlook 2003, and only 2003, not 2007, 2010, or even 2002 (XP) have this trouble.  
What Outlook 2003 does, he look at the first part of the mail.  He detects that the first part is the text/plain / ASCII / 7bit encoded part.  He chooses us-ascii as encoding to display the mail.  Then, it sees that the real mail is in the text/html second part.  So, it displays the second part, but he choses the encoding of the first part.  If I put my HTML part before the plain text, a lot of other emails clients are displaying the plain text section instead of the html section.  
That's what gmail does.  So, a good plain / html email must have the TEXT part first, followed by the HTML part.  Every emails clients in the world understand this, except Outlook 2003. 
So, just because of this, we'll have to add an option to our customers to remove the plaintext section of the mail if they are using Outlook 2003, with the consequence that the e-mails can be blocked by their antispam software.

google latitude = cancer du rein!

Il faut croire que je souffre d'une hyper sensibilité aux ondes radio en général.  Depuis longtemps, quand je parle plus de 5 minutes dans un téléphone sans fil soit de maison ou cellulaire, j'ai une douleur autour de l'oreille qui est proche de l'antenne, une sorte d'engourdissement étrange.  La plupart diront que je m'imagine ça, car je n'ai jamais pu trouver quelqu'un qui avait ce même problème.  En tout cas, je l'ai, et je ne l'invente pas car la plupart du temps je n'y pense pas, et après 5 minutes, la douleurs apparaît.  Certains téléphones sont pires que d'autres, les Panasonic me font peu de problème, et les Vtech me donnent une douleur intense après seulement 2 minutes.  

Et bien, hier, j'ai activé l'application Latitude sur Iphone.  J'ai toujours le téléphone accroché à la ceinture.  A la fin de la journée, je souffrais d'un engourdissement dérangeant sur le côté, juste vis à vis du téléphone.  Je l'ai mis sur la table, pensant que c'était l'attache de ceinture peut-être qui me causait problème.  Puis, en vérifiant mon téléphone, j'ai remarqué que l'application Latitude de Google exécute un accès réseau chaque 15 secondes.  On voit l'icone "refresh" cligner un petit coup, 1 seconde environ, chaque 15 secondes.  
Et bien, je vous assure que c'est exactement le même type de douleur que je ressens lorsque je parle au téléphone sur l'oreille!  Je suppose donc que si je m'équipe de technologie BlueTooth 1 jour, j'aurai 1 double douleur, 1 pour l'oreillette, et une autre sur le côté causée par l'onde bluetooth + l'onde de téléphone!  Incroyable…  Si quelqu'un expérimence le même type de problème j'aimerais entendre vos commentaires sur la chose!
Sur ce, je vais aller désinstaller Google Latitude de mon téléphone.

How to decode a base64 string in VB.NET

Sometimes, we receive an e-mail that we can’t really open directly, but we have the base64 source.

I may receive an attached EML file, that is, an outlook express email attached with another e-mail.  I have all the original source of this file, but I do not have Outlook Express installed.  I created a really simple decoder and it work fine.  You just have to look at the boundary of your email.  Find the beginning of attachment by searching for « filename= » and you’ll have the filename of the attached file.  Then, copy the following code, all the « binary string » code, and only this, without the leading MIME informations, to a text file.  In my sample, I called it « c:base64.txt ».  Then, I saw that the filename is a pdf.  I choose « c:base64.pdf » as my output.  This is the code you can use to decode a base64 attachment.

   Dim bytes() As Byte
   Dim reader As New System.IO.StreamReader("c:base64.txt")
   Dim str As String = reader.ReadToEnd
   reader.Close()
   reader.Dispose()
   bytes = System.Convert.FromBase64String(str)
   Dim writer As New System.IO.BinaryWriter(IO.File.Open("c:base64.pdf", IO.FileMode.Create))
   writer.Write(bytes)
   writer.Close()
That’s all!