iA Writer : le portage compliqué d'une app Mac sous Windows

Nicolas Furno |

en 2011 sur le Mac, iA Writer est devenu au fil des ans un éditeur de texte multiplateforme, disponible également sur iOS, sur Android et même sur Windows depuis 2018. Cette compatibilité plus large répond à une demande de la part d’utilisateurs qui ne se cantonnent pas tous à l’écosystème d’Apple, et aussi à la volonté de conquérir de nouveaux marchés.

Sur le papier, c’est une décision évidente, mais iA Writer a toujours largement reposé sur des technologies d’Apple. Et puis l’app a largement évolué depuis ses débuts ultra-minimalistes, sans aucun réglage et avec très peu de fonctions. Elle s’est progressivement enrichie d’options souvent complexes qui ne facilitent pas le portage d’une plateforme à l’autre. Surtout quand la voie « facile », un développement commun avec un outil comme Electron, n’est pas celle qui est choisie par ses concepteurs1.

Créé à l'origine par une petite équipe de design de Tokyo, iA Writer est maintenant le fruit d'une petite équipe répartie dans le monde entier. Les apps iOS et macOS sont développées depuis le Japon et la Finlande, tandis que la version Windows a été créée essentiellement en France, et même dans la région lyonnaise !

avatar Powerdom | 

bonjour,

je crois, a vous lire, que vous utilisez ce logiciel chez MacGé, mais quel est l'avantage ou la différence par rapport à un traitement de texte classique de type Page ou Word ?

avatar minipapy | 

@Powerdom

Je n’utilise pas, mais initialement, il me semble que le concept était de ne pas distraire l’auteur en masquant tous les éléments d’interface.
En gros, ne reste qu’une page blanche et le curseur.

avatar highboot | 

@minipapy

C’est une des fonctions intéressantes.
Pour info Word a aussi un mode d’affichage qui efface tout l’interface pour laisser toute la concentration sur le texte. IA Writer va même plus loin en mettant en évidence la phrase en cours.

Mais iA Writer c’est aussi le markdown! Très utile pour les publications à mettre en ligne là où word « pollue » le texte de sa mise en page, style,...

avatar minipapy | 

@highboot

Merci pour les précisions. 🙂

avatar Nicolas Furno | 

@Powerdom

Nous publions nos articles en HTML donc un traitement de texte traditionnel comme Word n’est pas vraiment adapté.

Et plutôt que d’écrire directement en HTML, nous passons par du Markdown, un langage intermédiaire simplifié :
https://fr.wikipedia.org/wiki/Markdown

Après certains préfèrent iA Writer, d’autres Ulysses… mais on utilise tous des éditeurs spécialisés en Markdown.

avatar Khrys | 

@nicolasf

Excellent article sur un excellent logiciel (iA Writer), que j'utilise tous les jours! Merci, Nicolas!

avatar marc_os | 

@nicolasf
Si vous êtes fan de ce langage antédiluvien similaire à ce qu’on trouvait dans certains éditeurs sous MS-DOS, pourquoi ne pas le supporter dans vos sites web ?

avatar Nicolas Furno | 

@marc_os

C’est plus compliqué qu’il n’y parait. Nous ne publions jamais de Markdown directement mais toujours du html converti par nos éditeurs de texte.

Cela dit, on a essayé de le proposer via nos apps déjà. Et l’idée de le proposer sur le site est toujours présente, au moins pour le club.

avatar pat3 | 

@nicolasf

Cela dit, on a essayé de le proposer via nos apps déjà.

Pourquoi essayé ? Ce n’est plus effectif ?

Et l’idée de le proposer sur le site est toujours présente, au moins pour le club.

Super. Avec une gestion un peu plus complète? Listes, notes de bas de… commentaires ?

avatar Nicolas Furno | 

@pat3

Si si, mais une petite partie seulement.

avatar Shralldam | 

