niedziela, 13 maja 2007

Widgets, gadgets and Adobe Apollo

Adobe Apollo wpisuje się w krąg aplikacji które zamierzają być pośrednikami pomiędzy internetem (przeglądarkami internetowymi) a aplikacjami komputerowymi. Istnieje pewien problem terminologiczny jak je nazwać. Gadżety (ang. gadgets) to terminologia forsowana przez Microsoft czy Google, a widżety (ang.widgets) to słownictwo używane przez Yahoo czy Operę. Była propozycja, żeby je nazywać wihajstrami. Cecha tych technologi jest to, że twórcy do tworzenia tego mogą korzystać ze znanych technologii takich jak XML, HTML, CSS, czy skrypty w JS. Drugą ich cechą jest to że wymagają odpowiedniego silnika wykonawczego (albo wykorzystują istniejące silniki przeglądarek internetowych) aby można było to wykonać. Niekiedy te silniki wyróżniają się tym że urozmaicają obszar roboczy tj pulpit użytkownika, albo przeglądarkę internetową (dodając różnego rodzaju funkcjonalności poprzez wtyczki).

Cala popularność tego rozpoczęła się od tego, że programiści zaczęli pisać wtyczki do Mozilii a potem do Firefoxa. Informacje o tworzeniu rozszerzeń należy rozpocząć od zapoznania się z mechanizmami obsługującymi w przeglądarce XPCOM, albo o wiele łatwiej jest pisać w oparciu o XUL i XBL. Warto przeglądać takie blogi jak Burning Chrome. Istnieje silnik wykonawczy XULRunner, który pozwala na tworzenie wtyczek uruchamianych tak jakby to była aplikacja desktopowa (nie wymaga zależności od przeglądarki Mozilla czy Firefox) Na blogu Ryana można przeczytać krótki kurs tworzenia aplikacji pod ten silnik Interesująca jest lista aplikacji tworzonych przy pomocy tego silnika. Najbardziej mnie zaskoczyła obecność Joosta czy Democracy Playera. Świadczy to o tym, że przy pomocy XULRunnera można robić całkiem dobre aplikacje RIA.

Google oferuje tworzenie gadżetów dla Desktop Gadgets. Dokumentację i przykładowe aplikacje są zawarte w SDK. Programuje się przy pomocy JS CSS i HTML, co sprawia, że tworzenie dodatków do tej aplikacji jest proste co świadczy rosnąca ilość tych dodatków. Warto śledzić grupę dyskusyjną dla programistów rozwijających ten program.

Microsoft forsuje rozwiązanie zwane Microsoft Gadgets dla Sidebar Microsoft Vista. O tworzeniu gadżetów dla tego sidebara można poczytać na MSDN a także przejrzeć jego API. Galerię można przejrzeć na tej stronie. To jest ograniczone tylko do Microsoft Vista. Ale znaleźli się programiści którzy napisali odpowiednie rozwiązanie pod Windows XP . Można pobrać i przejrzeć istniejące gadżety, a informacje o tworzeniu można poczytać na forum.

Opera też zaproponowała swoja technologię Widgets. Są to programiki, które wymagają uruchomionej przeglądarki internetowej Opery. Sporo informacji można przeczytać na stronie dla użytkowników Opery. O tworzeniu widzetów pod Operę można poczytać tu Katalog widzetów można przejrzeć na tej stronie. Informacje techniczne o Opera Wigets (specyfikacje, biblioteki) można przejrzeć na stronie dla programistów. Więcej informacji można uzyskać dzięki dostępowi do Opera SDK. Faktem jest to Opera zaczyna dominować jako przeglądarka internetowa instalowana w najnowszych modelach komórek. oraz palmtopów czy handheldów. Można się spodziewać jak producenci będą dołączać do urządzeń mobilnych nowe wersje przeglądarek opartych na Opera 9 SDK for devices wtedy widżety staną się UI dla aplikacji uruchamianych w tych urządzeniach.

Yahoo w 2005 roku przejęło firmę tworzącą silnik zwany Konfabulator i zmieniło jego nazwę na Yahoo Widgets. Od marca 2007 jest dostępna nowa wersja Yahoo Widgets 4. Co nowego w niej? Obsługa SQLite, nowe możliwości graficzne (niskopoziomowy canvas), dodawanie menu, obsługa AJAX, zmiana rozmiarów animacji, XML można obsługiwać za pomocą DOM i jak XPath, obsługa warstw (z-order), obsługę kompresji i dekompresji zip. Sporo informacji o tym można przeczytać w dokumentacji dla programistów. Warto ściągnąć Konfabulator SDK aby zapoznać sie z możliwościami i nauczyć sie tworzyć takie dodatki. W razie problemów można szukać pomocy na forum. Pomimo że jest dostępne dla Windowsa i jak Maca to posiada też API umożliwiające korzystanie tylko z technologii danego systemu operacyjnego. W przypadku Windowsa jest to obsługa kontrolek Active X. Z tego powodu można też wykorzystać maksymalnie możliwości systemu operacyjnego do tworzenia własnych programików używając JavaScriptu. Yahoo pisze, że społeczność już napisała ponad 4000 widzetów. Najpopularniejsze widzety prezentuje ta lista.

