Discourse-Forum-Betreiber: Seid ihr an nativen mobilen Apps interessiert?

Das ist interessant, wenn man an die Anzahl der WordPress-Wrapper-Apps denkt.

@Aa7 Ich habe Schwierigkeiten, mir die Vorteile vorzustellen, aber ich bin definitiv offen, Ideen von anderen zu hören. Es gefällt mir, dass du den Fokus auf den Benutzer statt auf den Administrator als klug bezeichnest.

Vielleicht könnte ein Weißmarkierungs-Publishing-Service ein Einstieg dafür sein? Der Grund, warum ich das sage, ist, dass die Person, die das früher gemacht hat (der Name entfällt mir), damit aufgehört hat.

Oder vielleicht eine Entwicklung, die auf einer UX-Analyse des mobilen Themes basiert. Ich habe bemerkt, dass einige Leute das mobile Theme deaktivieren und auf meinen Foren komplett auf Desktop umstellen … das könnte ein Hinweis sein.
Außerdem hat Google gelegentlich bemängelt, dass einige Touch-Bereiche zu klein sind.

1 „Gefällt mir“

Apple war bei der Durchsetzung seiner Richtlinien definitiv inkonsistent.

Also wirst du zuerst das gesamte Frontend in einer App neu aufbauen? Ich denke, du unterschätzt die Komplexität und den Umfang der Arbeit, die dafür erforderlich ist, gewaltig.

Und dann musst du bei jedem inkompatiblen Discourse-Update Folgendes tun:

  • feststellen, dass es ein Update gibt
  • herausfinden, was genau passiert
  • deinen Code anpassen
  • die App zur Prüfung einreichen und einen unsicheren und möglicherweise langwierigen Genehmigungsprozess durchlaufen
  • warten, bis die Forum-Nutzer das Update bemerken und die App auf ihrem Handy aktualisiert haben

Wie lange würde das also dauern? Ich schätze, irgendwo zwischen einem Tag und drei Wochen? Vielleicht fünf Wochen, falls du gerade im Urlaub bist?

In der Zwischenzeit, je nach deinem Prozess, entweder

a) kann das Forum nicht aktualisiert werden, was möglicherweise Sicherheitslücken offenlegt
b) kann das Forum über die App nicht genutzt werden

Ich glaube nicht, dass das funktionieren wird.

Ich denke, das ist das Hauptproblem, das wir lösen müssen – die goldene Schlüsselfunktion finden, die Apple dazu bringt, diese Wrapper-Apps zu genehmigen, und dann den Wrapper-Ansatz verwenden.

10 „Gefällt mir“

Ich weiß, ich habe gesagt, dass ein App-Update folgen wird, aber die Entwicklung neuer Releases erfolgt offen. Jede Anpassung kann parallel zu diesen Änderungen erfolgen. Außerdem ist Discourse eine ausgereifte Codebasis. Wäre es etwas so junges wie Talk (kein direkter Vergleich), wo sich die API häufig ändert, würde ich das meiner Meinung nach nicht in Betracht ziehen.

Was das Erkennen von Änderungen und das Auf dem Laufenden bleiben angeht, so bin ich der Meinung, dass dies einen Vollzeitjob erfordert.

Ich habe die Arbeit noch nicht wirklich abgeschätzt. Ich bin seit etwa 13 Jahren in der Softwareentwicklung tätig – ich hoffe, ich begehe keinen groben Fehler, wenn ich konkrete Schritte zur Bearbeitung dieses Themas unternehme.

1 „Gefällt mir“

Die meisten Sites führen ‘tests-passed’ aus, was bedeutet, dass Sie sich ständig mit Kompatibilität auseinandersetzen müssen, anstatt sich auf Releases vorzubereiten.

2 „Gefällt mir“

Ich hätte Interesse an einer nativen Discourse-App.

1 „Gefällt mir“

Das ist ziemlich frech, bedenkt man, dass sie keine Push-Benachrichtigungen für Mobile Safari anbieten…

3 „Gefällt mir“

Sind die „Vorteile

4 „Gefällt mir“

Das denke ich auch.

Ich verwende derzeit die offizielle Discourse-App und kann mir nichts vorstellen, das fehlt (abgesehen von Push-Benachrichtigungen für meine Seite und ein paar anderen). Ich mag sie.

Das Einzige, was ich wirklich möchte, ist, dass sie den Namen und das Logo meiner Community trägt, aus folgendem Grund…

Das ist bei mir auch der Fall. Menschen finden dedizierte Geräte angenehm zu benutzen. Auf einem Handy verwandelst du es in ein dediziertes Gerät, indem du eine App öffnest.

Genau. Das macht wütend.

5 „Gefällt mir“

Also Analysen. Nicht schlecht.

Entschuldigung, ich verstehe nicht ganz. Könntest du das bitte erklären?

Aus reiner Neugier: Welches Forum betreibst du? Danke.

Erlaube mir, das auszuführen, was @Stephen gesagt hat.

Als Plugin-Entwickler kann ich dir sagen, dass es keine einfache Aufgabe ist, den Code stets aktuell und kompatibel mit dem Kern zu halten, und dies erfordert eine sorgfältige Strategie. Plugins werden normalerweise mit dem „tests-passed“-Zweig synchron gehalten. Du könntest einen langsameren Zweig wählen, aber das bedeutet, dass auch deine Kunden langsamer sind. Das ist in Ordnung. Du wirst jedoch Vorlaufzeit benötigen, um deine Anwendung nach jedem stabilen Release zu aktualisieren. Das wird viel Arbeit bedeuten und könnte zu erheblichen Verzögerungen bei den Updates für deine Kunden führen.

