Útban a real-time web felé

6 aug. 2009 Fejlesztés
Hírbehozó már többször említette, hogy „egyre hangsúlyosabbá válik a valós idejű adatok, kiértékelések megjelenítése” és a Twitter fokozatos térnyerése csak olaj a tűzre. Azaz amennyire már az üzenetküldés minden formájánál természetes az azonnaliság, ugyanilyen természetes igény fogalmazódik meg minden információmorzsával kapcsolatban. Nyilván érdeke a az információ előállítójának, hogy minél hamarabb elérje azzal a célcsoportot és érdeke a felasználónak is, hogy minél gyorsabban jusson hozzá a szükséges, friss (és releváns) információkhoz. Nyilván lehetne sokat regélni arról, hogy mennyire változott meg az információszerzés és publikálás metódusa az internet elterjedésével, „növekedésével”, de most ezt inkább ugorjuk át.
 
A fenti igényből kiindulva pár arc Google berkeiből megpróbálta újra feltalálni a spanyol viaszt, pontosabban a „hagyományos” pull modell („gyere és nézd meg van-e nálam valami újdonság”) helyett egy push alapú architektúrát, protokollt („figyi, majd én szólok neked ha van valami újdonság”) megalkotni. Nyilván már léteztek erre eddig is megoldások, de ők megpróbálták az egészet olyan alapokra helyezni, melyek már most is rendelkezésünkre állnak: HTTP, RSS, ATOM. Azaz a publish/subscribe mintára épülő aszinkron „üzenetküldést” próbálták a szereplők számára a legfájdalommentesebben megtervezni. A technikai részletekkel nem foglalkoznék most bővebbem, mert igen egyszerű és minden információ megtalálható erről a protokollt leíró oldalon illetve az alábbi pár slide jól leírja a lényeget:
 
 
Nyilván lehet sokat vitatkozni is, hogy mennyire szerencsés (vagy éppen nem) szétválasztani ilyen formában egymástól az „előfizetőket” és az „információtulajdonosokat”, de soha nem érek így a poszt végére...
 
A szabadidejüket feláldozó lelkes Google fejlesztők (na jó, máshonnan is keveredtek a projektbe emberek) által megalkototott PubSubHubbub névre keresztelt protokollról kb. egy hónapja lehetett először hallani, majd a minap azzal került ismét reflektorfénybe, hogy a Google Reader csapat el is kezdte implementálni is az alkalmazásba. Pontosabban első lépésként a megosztott tartalmakat elkezdte publikálni (jelenleg) egy Hub szerver felé. Nosza kaptam az alkalmon és gyorsan rátapostam a „Do it” gombra a Subscribe oldalon a saját Google Share oldalam RSS-ére feliratkozva.  Láss csodát, ahogy megnyomtam a „Share” gombot a Google Reader felületén, azonnal érkezett is az információ erről a Hub szervertől. Innen már egyenes út vezetett ahhoz, hogy a Turulmemét felkészítsem az értesítések fogadására illetve a megfelelő feliratkozások/visszaigazolások elvégzésére. Az eredmény pedig magáért beszél: a „Share” gomb megnyomása után, pár másodperc után látható is a tettem a TurulMeme aktivitás oldalán. 
 
Mivel magát a Turulmemét a felhasználók nagy része nem közvetlenül az oldal meglátogatásával veszi igénybe, hanem annak a különböző csatornáit vezették vissza a Google Reader-be, így a kör akkor lesz teljes ha implementálom a publish funkciót is a rendszerbe: azaz egyből megjelennek a Google Reader felületén a csatornák friss információ.

Google Gadget

9 ápr. 2009 Fejlesztés

Már régóta terveztem, hogy készítek majd egy iGoogle modult és mivel egy ideje a Gmail felületéhez (amit ugye jóval sűrűbben használok, mint magát a Turulmemét) is könnyedén hozzá lehet csapni ezeket, így elérkezett az idő a cselekvésre. A motorozás mellett:-)

Alapvetően egy minimál funkcionalitással rendelkező gadget létrehozását tűztem ki célul: gyorsan tudjam áttekinteni azokat a listákat, amiket átfutok a Meme oldalán (népszerű, friss megosztások és a megosztók aktivitása). A Gadgets API leírásának gyors átfutása, majd egy-két példa tanulmányozása után szinte pillanatok alatt össze lehet dobni a dolgot. Nekem ez végül egy óra alatt sikerült, amiben már benne volt a leírások, screenshotok készítése is.

