Twitter jako nowy mini-blog

Nadszedł już czas, aby oficjalnie uznać mojego twittera jako mini-blog będący rozszerzeniem niniejszego dziennika. Od dłuższego już czasu zacząłem się na nim nieco aktywniej udzielać, komentując różne tematy, publikując krótkie przemyślenia, czy odnośniki do ciekawych materiałów. To z kolei idealnie odzwierciedla wizję tego, jak sobie wyobrażam taki mały i szybki kanał przekazu jakim jest mini-blog.

Nowy Twitter

Właśnie dokonałem drobnych modyfikacji swojego szablonu na WordPresie (który jest w ciągłej budowie), aby na stronie głównej, w dedykowanej do tego celu kolumnie ukazywał się stream timeline mojego konta. Wyświetlane tam jest kilkanaście ostatnich wpisów, co fajnie komponuje się z główną zawartością strony. Jak to się prezentuje w praktyce widać już na stronie głównej bloga, jak i na poniższym zrzucie (do celów archiwalnych).

Standardowo chciałem, aby cały kontent z twittera był zasysany przez mój serwer i to przez niego parsowany, przetwarzany i wrzucany do treści sidebara wyświetlanego tutaj na blogu. Ale kiedy zacząłem się bliżej przyglądać możliwościom i obsłudze API serwisu, zrezygnowałem z tego pomysłu. Obecna wersja wymaga autautoryzacji i masy gównianych operacji, aby móc chociaż tylko pobrać ostatnie opublikowane wiadomości. Pokusiłem się za to na wykorzystanie udostępnianych skryptów JS-owych (Twitter for Websites) umożliwiających embedowanie twitterowego kontentu na stronach webowych. Ma to też swoje zalety, całość będzie pobierana i przetwarzana po stronie użytkownika, więc nie narażam swojego serwera na dodatkowe zabawy.

Finalnie, aby całość zadziałała, wystarczyło, abym dodał w swoich plikach szablonu poniższy kod ładujący odpowiedni skrypt z serwerów twittera:

<a class="twitter-timeline" data-lang="pl" data-tweet-limit="15" data-theme="light"
	href="https://twitter.com/malcompl?ref_src=twsrc%5Etfw">MiniBlog</a>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Od tego momentu mam na stronie mój timeline z twittera. Tylko problemem jest to, że ma on wygląd i zachowanie standardowe, co nie musi mi się podobać, a tym bardziej ładnie komponować z resztą strony. Oczywiście nie ma oficjalnie możliwości wpływania na wygląd, a tym samym modyfikacji stylów CSS. Wszystko ładuje się w utworzonej ramce iframe. Twórcy nie przewidzieli żadnej możliwości dodania własnego CSS-a czy JS-a, a szkoda bo mogłoby istnieć odpowiednie parametry do tego celu.

Ale inni już o to zadbali i tym samym wyręczyli mniee od parszywej zabawy. W sieci znalazłem customize-twitter-1.1, dzięki któremu mogłem wstrzyknąć własne CSS-y do ramki twitterowej i wpłynąć na prezencję (style i teksty), a wszystko w kilku linijkach:

<script sync src="<?= esc_url( get_template_directory_uri() ); ?>/customize-twitter-1.1.min.js"></script>
<script>
CustomizeTwitterWidget({
	"url": "<?= esc_url( get_template_directory_uri() ); ?>/customize-twitter.css"
});
</script>

I tymi prostymi trikami, mój MalLog doczekał się nowego mini-bloga.

Stary Pinger

Oczywiście nie jest to pierwsza moja idea wprowadzenia mini-bloga do tego dziennika. W przeszłości dosyć długo w tej roli używany był polski klon twittera wykonany przez o2, czyli pinger. Serwis ten idealnie sprawdzał się w roli mini-bloga, a dziś przypada dokładnie 10-ta rocznica tego, jak podłapałem ten pomysł i zacząłem tutaj na blogu prezentować wpisy w dedykowanej kolumnie. Kolumna ta znikła ostatecznie przy rozpoczęciu kilka lat temu zabaw z nowym designem. A mój kanał pingerowy przeszedł w stan agonalny wraz z nadejściem 2010 roku. Podobnie zresztą jak to miało miejsce tutaj na blogu, wtedy jeszcze na MalDevBlogu, który zaliczył prawie 2,5-letnią przerwę...

