Владельцы форумов Discourse: интересует ли вас нативные мобильные приложения?

Это интересно, если подумать о количестве обёрток WordPress для приложений.

@Aa7 Мне сложно придумать преимущества, но я открыт к идеям людей. Мне нравится, что вы упомянули: фокус на пользователе, а не на администраторе — это умно.

Возможно, предложение услуги белоклеймового публикации могло бы стать для этого входным билетом? Я так думаю, потому что человек, который этим занимался ранее (имя вылетело из головы), прекратил.

Или, возможно, стоит создать приложение, основываясь на разборе UX мобильной темы. Я заметил, что несколько человек отключают мобильную тему и используют полную десктопную версию на моих форумах… так что это может быть подсказкой.
Также Google иногда жаловался на то, что некоторые области для касания слишком малы.

1 лайк

Apple определённо проявляла непоследовательность в соблюдении своих правил.

Итак, сначала вы планируете полностью переписать фронтенд в виде отдельного приложения? Мне кажется, вы сильно недооцениваете сложность и объём работы, которую нужно там выполнить.

А затем, при каждом несовместимом обновлении Discourse вам потребуется:

  • заметить это;
  • разобраться, что именно изменилось;
  • адаптировать свой код;
  • отправить приложение на проверку и пройти через неопределённый и, возможно, длительный процесс утверждения;
  • ждать, пока пользователи форума узнают об обновлении и установят новую версию приложения на свои телефоны.

Так сколько времени это займёт? От одного дня до трёх недель, полагаю? Возможно, и пять недель, если вам придётся уйти в отпуск?

Тем временем, в зависимости от вашего процесса, либо

a) форум нельзя будет обновить, что может привести к проблемам с безопасностью,
b) форум нельзя будет использовать через приложение.

Я не думаю, что это сработает.

Я считаю, что это главная проблема, которую нам нужно решить — найти «золотую пулю» в виде функционала, который убедит Apple одобрить такие обёрнутые приложения, а затем использовать подход с обёрткой.

10 лайков

Я знаю, что говорил, будто обновление приложения последует за этим, но разработка новых версий ведётся открыто. Любая адаптация может происходить параллельно с этими изменениями. Кроме того, Discourse — это зрелая кодовая база. Если бы речь шла о чём-то столь же молодом, как Talk (сравнение не совсем корректно), где API часто меняется, я бы, думаю, не стал бы это рассматривать.

Что касается отслеживания изменений и поддержания актуальности, то я считаю, что это работа на полную ставку.

Я пока не оценивал объём работ. Я занимаюсь разработкой программного обеспечения около 13 лет — надеюсь, не допущу грубой ошибки, если предприму конкретные шаги для работы над этим.

1 лайк

Большинство сайтов работают в режиме «тесты пройдены», что означает, что вы всегда будете гнаться за совместимостью, а не готовиться к релизам.

2 лайка

Меня бы заинтересовало нативное приложение Discourse.

1 лайк

Это довольно странно, учитывая, что они не предоставляют push-уведомления для мобильного Safari…

3 лайка

Разве «преимущества» в основном не для тех, кто управляет сайтами/сервисами, а не для пользователей? Когда у вас есть приложение, ваши пользователи оказываются в некотором роде «в ловушке»: они открывают приложение и оказываются в закрытой среде, а не в веб-браузере, где могут в любой момент перейти куда угодно. У них есть иконка, ведущая напрямую к вашему приложению, а не ещё одна закладка на ваш сайт (если она у них вообще есть, или, возможно, они однажды просто забудут ваш URL). Кроме того, при установленной приложении обычно есть возможность отправки push-уведомлений, даже если пользователь давно его не открывал.

Это тонкий момент, и действительно есть аргументы, почему это не так или почему можно добиться практически того же самого без приложения. Но не правда ли, что именно провайдеры в начале настаивали на установке своих приложений (даже если они на самом деле ничего не дают пользователям), а не пользователи просили об этом? (Пользователи согласились и привыкли к такому подходу, а теперь, возможно, сами просят приложения, даже если не совсем понимают почему. Может быть, им теперь это кажется удобным).

4 лайка

Я так думаю.

Сейчас я использую официальное приложение Discourse и не могу придумать, чего в нём не хватает (кроме push-уведомлений для моего сайта и нескольких других). Мне оно нравится.

Единственное, чего мне действительно хочется, — это чтобы в нём было название и логотип моего сообщества, и вот почему…

В моём случае именно так. Людям приятно пользоваться устройствами с узкой специализацией. На телефоне вы превращаете его в такое устройство, открыв приложение.

Именно. Это бесит.

5 лайков

Итак, аналитика. Неплохая вещь.

Извините, я не понял. Не могли бы вы объяснить?

Из любопытства, какой форум вы ведёте? Спасибо.

Позвольте мне подробнее раскрыть то, что сказал @Stephen.

