Комментарии 37
Перспективный open-source мессенджер работал бы не поверх HTTP.
Например, благодаря HTTP можно делать скрипты и дебажить всё curl-командами, что лично для меня очень удобно — прям на bash можно автоматизировать какие-то действия без особых сложностей.
Поэтому использование протокола HTTP и приложения на Electron (HTML, CSS, JS) — несёт за собой не только минусы, но и большие плюсы в поддержке кода сообществом, что в сумме дает больше плюс, чем минус.
Именно благодаря такому подходу node.js сейчас очень активно продвигается. Качество кода и модулей там очень сильно страдает, т.к. большой уровень школоло присутствует, но зато проект активно живёт и развивается.
его протокол должен быть простым и понятным любому школьнику
HTTP Host, cache-control, chunked transfer encoding, range, accept, x-www-form-urlencoded, multipart/form-data, ещё с десяток-другой фич наверно откопать в HTTP/1.1 (про 2.0 вообще молчу) — это всё знает каждый школьник и для чего-то используется в Matrix?
Недостающие инструменты для дебага всегда можно написать и выдать школьникам.
Вы собираете в своих комментариях всё, что я ненавижу и стремлюсь уничтожить :) Впрочем, не хочу сейчас устраивать холивар по этой теме
Как я отметил ниже, это ещё не значит, что весь протокол надо базировать на HTTP, можно просто сделать HTTP-гейт специально для школьников) Протокол, работающий поверх просто TCP (или даже вебсокетов, благо он мало связан с HTTP) в общем случае будет проще (не надо весь HTTP/1.1 реализовывать), быстрее (не нужны уродства из начала нулевых вроде long polling, как у Matrix сейчас) и экономнее (бо́льшая часть HTTP-заголовков, захламляющих трафик, для задач мессенджера всё равно нафиг не нужна) — вот запилили бы на базе такого Desktop-клиент на Qt5/QML и нормальный Android-клиент, и было бы счастье, а HTTP пусть остаётся уделом школьников
Вообще в Matrix вроде бы обещали вебсокеты, но что-то их сейчас ещё не видно. А использовать мессенджер, под капотом которого б-гомерзкий long polling, мне противно, приходится сидеть в Telegram
Трабл в том, как поднять на питоне кучу сокитоф.
Выбор языка для homeserver меня удивил конечно.
Брали бы уже тогда asyncio (aiohttp) + 3.5 (а сейчас перешли бы на 3.6).
Теперь новый homeserver будут делать на Go.
Что еще хуже по моему мнению.
Хотя я третий день решаюсь, включить мне матрикс в новый большой проект или нет.
Отсутствием сокетов вы меня добили только что.
Я до этого не успел добраться.
можно просто сделать HTTP-гейт специально для школьников)Слушай, школьник, сделай сначала что-то сопоставимое по возможностям и по популярности с Matrix-Riot, потом критикуй! Известный Сталинский принцип: критикуешь-предлагай, предлагаешь-делай, делаешь-отвечай! А трепаться языком все могут.
Тема статьи — спонсоры, а не протокол, есть предложения по теме?!
И вот надо же было ждать четыре месяца до ответа)
критикуешь-[...]делай
Я работаю над этим. Но пока что в одиночку и непублично
сопоставимое [...] по популярности
То есть с околонулевой популярностью? Ну это любой может, у меня весь гитхаб завален таким добром :D
То есть с околонулевой популярностью?Не смешно для тех, кто хоть раз пользовался. Запусти Riot хоть раз и зайди в каталог комнат — там десятки тысяч человек. Сделаешь что-то сопоставимое — поговорим!
там десятки тысяч человек
Сколько из них были онлайн хотя бы в последние полгода?)
Сколько из них были онлайн хотя бы в последние полгода?)Ты гонишь? Зайди и посмотри. Вот, например:
https://riot.im/app/#/room/#matrix:matrix.org
https://riot.im/app/#/room/#russian_talks:matrix.feder8.ru
Возможно, клиент Riot такой сложный, но я не вижу, где там смотреть время последней активности пользователей?
По первой ссылке я вижу онлайн 0 человек.
По второй ссылке попросили заранее войти в комнату, вошёл — онлайн 0 человек.
Даже в моём никому не нужном чат-веб-клиенте сейчас 1 человек сидит)
Сейчас ночь по Москве. Значит в Америке не пользуются Matrix'ом?)
Впрочем, взял примерно последнюю тысячу сообщений по апишке — это примерно двое суток. В сообщениях отметились 182 уникальных user_id. Мой никому не нужный чат-веб-клиент за последние два дня посетило 72 человека. Пусть в два раза меньше, однако мне кажется, числа примерно одного порядка — десятками тысяч как-то не пахнет))
По второму чату тысяча последних сообщений занимает аж две недели. При этом отметился всего 51 user_id. Тоже негусто как-то)
Мой никому не нужный чат-веб-клиентНа этом и завершим прения не по теме данной статьи!
Завершим, однако это не отменяет того факта, что Matrix примерно на столько же не нужен, насколько не нужен мой чат-веб-клиент))
matrix.org/blog/2017/07/07/a-call-to-arms-supporting-matrix
Первая ссылка — онлайн 7, ещё 11 были онлайн в течение последнего часа
Вторая ссылка — онлайн 0, ещё 2 были онлайн в течение последнего часа
Казалось бы, в Москве давно не ночь, но десятков тысяч человек как-то так и не видно. Даже на conference.jabber.ru народу больше, хотя джаббер уверенно дохнет последние пять лет
А в остальном — активность там вполне высокая, вот тут можно увидеть некоторую статистику: matrixstats.org
Алсо, я не утверждал, что джаббер такой белый и пушистый, он тоже хрень по куче причин)
Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик на 1 сервере, так что на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу, самозакопавшемуся в своих XEP-ах.
Ещё раз: этот график включает неактивных пользователей, как ни аппроксимируй. Где я могу увидеть график активных пользователей?
получаем около 11 эвентов в секунду
Маловато будет. На мой субъективный взгляд, полноценный сервер (не VPS) должен осиливать хотя бы сотню в секунду. Впрочем, я не в курсе, что именно считается эвентом?
Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик
Им же в минус) А вообще, может быть, у jabber.ru имеется не меньшая нагрузка? Правда, их Яндекс поддерживает, они могут себе позволить
на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу
Жаббер, безусловно, помирает, но лучше него никто ничего так и не придумал
Раз уж подняли тему, замерил тут лонг-поллинг в Riot...
HTTP/1.1, почти килобайт на запрос с учётом всех HTTP-заголовков, полминуты ожидания ответа, ещё почти килобайт на ответ. На ПУСТОЙ ответ: никаких событий за полминуты не произошло. Спасибо что хоть keep-alive работает.
Два запроса в минуту, 120 запросов в час, 2880 запросов в сутки.
4 мегабайта в сутки. На передачу ПУСТОТЫ лонг-поллингом. И это ещё с отключенными презенсами. И это я ещё даже не пытался замерять, сколько же весят события вроде новых сообщений. Когда я писал свой ранее упоминавшийся никому не нужен чат-веб-клиент на лонг-поллинге в 2012 году, я уже тогда считал это говнокодом. Но в те времена простительно, тогда вебсокеты только появлялись. Но не в 2017 году же!
Нет, за этим протоколом на данный момент не видно никакого будущего. Пока что здесь нечего спонсировать.
Как сам автор поста и намекает — протокол от школьников для школьников.
Питер Сент-Андре, сделай XMPP 2.0!
По поводу будущего — а за каким текущим опенсоурс-протоколом Вы видите будущее? Ждать пока XMPP выкопается из кучи XEP-ов и возродится в версии 2.0 я что-то уже устал, а других альтернатив с поддержкой федерации я вообще не вижу.
Спонсировать всякие вайбер, воцап, елеграм, пейсбук и подобные коммерческие вещи как-то душа не лежит, а из опенсоурса кроме Matrix — больше ничего не нашёл.
Поэтому я для себя решил — лучше уж спонсировать и продвигать [matrix] как перспективный проект, чем ничего не делая ждать пока что-то само по себе появится.
Открытый протокол для децентрализованной коммуникации [matrix] ищет спонсоров для продолжения разработки