Propriétaires de forums Discourse : êtes-vous intéressés par des applications mobiles natives ?

C’est intéressant quand on pense au nombre d’applications enveloppes WordPress qui existent.

@Aa7 J’ai du mal à imaginer les avantages, mais je suis tout à fait ouvert à entendre les idées des gens. J’aime le fait que vous souligniez que se concentrer sur l’utilisateur plutôt que sur l’administrateur est une bonne approche.

Peut-être qu’offrir un service d’édition en marque blanche pourrait servir de porte d’entrée pour cela ? La raison pour laquelle je le dis, c’est que la personne qui s’en occupait à un moment donné (je ne me souviens plus de son nom) a arrêté.

Ou peut-être faudrait-il partir d’une analyse UX du thème mobile. J’ai remarqué que quelques personnes désactivent le thème mobile et utilisent la version bureau complète sur mes forums… cela pourrait être un indice.
De plus, Google a parfois signalé que certaines zones tactiles étaient trop petites.

1 « J'aime »

Apple a certainement été incohérent dans l’application de ses politiques.

Donc, dans un premier temps, vous allez reconstruire l’intégralité du frontend dans une application ? Je pense que vous sous-estimez considérablement la complexité et l’ampleur du travail à accomplir là-bas.

Ensuite, à chaque fois qu’une mise à jour incompatible de Discourse est publiée, vous devez :

  • vous en rendre compte
  • comprendre ce qui se passe
  • adapter votre code
  • soumettre l’application pour examen et passer par un processus d’approbation incertain et potentiellement long
  • attendre que les utilisateurs du forum découvrent la mise à jour et qu’ils aient mis à jour l’application sur leur téléphone

Combien de temps cela prendrait-il ? Entre un jour et trois semaines, je suppose ? Peut-être cinq semaines, si vous avez la chance d’être en vacances ?

En attendant, selon votre processus, soit :

a) le forum ne peut pas être mis à jour, exposant potentiellement des failles de sécurité
b) le forum ne peut pas être utilisé via l’application

Je ne pense pas que cela va fonctionner.

Je pense que c’est le principal problème que nous devons résoudre : trouver la fonctionnalité décisive qui permettra à Apple d’approuver ces applications enveloppes, puis utiliser l’approche des applications enveloppes.

10 « J'aime »

Je sais que j’ai dit qu’une mise à jour de l’application suivrait, mais le développement des nouvelles versions se fait en toute transparence. Toute adaptation peut donc se faire en parallèle de ces changements. De plus, Discourse est une base de code mature. Si c’était quelque chose d’aussi récent que Talk (ce n’est pas une comparaison équitable), où l’API change souvent, je ne pense pas que j’envisagerais cela.

En ce qui concerne la détection des changements et le fait de rester à jour, je soutiens que c’est un travail à temps plein.

Je n’ai pas vraiment estimé le travail. Je travaille dans le développement logiciel depuis environ 13 ans — j’espère ne pas commettre une erreur grossière en prenant des mesures concrètes pour travailler sur cela.

1 « J'aime »

La plupart des sites exécutent des tests-passed, ce qui signifie que vous serez toujours en train de poursuivre la compatibilité plutôt que de vous préparer aux versions.

2 « J'aime »

Je serais intéressé par une application Discourse native.

1 « J'aime »

Ce qui est plutôt riche étant donné qu’ils ne fournissent pas de notifications push pour Safari mobile…

3 « J'aime »

Les « avantages » ne concernent-ils pas surtout les personnes qui gèrent les sites ou les services plutôt que les utilisateurs ? Lorsqu’on a une application, les utilisateurs sont un peu plus « captifs » : ils ouvrent l’application et se retrouvent dans un environnement fermé, contrairement à un navigateur web où ils peuvent aller n’importe où à tout moment. Ils ont une icône menant directement à votre application, plutôt qu’un autre signet vers votre site (s’ils en ont un, ou peut-être qu’ils oublieront simplement votre URL à un moment donné). De plus, il est généralement possible d’envoyer des notifications push lorsque l’application est installée, même si l’utilisateur ne l’a pas ouverte depuis un certain temps.

C’est subtil, et il existe effectivement des arguments expliquant pourquoi ce n’est pas le cas ou pourquoi on pourrait faire presque la même chose sans application. Mais au début, n’est-ce pas les fournisseurs qui ont poussé à l’installation de leurs applications (même si elles n’apportent pas grand-chose aux utilisateurs), plutôt que les utilisateurs qui les réclamaient ? (Les utilisateurs ont fini par s’y habituer et ont pris l’habitude de cette façon de faire à un moment donné, et peut-être demandent-ils maintenant des applications, même s’ils ne savent pas vraiment pourquoi. Peut-être les trouvent-ils pratiques désormais.)

4 « J'aime »

Je le pense.

J’utilise actuellement l’application officielle Discourse et je ne vois rien qui lui manque (à part les notifications push pour mon site et quelques autres). Elle me plaît.

La seule autre chose que je souhaite vraiment, c’est qu’elle affiche le nom et le logo de ma communauté, pour la raison…

C’est mon cas. Les gens trouvent les appareils à usage unique agréables à utiliser. Sur un téléphone, vous le transformez en appareil à usage unique en ouvrant une application.

Exactement. Irritant.

5 « J'aime »

Donc, l’analytique. Pas une mauvaise chose.

Désolé, je ne suis pas sûr de vous suivre. Pouvez-vous s’il vous plaît expliquer ?

Par curiosité, quel forum gérez-vous ? Merci.

Permettez-moi de préciser ce que @Stephen a dit.

En tant que développeur de plugins, je peux vous dire que maintenir le code à jour pour qu’il soit compatible avec le cœur du système n’est pas une tâche triviale et nécessite une stratégie minutieuse. Les plugins sont généralement maintenus en phase avec la branche « tests-passés ». Vous pourriez opter pour une branche plus lente, mais cela signifie que vos clients aussi le seront. Ce n’est pas grave, bien sûr. Mais vous aurez besoin d’un délai pour mettre à jour votre application après chaque version stable. Cela représentera beaucoup de travail et pourrait entraîner des retards significatifs dans les mises à jour destinées aux clients.

Comme pour les plugins, vous courez toujours le risque qu’un élément se rompe après un changement suffisamment important dans le cœur du système.

Vous affirmez que le cœur de Discourse est stable. Peut-être plus qu’au début, mais jetez un œil attentif au dépôt : il évolue (même si une grande partie de ces changements concerne l’application web). Regardez simplement le nombre de commits quotidiens. Examinez le nombre de PR ouvertes. Prenez un seul fichier, par exemple Topic.hbs, et réfléchissez à comment vous comptez suivre uniquement cela ? Même le fork de la base du cœur de Discourse est déconseillé précisément à cause de ce défi. Et vous parlez d’une réécriture native ?

Utiliserez-vous uniquement leur API ? Dans ce cas, très bien, mais comment allez-vous implémenter n’importe lequel des plugins populaires ? Certains d’entre eux comportent des modifications visuelles importantes, dont la plupart utilisent du monkey-patching avec, par exemple, jQuery ou des emplacements de plugins que vous ne pourrez pas réutiliser si vous passez au natif. Allez-vous les réimplémenter avec du code natif ?

Les plugins ne sont que la pointe de l’iceberg. Ce que vous proposez couvre probablement l’ensemble des fonctionnalités frontales destinées aux utilisateurs. Tout cela devra être testé, avec des cas de test. Juste wow.

Et quelle est la taille de votre équipe ? Encore une fois, regardez combien de développeurs contribuent au cœur du système. Ajoutez-y la population d’auteurs de plugins concernés. Cela vous donne une autre métrique pour évaluer l’ampleur du défi.

Vous devrez avoir une vélocité qui correspond aux versions de Discourse (!), sinon tous vos clients commenceront à avoir l’impression d’être freinés dans l’accès aux nouvelles fonctionnalités.

Vous devrez justifier chaque heure passée et la rentabiliser en revenus (et c’est normal, vous devez mettre de la nourriture sur la table comme nous tous).

Mais dans tous les cas, je pense que vous pourriez essayer de l’implémenter dans le but de le démontrer. Je commencerais par « simplement » l’application de base. Cela vous donnera rapidement une idée de l’ampleur de la tâche. Ou comptez simplement toutes les appels API que vous devrez prendre en charge.

Je suis sûr que vous avez déjà réfléchi à tout cela. Je ne veux pas jeter un froid, mais ce que vous proposez représente une quantité de travail considérable, et ce de manière continue et implacable.

Que diriez-vous d’examiner l’application officielle et de voir ce que vous pouvez faire avec ?

13 « J'aime »

Pour être juste, je ne pense pas que cela poserait problème pour une application en code natif plutôt que « simplement » une webview d’un site.

3 « J'aime »

C’est vrai, et il existe de nombreux exemples d’implémentations natives d’applications web. Par exemple, Facebook (bien que leur application web soit lamentable).

Une implémentation entièrement native n’est probablement pas à risque.

Ce sont les applications « encapsulées » qui seraient visées. J’ai édité mon message.

3 « J'aime »

J’ai aussi envisagé l’idée de développer une application entièrement native (je suis développeur iOS de métier). Je la baserais sur l’API HTTP (publique ?) de Discourse. Existe-t-il une garantie concernant la stabilité de l’API ou son versionnage d’une manière ou d’une autre, pour éviter que d’anciennes versions de l’application ne se cassent de manière inattendue ?

2 « J'aime »

Les communautés investies dans l’application native peuvent suivre notre branche lente (aka « stable »). De plus, nous ne modifions pas souvent les API ; elles sont très stables.

7 « J'aime »

L’application pourrait être basée sur l’API REST de Discourse, qui devrait être assez stable. Elle pourrait alors avoir n’importe quelle interface utilisateur/expérience utilisateur (UI/UX) souhaitée, peut-être même différente de celle de l’application web (cela pourrait être mieux ou pire). Si l’auteur de l’application choisit toute autre approche (je ne suis pas sûr que ce soit même possible), il rencontrera les difficultés que vous décrivez.

2 « J'aime »

Oui. Un design différent mais cohérent pourrait être perçu positivement par certaines personnes, mais probablement uniquement s’il s’agissait d’une application permettant d’ajouter plusieurs instances, comme l’application officielle. Cependant, ce n’est pas ce qui intéresse beaucoup de gens. Imaginez que l’application personnalisée de votre site ait un style totalement différent de celui de votre site. Ce ne serait pas bon.

Et je ne peux pas imaginer que quiconque soit ravi d’une application qui ne prend pas en charge toutes les fonctionnalités de son site. Ainsi, les plugins deviennent rapidement un problème.

4 « J'aime »

Je suis d’accord, cela pourrait être la partie délicate. Une application native pourrait finir par paraître moins bien qu’un wrapper web si les plugins ne sont pas pris en charge. Une première approche raisonnable consisterait à prendre en charge les plugins les plus populaires, puis, au fil du temps, à ajouter la prise en charge d’autres plugins.

4 « J'aime »