Вопрос про коммуникацию в условиях нестабильного коннекта.
Cat's shadowПо итогам игротехники на прошедшей игре (была основана на основе чатов в телеграме) возник вопрос: как обеспечить в режиме «на минималках» следующую задачу:
1. текстовые чаты между пользователями как индивидуальные, так и групповые
2. возможность работы как в локальной сети, так и при подключении к интернету (т.е. доступ к чатам удалённызх пользователей).
*. возможность работы в mesh-сети между клиентскими устройствами будет плюсом.
3. нетребовательность к трафику (в идеале — укладываться в полосу 2400 бит/сек, в реальной ситуации показометр скорости на телефоне прыгал в интервале 0.3-3кб/сек).
4. устойчивость работы в случае нестабильного низкоскоростного коннекта — гарантированность доставки сообщений (автоматическая перепосылка их при обрыве соединения, не получении подтверждения о получении и т.п.).
5. наличие API для написания ботов.
6. Клиенты под Android, iOS.
*. наличие десктопных клиентов будет плюсом.
7. Юзерфрендли для обычного пользователя.
8. Нетребовательность к ресурсам: возможность развернуть серверную часть (если она есть) на *Pi или ПК прошлого/позапрошлого поколения (10-15 летней давности).
Matrix — не годится. Требует наличия доступа в интернет.
При взгляде на XMPP — всё кажется подходящим, кроме п.4 (и, возможно, п.3). При нестабильной связи теряются сообщения по словам знакомых, что плотно им пользовались.
Пока лучшим решением выглядит DeltaChat (мессенджер, транспортом для которого работает email). Но ввиду особенностей транспорта он небыстр, хотя в локалке может и будет достаточно шустр.