Pisząc deskBlip'a ciągle męczyłem sięz dziwnymi bug'ami jakie API widgetów mi oferuje - a to element wyświetlający html akceptuje tylko zewnętrzne pliki (nie da się bezpośrednio wrzucać danych do niego), dostęp do DOM tegoż obiektu jest tak pokręcony, że aż odechciewa się go używać, a poza tym wyświetlane czcionki wyglądają dziwacznie.
Może sam popełniłem błąd próbując pisać aplikację w środowisku gdzie nie pisze się aplikacji, a małe przydatne programiki? Ciężko ocenić, ale doszedłem do momentu, gdzie pozbędę się najbardziej irytujących bug'ów w deskBlip'ie (wyświetlanie updateów podwójnie i konsumpcja pamięci) i...
Adobe AIR to bardzo fajna rzecz - na początku byłem sceptyczny, ale krótki przegląd po możliwościach API, parę przeczytanych artykułów i test paru programów napisanych w tym środowisku i... wciągnęło mnie :)
Ważną zaletą dla mnie jest to, że praktycznie nie muszę uczyć się niczego od zera (Mało ambitne? cóż - obecnie nie mam czasu na naukę nowego języka/technologii/czy czego tam) - podstawy Action Script znam, Javascript i CSS są mi nieobce, HTML oczywiście też + SQL - czyli wszystko to co używałem i używam nadal (poza tym deskBlip to taki sam mix tych samych technologii).
Przeniesienie (no dobra - napisanie od nowa, ale z użyciem jQuery) kodu deskBlip'a do AIR i stworzenie działającej aplikacji z podstawową funkcjonalnością zajęło mi nieporównywalnie mniej czasu niż w oryginale. Możliwości integracji ze środowiskiem użytkownika też są daleko większe (ikonka w tray'u, miganie w taskbarze/bounce w docku), responsywnośc i wydajność także. No i działa pod linuxem. Czego chcieć więcej?
Wg. mnie Adobe AIR jest tym, czym miał być Mozilla Prism - czyli przeniesieniem web'owych aplikacji na pulpit. Prism zapewnia tylko stworzeniem okna i umieszczeniem zawartości w kontenerze - jakikolwiek prosty sposób na modyfikację/poprawianie tego co jest wczytane z sieci jest skazany na porażkę - żadnej obsługi dodatkówy czy chociażby user scripts. Oczywiście AIR też nie robi tego sam z siebie, ale jest to daleko prostsze i daje o wiele większe możliwości. A walające się po Internecie API dla przeróżnych serwisów tylko nam to ułatwiają ;)
Potencjał w AIR jest wielki (wielu już to potwierdziło :)) - kto wie, może większość aplikacji na naszych pulpitach będzie kiedyś tylko gatewayami do usłgu, a stara dobra przeglądarka internetowa odejdzie w niepamięć?
REST Client to mała i pomocna aplikacja dla każdego kto pisze programy, które komunikują się z API serwisów internetowych np. blip czy box.net

