Archives for : Tehnicisme

?livehit= … junk

Mai sunt unii ca mine care au instalat si au lasat sa mearga pluginul de wordpress “Live“. Foarte dregutz.

Problema cu pluginul asta apare atunci cand toate hit-urile din statistici ajung sa-ti fie dublate de niste linkuri dubioase de genul:

/?livehit=http%3A//graffit.hbfx.com/%3Fpage_id%3D2&title=despre%…

Problema se poate rezolva in felul urmator:

1. deschide fisierul /wp-content/plugins/live0.4.1/live.php
2. du-te la randul 90
3. inlocuieste
‘<?=get_bloginfo(‘wpurl’)?>/?livehit=’
cu
‘<?=get_bloginfo(‘wpurl’)?>’+’/?livehit=’

That’s it. Problema ar cam trebui rezolvata de autorul pluginului, dar omul nu prea e de gasit… asa ca intre timp o rezolvam noi.

Later edit: am renuntat complet la Live… prea multa bataie de cap pentru prea putina informatie.

Content Management in Romania

Tot comentand pe marginea noului axn.ro, a venit in discutie un subiect care pe mine ma intereseaza in mod direct: problema Content Management-ului (fie ca e vorba de produse/servicii online sau offline).

Dupa cum ziceam, in mentalitatea clientului roman persista doua greseli destul de problematice:

1. Ne-folosirea CMS-urilor
Cam 90% din clientii care vor un site cu “administrare” (sau, mai pompos zis – CMS – Content Management System) ajung sa lase administrarea tot pe seama agentiei care a creat site-ul administrabil respectiv. Ceea ce nu e chiar rau – la urma urmelor omul te-a platit ca sa dezvolti un tool cu care sa-ti vina mai usor tie, ca agentie, sa ii updatezi continutul site-ului. Restul de 10% in general uita cu desavarsire si de administrarea aia si mai ales pentru ce-au platit-o: ca sa-si mentina site-ul fresh, cu materiale noi si la zi, ca sa-l placa google mai mult si sa-i aduca mai multi clienti, odata cu respectul si fidelitatea lor. Asa ca, din punctul asta de vedere, la romani CMS este, inca, din pacate, un mare buzz-word.

2. Cine creaza continut? Cuuum, nu agentia??
Nu, nu agentia. Decat daca vorbim de o agentie suficient de mare incat sa aiba departament de copywrite. (pentru cine deschis televizorul abia acum, copywrite != copyright, desi se pronunta identic). Sau daca are angajati fotografi profesionisti. Sau daca macar are colaborari cu ei.
Dupa cum ziceam: nu agentia trebuie sa vina cu continutul, ci clientul. De ce? Din simplul motiv ca materialele de marketing sunt in general treaba departamentului de marketing al clientului. Asta inseamna: texte (copywriting), poze (originale si fara probleme de copyright), diagrame etc.
Bineinteles, pe langa un simpu site, un proiect mai complex poate include si servicii grafice (de prelucrare / creare de materiale de marketing) sau de copywriting. Ce nu intelege clientul roman, inca, este ca serviciile astea sunt diferite, ca scop si tratament.

Exista, de pilda, niste servicii mult mai apropiate, ca scop, de un site, decat cele despre care am scris. E vorba, de pilda, de campaniile de marketing online (bannerele, deh). Pe care, iar, multi le confunda, crezand/sperand ca pretul crearii unei campanii de bannere ar include si pretul publicarii lor pe veshnicie pe toate site-urile relevante. Confunda, vras’zica, creatia cu distributia. Sau, ca in cazul de mai sus, confunda designul cu contentul. In timp mi-am format o fraza scurta si la obiect, prin care, in cateva cuvinte, ii expun clientulul cam ce-am scris pana acum: “Eu sunt designer: adica dau o fatza frumoasa materialului tau, nu ma ocup si de crearea lui. Oricum tu, ca stapan al afacerii tale, stii mult mai bine decat mine cu ce se mananca ea – afacerea ta – si ce anume vrei sa scoti in evidentza. Daca vrei, te ajut si cu crearea de content, dar asta se discuta separat.”

[ ca o alta paranteza: imi aduc aminte cum, pe vremea facultatii (limbi straine) venea cate unul/una la mine:

– Eros, nu-mi traduci si mie o compunere pentru la scoala?
– Da, cu placere, da’ncoa, eu dictez, tu scrii.
– Aaaa nu scrii tu? (vezi lazy tourettes)
– Mai tu ai probleme cu mana sau cu limbile straine?
– (bosumflat/a) Bine ma, hai, ca scriu eu. Dicteaza-mi!
– Poi ce sa-ti dictez? Da-mi compunerea in romana, ca sa am ce traduce!!
– Aaaa, nu o compui tu?
– #@$%#%^$%$#@$%#$^$

Da, pare de pe alta lume, dar era un dialog de care ajunsesem sa ma acresc… Macar asa am invatzat ca prostia, lenea, nesimtirea si falsa-prietenie sunt defecte care de cele mai multe ori merg mana in mana ]

Revenind la problema cu Content Managementul – sincer mie nu-mi pare deloc rau de cei 90% de care vorbeam mai devreme: reprezinta un bun potential de contracte de maintenantza pe de o parte, iar reversul la fel de placut este ca, pe banii si la cererea clientului, ajungem sa ne perfectionam propriile CMS-uri, asa cum le visam noi c-ar fi ele mai bune si mai usor de folosit. SWEET!

Salvare de imagini din Flash?

Help, anyone?

De mult’shel ma chinui cu o problema: cum poti salva imagini din Flash? De incarcat o poza in Flash, online, e simplu: uploadezi poza online dupa care o incarci. Deci Flash ARE API pentru scris poze pe disc. Problema este ca, din cate stiu eu, nu poate salva decat pozele de gen “upload”.
O posibila problema ar fi incarcarea imaginii intr-un obiect de tip bitmap, apoi “descompunerea” bitmapului respectiv pixel cu pixel in valori RGB, urmata de trimiterea enormului string de date catre un script PHP care, cu ajutorul GD, sa recompuna imaginea si s-o salveze – ready for download.

Avantaje: doar unul – cu multa durere si chin pana la urma obtii ceea ce-ai vrut – sa salvezi imaginea facuta de tine in Flash, pentru ulterioare folosinte

Dezavantaje:
1. Timpul de upload enorm: chiar si cu mega-optimizari, stringul de variabile pentru o poza de 100x80px poate ajunge lejer la 7-800k – si creste exponential cu marimea imaginii. O poza de 800×640 ajunge la megi sau zeci de megi de “post data” de transmis – not feasible.
2. Puterea de calcul a Flashului. DA, exista algoritmi de compresie a textului pentru Flash, exista si algoritmi de decompresie a textului in PHP. Dar pentru o poza obisnuita (800×640) obtii o reducere a stringului de 60%, max 40%, ceea ce nu e mult deloc, si asta in conditiile in care ai rabdarea sa stai langa flashul respectiv cateva ore cat dureaza compresia respectiva (flashul sta TARE prost la handlingul de stringuri lungi)

Solutie alternativa?
Se pare ca exista: am vazut cu ochii mei, la fauxto, de care am dat prin gratiile celor doi grammos. Te inscrii frumushel acolo, iti uploadezi o poza, o modifici un pic (in Flash, cum altfel) dupa care o poti salva. Si dureaza 1-2 minute, nu 10-20 ore… Are idee cineva cum pisici au reusit sa faca asta baietii si fetitele de la fauxto?

Update: solutie mai eleganta la problema cu Flash > JS > IE6

Update la articolul Flash > Javascript > Kill IE:

M-au atras unii si altii atentia ca time-out-ul de 1-2 secunde despre care vorbeam este total irelevant pe o conexiune lenta, unde paginile se incarca in mai mult de 2 secunde. Asa e, pe conexiuni lente rezolvarea cu un mic timeout in Flash inaintea executarii js-ului nu e buna. Asa ca am mutat “timeout-ul” din Flash direct in JS:

1. Setam un setInterval:

var int = setInterval("action()",50);

2. Setam numele (name / id) SWF-ului in cauza, ca sa-l putem identifica si ca sa putem proba ca s-a incarcat in cache inainte de a trece mai departe:

var movieName = "flashul_meu";

3. Cream functia action():

function action() {
  //verificam daca swf-ul cu pricina s-a incarcat
  if (movieIsLoaded(thisMovie(movieName))) {
    mumu();  //apelam ce vroiam sa apelam din Flash 
    clearInterval(int); //stergem setInterval-ul
  }
}

Cam asta e. Codul respectiv il poti pune oriunde (la inceputul / la sfarsitul paginii, intr-un fisier js extern etc.) – el va rula in liniste pana la incarcarea swf-ului, dupa care se va auto-termina.

Flash > Javascript > Kill IE

O problema cu care m-am mai intalnit acum un an si ceva, de care uitasem si de care m-am lovit iar zilele astea:

