
Post `Odpicuj sobie PSI’, który ukazał się na blogu Dota skłonił mnie do zastanowienia się nad interfejsem komunikatorów internetowych – czy nie byłoby wygodniej dla użytkownika mieć garść (rozpoznawalnych) awatarów lub zdjęć swoich znajomych zamiast grupy identyfikatorów?
Zaletą tego rozwiązania byłaby szybkość szukania – wystarczy, że zerknę na okno komunikatora i wiem, kto jest dostępny. Kolejną to, że już nigdy nie będę musiał wpisywać identyfikatorów dla osób – to są ich awatary i ich zdjęcia, ja je tylko pobiorę z wizytówek.
Każde rozwiązanie ma swoje wady, także i to. Nie dość, że te awatary muszą mieć duże rozmiary (wystarczająco duże, żebym był w stanie spokojnie rozpoznać to, co się na nich znajduje, to bardzo łatwo będzie można się pomylić, gdy dwie lub więcej osób będą w posiadaniu identycznego awatara. Nie można przyjmować, że każdy będzie się chciał wyróżnić. 😉
Co do tego drugiego problemu, można go rozwiązać wypisując imię/nick kontaktu bezpośrednio pod awatarem. Jednak takie pole będzie zajmowało jeszcze więcej miejsca. W takim wypadku standardowe okienko komunikatora zaczyna być stanowczo zbyt małe. Co więc robić w takim wypadku?
Powyższe pociągnęło za sobą kolejne skojarzenie – gdzieś już widziałem taką listę ikonek z podpisami… No tak, przecież to mój pulpit i katalogi! Gnome domyślnie ma ustawione duże miniaturki dokumentów, wystarczająco duże, żeby można było je rozpoznawać! W takim razie, czy nie można by było tego wykorzystać jako graficznego interfejsu dla klienta Jabbera?
Wyobraźnia podpowiada mi dwa katalogi – jeden zawiera pełną listę użytkowników Jabbera, drugi tylko tych dostępnych. Dla każdego z nich będzie można utworzyć aktywator na pulpicie, czy też w dowolnym innym miejscu (np. katalog `Do zrobienia’). Domyślną akcją będzie rozpoczęcie rozmowy, w menu kontekstowym będziemy mogli znaleźć takie opcje jak przeglądanie historii, edycja dodatkowych notatek, wysłanie wiadomości. Wysyłka wiadomości będzie możliwa także za pomocą przeciągnięcia pliku tekstowego na kontakt, a przeciągnięcie innego pliku spowoduje jego przetransferowanie. Całość dopełnia aplet na pasku zadań wskazujący o nowych wiadomościach.
Prędzej, czy później, ktoś wykorzysta ten, lub podobny pomysł w takiej, czy innej formie. Linuksowcy, możecie być pierwsi! 😉
piszemy takie cudo?:D
Przyznam, że pomysł ciekawy 🙂
Zmartwię, już jest. Yahoo prezentowało nowego Messengera specjalnie dla Visty, z wykorzystaniem „rysunkowych” awatarów przy kontaktach właśnie (i paru innych technologii – dlatego jest specjalnie dla Visty). Pewnie zdjęcia włożyć też się da.
http://messenger.yahoo.com/vista_popup.php
E… Ale Y! to nie Jabber :). Możemy być pierwsi, którzy napiszą takiego klienta XMPP 🙂
Z tym, że w Y to nadal jest okienko, a jak rozumiem, twój pomysł zakłada listę kontaktów umieszczoną na pulpicie i traktowanie tego niejako „przezroczyście” czyli podobnie jak każdy inny plik.
Pomysł jest o tyle ciekawy, że gdyby każdy kontakt traktować jako plik, to oprócz wspomnianego menu, można by na przykład zrobić wysyłanie plików metodą przeciągnij i upuść (na dany kontakt). Ewentualnie można by pozwolić na to, aby kontakty były umieszczanie nie tylko we wspomnianych katalogach, ale ogólnie – w całym systemie plików. Miałoby to taką zaletę, że np. tworząc jakiś projekt, obok plików projektu masz od razu osoby za niego odpowiedzialne, z którymi możesz w ułamku sekundy się skontaktować. Przyznam, że ta idea jest na prawdę ciekawa i myślę, że warto byłoby ją rozwinąć 🙂
xmppfs…
cd /Kontakty/Joggerbot
echo „Jakaś wiadomość” > „Tytuł wiadomości”
😉
To też mam wrażenie już kiedyś widziałem (Smoku? nie pamiętam).
luktom: Póki co, zakładałem przestrzeń nazw typu: jabber://user@server/contact. Wtedy nie trzeba się zagłębiać dalej, niż w samo GTK i Gnome. O ile się nie mylę. 😉
Inaczej trzeba byłoby używać jakiegoś filesystemu. O ile pamiętam, to co najmniej jeden takowy istnieje.
Dot: Tak, Smoku o tym pisał. 😉
W sumie pomysł bardzo ciekawy. Stworzyć własny system „plików”, w sumie wykonalne (wszak tak powstał NFS w pewnym sensie), ale dość trudne zadanie. Za to chyba na każdej platformie mogą być po prostu skróty do xmpp:nazwa_osoby i odpowiedni klient, który to obsłuży :).
Skróty da się zrobić i całkiem sensownie nawet ich używać (o ile klient obsłuży np. wspomniane przeze mnie przesyłanie plików po bezpośrednim wrzuceniu ich „na” skrót), jednak w przypadku skrótów powstaje problem pokazywania dostępności danego kontaktu (bo jakoś ikonkę trzeba zmienić). Tak więc bardziej bym się przychylał do wspomnianej przez Michała przestrzeni nazw.
No fakt, muszę przyznać, że z pokazywaniem statusu pojawiłby się problem. Ale w tym momencie nasuwa mi się coś takiego jak WinCVS. Nie pytajcie mnie, jak to działa, bo nigdy się nie zagłębiałem, ale potrafi dokładać do oryginalnych ikonek znaczniki w Explorerze (zdaje się, że pod Linuksem też coś takiego kiedyś widziałem, ale nie dam se ręki uciąć), które w tamtym przypadku oznaczały odpowiedni „plik zmodyfikowany”, „plik aktualny” itp. Może coś w ten deseń da się zrobić? To tylko taki wolno rzucony pomysł 🙂
luktom, jakim cudem tak przekręciłem Twój nick, to nie wiem. 😉
Well, wróciliśmy do tego samego zasadniczego pytania – czy ingerować w to kernel, czy robić/użyć filesystem w przestrzeni użytkownika, czy też skorzystać tylko z udogodnień Gnome’a. 😉
No myślę, że chyba wersja z filesystemem od strony użytkownika byłaby najwygodniejsza (tak sądzę, ale nie wiem, czy mam rację). Jednocześnie programiście najprościej by było chyba skorzystać z możliwości konkretnego środowiska graficznego (aczkolwiek to kiepskie rozwiązanie, gdyż zawęża się grono potencjalnych użytkowników). Grzebanie w kernelu jest fe zarówno dla developera jak i potencjalnego usera 🙂
Dot, akurat aplikacja korzystająca z D-Bus będzie w stanie powiadomić inne aplikacje, że zaszła zmiana. Tylko nie wiem, jak szybko by to działało przy kilkuset kontaktach…
Jakby się uprzeć, to można po prostu np. w Win stworzyć kilka nowych rozszerzeń pliku dla różnych stanów dostępności i napisać do tego jakiegoś demona, który będzie monitorował stan rostera jabberowego oraz w razie potrzeby zmieniał rozszerzenia plików.
Napisałem o rozwiązaniu poprzez rozszerzenia, bowiem ma to swoją zaletę – można dowolne menu kontekstowe dla każdego z rozszerzeń opracować, co pozwoli np. na usunięcie opcji „wyślij plik” z menu osób niedostępnych.
Ogólnie to na tej zasadzie wystarczyłoby napisać kilka skryptów które przechwytywałby z menu kontekstowego różne akcje (chat, wiadomość, plik itd) oraz obsługiwały je osobiście lub przekazywały do konkretnych klientów jabbera.
To rozwiązanie ma niestety jedną poważną wadę – mianowicie przy każdej zmianie statusu jednej osoby cały katalog musiałby zostać odświeżony, jeśli w danym momencie jakieś okienko explorera by miało ten katalog otwarty. A to jest raczej wolne, nie mówiąc o fakcie, że praca na takim okienku (choćby zaznaczanie kontaktów) zostałaby utracona przy każdej takiej zmianie. Co więcej, mogą być to nie tylko okna explorera, ale też inne menagery plików. Mam rację?
Masz racje, jest to jedna z wad takiego rozwiązania.
A jak z robieniem miniatur pod Win? Nie znam w tej kwestii niczego pożytecznego…
Co do sygnałów, to D-Bus ma to tak rozwiązane, że sygnał przekazany z jednej aplikacji do drugiej o zmianie zawartości/nazwy pliku powoduje odświeżenie tylko jego miniatury. Ale faktycznie, mogłoby to być wąskim gardłem dla każdego display managera przy masowych zmianach statusu. 😉
Robienie miniatur z plików, z podglądem zawartości? Da się zrobić, a skalowaniem miniatur i takimi tam może się już zająć system… ale tylko w przypadku Visty, XP tak nie umie.
W sumie jest to ciekawe zagadnienie – jak zrobić coś takiego, żeby było szybkie, wygodne i zintegrowane z systemowym WM. Najlepiej multiplatformowo :P.
Hmmm, z miniaturami też będzie problem.
Ewentualnie w Win można by się pokusić o jeszcze jedno rozwiązanie (trochę kombinowane) – wykorzystanie pulpitu Active Desktop do wyświetlania strony internetowej naszpikowanej AJAXem. Stracimy część możliwości związanych z umieszczaniem kontaktów w dowolnym miejscu, jednak zyskamy to, że miniatury będzie można łatwo skalować, a kontakty będzie można dowolnie organizować w ramach pulpitu, włączając w to organizację po grupach, tagach, ostatniej aktywności itd. Problem w tym, że to takich bajerów jak statystyki wypadałoby mieć lokalny serwerek Web, no i jakąś bazę (ja tam coś takiego i tak mam, no ale nie każdy instaluje sobie na kompie serwer Web).
Hmm, w sumie po chwili zastanowienia stwierdzam, że z tym pulpitem Active Desktop to mnie trochę fantazja poniosła – taki pomysł to byłby lekki przerost formy nad treścią…
Akurat takie rozwiązanie mnie osobiście by nie odpowiadało. Po pierwsze zostaje nam klient na poziomie klientów Webowych (o zgrozo!), a po drugie kontakty zostają przyklejone do desktopu. A to w moim wypadku odpada (nienawidzę mieć czegokolwiek na pulpicie 🙂 ).
Ktosiu, dzięki za informacje. 🙂
Tak btw, czy Vista potrafi rozpoznawać typ pliku bez spoglądania na rozszerzenie?
Dot, luktom, po trzecie, po drodze mógłby gdzieś wystąpić problem z drag&drop. 😉
Active Desktop jest nietrafioną technologią, obciąża system i powoduje parę niemiłych efektów.
A co do miniatur: przykładowo wygląda to tak: http://trash.ktos.info/img/mini.jpg
I Vista chyba nie umie bez rozszerzenia dowiedzieć się co to za plik. Jak każdy Windows 😉
Hmm, ja tam jak na razie nie zamierzam migrować na Viste, no chyba, że ktoś mi na urodziny kupi wersje Ultimate 😉
W każdym razie ciągle tęsknię za Linuxem (bo pod nim na laptopie średnio mi m.in. WiFi działa), no ale cóż, XP, jeśli się o niego dba to nie jest taki znowu zły… (choć i tak Linux lepszy :P)
Ktosiu ma ładną kolekcję martwych Azjatek w szafie 😉
Odnośnie tematu.. „Wszysto jest plikiem” wiecznie żywe chciałoby się rzec: powstały takowe do gmail’a, flickr’a, odrobinę odchodząc od tematu, jest też wrapper który umożliwia jabberowanie przez dowolnego klienta IRC.
To cieszy, bo mamy coraz większy wybór koncepcji i filozofii użytkowania jednej i tej samej rzeczy i mogę się zawsze czuć wyjątkowo i niepowtarzalnie. 😉
hgh
Tagowanie kontaktów…
Nawiązując do wpisu dragonee oraz własnego opisuję kolejną ideę ;).
Tak mi dzisiaj przyszło do głowy… Czy istnieje jakiś klient XMPP/IM w ogóle, który taguje kontakty? Być może jest to kolejny przepis na sukces w tej dziedzinie. Wsza[…]