Program jaki jest, każdy widzi - mozna dodać header'y, są opcje autoryzacji i podgląd odpowiedzi (jest formater dla JSON'a i XML). Robi to co trzeba i robi to dobrze.
Nie jest to nic odkrywczego i niewiadomojakiego, ale może się przyda.
Napisałem pierwszy poważny ;) snippet do E (oraz Textmate), który robi nic innego jak po prostu wstawia takie coś:
(subject:) (category:) (level:0) (tag:) (comments:yes) (draft)
do plików html oraz dodaje nawigację klawiszem tab po kolenych elementach wpisu. Aby coś takiego zrobić sobie samemu wystarczy otworzyć Bundle Editor (CTRL+SHIFT+B w E) i stworzyć nowy snippet, uaktywniany dowolnym keywordem i klawiszem tab i działający dla plików typu text.html, a następnie wkleić ten kod do treści snippeta:
(subject:$1) (category:$2) (level:${3:0}) (tag:$4) (comments:${5:yes}) ${6:(draft)}
Proste :)
Dzięki temu i świetnemu bundle dla HTML'a E /Textmate zmienia się całkiem niezły edytor wpisów dla Jogger'a. Wbijamy nagłówki posta, wpisujemy treść w html, copy-paste do okna rozmowy z bot'em i już. Nic więcej nam nie potrzeba.
Wbudowany podgląd html od razu pokazuje co i jak wygląda, więc nie ma potrzeby odpalania kilku aplikacji naraz.
PS Po odpowiednich modyfikacjach snippet działa w każdym edytorze, który wspiera tą technologię ;) (jeddit z superAbbrevs, Notepad++, Emacs i takie tam)
Temat zmieniania powłoki systemowej (aka) shell tudzież GUI) jest dość stary dla tych, którzy używają systemów z Unix'owymi korzeniami (tak - nawet Mac OS X, który jest prawie BSD i ma... no właśnie - własnego shell'a). Pingwiniarze mogą sobie zmieniać ubranka (i sposób w jaki używają systemu i jego aplikacji) praktycznie dowolnie - XFCE, Gnome, KDE czy stary dobry TTY1 z Bashem - każdy ma inną filozofię, workflow, wymagania systemowe oraz swoich zwolenników i przeciwników.
A co mają począć biedni Windowsiarze? Czy Windows XP i Luna (tudzież Vista z Aero) to jedyne na co ich stać? Nie. Po prostu - nie.
Temat zmiany shella w systemach operacyjnych firmy Microsoft ma także dość długą historię - bo czym nie był (jest?) antyczny Norton Commander czy Windows1/2? Nakładka na DOS, która zmieniała sposób interakcji... Tak - czyli shell'em :)
Win 3.11 też miał alternatywny shell (i to niejeden) i było to dość popularne rozwiązanie ze względu na 'obsysalnośc' domyślnego Program Managera.
W czasach gdy na moim starym PC królował Windows98 (yeah!) w jednym z numerów magazynu Enter opublikowano artykuł o totalnej customizacji Windowsa. Między innymi wymieniony został tam Litestep - wzorowany na shellu systemu NeXT, NextStep'ie.
Wersja, której wtedy używałem to była... 0.2.3? Jakoś tak - cała konfiguracja i dostosowywanie polegało na edycji plików .rc (czli .ini) oraz tworzenie własnych .bmp (kolor różowy byl uznawany za przezorczysty :)) by zmienić wygląd.
Trochę się jeszcze Litestep'em bawiłem, ale updatey są strasznie rzadko, moduły czasami ze sobą nie gadają itd. Norma.
To tyle jeśli chodzi o krótkie wprowadzenie w świat alternatywnych shell'i i mojego doświadczenia z nimi.
Mamy 2008 Litestep rozwija się chyba gorzej niż kiedykolwiek, w międzyczasie powstały porty Open Box'a, ale przyznam szczerze nie chciało mi się w to bawić, ale ostatnio na blipie kolega ^leafnode wrzucił takie coś
leafnode: #windows #pokadesktop Emerge zapowiada się ciekawie :)
.
Zaciekawiony znalazłem stronę projektu Emerge Desktop. Szybka instalacja, żadnych problemów i konieczności edycji pliku system.ini. Muszę przyznać, że projekt zrobił na mnie na prawdę dobre wrażenie. Kilka ciekawostek:
Najnowsza wersja to 4.1.2 (wow - prześcignął już najnowsze KDE ;)) i na niej opiera się ten krótki wpis.
Co więc dostajemy w paczce?
I tu właśnie objawia się modularność Emerge - jeśli ktoś chce może używać tylko emergeTasks i emergeTray, a resztę funkcjonalności zapewni np Launchy. Jeszcze inaczej - jeśli jesteś przyzwyczajony do explorer.exe możesz po prostu odpalić emergeVWM oraz emergeCommand i usprawnić sposób interakcji z systemem. Dużo możliwości i funkcji jednym słowem (w sumie to 3 słowa).
Mój pulpit wygląda mniej-więcej tak:

Nie używam emergeLauncher gdyż używając the PATH hack mam wszystko dostępne z linii komend/cmd.exe/win+r/emergeCommand (aby uaktywnić emergeCommand bez klikania, podepnij pod jakiś skrót klawiaturowy komendę uruchomienia emergeCommand.exe - dzięki temu nie używam żadnego launchy, docka i domyślnego WindowsRun)
Oczywiście jak każda modyfikacja tego typu - wymaga trochę (dużo?) konfigurowania by wszystko działało tak jak chcemy, ale o to właśnie chodzi, prawda? A zyski są dość oczywiste - wygoda pracy, szybkość i zdziwienie ludzi, którzy bez zastanowienia stwierdzają, że używasz Linuxa.
Ależ już, proszę, oczywiście :)
Po pierwsze - jeśli nie używasz funkcji hibernacji w swom systemie, to lepiej zacznij - z niewiadomych powodów Emerge nigdy nie odpala się poprawnie po restarcie i trzeba wszystko ręcznie killować za pomocą Task Manager'a/Process Explorer i od nowa odpalać emergeCore.exe (emerge zapisuje wszystkie ustawienia na bieżąco, więc nie ma obawy że coś wyparuje).
Czasami nawet po hibernacji niektóre applet'y nie działają poprawnie (głównie Hotkeys i Desktop) - wtedy wystarczy użyć opcji "Edit Launch Applets" i je zrestartować. Problemy znikają.
Jest oczywiście kilka innych problemów (niewyświetlające się powiadomienia z tray'a i popup'y niektórych aplikacji), ale to wszystko to część zabawy (ta) i nie wszystkim to będzie przeszkadzać - nie używam żadnej aplikacji ze sprawiających problemy a w gry gram tylko na Gameboy'u
Warto śledzić ten projekt i mieć nadzieję, że bedzie dalej się rozwijał, gdyż to co jest oferowane teraz przerasta jakością inne programy tego typu.
...codename Pąsowy Pancernik.
A więc jednak - kolejna, tym razem 1.11 public beta wersja deskBlip'a

Co nowego?
update
Sam engine jeszcze nie przeszedł poważniejszych zmian, trochę go optymalizuję, ale radykalne zmiany przyjdą w następnym wydaniu - wydajność powinna wzrosnąć :)
Mały trick na zakończenie - jeśli chcesz wrzucić zdjęcie z sieci na blip'a - skopiuj jego url, następnie wklej link w polu wyboru pliku. Włala
Wszelaki feedback - w komentarzach pliiiz
Upubliczniłem kolejną wersję deskblipa - 1.09b do pobrania na lipnej stronie oficjalnej. W silniku się trochę zmieniło, zmieniłem ikonki (znalezione na Smashing Magazine), usprawniłem interfejs i 'tweakowalność' widgeta (można wyłączyć dźwięk :)).
Można przeglądać zdjęcia oraz wideo z YouTube - do zrobienia jest Vimeo oraz podgląd blipnięć zawartych w linkach.
Okna podglądu obrazków/wideo czasami znikają :) - aby się ich pozbyć 'wystarczy' otworzyć je ponownie i zamknąć :)
Pozostało parę małych rzeczy do zrobienia i będzie fajna wersja finalna.
Na tej samej stronie co poprzednio wrzuciłem nową betę deskBlip'a.
Interfejs