Daca in primele 1-2 secunde de incarcare a unei pagini trimiti o comanda javascript dintr-un flash embed-at in acea pagina, IE5-6 opreste orice download in curs, rezultand o pagina incomplet incarcata

E o problema cam nedocumentata (cu exceptia catorva post-uri razlete pe net), si care, daca nu stii de ea, iti poate manca multi nervi si mult timp cautand sa intelegi ce-are loaza de IE de “moare” la incarcare. Problema e cu atat mai dureroasa atunci cand flashul respectiv este deja in cache: bunul-simt iti spune ca, fiind in cache, pagina ar trebui sa se incarce mai complet; dar flashul, actionand si el mai rapid, “taie” incarcarea paginii mai rapid si deci pagina rezulta si mai cheala. E o treaba a naibii de frustranta, repet, daca nu stii care e cauza (nu multa lume se gandeste ca un amarat de Flash ar putea cauza asa ceva.) Ei bine, combinatia asta fatala (flash > js > IE in primele secunde de incarcare) chiar E DE VINA in cazurile astea.

Solutia: foloseste un mic timer in flash, ca sa “amani” cu 1-2 secunde executia acelui javascript… works like a charm!

Meniu expandabil JS + CSS

tutorial_10.gif…sau “Building An Expanding DHTML Menu With CSS and JavaScript – revisited”.

Despre ce este vorba: despre un meniu vertical cu submeniuri care in prima faza sunt ascunse dar care la rollover se arata.

Cerintele cu care m-am confruntat:

1. La roll-over peste un element de nivel zero sa se afiseze submeniul corespunzator elementului respectiv
2. La roll-over peste un alt element de nivel zero, pe langa efectul de la punctul 1, sa se ascunda orice alt submeniu secundar, ramanand vizibil doar submeniul elementului de meniu in cauza. (sa nu am niciodata mai mult de un submeniu deschis)

Solutia cea mai eleganta am gasit-o in pagina linkata la inceputul articolului, dar era un pic cam pe langa ce-mi trebuia, asa ca am luat-o, am adaptat-o si-am obtinut exact ce-mi trebuie (vezi aici un exemplu functional, cu tot ce-i trebuie ca sa-l intelegi, daca te uiti in sursa).

Later edit: pentru o versiune de meniu mai eleganta (ca si cod/abordare), dar mai putin functionala si fara JS, citeste aici.

English Version of this article here.

Apropo de Web 2.0

– web2.0
– branding
– corporate
– wow-design
– eye-candy
….

web2.0. E ultimul buzz-word. Dac-as vrea sa vand castraveti mai bine in piata, as scrie mare pe taraba “www.castravetiWeb20.com“. As da spargere!!! Ce se ascunde in spatele acronimului? Orice scuza sferto-semi-auto-docta merge, dragilor. Puteti sa spuneti orice, prostimea pune botul. De ce? Pentru ca e mult mai bine sa aprobi decat sa pari prost.

Ce e un buzz-word? Poi as zice ca un buzz-word e orice entitate fonetica si a-semantica atat de la moda incat a nu o folosi excesiv te face sa pari neanderthalian in ochii societatii.
(pentru cine nu a inteles ce-am scris in bold mai sus: nu va obositi sa ma intrebati, articolul asta oricum nu e pentru voi. E de bine, puteti dormi linistiti.)

Sa facem un pic de istorie:

Mai an, buzz-word-ul era “Branding“. Nu erai om serios daca nu il turnai pe nerasuflate la orice coltz de covrigarie sau sales-pitch. Orice avea legatura cu designul nu mai era “la corent” daca nu se chema branding. S-a umplut peste noapte lumea de experti in branding. “www.castra-branding.com“!!!!… Am prieteni buni care s-au raliat la trendul asta trendy, unii mai rezerevati de bunul simt si de cei sapte ani de-acasa, altii mai orbeste, dar prieteneste, amical.

Inainte de asta buzz-word-ul a fost “Corporate“. Pai frate, daca nu erai in stare sa torni un “concept” suficient de “corporate”, nu erai pe nicaieri! Nu conteaza ca in Romania poti numara Corporatiile pe degetele de la maini si picioare (o persoana, va rog). TOT clientul s-a vrut “corporate”. Atunci mergea sa trantesc un “www.castraveticorporate.com“!… acum ar suna atat de fumat, zau…