Wie bei Plugins besteht auch hier ständig das Risiko, dass nach einer signifikanten Änderung im Kern etwas kaputtgeht.

Du stellst fest, dass Discourse-Kern stabil ist. Vielleicht stabiler als am Anfang, aber wirf bitte einen genauen Blick auf das Repository – es bewegt sich durchaus (wobei ein Großteil davon die Web-App betrifft). Schau dir einfach an, wie viele Commits täglich erfolgen. Betrachte die Anzahl der offenen PRs. Nimm nur eine Datei, z. B. Topic.hbs, und überlege, wie du damit Schritt halten wirst? Selbst das Forken der Discourse-Kernbasis wird genau wegen dieser Herausforderung abgeraten. Und das soll eine native Neuentwicklung sein?

Wirst du nur deren API nutzen? Dann ist das in Ordnung, aber wie wirst du dann beliebte Plugins implementieren? Einige davon haben erhebliche visuelle Änderungen, die größtenteils auf Monkey-Patching mit z. B. JQuery oder Plugin-Ausgängen basieren, die du nicht wiederverwenden kannst, wenn du native Entwicklung wählst. wirst du diese mit nativem Code neu implementieren?

Plugins sind nur die Spitze des Eisbergs. Was du vorschlägst, umfasst vermutlich den vollständigen Umfang aller Frontend-Funktionalitäten für Benutzer. All das muss getestet werden. Und Testfälle. Einfach wow.

Und wie groß ist dein Team? Schau dir erneut an, wie viele Entwickler am Kern mitarbeiten. Addiere die Anzahl der Plugin-Autoren, die im Scope liegen. Das gibt dir eine weitere Metrik für die Größe der Herausforderung.

Du benötigst eine Geschwindigkeit, die mit Discourse-Release-Zyklen mithält (!), sonst werden alle deine Kunden das Gefühl haben, von neuen Funktionen zurückgehalten zu werden.

Du musst jede Stunde, die du verbringst, rechtfertigen und durch Einnahmen wieder einspielen (und das ist in Ordnung, du musst wie wir alle deine Rechnungen bezahlen).

Aber ich denke, du könntest es trotzdem versuchen, mit dem Ziel, eine Demo zu erstellen. Ich würde mit „nur“ der Kern-App beginnen. Das wird dir schnell ein Gefühl dafür geben, wie groß die Aufgabe ist. Oder zähle einfach alle API-Aufrufe zusammen, die du unterstützen musst.

Ich bin sicher, du hast über all das nachgedacht. Ich möchte dich nicht entmutigen, aber dies ist eine erhebliche Menge an Arbeit, die du vorschlägst, und das auf kontinuierlicher, gnadenloser Basis.

Wie wäre es, die offizielle App zu betrachten und zu sehen, was du damit erreichen kannst?

13 „Gefällt mir“

Um fair zu sein, glaube ich nicht, dass dies ein Problem für eine App wäre, die aus nativem Code besteht und nicht nur eine Webansicht einer Website ist.

3 „Gefällt mir“

Das stimmt, und es gibt jede Menge Beispiele für native Implementierungen von Web-Apps. Zum Beispiel Facebook (obwohl ihre Web-App leider schlecht ist).

Eine vollständig native Implementierung ist wahrscheinlich nicht gefährdet.

Gemeint sind die „eingekapselten“ Apps, die sie ins Visier nehmen würden. Ich habe meinen Beitrag bearbeitet.

3 „Gefällt mir“

Ich habe auch mit dem Gedanken gespielt, eine vollständig native App zu entwickeln (ich bin von Beruf iOS-Entwickler). Ich würde sie auf der (öffentlichen?) HTTP-API von Discourse aufbauen. Gibt es eine Garantie dafür, wie stabil die API ist oder ob sie in irgendeiner Weise versioniert ist, um zu verhindern, dass alte App-Versionen unerwartet nicht mehr funktionieren?

2 „Gefällt mir“

Gemeinschaften, die in die native App investiert haben, können unseren langsamen Zweig (auch „stabil“ genannt) verfolgen. Außerdem ändern wir APIs nicht häufig; sie sind sehr stabil.

7 „Gefällt mir“

Die App könnte auf der Discourse REST-API basieren, die relativ stabil sein sollte. Anschließend könnte sie über eine beliebige UI/UX verfügen, die sich möglicherweise sogar von der Webanwendung unterscheidet (dies könnte besser oder auch schlechter sein). Wenn der Autor der App einen anderen Ansatz wählt (ich bin mir nicht sicher, ob dies überhaupt möglich ist), wird er auf die von dir beschriebenen Probleme stoßen.

2 „Gefällt mir“

Ja. Ein unterschiedliches, aber konsistentes Erscheinungsbild könnte von einigen positiv bewertet werden, aber wahrscheinlich nur, wenn es sich um eine App handelt, bei der man mehrere Instanzen hinzufügen kann, wie bei der offiziellen App. Das ist jedoch nicht das, was viele Menschen interessiert. Stellen Sie sich vor, Ihre benutzerdefinierte App für Ihre Website hätte ein völlig anderes Design als die Website selbst. Das wäre nicht gut.

Und ich kann mir nicht vorstellen, dass jemand mit einer App zufrieden wäre, die nicht alle Funktionen ihrer Website unterstützt. Daher werden Plugins von Anfang an zum Problem.

4 „Gefällt mir“

Ich stimme zu, das könnte der knifflige Teil sein. Eine native App könnte am Ende schlechter aussehen als die Web-Wrapper, wenn Plugins nicht unterstützt werden. Ein vernünftiger erster Ansatz wäre, die beliebtesten Plugins zu unterstützen und im Laufe der Zeit weitere hinzuzufügen.

4 „Gefällt mir“