Как разработчик плагинов, я могу сказать, что поддержание кода в актуальном состоянии и совместимости с ядром — задача не из легких, требующая тщательной стратегии. Плагины обычно синхронизируются с веткой tests-passed. Вы можете выбрать более медленную ветку, но тогда и ваши клиенты тоже будут отставать. Это нормально. Однако вам потребуется время на обновление вашего приложения после каждого стабильного релиза. Это потребует значительных усилий и может привести к существенным задержкам в обновлениях для клиентов.

Как и в случае с плагинами, всегда существует риск того, что что-то сломается после существенных изменений в ядре.

Вы утверждаете, что ядро Discourse стабильно. Возможно, оно стало стабильнее, чем в начале, но внимательно посмотрите на репозиторий: он активно развивается (хотя значительная часть изменений касается веб-приложения). Просто посмотрите, сколько коммитов делается ежедневно. Посмотрите на количество открытых Pull Request’ов. Возьмите хотя бы один файл, например Topic.hbs, и подумайте, как вы будете успевать за изменениями только в нем? Даже форк ядра Discourse не рекомендуется именно из-за этой проблемы. А вы планируете делать нативную переписку?

Будете ли вы использовать только их API? Тогда хорошо, но как вы реализуете популярные плагины? Некоторые из них вносят значительные визуальные изменения, большинство из которых используют monkey-patching (например, с помощью JQuery) или plugin outlets, которые вы не сможете переиспользовать, если перейдете на нативную разработку. Вы будете переписывать их на нативном коде?

Плагины — лишь верхушка айсберга. То, что вы предлагаете, предположительно охватывает весь фронтенд-функционал для пользователей. Всё это нужно будет тестировать. И писать тест-кейсы. Просто вау.

И насколько велика ваша команда? Снова посмотрите, сколько разработчиков вносит вклад в ядро. Добавьте к этому количество авторов плагинов в вашей области интересов. Это даст вам ещё одну метрику для оценки масштаба задачи.

Вам понадобится скорость разработки, сопоставимая с темпом релизов Discourse (!), иначе все ваши клиенты начнут чувствовать, что их ограничивают в доступе к новым функциям.

Вам нужно будет обосновывать каждый потраченный час и компенсировать эти затраты выручкой (и это нормально, вам, как и всем остальным, нужно зарабатывать на жизнь).

В любом случае, я думаю, вы могли бы попробовать реализовать это с целью создания демонстрационной версии. Я бы начал «просто» с основного приложения. Это быстро даст вам понимание масштаба задачи. Или просто посчитайте, сколько вызовов API вам потребуется поддерживать.

Уверен, вы уже обдумали всё это. Я не хочу вас расстраивать, но вы предлагаете серьёзный объём работы, который придётся выполнять постоянно и безжалостно.

Как насчёт того, чтобы посмотреть на официальное приложение и попробовать сделать что-то с его помощью?

13 лайков

Честно говоря, я не думаю, что это станет проблемой для приложения, написанного на нативном коде, а не просто представляющего собой веб-представление сайта.

3 лайка

Это верно, и примеров нативных реализаций веб-приложений множество. Например, Facebook (хотя их веб-приложение ужасно).

Полностью нативная реализация, вероятно, не находится под угрозой.

Целью будут «обёрнутые» приложения. Я отредактировал свой пост.

3 лайка

Я тоже размышлял о создании полноценного нативного приложения (по профессии я разработчик под iOS). Я бы использовал публичный HTTP API Discourse. Есть ли какие-то гарантии стабильности API или его версионирования, чтобы старые версии приложений не ломались внезапно?

2 лайка

Сообщества, использующие нативное приложение, могут следовать нашей медленной ветке (также известной как «стабильная»). Кроме того, мы нечасто меняем API — они очень стабильны.

7 лайков

Приложение может быть построено на основе REST API Discourse, который должен быть достаточно стабильным. Тогда оно может иметь любой желаемый интерфейс и пользовательский опыт, возможно, даже отличный от веб-приложения (это может быть лучше или хуже). Если автор приложения выберет любой другой подход (я не уверен, что это вообще возможно), он столкнется с проблемами, которые вы описываете.

2 лайка

Да. Выглядеть иначе, но оставаться последовательным, некоторые могут воспринять положительно, но, скорее всего, только если это будет одно приложение, в которое можно добавлять несколько экземпляров, как в официальном приложении. Однако это интересует далеко не всех. Представьте, что ваше кастомное приложение для сайта имеет совершенно другой стиль, чем сам сайт. Это нехорошо.

И я не могу представить, чтобы кто-то был доволен приложением, которое не поддерживает все функции их сайта. Поэтому плагины сразу же начинают создавать проблемы.

4 лайка

Я согласен, это может быть сложной частью. Нативное приложение может оказаться хуже веб-оболочки, если не будет поддержки плагинов. Разумным первым шагом была бы поддержка самых популярных плагинов, а со временем — добавление поддержки для остальных.

4 лайка