Developing a wheel for a second time
Klucz jabber ; 2006-05-02 23:17:13; komentarze (1) i trackbacki (0)
Kreatywny wolny tydzień jak widać.
Pod kowadło poszedł bot Jabberowy, na którego niedawno przyszedł mi pomysł. Bot jedyne co robi to zarządza kanałami. Kanałami tekstów. Posiadając odpowiednie prawa można popychać do tych kanałów wiadomości, wszyscy, którzy dany kanał subskrybują taką wiadomość dostaną. Obsługa całkowicie przez Jabbera, rejestracja konta, tworzenie kanału, zarządzenia kanałem, wysyłanie wiadomości - wszystko od ręki, jedną komendą.
Oczywiście to dopiero początek. Myślę, że możliwości wepchania i wyciągnięcia informacji będzie więcej. Wpychanie można zrobić np. przez HTTP POST, RSS, albo przez XMLRPC [choć to też rodzaj HTTP POST]. Wyciąganie? RSS na pewno. Myślałem też o zrobieniu obsługi Jabberowego pubsub, jednak nie wiem czy cokolwiek się tym przejęło.
Zapraszam do testowania: avian@uaznia.net . Oczywiście wersja prebeta, może nie działać, może zaspamować, będę znał hasła itp.
Och, przypomniały mi się te czasy, kiedy masowo robiłem boty Jabberowe.
Klucz jabber ; 2006-04-10 07:42:23 (2007-03-16 16:05:10); komentarze (39) i trackbacki (0)
Wśród swoich kontaktów zrobiłem małą ankietę nt. wiedzy o tym co to jest zasób i jak się powinien nazywać. Rezultaty są niezbyt pocieszające.
Sprawdziłem 30 osób. Aż 19 z nich miała ustawioną nazwę zasobu na taką jaką ustawił program. Będę nazywał taką nazwę zasobu 'nazwą niepoprawną', bo uważam, że powinna ona mówić o tym skąd się człowiek łączy, a nie czym.
Do owych osób wysłałem ankiete o treści:
Cześć. Z własnej inicjatywy postanowiłem poprowadzić pewną ankietę. Akurat jesteś jednym z ludzi, którzy mogą wziąć w nie udział, więc do Ciebie piszę. Odpowiedz proszę na następujące pytania. Proszę, nie zrozum ich źle, nie są one zadawane, aby Cię w jakikolwiek sposób urazić, czy też pokazać, że czegoś nie wiesz. Chcę nimi sprawdzić jaki jest poziom wiedzy o temacie ankiety. Oto one:
- Czy wiesz co to jest 'zasób' w protokole Jabber?
- Czy wiesz jaką masz ustawioną nazwę zasób?
- Czy uważasz, że jest to dobra nazwa zasobu?
- Czy wiesz, gdzie w Twoim kliencie Jabbera zmienia się nazwę zasobu?
- Czy wiesz co to jest priorytet zasobu?
- Czy wiesz jak działa priorytetyzacja zasobów?
- Czy po tych pytaniach będziesz chciał zmienić sobie nazwę zasobu?
- Jeżeli tak, to jaki?
Prawdopodobnie będę publikował wyniki tej ankiety na swoim blogu, jeżeli jesteś zainteresowany powiadomieniem o wynikach to mi napisz.
Odpowiedziało mi 14, wielkie dzięki dla nich.
Wszyscy wiedzieli co to jest zasób, a przynajmniej mówili, że wiedzą. Dwie z osób napisały jednak, że to nazwa programu, który łączy się z serwerem. Niestety, takie podejście właśnie stworzyły zrobione tak a nie inaczej klienty Jabbera, które jako nazwę zasobu domyślnie ustawiają właśnie taką nazwę zasobu - nazwę programu.
Tylko jedna osoba nie wiedziała, jaką ma ustawioną nazwę zasobu.
Cztery osoby stwierdziły, że mają dobrą nazwę zasobu. Nie jest to według mnie zbyt dużo.
Dziesięć osób wiedziało, jak się zmienia nazwę zasobu w swoim programie. Z odpowiedzi także wynikło, że w dwóch programach [Konnekcie i ekg2 bez przekompilowania ze źródła] w ogóle nie da się zmienić nazwy zasobu. Jak się później przekonałem, w ekg2 da się: 'session --set resource nowyzasob'.
Aż 6 osób nie wiedziało co to jest i jak działa priorytetyzacja zasobów.
Moje pytania mało zmieniły - tylko 4 osoby stwierdziły, że zmienią nazwę zasobu.
Gdy opowiedziałem o wynikach tej ankiety mojemu bratu, to był mocno zdziwiony. Tak jak ja uważa, że zasoby w Jabberze to jedna z jego największych zalet. Mówił także, że długo był jej nieświadomy, bo nie ma zbyt wielu informacji o niej.
I tak niestety jest faktycznie. Widać tendencje zrzucania zasobów na dalszy plan. W argumentach JabberPL za Jabberem jest tylko dość niezrozumiale napomknięte o istnieniu i żadnego odwołania do słowa 'zasób' tam nie ma. Ja wiem, że to jest wiki i mógłbym w tej chwili poprawić, ale nie to chcę pokazać.
Wprawdzie specyfikacja XMPP nic nie mówi jak mają wyglądać nazwy zasobów, ale która specyfikacja robi takie rzeczy? Na Jabber User Guide możemy przeczytać, że zasób może sie nazywać od lokacji w którym jest albo nazwy programu.
Nie chcę się zachowywać jak Riddle i mówić, że specyfikacje swoją drogą a przecież wiadomo, że powinno być inaczej. Powiem tak: w moim odczuciu powinno być inaczej. Wydaje mi się, że nazwy zasobów odpowiadające nazwom programów które te zasoby obsługują są niedobre. Nie mówią nic na temat tego gdzie się dany zasób znajduje i jakiej 'rozmowności' użytkownika z danego zasobu się można spodziewać.
Lwią część powodów istnienia niedobrych nazw zasobów można przypisać programom, które rzadko są nastawione na wymuszanie. Ja rozumiem, że można chcieć sie tylko połączyć bez zbędnego pisania, ale przecież 3-6 liter opisu nazwy zasobu to nie jest aż tak wiele, szczególnie, że żeby się połączyć wypełnia się mnóstwo innych pól. Gdyby programy pozostawiały pole z zasobem puste zamiast wpisywać tam swoją nazwę, i wymuszały wpisanie na użytkowniku tych kilku liter, pokazując odpowiednie przykłady, mielibyśmy znacznie lepsze nazwy zasobów. Nie będę wspominał o klientach w których tej nazwy zmienić nie można, bo przecież są różne kulawe implementacje protokołów i ja też takie robiłem. Wierzę, że w przyszłych wersjach to się zmieni.
Jeszcze chciałem powiedzieć, że według mnie nazwy programów zawarte w nazwie zasobu, ale nie będące jego całością są w porządku, bo przy okazji wiadomo, czego należy się spodziewać od klienta użytkownika po drugiej stronie - przykładowo czy wysyłać mu pliki czy nie.
Oczywiście ja rozumiem, że w niektórych przypadkach nazwy zasobów nie bardzo mogą cokolwiek mówić o lokacji w jakiej znajduje się człowiek. Przykładowo ktoś odpala ekg2 na screenie na swoim serwerze i przyłącza sobie tego screena logując się przez SSH.
Na koniec proszę wszystkich o rozważenie swoich nazw zasobów, tego czy one są w porządku i mówią jak najwięcej o aktualnym połączeniu z serwerem Jabbera.
Klucz jabber im gg ; 2006-02-17 14:19:17 (2006-02-17 14:27:59); komentarze (9) i trackbacki (0)
Wczoraj Azrael miał w opisie akcje przeciwko GG - 'Już zachodzi czerwone słoneczko?', potem napisał o tej akcji. Przeczytałem, napisałem do autora, żeby mnie dopisał do listy.
Dziś przypomniał mi o niej koniczynek mówiąc, że tekst nie jest zbyt mądry. Przeczytałem jeszcze raz i stwierdziłem, że chyba wczoraj spałem przed komputerem. Więc napisałem niewielkiego maila do autora w którym przekazałem mniej więcej poniższą treść.
Stwierdzam, że akcja jest trochę niefortunnie skonstruowana. Autor opiera się na czymś co faktycznie nie jest za bardzo argumentem.
Autor, że sprawdzanie czy ktoś jest ukryty może Cię zbanować. To dla mnie żaden argument, bo przecież nie człowiek nie musi sprawdzać czy ktoś jest na niewidzialnym. Zamiast tego lepiej wskazać, że bez mechanizmu autoryzacji większość ludzi siedzi na niewidzialnym i to przestaje cokolwiek znaczyć. Zatracony jest sens statusów.
Zamiast tego, że można stracić numerek lepiej napisać, że protokół jest zamknięty i GG 'się skończy' jeżeli tak postanowi spółka GG. Pokazać, że dla przykładu Jabber jest otwarty i jak się nie spodoba jeden serwer, to można wybrać sobie kolejny z ogromnej ilości i inne zalety decentralizacji Jabbera.
Jeżeli spółka GG wprowadzi niemożliwość łączenia się nieoryginalnych klientów z serwerami GG to strzeli sobie sama bramkę, bo straci ogromną ilość użytkowników. I o tym nie ma co pisać.
Zamiast wskazywać w troszke nieudolny sposób, że spółka GG może zrobić co chce ze swoim dziełem, lepiej napisać, że po prostu ma się alternatywe. Bo fakt faktem spółka GG może zrobić co zechce ze swoim protokołem.
Nie chcę, żeby to było odebrane tak, że ja się nie zgadzam z tą akcją. Ogólnie cel tej akcji w dużej mierze zgadza się z tym czego bym chciał i można powiedzieć, że popieram cel tej akcji a nie samą akcje, bo niestety środki są wg. mnie kiepski.
Klucz jabber im protokół ; 2005-06-20 20:50:56 (2006-01-31 14:15:25); komentarze (0) i trackbacki (0)
Niedawno smoku napisał swój artykuł o niewidzialności w XMPP, w którym napisał jedno istotne Jabberowe zachowanie. Przyzwyczajeni z Głupiego protokołu ludzie zawsze siedzą na niewidzialnym, broniąc się tym, że nie chcą być widziani
.
Jak smoku napisał na samym końcu, prawie off-topicowo, jeżeli nie chcę się komuś pokazywać to po prostu nie daję mu autoryzacji.
Ja popłynę tą myślą dalej, ale troche w innym kierunku.
Standart XMPP definiuje w RFC 3921 cztery możliwe statusy online znajdujące się w elemencie show
w stanzie presence
:
chat- kontakt jest
zainteresowany rozmową.
away- kontakt jest chwilowo nieosiągalny.
xa- kontakt jest nieosiągalny na dłużej.
dnd- kontakt jest zajęty czymś innym.
No i jeszcze coś w rodzaju online
jeżeli element show
nie istnieje.
To znają wszyscy, które tego protokołu używali, chyba wszystkie bardziej liczące się klienty Jabbera potrafią obsłużyć wszystkie rodzaje stanu dostępności.
I po to one tak naprawdę są - aby z nich korzystać. Wszystkich. Kiedyś gdzieś przeczytałem użytkownika Jabbera śmiejącego się z ludzi przenoszących się z Gadu-Gadu. Powiedział, że trzeba przerobić jakiegoś klienta chyba wymienił nazwe aby można było wybrać tylko dwa z available, bo ludzie się gubią. No i ludzie się faktycznie gubią czasem.
Do czego zmierzam: Po to właśnie dajemy subskrypcje komuś, aby pokazywać mu, jaki aktualnie mamy status - czy jesteśmy, czy nas niema, czy jesteśmy zajęci czy poszliśmy siku. Osobiście staram się ustawiać odpowiednie statusy dostępności, ale często zdarza mi się zapomnieć o zmianie i tak jak dziś - odkurzam dla innych przez cały dzień.
Więc jeżeli blogger działa i widzisz stan available - to znaczy, że jestem dostępny i mogę pogadać. Jeżeli jest DND to jestem zajęty itp. Jeżeli blogger nie działa, to status prawdopodobnie będzie nieaktualny.
I jeszcze jedno: Niepisana netykieta jabberowa mówi o tym, żeby przedstawić się przed poproszeniem o subskrybcje. Najoptymalniejszym rozwiązaniem byłoby w ogóle nie prosić się nikogo, każdy kto zauważy, że jesteś kimś komu warto wysyłać swój status tą subskrybcje Ci może po prostu wysłać. O tym, że niektóre sprawy nie wymagają znajomości statusu odbiorcy nie wspomnę.