Très bon article, merci ! Intéressant de découvrir ces petites différences, souvent noyées derrière les fonctionnalités principales, mais qui font la spécificité (et parfois l'avantage) de chaque plateforme.

Pour ma part, j'ai essayé plusieurs logiciels de rédaction en Markdown (je m'en sers beaucoup pour rédiger les rapports de réunion au travail, pour faciliter leur mise en ligne), mais au bout du compte, j'utilise surtout Sublime Text (qui convient très bien si configuré correctement pour cet usage), et parfois Marked.

avatar RenaudL (non vérifié) | 

Gros fan sur Windows car Word est trop lourd et visuellement encombrant.

avatar Bigdidou | 

Pour le néophyte comme moi, c’est super intéressant.
Je me demande toujours pourquoi c’est si difficile de trouver sur Windows les applications que j’aime tant sur Mac, comme elles sont sur le Mac.

avatar en ballade | 

@Bigdidou

Fan de office, sur Mac c est pas la même chose

avatar ney | 

Article super intéressant, merci MacGe 🤷‍♂️😉

avatar pat3 | 

Je suis devenu vraiment fan du markdown, mais je trouve dommage que vous ne fassiez aucun cas de la pléthore de logiciels libres performants qui en permettent l’usage. On ne parle ici que d’Ulysses, iA Writer, et autres DayOne, ou encore Bear, alors qu’il existe des Mark Text, Notable, Boostnote, FSNotes ou lesbfabuleux Zettlr ou Joplin en libre et multiplateforme (Joplin et Fsnotes sont disponibles aussi sur iOS et Android).
Bref, à quand un dossier sur les éditeurs de markdown incluant les solutions libres ?

avatar Nicolas Furno | 

@pat3

On parlait plus d’éditeurs Markdown à une époque et je les testais systématiquement tous. Mais pour être franc, ça n’avait pas beaucoup de succès alors on a arrêté.

Et pour ma part, je suis toujours revenu à iA Writer que j’utilise depuis le tout début ou pas loin. Aucun autre outil ne me satisfait vraiment, mais c’est beaucoup une question de goût.

avatar pat3 | 

@nicolasf

"On parlait plus d’éditeurs Markdown à une époque et je les testais systématiquement tous. Mais pour être franc, ça n’avait pas beaucoup de succès alors on a arrêté."

J’ai bien lu ces articles, sur Byword, iA Writer, etc., et j’en étais bien content à l’époque. Mais tous étaient payants, souvent minimalistes (le crédo à l’époque), et on tournait sur les 5-6 éditeurs majeurs - et le markdown n’avait pas pris l’importance qu’il a aujourd’hui dans l’écriture web.
Je ne nie pas l’intérêt d’iA Writer, je suis même un de leur bêta testeur sur iOS via TestFlight (au passage, j’aimerais qu’il y ait un équivalent sur Mac).

Mais autant qu’il m’en souvienne, vous n’avez pas parlé des alternatives libres, alors qu’elles existent sur Mac, voire sur iOS, et qu’elles résolvent parfois certaines impasses dues aux choix de modèles économiques de logiciels payants (pour ne donner qu’un exemple, les éditeurs collaboratifs en ligne).

C’est cet « aveuglement » aux solutions libres que je trouve dommage, particulièrement dans ce domaine des logiciels d’écriture. L’équation Mac = payant (voire cher) n’est pas toujours juste, ni bonne. Autant c’est difficile de trouver du côté des éditeurs vidéo, autant là, il y a des choses vraiment intéressantes qui se font. Alors si un dossier est peut-être trop important, une info de temps en temps sur une alternative libre ne serait pas un mal et élargirait notre horizon de lecteur, non seulement pour le logiciel lui-même, mais aussi sur les possibilités d’accès à des logiciels intéressants hors du Mac AppStore, des modes d’installation/désinstallation différents des boutiques à abonnement (homebrew vs SettApp), des forges logicielles vivantes et riches (Sourceforge, GitHub…), bref, sur tout un monde bouillonnant dont le Mac est loin d’être absent mais qui semble juste ne pas exister dans la presse Mac.