Powyżej zrzuty dla celów archiwalno-dokumentalnych, przedstawiające jak to dokładnie wtedy wyglądało na blogu (koniec 2010 roku) oraz na głównej stronie mojego pingera. Wkrótce planuję usunąć konto pingerowe, a jego kontent dla celów archiwalnych pojawi się prawdopodobnie w następnym wpisie (jak tylko uda mi się przetworzyć te wszystkie dane).

Już jakiś czas temu próbowałem wyeksportować wszystkie wpisy z pingera. Wszakże istnieje taka możliwość w opcjach konta. Teoretycznie to się udało, ale nie mogłem doczekać się na emaila z zrzutem danych, który de facto, po kilku dniach pojawił się w skrzynce pocztowej, ale wpadł do spamu lub z jakiś innych podwód nie był dla mnie widoczny. A wtedy w przypływie negatywnych emocji w stronę pingera i jego zespołu (o nie działające i rozpadające się opcje) zacząłem sobie tworzyć mały kawałek kodu w Perlu, który korzystając z dostępnego API serwisu, zaciągnąłby całą moją dostępną aktywność.

No i powstało proste narzędzie pobierające timeline danego użytkownika. Początkowo chciałem wykorzystać zwrotki w formacie XML zwracane przez RESTful-owe API pingera. Ostatecznie JSON okazał się łatwiejszy i szybszy w parsowaniu oraz obsłudze. W końcu to jedna linijka w perlu - decode_json. A i po kilku modyfikacjach zdecydowałem się także zwracać dane w JSON-ie. Co znacznie ułatwi ewentualne dalsze konwersje danych.

Skrypt ten może być przydatny dla innych, więc pojawi się pełne źródło, tutaj lub na githubie. Jego działanie jest bardzo proste, podobnie jak użycie, wystarczy podać nazwę użytkownika i opcjonalną ilość wiadomości jakie chcemy pobrać z serwera:

./pinger-timeline username [count]

A skrypt połączy się z serwerem i wypluje pobrane wiadomości na stdout w prostej tekstowej JSON-owej postaci, która jest w istocie samoopisująca się strukturą:

mid:  16857281
date: 1357599843
text: Taki tu spokoj.... sialala...

Jak wspomniałem kod zrzuca wszystko na standardowe wyjście, więc można przekierować strumien do pliku, jeśli ktoś chciałby utworzyć archiwum plikowe. Trzeba także pamiętać, że pod Windowsem konsola nie radzi sobie za dobrze z kodowaniem UTF-owym, dlatego mogą pojawić się jakieś krzaczki w danych.

Tak sobie myślę, że nim ogarnę całe dane do kolejnego wpisu z archiwum pingera, może uda mi się rozbudować skrypt o możliwość pobierania komentarzy przypisanych do wpisów. To na pewno wypełni znamiona pojęcia "archiwum", jakie tutaj używam do tego zrzutu danych. W końcu trochę tym komentarzy do moim publikacji się pojawiło, szkoda żeby ostatecznie poleciały w nieskończoną otchłań dev-null-a.

A i jeszcze jedna sprawa... Skrypt pobiera obecnie tylko dane tekstowe, więc wszelkie obrazki i pliki załączone w wiadomości zostaną zignorowane. Ja nigdy z takiej możliwości na pingerze nie korzystałem, dlatego nie myślałem nawet o implementacji.

...

Co za zabieg okoliczności, właśnie Twitter wprowadza zwiększa limit znaków do 280 w jednej wiadomości. Moim zdaniem powinno to jeszcze bardziej uatrakcyjnić taką formę komunikacji, a szczególnie wykorzystanie tej mikro-blogowej platformy w postaci mini-bloga. Limit znaków jaki istniał od początku powstania Twittera w 2006 roku był poniekąd jego znakiem rozpoznawczym i główną cechą. Dostosowana wtedy głównie do możliwości technicznych jakie panowały w tamtym okresie - wiadomości tekstowe na telefonach komórkowych. Obecnie można przyznać firmie rację, że jest to relikt poprzedniej epoki technologicznej, gdy teraz królują na świecie smartfony i mobilny dostęp do sieci. Chociaż ja osobiście jakoś nie przestawiłem się na mobilne surfowanie po sieci i cały inwentarz z tym związany. Nie jest to dla mnie wygodne, ale prawdą jest, że czasem się to przydaje i warto mieć dostęp, szczególnie w sytuacjach awaryjnych i krytycznych. Ale na co dzień?... a idź Pan w ...

One thought on “Twitter jako nowy mini-blog”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *