Projekt: Trackbuzz
Komentarze: 7Zacznę może od drobnej uwagi, nie przywiązuje do niniejszego projektu zbyt dużej wagi - jest to dla mnie coś na kształt testu w laboratorium. Pomysł na Trackbuzza zrodził się parę miesięcy temu podczas rozmowy z Dawidem - moim współpracownikiem w serwisie RLY.pl. Rozmowa dotyczyła różnych zastosowań widgetów na stronę od Facebooka czy Twittera (dziś do tej listy powinienem dodać jeszcze G+).
Pół efektem tych rozmów była własna implementacja sharera od Facebooka w serwisie RLY.pl (w liście wpisów przy każdym tytule znajduje się ładniutka ikonka co i ile tam na Facebooku). Tydzień temu postanowiłem rozpocząć pracę nad całą ideą rozwinięcia socjalnych liczników i tak po całym tygodniu plus jednym dniu przedstawiam Trackbuzza.
Bot
Założenie jest bardzo proste, jakąś metodą trzeba pozyskiwać linki i je analizować: przez jakiś czas odpytując Facebooka czy Twittera jak wygląda ich popularność w tych serwisach. W efekcie zbierzemy listę najciekawszych i najpopularniejszych treści w Sieci w danym czasie. Nie będę ukrywał, że poszedłem po linii najmniejszego oporu i jako źródło linków wybrałem kanały RSS - co później okazało się, że nie było to takim złym pomysłem. Początkowo "bot szperający" powstał w języku C# ale ze względu na brak mono na moim serwerze musiałem przepisać go do Javy.
Problemów było bez liku. Wiele serwisów które chciałem śledzić albo posiadają kanał RSS z wzbogacanymi linkami do treści typu
?utm_source=rss...(co wystarczy usunąć) albo korzystają z zewnętrznych rozwiązań do zliczania ruchu z kanałów RSS typu feedburner.com czy feedsportal.com (o ile feedburner udostępnia nie do końca zgodnie ze standardem RSS/ATOM informację o oryginalnym linku, to feedsportal robi to... różnie (chyba zależy od konfiguracji feedu)).Każdy link do treści musi wyglądać identycznie tak samo jak link który jest linkowany w widgecie na stronie. Dla przykładu, nie jest możliwe drogą RSS pozyskać oryginalny (czyli Facebookowy) link do treści np. w serwisie demotywatory.pl. W kanale znajdziemy link typu
demotywatory.pl/3366149a serwis udostępnia link Facebookowidemotywatory.pl/3366149/bo-najwazniejsze.... Bez bardziej skomplikowanego bota który czytał by HTML na razie Demotywatory nie zagoszczą na Trackbuzzie.Front-end
Jeżeli chodzi o front-end największym problemem było sortowanie danych. W pierwszym dniu gdy wykonałem pierwsze zapytanie wg. stanu licznika odrobinę się zmartwiłem, serwis kwejk.pl posiadał udostępnień/polubień tak dużo, że praktycznie większość zwróconych rekordów pochodziło z serwisu kwejk. Wtedy wpadłem na pomysł, że należy dorobić kategorię kanałów i wprowadzić tzw. siterank (czyli stałą dla każdego kanału przez którą wartość socjalnego licznika jest przemnażana, zawyżając lub zaniżając licznik).
Efekt był całkiem zadowalający. A kategorie chyba rozwiązały problem doboru treści do użytkownika. Po prostu odznaczamy czego nie chcemy i tyle.
Aktualnie siterank jest dobierany na zasadzie "spróbujmy tak", więc wszystko jest jeszcze do wyregulowania. Ogólnie myślę aby odrobinę zmienić algorytm filtrujący dane. Tymczasem daje w ręce Wam prawie gotowy produkt i jestem ogromnie zaciekawiony waszą reakcją.
Dodam jeszcze, że czas na stronie bez względu na wszystko jest podawany w strefie UTC. Na razie problem lokalizacji sobie odpuściłem.

Komentarze
Dodaj komentarz