Ce serait d’ailleurs un excellent moyen de différenciation qualitative, à mon humble avis, en ces temps de passages de logiciels à l’abonnement et d’espionnite aigüe de nos données.

avatar Mike Mac | 

Pas mal non plus, pour 30 $ sous Windows, il y a Inspire...

Par les mêmes qui font Flow Mail pour iOS.

https://www.inspire-writer.com/

avatar iPop | 

Bien que sans doute iA Writer (que je possède) soit meilleur j’utilise Byword...qui existe aussi sur Mac.

avatar vince29 | 

"iA Writer Windows repose sur Internet Explorer pour sa fonction d’aperçu. Mais cette solution n'est pas satisfaisante, notamment parce qu’elle impose d’avoir un aperçu dans une fenêtre séparée"

Qu' est-ce que l'auteur a voulu dire par-là? Il ne me semble pas qu'il y ait une telle limitation.

"WPF intègre aussi une vue web que les développeurs peuvent exploiter, mais elle repose sur le moteur de rendu… d’Internet Explorer. Autant dire qu’il n’est plus tout jeune, qu'il ne respecte pas les derniers standards du web et qu'il n’est pas très rapide"

Est-ce vraiment nécessaire d'avoir les derniers raffinements ou une police identique pour afficher la version htmlisée d'un markdown ?

De quand date l'interview ? Parce qu'il existe une webview edge pour wpf ou winform depuis avril 2018.

avatar l3aronsansgland | 

L’app est aussi développée depuis l’Allemagne et la Suisse :
« Collaborating between Zurich, Tokyo, Lyon, Berlin, and Helsinki »

avatar agrippa | 

@l3aronsansgland

Casa de papel !? Ok, c est nul...

avatar TheUMan | 

Le choix des systèmes compatibles pour une nouvelle application est plus que discutable :
Êtes-vous au courant que Windows 7 sera arrêté dans moins de 6 mois ?
https://support.microsoft.com/fr-fr/help/4057281/windows-7-support-will-end-on-january-14-2020

Et pour Windows 8 ce système est tellement pourri qu’il ne sert à rien de s’acharner dessus.

La seule vrai solution d’avenir c’est Windows 10.

Quand à la gestion du PDF certes Microsoft est encore loin (quoi que le driver macOS est de plus en plus limité et vétuste par rapport à celui d’Adobe) mais il y a enfin un driver natif dans le système Windows 10

avatar vincentn | 

@TheUMan et @vince29

Petits rappels chronologiques…
IA Writer pour Windows est sorti en février 2018 il me semble. Donc une réflexion, des choix technologiques et un développement courant 2017.

avatar TheUMan | 

Dans ce cas l’article n’est plus d’actualité ;-)
La question ne se poserait plus aujourd’hui.
Ne pas comparer ce qu’il y avait il y a 2 ans avec ce qui se fait maintenant.
Et Apple avec son move de son dernier macOS qui « casse » toutes les anciens applications on en parle ?

avatar Nicolas Furno | 

@TheUMan

Si, parce que la part d’utilisateurs de Windows 7 reste importante pour iA Writer.

avatar vincentn | 

@nicolasf

Oui, tout à fait. Si Win 10 a maintenant 58 % du total des versions Windows, Win 7 est encore à 32%, à 6 mois de la fin de son support officiel par Microsoft.
Et encore, ces 58% proviennent majoritairement du parc entreprise, avec ici aussi de grosses disparités suivant les boîtes. Dans la mienne, par exemple, tous les PC sont encore sous Win7 (quelques centaines), les Mac passent sous Mojave maintenant.

Bref, si la clientèle d’IA Writer (particuliers, indépendants, TPE) sont encore sous Win7 en 2019 et à fortiori encore plus en 2017/2018, logique qu’ils développent leur soft pour ce système, quand bien même Win10 est tout beau, tout propre, moderne et que que c’est l’avenir…