Przede wszystkim poprawiłem (mam nadzieję :) interfejs, dodałem opcji zmiany kolorów. Wyświetlanie zdjęć ze statusów też działa tak jak trzeba (choć bug'i znowu atakują).
Takie małe TODO:
Co może będzie:
Zachęcam do testowania :)
Na stronie coffeesounds.com/deskblip/ możecie pobrać β wersję widgeta do obsługi Blip'a dla Yahoo! Widgets (znanego także jako Konfabulator). Ponieważ Konfabulator działa pod Windows i Mac OS X - można powiedzieć, że jest całkiem cross-platform ;).
Tak to wygląda:
(tak to wygląda)
Widget ma problem z działaniem pod Windows Vista - jeśli ktoś by chciał przetestować i dać feedback w komentarzach byłbym bardzo wdzięczny :) Wysyłanie zdjęć na razie nie działa (podglądać już można). Ponieważ mam jeszcze w planach parę usprawnień co do interfejsu i samego silnika, nie mogę tej wersji nazwać finalną.
Dojdą opcje dostosowania interfejsu oraz zachowania samego widget'a (oraz bug fix'y i poprawa wydajności).
Praktycznie wszystko co w innych aplikacjach ;) Przeglądać swój kokpit, wysyłać nowe statusy, wysyłać wiadomości do innych użytkowników (zwykłe i prywatne) - czyli ogólnie blipować na całego ;)
Starałem się uczynić interfejs jak najbardziej użytecznym, więc dodałem dwa skróty klawiszowe:
Oczywiście widget pracuje tak jak każdy inny przedstawiciel jego rodzaju ;) i można go z powodzeniem używać w Konspose. Dźwiękowe powiadomienia o nowych wiadomościach sprawią, że nie trzeba patrzeć na widget co 15 sec.
Niestety Y!Widgets nie jest wolne od wad - problemy z XMLHttpRequest oraz elementem <web /> (używa Webkit engine) także odzwierciedlają się w deskBlip'ie -i niestety nie ma dla nich skutecznych workaround'ów. Jak na razie udało mi się uzyskać 98% bezawaryjność - czasami widget pobiera 2 razy te same update'y oraz (bardzo rzadko) element wyświetlający kokpit staje się biały i... nic :) Restart pomaga zawsze :)
Oczywiście samo działanie deskBlip'a jest w dużym zakresie zależne od Blip API (wczoraj z rana HTTP Error 503 było widać całkiem często.)
"Jak będzie to będzie" ;) A na pewno po 9/09. Na pewno nie opuszczę tego projektu (zwłaszcza, że chcę go użyć jako podstawę do wersji obsługującej Twitter'a :)
Tak więc - zapraszam do testowania.
Jeśli używasz Subversion, Windows XP i świetnego klienta svn - Tortoise SVN i dostajesz błąd w stylu:
svn: Commit failed svn: MKCOL /jakas/sciezka/: 405 Method Not Allowed (host)
i nie możesz commitnąć zmian w źródle swojego rewolucyjnego programu, zrób tak:
Włala, działa. Nie do końca znalazłem powód takiego zachowania - np. tutaj autor też nie wiedział ocb. W każdym bądź razie - sposób działa i nie jest jakiś utrudniający życia - i co ważniejsze - nie psuje struktury repozytorium.
No prawie wszystkiego :)
imified.com szumnie ogłasza się hasłem Instant Productivity i muszę powiedzieć, że faktycznie - dla mnie to królują w całkiem licznym zestawie usług/aplikacji GTD, który de facto jest już nieźle przeładowany.
Lifehacker codziennie pisze przynajmniej o 400 nowych programach do GTD i każdy o dziwo jest zajefajny. Poza tym mamy naprawdę duży wybór.
Najprościej mówiąc - listą ToDo i terminarzem obsługiwanym przez IM (Jabber/GTalk, MSN, AIM, itd). Niby nic ciekawego - obsługa trochę jak w starych przeglądarkach internetowych na komórki - opcja 1 dodaj todo, opcja 2 przejrzyj todo itd. Przydatne, proste, używam, works for me. Jeśli męczy Ciebie wybieranie ciągle tych samych opcji - mam dobrą wiadomość - można tworzyć aliasy.
Gdyby jednak ograniczyć się do tego Imified nie byłoby niczym specjalnym. No może trochę, ale do bycia fajnym trochę by brakowało. Na szczęście - owa fajność jest zaimplementowana. Imified pozwala na zarządzanie także innymi usługami, które normalnie nie są dostępne poprzez IM (no chyba, że ktoś ma shell'a, może na nim zainstalować EKG, napisze sobie skrypty itd itp). Z aktualnie obsługiwanych możemy wybrać m.in.
Szczególnie te 3 ostatnie pokazują siłę Imified - praktycznie każda usługa blogowa może być zarządzana z poziomu twojego komunikatora - niezależnie gdzie go używasz, czyli możesz pisać notkę na tumblr'a prosto z GMaila, napisać krótki post na własny hostowany blog przez komunikator na komórkę itd itp. Tu właśnie tkwi siła Imified totalna przenośność - możesz wejść gdziekolwiek na Gmail i do ya thang - nie musisz zostawiać ciastek, logować się na 20 stron itp.
Jeśli "wbudowane" zarządzanie zadaniami nie pasuje - można zlinkować bota z toodledo - tak, kolejny serwis to-do/GTD, ale naprawdę na poziomie, z bogactwem możlwości (m.in. integracja z GCalendar, Twitter i dodatkiem do Firefox'a). Osobiście i tak preferuję Pamiętaj O Mleku :)
Jak brakuje Tobie jakiejś aplikacji - pewnie niedługo będzie obsługiwana - zgodnie z tegorocznym trendem dostępne jest API dla chcących stworzyć własnego bot'a dla swojej usługi - ciekawa opcja, zwłaszcza dla tych wszystkich, nikomu niepotrzebnych sieci społecznych ;). Transfer plików nie jest jeszcze obsługiwany, ale dostępna jest wersja beta API, więc możliwe że i tego się doczekamy.
Niemniej jednak w obecnej formie Imified jest świetną usługą wartą polecenia. Oczywiście - jest to kwestia gustu czy taki sposób zarządzania wszystkimi usługami będzie pasował, ale wszyscy Joggerowcy na 100% korzystają już z jednej usługi przez komunikator - więc wiedzą jak to jest :)