← All posts tagged XMPP

Готов прототип S2S компонента для Juick. Пришлось убить много времени на всяких бессовестных товарищей, которые нагло игнорируют RFC и стандарты. Дальше будут тесты под нагрузкой на выделенном сервере, дописывание обработки нестандартных ситуаций, исправление возможных багов, тестирование на совместимость и, наконец, deploy на production сервер.
Поддержать разработку можно, как всегда, PayPal переводом на anton@ugnich.com или через любую другую платежную систему: #1672638.

Напоминаю, что на github.com лежит открытая Java XMPP библиотека. На её основе, в том числе, будет работать новый S2S компонент Juick. Замечания/исправления можно оставлять на github или писать в этот тред.

Первый тег в общении двух XMPP серверов и сразу же фейл. В RFC 3920, пункт 4.4, сказано: в ответном теге <stream:stream> должен присутствовать атрибут "from". Смотрим популярные сервера:
gmail.com, jabber.ru, ya.ru, qip.ru, talkonaut.com, ovi.com — НЕТ
jabber.org (M-Link), juick.com (jabberd2) — ЕСТЬ
Для полноты картины: в Openfire атрибут есть, в Tigase нету, а разработчики Prosody вообще перепутали "from" и "to".
И эти люди запрещают мне ковыряться в носу. FACEPALM

Несмотря на то, что я, как и большинство здесь присутствующих, не очень одобряю всякие "Весёлые фермы" и прочую ерунду, мне хотелось бы видеть на Juick немного multiplayer игр вроде "го" или "реверси". Или даже онлайн реализацию какой-нибудь популярной настольной игры.
В своё время пробовал разобраться с черновиком XMPP Instant Gaming, показалось жизнеспособным, но, за неимением времени, отложил до лучших времен. github.com
Если кто-то возмется делать — обещаю всячески поддерживать.

Обожаю читать, как меня упрекают в плохой поддержке расширенных возможностей джаббера. Я делал и публикацию музыкальных статусов, и XHTML-IM и ещё кучу всяких офигенных вещей. Я наивно надеялся, что если появится сервис, использующий эти фичи, то разработчики клиентов поддержат. А вот хрен нам всем.
В клиентах более-менее нормально реализован только обмен примитивными текстовыми сообщениями. Всё, что выходит за рамки обычного текста — либо сделано через жопу, либо везде по-разному и не совместимо друг с другом, либо не сделано вообще. Сколько лет уже не могут нормально сделать обычное голосовое общение?! Это же просто позор какой-то.
Я уже доказал, что готов и способен делать клёвые XMPP фичи. Загвоздка только в одном: нет клиентов.
Хотите крутые jabber-фичи?! Пишите разработчикам своего клиента!

Есть один хороший Open Source проект, которому нужна ваша помощь: Jabberd2. Из всех серверов, которые я видел, Jabberd2 больше всего соответствует идеологии XMPP: он простой и очень гибкий, его идеально брать за основу для своих проектов. Этот сервер используется в Juick и Apple iChat Server.
Нужна помощь с оптимизацией, поиском багов и утечек памяти. Автор занимается проектом и принимает патчи, проверено. ;) Если вы знаете язык C — пожалуйста, посмотрите исходники: codex.xiaoka.com

К сожалению, в jabber-е, в сравнении с электронной почтой, напрочь отсутствуют инструменты борьбы со спамом и флудом. Поэтому, чтобы "положить" xmpp-интерфейс Juick — ума много не надо, достаточно просто быть мудаком.

Пишу серверную реализацию XMPP Multi-User Chat, помогите пожалуйста протестировать: зайдите пообщаться в одну из комнат на сервере chat.juick.com
Заходите с JabberID, который привязан к вашему Juick-аккаунту. Из реализованного пока только вывод списка комнат, вход-выход, отображение истории и темы комнаты, отправка сообщений в общий чат.
Если у вас что-то не заработает — пожалуйста, как можно подробнее опишите проблему и последовательность действий, укажите название и версию клиента. Спасибо!

Воскресил RSS2Jabber под новым именем: subscrim.com
Владельцы сайтов добавляют ленты, пользователи на них подписываются. Форма для добавления RSS будет позже.
Буду признателен за простые фичреквесты, багрепорты и адреса хороших RSS лент.

Сегодня целый день какие-то проблемы с джаббером Яндекса. Если к вам сообщения приходят, а в Juick ничего написать не получается и выдает ошибку 503 — это оно.
Саппорт Яндекса тупит и отвечает не в тему какими-то шаблонами.

Закоммитил новую ревизию Java Juick/XMPP API: code.google.com
Когда-то давно начинал делать поддержку XMPP Games, но так и не закончил. Включил эти файлы в коммит, может кого заинтересует: парсер станз и логика для игры "Крестики-Нолики" на доске произвольного размера.
Кто будет писать очередной Jabber-клиент для Android — обратите внимание на этот проект. ;)

Я так сильно увлекся разработкой Juick, что, к сожалению, не могу выделить достаточно времени сервисам rss2jabber.com ( juick.com ) и jabbergw.com ( #324531 ), поэтому я открываю исходники и не буду продлевать регистрацию доменов, чтобы благое дело могли продолжить желающие.
ugnich.com
ugnich.com

Чем больше работаю с XMPP, тем больше замечаю не только его преимущества, но и недостатки.
Например, все фанатично боготворят распределенность сети. А я каждый день сталкиваюсь с глюками этой распределенности, которые зачастую сложно диагностировать и исправить.
Возможность любому легко поднять свой собственный сервер? Вспомним jabbus.org: сегодня сервер есть, завтра его нет — это несерьезно.
Или ещё часто упоминают про широкий выбор серверного и клиентского ПО, но забывают сказать про плохую совместимость этого ПО друг с другом.
Джаббер не идеален, давайте без фанатизма. ;)

В последнее время часто слышу жалобы на то, что не все сообщения от джуика доходят в оффлайн. Чаще всего проблема в следующем:
"Message delivery to xxxxxx@jabber.ru failed: Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не было сохранено. (Code 500)"
Решения проблемы: пинать администратора jabber-сервера; уменьшить количество подписок на джуике; сменить jabber-сервер; чаще выходить в онлайн. :)

Jabber — это не только более стабильный аналог "асечки", это открытый, гибкий и расширяемый протокол с массой возможностей. Хорошо, что @tiradoir написал об этом статью: tiradoir.habrahabr.ru
У меня есть ещё 3 инвайта на Хабрахабр для тех, кто может написать что-нибудь интересное про Jabber/XMPP или Juick. ;)

Джаббер-разработчикам: очень-очень нужно, чтобы вы добавили в своем любимом клиенте отображение сообщений с вложеным блоком geoloc: xmpp.org
Не нужно никаких GPS и прочей ерунды, всё очень просто: если во входящем сообщении есть этот блок — дополнять сообщение строкой с информацией из geoloc. В ответах сейчас подробнее напишу.

Сим объявляю о начале работы над мобильным клиентом для джуика.
Хитрый план такой: выбрать удобную J2ME XMPP библиотеку, сделать так, чтобы она работала и в J2ME, и J2SE; добавить поддержку сообщений и функций Juick XMPP API; приделать к библиотеке десктопное и мобильное GUI.
Сейчас присматриваюсь к библиотеке sourceforge.net , покритикуйте пожалуйста. Также буду благодарен за любые отзывы (негативные тоже) о любых других J2ME XMPP библиотеках.

Написал, а теперь тестирую один очень интересный сервис: шлюз Jabber-HTTP.
Работает так: человек шлет сообщение "тест" на test@jabbergw.com, сервис отправляет HTTP запрос example.com
Веб-сервер обрабатывает запрос и выдает "тест пройден", сервис отправляет это сообщение обратно пользователю по джабберу.
Скоро добавить джаббер-шлюз к своему сайту сможет каждый. ;)