A modult leíró állományt a http://turulmeme.com/ig-gadget.xml címre pakoltam fel, a saját iGoogle oldalunkhoz pedig egyszerűen a http://www.google.com/ig/directory?url=turulmeme.com/ig-gadget.xml linkre kattintva tudjuk felvenni.

A Gmail felületére felpakolni egy fokkal macerásabb, mivel először a Labs oldal (http://mail.google.com/mail/#settings/labs) legalján lévő “Add any gadget by URL” nevű cuccot kell engedélyezni, majd a Settings->Gadgets menűpontnál bemásolni a http://turulmeme.com/ig-gadget.xml hivatkozást és a hozzáadás gombra kattintani. Lőn csoda, bal oldalon meg is jelenik a TurulMeme doboz, lehet menni ismét motorozni…

Görcsök nélkül

10 márc. 2009 Fejlesztés, Szubjektív

Milliónyi okot lehet felsorolni, hogy miért nem szabad elhanyagolni a folyamatos kommunikációt egy adott termékkel/szolgáltatással kapcsolatban. Számomra most az egyik legkézenfekvőbb ok, hogy az utóbbi idő szótlansága következtében nem tudom kapásból felsorolni azokat a változásokat amin a TurulMeme átment a legutóbbi poszt óta. A memóriám romlása valószinűleg a kornak tudható be, a bejegyzések elmaradása pedig annak, hogy az utóbbi időben szabadidőm nagyobb részét inkább a családnak szenteltem.

De mindez nem jeleti azt, hogy az oldal fejlesztése leállt volna, sőt! Az egyik legnagyobb - sokak által már az indulás óta kért – változás, hogy egy ideje nem csupán egy lábon áll (ejtsd: Google Reader) a TurulMeme, hiszen már delicious és netvibes megosztásokat is figyel. Azt gondolom, hogy ezzel megtettem az első lépést a bennem célként megfogalmazódott sharestreaming alkalmazás víziója felé.

Nem annyira szembetűnő változás, hogy az oldal RSS kimeneteiben lévő linkeket egy redirect-en kezdtem el átvezeni. Ezt egyszerűen az indukálta, hogy feltételezésem szerint sokan nem közvetlenül az oldalt látogatják meg (ami egyébként napi 2-3 ezer egyedi látogatót jelent), hanem ezeket az RSS csatornákat vezetik vissza kedvenc RSS-olvasó alkalmazásukba. Innentől viszont nem voltam tisztában azzal, hogy ezeken a csatornákon keresztül milyen mennyiségű látogatót tudok a tartalmat előállító blogokra/oldalakra szállítani. A redirect bevezetésével viszont igazolva látom a fikciómat, miszerint nem elhanyagolható az ebből az irányból érkező emberek száma sem. Ez a számok nyelvére lefordítva közel napi 3000 kattintást jelent. Örülök.

Természetesen voltabb apróbb foltozások is, melyek az oldal stabilitását és kiszolgálási sebességét voltak hivatott erősíteni. Tsabeeka és szantog más oldalról közelítették meg ezt a nagyon fontos kérdéskört, természetesen mindkét félnek igaza van. Tsabeeka álláspontja védelmében annyit mondanék, hogy egy szolgáltatónak, aki lehetőséget biztosít harmadik fél számára az adatok hozzáféréséhez (legyen az csupán egy RSS csatorna vagy éppen egy API) kutya kötelessége mindent megtenni azért, hogy a szerver maximum egy másodpercen belül köpje ki a választ az adott kérésre. Mint ahogyan szantog rámutatott, nyilván rendelkezésre állnak opciók a harmadik fél oldalán is a kockázatok minimalizálására, de az én felelősségem, hogy ne kelljen ilyen eszközökhöz nyúlni (arról nem is beszélve, hogy a nagy többség nem is rendelkezik ehhez megfelelő tudással).

A technikai dolgok után még kicsit visszakanyarodnék a poszt elején megemlített kommunikáció kérdéséhez. Az elmúlt időszakban nagyon sok megkeresést kaptam, legutóbb a IV. Web 2.0 Symposium keretein belül egy nagyon kellemes kerekasztal-beszélgetés részese voltam. Hírbehozó moderációja mellett a startup-ok életének főbb mérföldköveit, mozgatóerejét próbáltuk meg picit taglalni a moly.hu és a veledutaztam.hu képviselővel. Azontúl, hogy velük ismét bővült az ismerőseim értékes és hasznos tagjainak száma, jó volt látni hogy vannak még hozzám hasonló „őrültek”, akik a szabadidejüket áldozzák azért, hogy valamit alkossanak (csak olvass bele a moly.hu bolgjába). A szenvedély visz minket előre, görcsök nélkül próbálunk haladni a fejlődés útján. Remélem, hogy a jövő heti StartUP konferenciáról is ugyanígy feltöltődve térhetek haza.

Jelen posztomat csikszem blogjában olvasott Hamvas Béla idézetettel szeretném zárni:

„A boldogságot csak az bírja el, aki elosztja. A fény csak abban válik áldássá, aki másnak is ad belőle. Mert amikor bennünket elküldtek, az útrabocsájtó Hatalom így szólt:

Rád bízok minden embert külön, kivétel nélkül mindenkit, segíts, adj enni, adj ruhát, mindenkire vigyázz úgy mint magadra, és ne hagyd a sötétségben elmerülni. Amit szerzel, amit elérsz, amit tudsz, amit átélsz, osszad meg. Az egész világ a tiéd. Szabad vagy a kövektől az éterig. Ismerd meg, hódítsd meg, senki se tiltja, de jaj neked, ha magadnak tartod. Elbocsátlak téged is, mint mindenkit: felelős vagy minden emberért aki veled él, s el kell számolnod minden fillérrel, amit magadra költesz, minden örömmel amit magadba zártál, és minden boldog pillanattal, amit magadnak tartottál meg. Most eredj és élj, mert a világ a tiéd.”

Elhallgatott dolgok

20 jan. 2009 Fejlesztés

Az utóbbi időben kicsit ritkábban frissítettem a blogot (többek között fáradtság, rossz kedv stb. miatt), ami persze nem azt jelent, hogy nem történtek változások a TurulMeme életében. Megpróbálom most röviden összeszedni, hogy mi történt az elmúlt időben.

A közösségre épülő oldalak egyik legnagyobb rákfenéje a minőség és mennyiség ellentétes mivolta, ezért már az indulás óta folyamatosan próbálom a főoldali algoritmusokat a kialakuló megosztási szokásokhoz hangolni. Ennek következtében most kicsit szigorodtak a szabályok, aminek eredménye a kevesebb főoldali tartalom. Bár picit úgy érzem, hogy kicsit túl is szabályoztam a dolgokat, lehet kicsit lazítani kellene a gyeplőn... De kikerült pár új elem is, főleg a nyitóoldalra, azon belül is a jobb hasábba.

Személy szerint én az esetek nagy részében két oldalt látogatok az oldalon: a főoldalt és az aktivitást. Így megpróbáltam a kettőt egybegyúrni és ennek eredményeként a főoldalon megjelent egy aktivitás dobozocska. Ez ugyanúgy frissül automatikusan 30 másodpercenként és szűrhető csak a megjegyzésekre, mint az erre külön dedikált oldal.

Szintén a jobb hasábot érinti a statisztika doboz a főoldalon, ami igazából arra a sok hozzám érkezett kérdésre próbál választ adni, hogy mennyi tartalmat osztanak meg az emberek naponta stb. Attól függően, hogy a népszerű megosztásokat milyen intervallumra szűkítjük, úgy változik a statisztika is. A változást jelző ikonok pedig az előző időszakhoz képesti változást jelölik (azaz 12 óra esetén, az előző 12 órához képest viszonyítja). Ezzel kapcsolatban kicsit tanácstalan voltam, hogy ez lenne-e a legjobb viszonyítási alap. Lehet, hogy jobb lenne ha a 24 órával az azt megelőző időszakhoz vagy a globális átlaghoz képest viszonyítana... Ráadásul elég domináns helyre került a doboz, gondoltam pár napig ott hagyom, majd később lentebb kúszik majd vagy esetleg külön oldalt kap (ott pl. lehetne akkor többfajta változást is együtt mutatni).

Mivel egyik célom segíteni az értékes, viszonylag ismeretlen blogokat/oldalakat felfedezni és szerény eszközeinkhez mérten látogatókat szállítani nekik, ezért próbaként beindítottam egy kis promóciós lehetőséget. Mostantól pár oldalon megjelenik (egy kicsit eltérő kinézettel) egy doboz, ami egy héten át egy adott oldal három legfrissebb bejegyzésének címét és rövid ismertetőjét tartalmazza. A következő héten promotálásra kerülő blogot pedig mindig a lekerülő blog tulajdonosa fogja kiválasztani. Felmerült még bennem az is, hogy esetleg arra is biztosítok lehetőséget, hogy az oldal tulajdonosa egy rövid kérdezz-felelek formájában bemutathatja magát és oldalát is. Ha lesz időm, akkor összeállítok egy sablon kérdéssort, amit megválaszolhatnak az új delikvensek.

Gaba a meetup után odajött hozzám egy kéréssel, miszerint örülne neki ha valahogy naponta összeszedve megkaphatná az aktuálisan népszerű tartalmak listáját. Mivel személy szerint én is örültem volna neki, ha naponta a postaládámban láthatnék egy ilyen listát, így zöld lámpát kapott a dolog. Regisztrációkor vagy a saját profil módosításakor két különöbő értesítőre iratkozhatunk fel: a „reggeli kiadás” nagyjából nyolc óra magasságában, az „esti kiadás” pedig délután öt után kerül kiküldésre (update: eredetileg elfelejtettem írni, hogy a levél 12 órás toplistát tartalmaz). Természetesen a lista személyre szabott, azaz nem kerülnek rá olyan tételek, melyek ketrecbe lettek zárva. A tesztüzem közben kiderült, hogy Gabával picit félreértettük egymást. Ő alapvetően nem levélben szerette volna ezt megkapni, hanem tökéletesen megfelelt volna számára egy RSS csatorna. Nosza neki, gyorsan legyártottam ezt is, itt érhető el: http://turulmeme.com/rss.ashx?m=snap. Ez viszont nincs személyre szabva és csak 10 elemet tartalmaz (a Google Reader valamilyen oknál fogva az ennél hosszabb listát egyszerűen lenyelte).

Majdnem elfelejtettem... Jano kérte, hogy a szőrmentén funkció elérhető legyen bejelentkezés után egy menűponton keresztül. Mivel nem állok szőrös szívű ember hírében, ezért mostantól ez is elérhető bárki számára.

Tuti kifelejtettem valamit, de legfeljebb arról majd legközelebb írok...

Firefox fetisiszták előnyben

19 dec. 2008 Fejlesztés

Tapir már többször jelezte, hogy nem lenne ellenére ha készülne egy Firefox kiegészítő a TurulMeme-hez. Egyrészről nem szeretem kielégítettlenül hagyni a drága felhasználókat, másrészről pedig soha életemben nem csináltam ilyet, így ez egyértelmű felkérés volt egy keringőre.

A Mozilla gyorstalpalóján áttanulmányozása után megnéztem pár meglévő kiterjesztést és pár órás molyolás után azt kell mondanom, kifejezetten egyszerű és élvezetes Firefox alá fejleszteni(na jó, a tucatnyi lefagyástól eltekintve). A végeredmény innen tölthető le: https://addons.mozilla.org/en-US/firefox/addon/10067.

Telepítés és a böngésző újraindítása után a státuszsorban megjelenik a TurulMeme kis ikonja (amiért örök hálám fogja üldözni offroadster-t és a Webisztán-t), jobb egérgombra felugrik egy kis menű ahol a beállításokon kívül szerepel pár link ami a TurulMeme hasznosabb oldalára mutat. Az izgalmasabb dolog persze az egér bal gombjának felengedése után történik: a jobb felső sarokban megjelenik egy kis doboz amiben mindig látható, hogy az adott oldalt hányan osztották meg és mennyien fűztek hozzá megjegyzést (nyilván – ha a megosztások száma nem nulla - erre kattintva elnavigál a TurulMeme-n lévő permalink oldalra, ahol megnézhető ki osztotta meg és milyen hozzászólások vannak). Nem utolsósorban pedig a dobozból is közvetlenül meghívható a Google Reader által biztosított megosztó ablak a “megosztom” feliratra kattintva.

Ha el akarod tüntetni a kis dobozt, akkor csak kattints ismét a státuszsorban lévő ikonra. De ha kint van a doboz és a beállításoknál a “TurulMeme doboz új oldal megnyitásakor is jelenjen meg” felirat mellett lévő checkbox-ban ott figyel a kis pipa, akkor navigálás közben mindig megjelenik a doboz a friss tartalommal.

Már csak azt nem tudom, hogy tudtam eddig enélkül élni…

Ja, majdnem elfeletettem… Fejes Balázs felkérésére előreláthatólag a februári New Tech Meetup-on az én rusnya képemet kell bámultok pár percig. Enyhítendő a maradandó károsodást, cserébe viszek majd pár üveg sört:-)

 Update: Készült egy újabb verzió az extension-ből, amiben az alt+m gombra ki lehet nyitni illetve bezárni a TurulMeme dobozt, de valamit elcsesztem a Mozilla addon oldalán és jelenleg rossz verziót lehet letölteni (0.1.2 néven fut és ráadásul nincs is hozzá állomány. Fogalmam sincs mikor élesedik ki a jó változat (0.1.4), ezért ha nem ezt a változatot látjátok kint akkor töltsétek le a régebbi (0.1.1) verziót! Bocs a bénázásért...

Lapátolok

18 dec. 2008 Fejlesztés

Az iWiW Homokozó megnyitásakor egyből az jutott eszembe, hogy jó lenne összehasonlítani a Facebook platformjával. Mivel az utóbbihoz volt már szerencsém, így nagyjából két óra alatt tető is alá hoztam egy fapados Facebook alkalmazást: http://apps.facebook.com/turulmeme/. Tényleg nagyon egyszerű az egész, semmiféle social ficsört nem használok ki a lehetőségekből, csupán egy wrapper a TurulMeme-hez (ráadásul az egyszerűbb, iframe-s beépítési módot választottam). Tesztelésre tökéletes.

Egy nappal később kezembe vettem a lapátot, hogy építsek egy hasonlóan primitív dombocskát a fejlesztők számára dedikált iWiW homokozóba. Célként hasonlót fogalmaztam meg: csináljunk gyorsan egy wrapper-t mindenféle extra funkció nélkül. Nagyon egyszerűen fogalmazva a nagy különbség a két rendszer között, hogy az OpenSocial esetén jóval több javascript matatásra van szükségünk. Viszont mivel mindkét megoldás egy iframe-be épülve jelenik meg, így viszonylag nagy mozgástérrel rendelkezünk. Bár nem tudom, hogy az iWiW esetében mennyire veszik rossz néven, ha a már említett iframe-n belül elnavigálgatunk ilyen-olyan külső hivatkozásra...

Valószínűleg az OpenSocial ismeretének hiánya miatt a fent már említett cél elérése kb. kétszer gyorsabbnak tűnik a Facebook esetén. De mint tudjuk, jó pap holtig tanul.

Vírus után

15 dec. 2008 Fejlesztés

Szerencsére kisfiam betegsége gyorsan a feledés homályába merült, így volt időm ismét a TurulMeme fejlesztésével foglalkozni. Sikerült több dolgot is kipipálnom a teendők listán, nézzük szépen sorban.

Már az előző posztban írtam, hogy lesz majd lehetőség közvetve a meme oldaláról megosztani egy nekünk tetsző bejegyzést. Ennek biztosítására került be a listákra egy „megosztom” link, ami egyszerűen kihasználja a Google Reader által biztosított egyik lehetőséget. A működése nagyon egyszerű, az adott bejegyzéshez legenerál egy RSS-t a rendszer és ezt adja át a Google Reader számára.

Az oldal indulása óta törtem a fejemet, hogy milyen módon lehetne valahogy kategorizálni a bejegyzéseket. Eléggé szubjektív dolog, hogy ki milyen bejegyzést milyen kategóriába passzírozna be, ezért a TurulMeme oldalain ma megjelent „Kategóriák” doboz nagyjból az én véleményemet/álláspontomat tükrözi. Persze lehet majd azon sokat vitatkozni, hogy „miért éppen X kategóriába került”, de szerettem volna ennek a ficsörnek egy első változatát mégis kirakni az oldalra (egyébként pedig a saját szájízünknek megfelelő kategórizálására a Google Reader jelenleg is biztosít lehetőséget).

Több módszert is kipróbáltam a kategorizálás megvalósítására és végül a leghatékonyabb módszernek az bizonyult, hogy egyrészről a bejegyzésekhez tartozó cimkéket, másrészről pedig az adott bejegyzést tartalmazó oldal hivatkozását figyeli a rendszer. Jelenleg közel a fele van valamilyen kategóriába besorolva az ajánlásoknak.

Eszpee kérésére a todo lista hátsó régiójából előkaptam egy újabb API, widget megvalósítását. Eddig csak arra volt lehetőség, hogy egy adott bejegyzéshez tartozó adatokat kérjünk le, a mai frissítéssel lehetségessé vált egy adott domain alá tartozó friss hozzászólások lekérésére (sajnos ez ismét felszínre hozott egy problémát: ha egy bejegyzésre több különböző url-en keresztül is hivatkozunk, akkor a meme egyelőre még külön kezeli az azokhoz tartozó bejegyzéseket). Az advanced felhasználók számára az API leírásának erre vonatkozó részét ajánlom, de gondoltam a többiekre is. Ismét a saját kis blogomat vettem elő és azon végeztem el a (fájdalommentes műtétet): a blog.hu keltetőjében létrehoztam egy HTML dobozt, ami megkapta jól megérdemelt tartalmát (szövegét):

<script type="text/javascript" src="http://turulmeme.com/api/widget/commentbox.js"></script>

A formázáshoz pedig felvettem pár új sort a sablon CSS-ébe:


/* TurulMeme Comment Box */

#turulmemeCommentBox
{
    font-size:11px;
    padding-bottom: 20px;
}
#turulmemeCommentBoxHeader
{
    display: none;

}
#turulmemeCommentBox a.sharer, #turulmemeCommentBox a.turulSharer
{
    color:#8A2602;
        font-family:'Georgia',Lucida,Verdana;
    font-size:11px;
    text-decoration:none;
}

#turulmemeCommentBox a.sharer:hover, #turulmemeCommentBox a.turulSharer:hover
{
    background-color: #fff;
    text-decoration: underline;
}

#turulmemeCommentBox img.profilePic
{
    border-width:0;
    margin:0;
    padding-top:0;
    vertical-align:bottom;
    width: 16px;
    height: 16px;
}

#turulmemeCommentBox a.turulSharer
{
    padding: 0px 10px;
    float:left;
}

#turulmemeCommentBox .turulmemeCommentBox-entry-annotation-body a
{
        color:#636060;
        text-decoration:none;
}
#turulmemeCommentBox .turulmemeCommentBox-entry-annotation-body a:hover
{
       text-decoration:none;
}

/* /TurulMeme Comment Box */

Megizzasztott a blog.hu

9 dec. 2008 Design, Fejlesztés

Update: teodora jóvoltából a freeblog.hu közössége is okosabb lett, köszönöm! 

Az API megjelenése után nem sokkal már meg is jelent az első Wordpress plugin, de mint tudjuk van élet a WP-n túl is... Pollner pedig volt olyan kedves és lehetőséget adott rá, hogy Médiablog kísérleti alanya lehessen egy sima javascript-es beépítőkód tesztelésének. Miután sikerült nagyjából belőni a dolgot, szerettem volna a (sajnos nagyon ritkán frissülő és kutyát nem érdeklő) privát blogomban is felhasználni, ami történetesen a blog.hu felségjezésű birodalom része. Itt kezdődtek a gondok (ha a végső megoldásra vagy kiváncsi, akkor irány a poszt vége)...

Nem vagyok nagy sablon buherátor, de egyből sikerült kiszúrnom hogy az általam használt alapsablonnál (WP Brown) nem igazán van lehetőség a javascript hivatkozás beszúrására úgy, hogy csak permalinkes oldalon jelenítse meg az adott bejegyzéshez tartozó megosztókat és hozzászólásokat. Gyors levél a support felé és szerencsére a válasz is gyorsan érkezett (külön dicséret, köszönet és hála a rapid reakcióért nekik!): csak akkor próbáljak kiiratni hasonló dolgokat, ha a DOM-ban ott figyel a „feedback_container” azonosítójú elem. Bingó! Ezután már percek kérdése volt megoldani, hogy beszúrja a tartalomba a kívánt elemeket. Viszont először a <blhc:postloop> belesejébe tettem a js hivatkozást, ennek hatására a főoldali lista X alkalommal (minden egyes bejegyzés esetén) lekérte a szervertől a javascript állományt, ráadásul windows.onload-ot használtam a beillesztés előtt. Nem szép…

Gondoltam ha már prototype keretrendszert használ a blog.hu, akkor megpróbálkozom DomReady kiterjesztéssel, de Explorer alatt egyszerűen képtelen voltam normálisan működésre bírni. Tovább nehezítette a helyzetemet, hogy pl. a sablon változtatása után Explorer alatt egyszerűen nem jelentek meg a változások. Átmeneti állományok stb. törlése sem segített, workaround megoldásnak nagyjából az volt használható, ha váltogattam a különböző sablonok között. Na jó, akkor búcsuzzunk el a prototype használatától, welcome jQuery! Persze ez sem ment zökkenőmentesen, hiába próbáltam külső állományból behúzni a jQuery-t, összeakadtak a prototype-al a jQuery.noConflict() ellenére. A végső megoldást az jelentette, hogy a külső hivatkozás helyett bemásoltam a jQuery csomagolt változatát a saját szkriptembe és láss csodát, működik és sikerült végre kiváltanom a window.onload-ot a hőn áhított jQuery(document).ready-vel.

A beépítés menete saját blog.hu sablonodba elég egyszerű: másold be a

<script language="javascript" type="text/javascript" src="http://turulmeme.com/api/widget/bloghu.js"></script>

hivatkozást a sablonba (nálam a <blhc:postloop> tag elé került, neked is ezt javasolnám). A formázást pedig természetesen a CSS szerkesztésével tudod tökéletesre fejleszteni, íme az én sablonomhoz tartozó rész:

/* TurulMeme */

#turulmeme
{
    font-size:12px;
    padding-bottom: 20px;
}
#turulHeader
{
    color:#E2AF0D;
    font-size:15px;
    font-weight:normal;
    letter-spacing:0;
        padding-bottom:10px;
        margin-bottom:6px;
}
#turulmeme a.sharer, #turulmeme a.turulSharer
{
    color:#E6A487;
        font-family:'Georgia',Lucida,Verdana;
    font-size:12px;
    font-weight:bold;
    text-decoration:none;
}

#turulmeme a.sharer:hover, #turulmeme a.turulSharer:hover
{
    background-color: #fff;
    text-decoration: underline;
}

#turulmeme img.profilePic
{
    border-width:0;
    margin:0;
    padding-top:0;
    vertical-align:bottom;
    width: 16px;
    height: 16px;
}

#turulmeme .sharers
{   
    overflow:hidden;
}
#turulmeme .sharers .sharersHeader
{
    color:#666666;
    font-weight: bold;
    float:left;
        font-family:'Georgia',Lucida,Verdana;
        font-size:12px;
}

#turulmeme a.turulSharer
{
    padding: 0px 10px;
    float:left;
}
#turulmeme .tip-box
{
    margin-top: 8px;
    position: relative;
}
#turulmeme .tip-box .arr
{
    background-repeat: no-repeat;
    font-size: 1px;
    height: 100%;
    left: 10px;
    position: absolute;
    top: -11px;
}

#turulmeme .tip-left .c
{
    margin-left: 20px;
}

#turulmeme .tip-left .arr
{
    background-image: url(http://turulmeme.com/images/tip-arrow-top.gif);
    background-position: left bottom;
    background-repeat: no-repeat;
    padding-left: 26px;
}

#turulmeme .entry-annotation
{
    color: #666666;
    margin: 15px 0 10px; /*max-width:565px;*/
}

#turulmeme .entry-annotation-author-name
{
    font-size: 13px;
    font-weight: bold;
}

#turulmeme .entry-annotation-body
{
    font-size: 12px;
    font-style: italic;
    line-height: 115%;
    margin: 0.3em;
}
#turulmeme .entry-annotation-author-container
{
    font-weight: bold;
    padding: 0.3em 0.3em 0.3em 0;
    white-space: nowrap;
}
#turulmeme .entry-annotation-profile-image
{
    border: 1px solid #CCCCCC;
    height: 18px;
    margin-right: 0.3em;
    width: 18px;
}
#turulmeme .entry-annotation-box-container
{
    width: 100%;
}
#turulmeme .entry-annotation-box .round-box
{
    width: auto;
}
#turulmeme .entry-annotation-box .round-box .c
{
    background-color: #E1ECFE !important;
    width: auto;
}
#turulmeme .entry-annotation-box .round-box .s
{
    background-color: #C2D9FF !important;
}
#turulmeme .entry-annotation-box .round-box .tl, #turulmeme .entry-annotation-box .round-box .tr, #turulmeme .entry-annotation-box .round-box .bl, #turulmeme .entry-annotation-box .round-box .br
{
    height: 1px;
    width: 1px;
}
#turulmeme .entry-annotation .tip-left .arr
{
    background-image: url(http://turulmeme.com/images/annotation-tip-arrow-top.gif);
    background-position: 0 3px;
    padding-left: 9px;
}
#turulmeme .entry-annotation .tip-left .c
{
    margin-left: 8px;
}
#turulmeme .round-box
{
    empty-cells: show;
}
#turulmeme .round-box td
{
    margin: 0;
    padding: 0;
}
#turulmeme .round-box .s
{
    font-size: 1px;
    line-height: 1px;
}
#turulmeme.round-box .s, #turulmeme .round-box .c
{
    background-color: #CCCCCC;
}
#turulmeme .round-box .tl, #turulmeme .round-box .tr, #turulmeme .round-box .bl, #turulmeme .round-box .br
{
    background-repeat: no-repeat;
    height: 3px;
    width: 3px;
}
#turulmeme .round-box .tl
{
    background-image: url(http://turulmeme.com/images/corner_tl.gif);
    background-position: left top;
}
#turulmeme .round-box .tr
{
    background-image: url(http://turulmeme.com/images/corner_tr.gif);
    background-position: right top;
}
#turulmeme .round-box .bl
{
    background-image: url(http://turulmeme.com/images/corner_bl.gif);
    background-position: left bottom;
}
#turulmeme .round-box .br
{
    background-image: url(http://turulmeme.com/images/corner_br.gif);
    background-position: right bottom;
}
#turulmeme .round-box .sq
{
    background-image: none;
}
#turulmeme .entry-annotation
{
    margin-top: 0;
}
#turulmeme .entry-annotation-body
{
    margin: 0.1em 0.5em;
}
#turulmeme .annotations
{
    padding:4px;
}

/* /TurulMeme */

 

RSS finomítás

5 dec. 2008 Fejlesztés

A ketrec publikálásakor már jeleztem, hogy ez csak a kezdete a folyamatoknak. Ma reggel egy következő lépcsőként a főoldalhoz és a friss bejegyzésekhez tartozó RSS csatornák (katt a nagy RSS ikonra) már figyelembe veszik, hogy be vagy-e jelentkezve és a ketrec éppen zárva vagy nyitva van. Innentől semmi akadálya annak, hogy a kedvenc RSS olvasódban (nyilván a Google Reader az:-)) már a saját szűrt listádat lásd.

Többen jelezték, hogy a Google profilképek nem kerültek frissítésre a Turulmeme oldalain belül, ezért most lefuttattam egy update-t, remélem sikerült mindenkinek átvenni az aktuális avatarját. Nem ehhez kapcsolódik, de találtam egy apró problémát a bejegyzések mellé érdekes, egyéb bejegyzéseket ajánló kódban. Ezt is próbáltam fixálni.

Úszómester lettem

4 dec. 2008 Fejlesztés

Már az oldal indulásakor is említettem Hírbehozó kérdésére válaszolva, hogy a spam az egyik gyenge pontja az ilyen rendszereknek. Ahogy lassan elterjedt a site híre, meg is jelentek az első verebek. Ahogy egyik ismerősöm fogalmazott: „média lettél, megjelentek a spammerek”.

Jó úszómesterhez hasonlóan én sem nézem jó szemmel, ha valaki a medence széléről pisál bele a medencébe (na jó, egy-két puki azért még belefér). Természetesen mindenkinek szíve joga eldönteni, hogy mit oszt meg másokkal, de ha ezt egyszerűen csak saját haszonszerzésének céljából teszi akkor a TurulMeme oldalain belül csak egy sarok jut számára, ahol a térdeplését egy nagy adag kukorica teszi kényelmessé. Persze mint mindenben, ebben is több fokozat létezik, de első körben ezt a térdeplést egy feltünő bilog jelképezi az adott „megosztó” profiloldalán illetve egy „line-through” dekoráció a bejegyzések megosztóinak listáján (de azért sunyiban pár nofollow is becsúszott).

Persze ha valaki szánja-bánja bűneit és becsszóra betartja a jövőben az úttörők 12 pontját, akkor a megbocsátás sem marad el, ismét nyitva áll majd előtte a strand kapuja.

Mi ez?

A Turulmeme egy Google Reader megosztásokon alapuló alkalmazás, ebben a blogban pedig megpróbálunk jó házigazda módjára információkkal ellátni mindenkit az oldallal kapcsolatban.

hirdetés