Hai sa mai derulam un pic… WOW!!! Nu, nu e reactia mea. E buzz-wordul de dinainte de “corporatii”. Te duceai, acum ceva ani buni, la client, si il intrebai ce vrea de la sufletul tau de designer. Si ti-o trantea, inevitabil: un WOW-DESIGN!!! Ha? Ce-i aia neicushorule? Prutene, ne auzi? Zi-mi dom’le pe romaneste ce vrei… Daca vrei sa faci WOW, du-te matalutza la balci si casca ochii la Femeia cu Mustatza si la Omul-Shoparla… poi oameni suntem, sau fiare de calcat?

Nu mai tin minte ce a fost inainte de asta… Eram poate prea la inceputuri, si eu, ocupat sa invatz cat mai multe de la cine chiar shtia ce e de shtiut. Tin minte de mania (mult mai generala) a lui DECI… La fel de cretinoid folosit, la fel de vindecat acum…

Care mai stiti buzz-words din lumea designului, varsati aici… poate trantim de-un time-line haios 🙂 .

Later edit: cum am putut sa uit de AJAX?… mare rusine… Sau de Usability (atat de necesara, ca si concept, atat de pe nedrept data la cosul uitarii)

Google din nou (images.google.com)

Google se misca din ce in ce mai rapid, scotand la iveala noi “features”, din ce in ce mai des.

Ultima gaselnita (una minora, mai mult un usability upgrade): simplificarea prin highlighting a rezultatelor de pe images.google.com.

beal.jpg
In ultima vreme incepusera sa apara tot felul linkuri utile cautarii pe langa anumite imagini, iar rezultatele incepusera sa arate din ce in ce mai aglomerate cu informatie.

Acum Google afiseaza in dreptul fiecarei imagini numai cuvintele cheie care au scos imaginea respectiva in fatza, si DOAR la roll-over imaginea se highlight-eaza (pardon my french…) intr-un dreptunghi care contine restul de linkuri/informatii despre ea. Excellent job, dragilor!

PixelRoller

Cum ar fi sa iei trafaletele, sa-l conectezi la calculator, sa-l balacesti bine in maclavais si-apoi sa incepi sa pictezi efectiv pe perete poza din calculator? Suna a SF? Nu e. Sau, ma rog, nu e departe de realitate. Uite ce-au reusit pana acum baietii de la random-international:

pixelroller.jpg

Inovatii Google? II

Am stat si-am rumegat mai bine ce se intampla cu pagina asta de rezultate de la Google.

Aparent apare, timid, un nou concept Google – contextualizarea rezultatelor. Nici nu vreau sa ma gandesc care va fi impactul asupra lumii SEO, si-asa innebunita de faptul ca trebuie sa joace un joc ale carui reguli sunt mereu fie secrete fie ramase in urma. Era frustrant pana acum, stai sa vezi ce frustrant o sa devina in curand 😀

Primul lucru care sare in ochi la pagina linkata mai sus este faptul (complet nou pentru mine) ca rezultatele sunt despartite in 3 grupuri:

1. Primul grup pare sa contina rezultate normale relevante pentru cautarea respectiva
2. Al doi-lea grup e in mod clar un fel de “suggested related search” – in forma redusa la 3 rezultate
3. Al 3-lea grup e un total mister pentru mine, nu vad nimic deosebit la rezultatele din grupul 3 fata de rezultatele din grupul 1.

In plus, se mai observa o treaba foarte ciudata: daca priviti in coltul din dreapta sus al paginii, acolo unde scrie “Results 110 of about 627,000 for mr bojangles. (0.04 seconds) “, observati un link pe cuvantul mr. V-ati astepta sa duca catre o alta cautare google, personalizata pe acel cuvant. NOPE, nu-i asa. Linkul duce la un site extern: http://www.answers.com/.mr&r=67 (lucru iar complet nou pentru mine), evident catre o cautare personalizata.

Ce vrea sa insemne asta? Ca Google incepe sa isi trimita clientii la concurenta? sau ca Answers.com e doar un alt serviciu nou al Google? (dupa design, nu e departe). Desi brandingul lui ca serviciu complet independent nu suna deloc familiar in contextul tendintei google de a isi tine toti satelitii pe-aproape.

Noi mistere hihihi… astept opinii avizate… (ca si cum orbul ar zice “astept alt orb sa ma ghideze” :D)

Addendum: am aflat si care e faza cu Answers.com. (“Answers.com is currently being used by Google for providing definitions to search terms (by direct links). Previously, Google had used Dictionary.com for that purpose. This switch contributed a lot to Answers.com’s popularity“)