O zaletach korzystania z RSS i o mniej lub bardziej ulubionych czytnikach rozpisuje się co drugi blogujący. Przyszło i na mnie.
Będzie o tyle nietypowo, że nie piszę tu wprowadzenia co to jest RSS, a raczej opisuję narzędzia przydatne przy intensywnym czytaniu z wielu źródeł, od natywnych czytników, przez aplikacje przeglądarkowe, po wybrane usługi pomocnicze.
Ewolucja
Kilka lat temu RSS klasyfikowałem jako jeszcze jedną z napuszonych, a bezużytecznych sieciowych technologii. Owszem, wypróbowałem. To, co z feedu zrobił Firefox (Live Bookmarks), zdecydowanie mnie w tym przekonaniu utwierdziło. Autorzy zdołali znaleźć sposób prezentacji wręcz idealnie zaprzeczający sensowi RSS.
Później przypadkiem wypróbowałem akregatora. Eureka!
Był to czas, gdy moja mania szachowa przyjęła najostrzejszą formę, więc - między innymi - codziennie zaglądałem na chessbase, chesspro i kilka innych serwisów w poszukiwaniu ciekawych artykułów. Po wrzuceniu feedów do akregatora nagle odkryłem, że te same kilka minut, które uprzednio zajmowało przejrzenie jednej-dwóch stron, teraz wystarcza do wybrania wartych przeczytania artykułów z kilkunastu serwisów. A do tego mam jasno oznaczone, co już przeczytałem, a co nie.
Tą iluminację gros moich czytelników pewnie ma już za sobą. Piszę o niej, bo gwałtowne odkrycie RSS wydaje mi się ciekawym i powtarzalnym zjawiskiem.
Dla większości narzędzi i technologii (o czym by nie mówić - od Linuksa po bankowość internetową) mamy niewielkie grono zelotów, równie niewielkie zaciekłych antagonistów, ale zdecydowaną większość stanowią zwykli użytkownicy. Niektórzy zaawansowani, niektórzy początkujący, w większości - średni.
W przypadku RSS większość internautów w ogóle nie wie o co chodzi, a Ci, którzy się dowiedzieli, nie wyobrażają sobie używania sieci bez tej technologii i nie mogą zrozumieć czemu nie jest ona powszechnie popularna. Środka prawie nie ma.
W kolejnej fazie odkryłem, że feedy ma większość regularnie czytanych przeze mnie stron, od informatycznych po rozrywkowe. Wrzuciłem je do czytnika i stał się on głównym narzędziem codziennego zerkania co tam panie w sieci.
Wreszcie, zacząłem subskrybować zamiast dodawać do zakładek. A także aktywnie szukać ciekawych feedów z wszelkich interesujących mnie dziedzin. Powstała dość interesująca kolekcja...
/3288035354-normal.jpg)
... szkoda tylko, że licznik nieprzeczytanych artykułów ustabilizował się na wartościach czterocyfrowych. Pół internetu w mojej skrzynce. Przeczytać oczywiście się nie da, zarazem - na co nie spojrzę, żal wywalić.
Reszta artykułu pisana jest głównie z tego punktu widzenia - z akcentem na radzenie sobie z nadmiarem informacji.
Równoczesna subskrypcja wielu serwisów na ten sam temat pozwala zobaczyć, jak koszmarnie kopiujący stał się internet.
Ot, powiedzmy - wczesną zimą Google dodało do GMaila prymitywną listę rzeczy do zrobienia. Klawiatury w dłoń, dziennikarze i blogerzy na koń, w przeciągu 48 godzin tą radosną nowinę powtórzyło kilkanaście subskrybowanych przeze mnie serwisów (i co najmniej kilkadziesiąt innych).
Gdyby jeszcze artykuły te coś wnosiły. Ale nie. Przejrzałem wiele z nich pisząc drugi artykuł o listach zadań - Googlowe taski nie spodobały mi się i szukałem, dla zrównoważenia, pozytywnych opinii. Zdecydowana większość autorów ograniczyła się do informacji że a) taski wreszcie są, b) na pewno będą wielce przydatne i c) włącza się je klikając to a to. Wyróżnił się Lifehacker, który przynajmniej dał parę własnych screenshotów.
Smakowity przykład podobnego zjawiska w polskiej blogosferze dał niedawno Tomasz Jagodziński.
Czytniki wbudowane w przeglądarki
Wspominałem już o tym wyżej, napiszę jeszcze raz wyraźniej. Moduły obsługi RSS wbudowane w przeglądarki są fatalne.
Firefoksowy pomysł dynamicznych zakładek całkowicie gubi ideę feedu. W RSS chodzi przede wszystkim o powiadomienie. O wiadomość jest nowy, nieprzeczytany artykuł. A także: o śledzenie, co już było czytane, a co jeszcze nie, o możliwość szybkiego podglądu początkowych fragmentów, wreszcie - o łączenie treści z wielu źródeł.
Tak psuje się ciekawą technologię:
/3287216409-normal.jpg)
Zbliżoną nieudaną koncepcję ma kilka innych przeglądarek. Odrobinę lepiej wypada Opera, tu interfejs poprawnie akcentuje model pracy - ale niestety jest strasznie prymitywny. Nie ma nawet możliwości pogrupowania feedów w foldery tematyczne.
Firefox ma też całą serię rozszerzeń implementujących czytniki RSS. Obejrzenie ich wszystkich nie jest w ludzkiej mocy, z kilku na które spojrzałem najciekawiej wyglądało Sage - tak czy siak nie będąc jednak autentyczną konkurencją dla dedykowanego czytnika.
Natywne czytniki Linuksowe
Mój wieloletni romans z KDE został gwałtownie zerwany w kilkanaście minut po zakończeniu się upgrade do wersji 4.0 ale za najlepszy natywny linuksowy czytnik RSS nadal uważam akregatora (nie jest to zresztą jedyny taki przypadek, piosenek słucham przy pomocy amaroka a zdjęcia indeksuję digikamem).
Czemu akregator? Ze względu na ważne drobiazgi. Dobre skróty klawiszowe do nawigacji, czytelny ekran, wygodne otwieranie artykułów zarówno w tabie czytnika, jak w zewnętrznej przeglądarce, wydajne wyszukiwanie, wreszcie - stabilność i szacunek dla zasobów maszyny.
Przede wszystkim poszło jednak o jedną cechę: po kliknięciu w folder widzę listę nowych artykułów ze wszystkich blogów w tym folderze.
/3288034744-normal.jpg)
Mając folder zawierający piętnaście blogów o - powiedzmy - Pythonie, mogę kliknąć jego nazwę, zobaczyć łączny spis nowości, wybrać rzeczy warte przeczytania, a resztę jednym ruchem oznaczyć jako przeczytane.
To głównie ta funkcja (a raczej jej brak) natychmiast zniechęciła mnie do liferei (tu czytając muszę odwiedzać każdy feed z osobna). Dołożyła się do tego też jej odczuwalna powolność.
Jedyny istotniejszy problem z akregatorem na jaki napotkałem dotyczył jego styku z Firefoksem - problemów z otwieraniem w akregatorze feedów klikanych w Firefoksie. Tutaj jest opis jak to rozwiązać.
Oczywiście linuksowych czytników jest więcej. Straw, BottomFeeder, kilka czytników konsolowych, wtyczki do programów pocztowych, wreszcie - wieloplatformowe programy javowe z RSSOwl na czele. Wiosną zeszłego roku przejrzałem pobieżnie wiele z nich, żaden przez kilka minut używania nie zachęcił mnie do poważniejszego wypróbowania.
Bodaj najbardziej egzotyczna metoda to czytanie RSS w Emacsowym Gnus. Mogłoby to być ciekawe rozwiązanie (Gnus ma rozbudowane metody scoringu, przy przeglądaniu usenetu bardzo się przydają) ale niestety: problemy z parsowaniem części feedów i problemy z otwieraniem linków.
Czytniki sieciowe
Chwaliłem akregatora ale ... już go nie używam. Z prostego powodu: bardzo często przesiadam się między linuksowym desktopem a windowsowym laptopem. Zsynchronizowanie listy feedów i folderów jest w tej konfiguracji możliwe ale z poprawnym śledzeniem co było przeczytane, a co nie, jest znacznie gorzej.
Ten problem rozwiązuje czytnik sieciowy.
Kilka programów (od developerskiej wersji Liferei po RSS Bandita) obiecuje synchronizowanie stanu czytnika z Google Readerem. Zrobiłem kilka prób - nie wygląda to na razie dobrze. Część narzędzi reklamujących integrację potrafi jedynie zaimportować listę feedów, nawet te, które próbują pełnej integracji, notorycznie gubią informacje.
Jeśli komuś udało się uzyskać w pełni satysfakcjonującą konfigurację tego typu - bardzo chętnie bym ją poznał.
Obejrzałem bliżej dwa serwisy: Google Readera i Bloglines. W panice uciekłem przed interfejsem NewsGatora. Nie rozważałem nawet rozwiązań typu Netvibes (ułóż sobie własną stronę), to jest dobre przy śledzeniu kilku, najwyżej kilkunastu feedów.
Google Reader
Google Reader to bardzo dobry reader - narzędzie do czytania. Szybki, wygodny w obsłudze, z pełną klawiaturową nawigacją, dobrą wyszukiwarką, bardzo poręcznym mechanizmem gwiazdkowania (który używam do oznaczania rzeczy do przeczytania później), możliwością czytania tak pojedynczych feedów jak całych folderów, płynnym przełączaniem między podglądem treści a podglądem samych tytułów, inteligentnym zaznaczaniem przewiniętych artykułów jako przeczytanych.
Faktycznie - dobrze się czyta.
/3288035570-normal.jpg)
Niestety, na tym koniec. Interfejs służący do organizowania feedów - układania ich w foldery tematyczne, modyfikowania tytułów, porządkowania jest straszliwie niewygodny.
Chcę przenieść feed do innego folderu (albo włożyć we właściwe miejsce po subskrypcji)? Klikam Feed settings (skrótu klawiszowego nie ma), cierpliwie kręcę kółkiem myszy szukając właściwego folderu (próby naciskania pierwszej litery nazwy szukanego folderu oczywiście nic nie dają), klikam właściwy folder. Następnie operację powtarzam, by wyczyścić ten poprzednio ustawiony. Dodatkowo irytuje, że mało użyteczna funkcja tagowania pojedynczego artykułu ma wygodną obsługę klawiaturową...
Chciałbym na razie nie czytać danego feedu ale za jakiś czas do niego wrócić? Niestety. Mogę co najwyżej go usunąć. Częsta w zwykłych czytnikach funkcja ustawiania częstotliwości odświeżania albo czasowego wstrzymania odświeżania feedu w Readerze nie jest zaimplementowana.
Większe porządki? Jest dedykowane do tego okienko, najeżone dowcipnymi pułapkami. Na przykład taką: zaznaczone do edycji feedy pozostają zaznaczone nawet, gdy przestaną być widoczne. Chcę zmienić nazwy kilku folderów. Szukam feedów po nazwie pierwszego z nich (funkcji zmiany nazwy folderu oczywiście nie ma, trzeba przetagować feedy), zaznaczam, odklikuję zmianę nazwy. Następnie szukam po nazwie drugiego. Znowu zaznaczam i zmieniam etykietę. Ups. Wyniki pierwszego wyszukiwania też się na tą zmianę załapały. A cały interfejs oczywiście prezentuje feedy alfabetycznie, bez możliwości zobaczenia grup.
Kuszący jest pomysł wyeksportowania wszystkiego z Readera, uporządkowania w normalnym czytniku i wgrania z powrotem. Powstają prześliczne duplikaty.
Aha: używając Google Readera można zrozumieć, czemu Google wypuściło Chrome. Działa on w tej przeglądarce znacznie szybciej, niż w Firefoksie - nawet z zainstalowanymi Gears (testy pod Windows). Ba - przy użyciu sieci bezprzewodowej notorycznie zdarza mi się, że Reader w Firefoksie nie daje rady odświeżyć listy feedów. W Chrome nie ma z tym żadnych problemów (to samo konto, ta sama maszyna, ta sama sieć).
Scenka ekstremalna następuje, gdy aktywujemy Firebuga dla domeny google.com. Próba otwarcia strony Readera kończy się wielominutowym całkowitym zawiśnięciem przeglądarki. Nie jest to oczywiście wina ani Firefoksa, ani Google, wspominam bo po prostu warto wiedzieć (swego czasu długo się naszukałem przyczyn tego problemu).
Weryfikacja: otwieramy jakąś stronę Google (np. google.com), otwieramy Firebuga i sprawdzamy, które panele są aktywne.
Bloglines
Bloglines to całkiem fajna alternatywa dla Readera.
/3288035136-normal.jpg)
W podstawowych założeniach serwis bardzo do Readera podobny (zresztą, starszy od niego i prawdopodobnie mający jakiś wpływ na formę usługi Google). Organizacja feedów w foldery, kilka trybów przeglądania (min. wybór między samymi tytułami a pełnymi fragmentami), skróty klawiszowe do nawigacji. Nawet układ ekranu jest zbliżony.
Interesującą ciekawostką jest możliwość logowania się przez OpenId, nie trzeba zakładać osobnego konta.
Lepiej niż w Readerze jest pomyślana obsługa prezentacji źródłowej strony w oryginalnej postaci. W trybie trójpanelowym (3-pane) można czytać artykuł w formie i układzie źródłowego serwisu. Wymaga sporego ekranu (poniższy zrzut jest za mały) ale przy jego posiadaniu bardzo wygodne.
/3287215595-normal.jpg)
Powyższe zrzuty pochodzą z wersji beta, to ją testowałem. Stabilny interfejs wygląda podobnie, choć jest trochę siermiężny. Oba dzielą te same dane, więc bety można używać bez obaw.
Wady?
Dość często (bodaj kilkanaście razy w ciągu tygodnia testów) spotykałem różne błędy techniczne. To nie udało się zasubskrybować feedu, to coś się nie odświeżyło, to coś nie otworzyło.
Zarządzanie feedami jest trochę wygodniejsze niż w Readerze (można przeciągnąć feed do innego folderu, można zmienić nazwę folderu) ale ciągle kłopotliwe.
Odniosłem też wrażenie, że Bloglines trochę wolniej niż Reader zauważa nowe artykuły.
Ostatecznie się na Bloglines nie przesiadłem - głównie dlatego, że Readera zacząłem używać wcześniej (przyzwyczaiłem się do jego skrótów klawiszowych, zebrałem listę pogwiazdkowanych artykułów itp). Bloglines nie było gorsze, po prostu nie dało wystarczająco dużo więcej, by zachęcić do przesiadki.
Czytnik moich marzeń
Marzy mi się, bardzo mi się marzy czytnik, który potrafiłby być inteligentny. Mam na myśli rzeczy takie jak:
-
automatyczne sugerowanie folderu dla nowo subskrybowanych feedów (stwierdzenie, z jakimi już zasubskrybowanymi feedami ten nowy ma największe przecięcie tematyczne, nie wygląda na zadanie niewykonalne);
-
scoring oparty o moje zachowania, tj. uczenie się przez czytnik, do których feedów zaglądam częściej, do których rzadko, a do których wcale; z których serwisów artykuły otwieram i czytam, a z których tylko oznaczam jako przeczytane - i użycie tej wiedzy przy promowaniu treści do czytania jako pierwszych i przy wybieraniu co pominąć przy czyszczeniu nadmiaru artykułów;
-
wsparcie dla filtrowania wielotematycznych feedów na części poświęcone konkretnym tematom (wystarczyłaby prosta wiedza o sposobie znakowania kategorii w popularnych platformach blogowych);
-
detekcję wiernych duplikatów (sytuacji, gdy ten sam artykuł trafia do mnie bezpośrednio z pierwotnego serwisu, a także z jakiejś planety) - i pomijanie tych drugich;
-
detekcję gron tematycznych (sytuacji, gdy kilkanaście blogów komentuje tego samego newsa) i ich prezentację jako powiązanej całości.
Innymi słowy: sensowna sekretarka układająca informacje dla szefa.
Cóż - nie ma.
Ciekawe usługi uzupełniające
Jeszcze o interesujących pośrednikach - serwisach, które potrafią wziąść oryginalny feed i zwrócić do subskrypcji coś trochę innego.
Yahoo Pipes
Yahoo Pipes to filtr pozwalający:
- połączyć kilka feedów w jedną całość,
- przefiltrować feed ze względu na słowa kluczowe i kilka innych charakterystyk,
- zbudować feed RSS z nietypowych źródeł (np. wyników wyszukiwania),
- i ... wiele innych.
To wszystko przykryte sympatycznym graficznym edytorem, gdzie wizualnie malujemy jakie dane zbieramy, jak je łączymy i przetwarzamy i co jest wynikiem.
Nad Pipes ciąży trochę zbyt duża funkcjonalność. Próbując je poznać grzęźnie się w opisie rozlicznych widżetów, modułów i formatów, dokumentacja zostawia wrażenie że powinno się pobudować złożone schematy.
Tymczasem można o tym wszystkim zapomnieć i wykorzystać Pipes minimalistycznie, np. do przycięcia jakiegoś bloga do postów zawierających wybrane słowa. Kilka kliknięć w edytorze Pipes, kilka kliknięć w czytniku (zasubskrybowanie wynikowego feedu Pipes zamiast oryginalnego), gotowe.
Prosty przykład (tak mój własny feed mógłby opracować sobie ktoś nie zainteresowany pythonem, nginksem ani osobistymi wspominkami):
/3287216803-normal.jpg)
Główny problem? Zaburza się naturalny rytm działań przy dodawaniu i wyrzucaniu feedów. Powiedzmy, że zbudowałem sobie i zasubskrybowałem rurkę agregującą parę blogów o administracji Oracle. Chcąc dodać jeszcze jeden, muszę odwiedzić stronę Yahoo, znaleźć właściwy schemat, wejść do edytora, dodać tam widżet i wkleić doń adres serwisu. Trochę mniej naturalne, niż kliknięcie ikony feedu... To samo w drugą stronę.
Dlatego Pipes wydają mi się szczególnie użyteczne dla osób mających stabilną listę lektur, którą mogą sobie przy ich pomocy wypieścić.
PostRank
PostRank stawia sobie ambitny cel klasyfikowania wartości artykułów. Główna idea używania: przepuszczając czyjś feed przez PostRank wybieram to, co najlepsze. Zamiast subskrybować - powiedzmy - antyweba bezpośrednio, mogę przepuścić go przez postrankowy filtr (jeden z trzech - Best, Great albo Good), dostanę w ten sposób tylko najciekawsze posty.
Jakie artykuły są dobre? Autorzy stale manipulują przy algorytmie ale zasadniczo jest to filtr społecznościowy, miara poziomu zaangażowania czytelników. PostRank zlicza linki z innych stron (ale nie - jak Google - wszystkich, a tylko z tych analizowanych), komentarze dodane pod artykułem, publiczne zakładki (z delicious na czele), linki na serwisach społecznościowych (digg, twitter, facebook itp), wreszcie kliknięcia (w widgety PostRank czy feedy subskrybowane za ich pośrednictwem).
W prawym pasku na moim blogu leży sobie widżet Top Posts. Pochodzi właśnie z PostRanku i według ich algorytmu wybiera najlepsze z moich artykułów.
Co weszło do punktacji - można podejrzeć:
/3288036582-normal.jpg)
Uczciwie mówiąc: to nie jest jakieś wybitne rozwiązanie. Gubi masę informacji - min. dla wielu blogów (z moim włącznie) nie potrafi zauważyć i policzyć komentarzy, obsługuje tylko parę serwisów społecznościowych, nie potrafi się dokopać do starszych artykułów. Widżet Top Posts zyskuje rolę samospełniającej się przepowiedni (promowane przezeń artykuły zyskują kliknięcia, które tym bardziej utrwalają ich pozycję). Specyfiki polskiej brak całkowicie (choć kiedyś może się pojawić).
Interfejs użytkowy także nie jest do końca przemyślany. Zmiana poziomu filtrowania powoduje zmianę URLa feedu i co za tym idzie wymaga re-subskrypcji, ponowne zaimportowanie pliku OPML generuje masę duplikatów, te same artykuły mają inne score gdy są porównywane w ramach bloga (w widżecie czy na ekranie szczegółów feedu) a inne globalnie (przy filtrowaniu, w dodatkach).
Mimo wszystko ... lepszy rydz niż nic. Nie używam go do filtrowania ważnych dla mnie serwisów ale przepuszczam przezeń mniej istotne strony, na których pełny wolumen nie mam czasu ani ochoty. PostRank wybierze jakiś, w miarę sensowny, wycinek.
Autorzy wydają się być zainteresowani usprawnianiem swego narzędzia. Zgłaszałem trochę problemów i zawsze dość szybko pojawiały się komentarze pracowników serwisu.
PostRank funkcjonuje też w formie dodatku do Google Readera. Nazywa się on AideRSS i nie należy go mylić z mniej użytecznym dodatkiem PostRank.
/3287216997-normal.jpg)
AideRSS działa dwojako:
- etykietuje wszystkie wpisy aktualnym score PostRank (jest to zatem wygodny sposób sprawdzenia, co PostRank robi z feedami, które czytam),
- dodaje filtr pozwalający chwilowo ograniczyć wyświetlane elementy wyłącznie do najlepszych (globalnie, w danym folderze albo dla danego feedu).
Po pobawieniu się trochę tym narzędziem, widzę dwa sensowne modele pracy z jego wykorzystaniem.
Pierwszy ogranicza się do AideRSS (albo podobnych wtyczek do innych czytników - NewsGator już takową ma, inne - dzięki otwartemu API - mogą powstać). Po prostu: widząc zbyt wiele postów filtruję tylko Best albo (nieco słabiej) Great, przeglądam, a następnie wyłączam filtr i oznaczam wszystko jako przeczytane.
Drugi polega na zastąpieniu wybranych przegadanych feedów wersjami przefiltrowanymi przez PostRank (manualnie jest to troszkę kłopotliwe, opiszę niedługo jak to zautomatyzować). Ot, zamiast subskrybować Mashable, subskrybuję Mashable z filtrem Best.
Trzecia możliwość powoli się rodzi. PostRank ma elementy funkcjonalności filtrowania/agregowania feedów. Są one absolutnie szczątkowe w porównaniu z Yahoo Pipes ale można próbować tak:
- taguję osiem feedów słowem Python (używając webowego interfejsu PostRanku albo dodatku PostRank,
- dla każdego z nich niezależnie ustawiam poziom filtrowania (All, Good, Great, Best),
- w razie potrzeby włączam też filtrowanie ze względu na obecność słów kluczowych,
- wynikowy zagregowany feed subskrybuję w czytniku.
Tutaj da się modyfikować treść feedu bez zmiany jego URLa (np. po otagowaniu nowego feedu słowem Python, jego posty dołączą do powyższej subskrypcji).
Niestety jest to kłopotliwe w użyciu na dłuższą metę. Przy tagowaniu nie ma dopełniania nazw czy wyboru z listy, więc bardzo łatwo o literówki. Subskrybowane kanały mają w czytniku dziwaczne numeryczne nazwy. Nie ma podglądu efektów konfiguracji. Nie ma (w czytniku) informacji skąd pochodzi oryginalny artykuł (np. nazwy bloga w tytule).
Jak sobie radzę
W tej chwili używam Google Readera (czyta się w nim dobrze), część feedów filtruję PostRankiem (niezależnie od tego okazyjnie wspomagając się AideRSS, gdy wpisów robi się zbyt wiele).
Do tego napisałem sobie parę skryptów ułatwiających zarządzanie strukturą subskrypcji w Google Readerze (operacje typu reorganizacja folderów, masowe zmiany tytułów, zastąpienie wybranych feedów postrankowymi filtrami). Podzielę się nimi za parę dni, w następnym artykule.