avatar TheUMan | 

L’article parle de quoi : uniquement de iA Writer ou du développement d’app en général ?!
Qu’ils viennent pas pleurer si les choix qu’ils ont fait à l’époque sont plus les bons et sont de moins en moins suivi par les constructeurs. De toutes façon, ils (Apple et Microsoft) font se qu’ILS veulent, s’ils décident quelque chose bah t’as pas le choix malheureusement.

Y’a plus qu’a tout réécrire, bon courage :-p

avatar Nicolas Furno | 

@TheUMan

Euh… 🤔 le titre de l'article n'est pas assez clair ?

avatar vincentn | 

@nicolasf

Il est très clair. Et bon article !

avatar Scooby-Doo | 

@Nicolas Furno,

" le titre de l'article n'est pas assez clair ? "

Oh que si ! Il est très clair !

Maintenant, la politique de Apple est de pousser à marche forcée les utilisateurs finaux ainsi que les développeurs sur les dernières technologies mises en avant par Apple !

Swift par exemple qui a remplacé Objective-C dans le cœur d'Apple !

Si des développeurs faisaient la même chose sur Mac OS en privilégiant des technologies vieilles de 10 ans, n'obtiendraient-ils pas les mêmes problèmes ?

Une question gentille, pastapélepovrescoobyquiamalaudossiouplait

avatar TheUMan | 

Ce qui me chagrine c’est que c’est plus un cas particulier qu’une généralité. Que l’article ne reflète pas ce qu’il se ferait aujourd’hui. Et qu’il n’est pas évident de reproduire les applications à l’identique sur des environnements différents. Ce n’est même pas souhaitables, et Microsoft l’a très bien compris en « portant » ses applications sur Mac. Elles utilisent les spécificités de la plateforme sans vouloir à tout prix copier le mode de fonctionnement de l’interface à l’identique. Et ce qui est décrit était vrai, mais le mouvement de Microsoft me paraît mieux reparti que ce que fait Apple en voulant singer ce qu’avait tenté Microsoft en tentant d’unifier les os portables tactiles avec les os historiques. Au final on se retrouve avec des apps presque jetables tellement elles perdent en fonctionnalité et en non sens au niveau de leur soit disant interface unifiée.

avatar marc_os | 

Merci pour cet article qui dévoile le coté obscure du développement.
Ce manque de règle sous Windows et la totale liberté laissée au dev me rappelle les boites de dialogues du type Fichier / Ouvrir / Enregistrer non standardisées qu’on trouvait régulièrement avant Win 7. Entre manque d’API, API différentes ou au rendu différent selon l’environnement de dev (Visial Studio vs VisualBasic par ex .) et implémentations à la main, on avait un peu tout et n’importe quoi.

avatar pakal | 

J'aimerais connaitre l'avis de dev Windows, mais je trouve que vous faites un peu trop la part belle à Apple et son sytème de dev en affirmant que le dev sous windows est fastidieux.

Il y a bien plus de dev sous windows que sous mac. J'imagine qu'il existe énormément d'apis et de bibliothèque non microsoft utilisable pour réaliser des applications de qualité.
VisualStudio est un excellent logiciel maintenant (alors qu'avant il était très pataud).

avatar Zaak CHALAL | 

Hello,

Je viens de lire ton commentaire et sans lien initial avec ton commentaire je pense avoir répondu à ta question.

Je te confirme, l’article est bêtement à charge.

Zaak

avatar pakal | 

@Zaak CHALAL

merci pour ton commentaire 👍🏼

avatar Zaak CHALAL | 

Bonjour,

Votre article est à charge... Il ne reflète absolument pas la réalité des développements sous Windows. Et au regard des outils de développement sous Windows existants, ces derniers sont bien plus aboutis que sous MacOS (Rappel : 17 millions de développeurs sous Visual Studio et Visual Code) avec aujourd’hui des intégrations dans Windows du noyau UNIX qui ouvrent toutes les opportunités possibles pour l’outillage de DEV. Sans compter le rachat récent de GitHub (28 millions de développeurs). Microsoft a fait un virage 100% Open Source. Par exemple Windows Azure est agnostique aux technologies, etc...

Ce n’est pas un avis, juste des faits.

Pour revenir à votre article.

Primo : Le titre de votre article parle de PORTAGE. Il y a donc un parti pris dès le départ des développements sous Windows depuis un code Mac. C’est à dire que la source (Mac) est la fondation de l’application. Cette fondation qui est donc sur Mac doit tourner sous WIndows !!! Cet héritage apporte une contrainte technique lourde. Elle limite, force et oriente les choix technologiques de vos implémentations. Cela ne permet donc pas de bénéficier des atouts de la plateforme cible.

Secondo : Initialement dans ce projet il n’y a donc aucune approche de développement CROSS PLATFORM. Cet aspect est structurant et déterminant dans l’architecture d’un projet. C’est à dire qu’en amont, dès les premiers développements, les choix technologiques sont décidés pour effectuer une implémentation uniforme sur l’ensemble des plateformes cibles. Donc la compatibilité multiplateforme est plus « naturelle » et les choix technologique plus judicieux, plus pérennes. Ce qui n’est pas le cas du PORTAGE qui généralement conduit hélas à des réécritures totales du code si l’enjeu de l’application est d’être bien implémentée. Mais cela a un coût ou alors comme dans votre cas il faut faire des compromis. Rien à voir à Windows et à sa filière de développement.

==> Les problèmes techniques sont intimement liés aux compétences d’ingénieries des équipes de dev et non à la plateforme MAC, WINDOWS ou UNIX et leurs outils de développement. Il y a en effet une opulence dans les offres et solutions technologiques. C’est donc binaire : Tu es bon, ou pas !

Pour terminer : A regarder dans le détail des choix Windows et Mac, il me semble que les développeurs n’ont pas été challengés dans leurs choix. Certainement dû à la contrainte de portage ou à la nécessité d’aller vite ou encore à l’absence de connaissance technique sur la plateforme cible. Donc les problèmes rencontrés ne sont aucunement liés à Windows et aux technologies associées.

Je ne suis pas un Windows Addict et je ne suis pas habitué à rédiger des commentaires sur les sites web. Mais je ne pouvais absolument pas laisser passer un fake aussi énorme et trompeur pour les lecteurs. Malgré la tentative désespérée en fin d’article pour rattraper les faux problèmes techniques portés par la plateforme Windows.

Pour répondre à un des commentaires sur l’UX : Personnellement, les interfaces bien faites ne sont pas l’oeuvre de la technologie mais d’un travail de fond sur l’UX (User Expérience) et de créativité. Certainement que les développeurs MAC sont à ce niveau plus inspirés. Probablement challengés par l’esprit de la plateforme APPLE. Comme les développeurs Mobiles sont sensibilisés par l’UX non du fait d’APPLE mais du marché mobile lui-même. Effacer donc de vos têtes le lien à la technologie et en particulier de la plateforme Windows quand il s’agit de problème UX de l’application.

Excellente lecture à tous et bravo pour le magazine (sauf pour cet médiocre article, à charge, hélas, qui m’a fait réagir).

Zaak

avatar marc_os | 

@Zaak CHALAL
Tant de texte et pas un seul argument factuel. Chapeau !

avatar Scooby-Doo | 

@marc_os

Pourtant il ne trollait pas contrairement à vous ! :-)

Il ne fait pas dans le factuel mais dans la généralité a priori !

C'est son témoignage. Si vous avez un autre vécu de la chose entre les trois plates-formes pré-citées, merci de partager.

Soyez pas boudeur !

avatar Nicolas Furno | 

@Zaak CHALAL

Je crois que vous n’avez pas bien compris l’idée. C’est un témoignage, donc oui, c’est un cas particulier et non une généralité. Et n’y voyez aucun agenda, c’est vraiment que le développeurs est lyonnais comme MacG. Nous nous sommes rencontrés, on a parlé de la version Windows et c’est ainsi que l’article est né.

Par contre, je dois reconnaître que le titre est une facilité journalistique disons. Ce n’est pas un portage dans le sens où l’app a été écrite de zéro pour Windows. C’est un portage du concept, des fonctions et de l’interface, mais pas du code en lui-même.

avatar Scooby-Doo | 

@Nicolas Furno,

" Je crois que vous n’avez pas bien compris l’idée. C’est un témoignage, donc oui, c’est un cas particulier et non une généralité. "

Très bon article car c'est un témoignage. Il vaut ce qu'il vaut effectivement !

" Par contre, je dois reconnaître que le titre est une facilité journalistique disons. Ce n’est pas un portage dans le sens où l’app a été écrite de zéro pour Windows. C’est un portage du concept, des fonctions et de l’interface, mais pas du code en lui-même. "

Ce qui est encore plus de travail ! Mais pour obtenir une application supposée être pile poil optimisée pour la plate-forme cible !

Par contre bonjour la maintenance et la cohérence entre plate-forme si le code n'est pas partagé...

De toutes les façons la plate-forme de développement Windows est si mauvaise qu'aucun développeur ne n'utilise de nos jours !!!

Surtout pour la 3D, les effets spéciaux, et les jeux ! Que des softs écrits sur le bout d'une table en deux jours en Swift (trop rapide) !

avatar byte_order | 

@nicolasf

Inversion des notes de bas de page 2 et 3.

avatar Adrienhb | 

Quand on lit les commentaires, on se dit que ce serrait intéressant que, au moins pour les articles prime, l’auteur vienne répondre aux principaux commentaires quelques jours après.

avatar phil3 | 

@Adrienhb

Bah ce n'est pas ce que fait Nicolas ?

avatar A Perd | 

Bonjour,

je suis le développeur dont parle cet article et si cela peut apporter quelques lumières, je voudrais apporter quelques éléments:

- La version Windows est une version dédiée, ne réutilisant que peu de parties des version Mac et iOS (qui existaient avant de vouloir proposer une version Windows).
- Visual Studio est un excellent IDE et WPF est très plaisant à utiliser et propose des concepts et fonctionnalités avancées que l'on commence seulement à trouver chez Apple et XCode.
- Les composants fournis par défaut sont limités (en nombre) et arriver au niveau de ce que propose Apple oblige souvent à se servir de composants tiers (Open source ou commerciaux).
- Il n'y a malheureusement pas en WPF de composant permettant d'afficher du HTML et supportant un minimum de fonctionnalités (Export PDF, Polices personnalisées, ...) Les errances récentes de Microsoft avec Edge et Chromium rendent également la vision sur le long terme difficile.
- Quand le choix de WPF a été fait (fin 2017), Windows 7 avait encore 50% du marché. Aujourd'hui même si cette proportion a baissé, elle demeure importante. Le choix de WPF n'a pas non plus uniquement fait par rapport au support de Win7, d'autres arguments entraient en jeu.

Pour résumer, développer pour Windows reste une expérience agréable et les outils sont puissants. Malheureusement, beaucoup de fonctionnalités fournies directement par Apple, n'ont pas leur équivalent fournis par Microsoft. Je parle bien entendu dans le cadre d'iA Writer (Application Desktop) qui fait largement appel à ce que les différents frameworks d'Apple proposent. Pour une application de gestion, le bilan serait tout autre et il ne faut donc surtout pas prendre cette expérience comme une généralité.

avatar Scooby-Doo | 

@A perd,

Merci pour vos explications complémentaires…

J'applaudis des deux pattes !

" Pour une application de gestion, le bilan serait tout autre et il ne faut donc surtout pas prendre cette expérience comme une généralité. "

Vous savez que vous êtes doué de télépathie canine :-)

CONNEXION UTILISATEUR