W fazie eksperymentalnej można wyróżnić 2 technologie: Boxely firmy AOL i Sidewinder z x-port.net.

Boxely to aplikacja aspirująca do tworzenia RIA z bogatym UI tworzona między innymi przez Joe Hewitta. Boxely powstało jako niezadowolenie wobec tego, jak obsługiwany jest XUL. Na bazie Boxely stworzono komunikator AIM 6.1. Obecnie jest dostępna wersja OCP Preview 2 0.9.10.2 Oto zrzuty ekranu przykładowych aplikacji Boxely. Zawiera zbiór efektów graficznych, pozwala na szybkie tworzenie aplikacji dzięki skryptom JS, ma wsparcie dla lokalizacji (internacjonalizacji) i spełnia standardy dostępności. Otwarte API pozwala programistom na pisanie rozszerzeń do Boxely. Do Boxely dołączono obsługę kontrolek Active X co pozwala na wykorzystanie między innymi przeglądarki IE czy Flasha Playera w tych aplikacjach RIA. Aby lepiej poznać możliwości Boxely warto przejrzeć dokumentację online. Są już dostępne artykuły Kurta Cagle o tym czym jest ta technologia "Thinking Inside the Boxely", a także o tym jak tworzyć taką aplikację na przykładzie przeglądarki czcionek "The Font of Wisdom: A Basic Boxely App, Part 1" i "The Font of Wisdom: A Basic Boxely App, Part 2". Corey Lucier napisał listę cech jakie powinna zrealizować aplikacja Boxely w przyszłości. Jest to bardzo interesujący tekst pokazujący w jaki kierunku mogą rozwijać się technologie RIA.

Mark Birbeck stworzył aplikację Sidewinder. Obecnie jest do ściągnięcia wersja 2.1. Jest to przykład próby stworzenia prototypowej przegladarki łaczącej prawie wszystkie standardy (XForm, XPointer, XPath, SVG i MathML) opierajac się na mechanizmach kontrolek Active X (FormsPlayer, Adobe SVG Viewer, MathPlayer, Gecko ActiveX) Twórca dodał możliwość pracy w trzech trybach (wewnątrz przeglądarki Internet Explorer, osadzona wewnątrz programu, jako samodzielny program). Można obejrzeć zrzuty ekranu pokazujące działanie tej aplikacji
Można przeczytać dokumentację o programowaniu Sidewindera.

Refleksja z tych rozwiązań jest taka, że maja one duży potencjał marketingowy. Nie jest on dobrze wykorzystywany przez reklamę. Powodem jest to, że trudno jest zrobić coś co przyciągnęłoby użytkowników do pobierania tych aplikacji. Niektórym technologiom idzie to dobrze. Przykładem jest Google Desktop (ok 1000 gadżetów) jest ukierunkowany dla ludzi ceniących porządek, natomiast Yahoo Widgets ma większą popularność (4000 widżetów) i możliwości graficzne (oraz programistyczne). Microsoft ma do zaoferowania (ok 800 gadżetów). Atutem Opery może być jej interoperacyjność. Widżety Opery będzie można uruchamiać na prawie każdym urządzeniu pod odpowiednim systemem operacyjnym nawet na urządzeniach przenośnych. Problem Microsoftu jest taki, że ogranicza sie do Visty. Z perspektywy czasu może okazać że tworzenie gadżetów i widżetów stanie się częścią stron internetowych. Staja sie one częścią trendu zwanego Rich Internet Application. Moim zdaniem aplikacjom Adobe Apollo jest bliżej do widzetów Opery i aplikacji XULRunnera. Ale myślę, że większą popularność może zyskać dzięki temu że programiści i designerzy będą masowo tworzyć aplikacje jakie są w tych gadżetach/widżetach szczególnie zawierające proste aplikacje typu powiadamiacze, prezentacja pogody czy czytniki RSS oraz proste gry komputerowe typu pasjanse, tetris czy saper.

Brak komentarzy: