Interfete 4 Web - Carcoteala zilnica despre interfete web: 2008-11-02

Concursuri de interfete web

M-am gandit sa googlesc despre concursuri de interfete web (web design) si chiar blog design, pentru ca de felul meu sunt mai competitiva :)

Am dat peste un concurs romanesc Best Blog Design a carui prima editie s-a desfasurat anul trecut.

Se pare ca oamenilor le-a placut deoarce in curand va avea loc BBD 2008 :



Concursul are 2 categorii: teme originale si teme adaptate. Eu le-as sugera sa adauge si categoria Pimp our blog...ca blogul organizator nu are nimic deosebit...si daca tot organizeaza un concurs de blog design ar putea sa ridice un pic stacheta.

Am pus mai jos cateva din design-urile castigatoare:





...nice...dar cred ca se poate si mai bine...voi ce ziceti...se baga careva?

Lasand bloggingul pentru zilele mai insorite de buna dispozitie...sa revenim si la web design pe bune...adik atunci cand e nevoie de un site...se lanseaza concursul...vine castigatorul cu cel mai cool, cel mai practic, cel mai estetic site si ia premiul:)

Un site cu destule "concursuri" care au premii destul de mari zic eu:P (care n-am facut un site pe bani niciodata:D) este 99designs

Dar cel mai interesant concurs cred ca ar fi American Design Awards



Pentru web design categoriile sunt Web Design (Flash), Web Design (Non-Flash), Web Design (Portofolio). Concursurile sunt de 3 feluri: monthly, semi-annual si student competition.

Am intrat random sa vad castigatorii la concursurile lunare si in iunie din 800 si ceva de participanti au fost premiati aproape 40. Am vizitat si eu siteurile a 2 castigatori...foarte tare ce pot sa zic: FUFUFU si Rival Schools

La 2008 summer semi annual castigatorii de la sectiunea portofolio s-au regasit printre castigatorii de la sectiunea flash: fromscratch si FL2. Nu ma pricep eu prea mult la design ca altfel nu ajungeam in poli:P dar mi se pare ca design-urile sunt minimaliste, adica atentia e atrasa de elementle esentiale si nu deviata catre lucruri flashy si nefolositoare:D

Astept si parerea persoanelor mai pricepute:P

Articol anterior: Interfete Web

P.S. Pentru fanii Habarnam: Aventurile lui Habarnam şi ale prietenilor săi audio

Ce sa nu faci intr-o interfata web

Orice designer ce incepe creare unei interfete web cauta in primul rand tips pentru crearea unei interfete atat aspectuoase cat si usor de folosit.

Unul din primele elemente recomandate este de a nu incarca interfata, folosind principiul: "Less is more". Este de preferat sa existe o structura ierarhica, iar sectiunile sa fie listate, succint fara o descriere detaliata, apoi fiecare sa fie dezvoltata individual. A pune o serie de articole pe aceeasi pagina avand multiple subiecte este una din cele mai comune greseli intalnite. Crearea de sectiuni, avand fiecare descrierea ei, imbunatateste si sansele ca subsectiunile aferente sa aiba un rank mai bun la motoarele de cautare.

Un al doilea element este de a avea un aspect cat mai placut, pe de-o parte folosind fonturi/culori diferite pentrua evidentia anumite puncte importante fara insa a-l face pe cel ce vede siteul sa plece cu ochii rosii. Se recomanda folosirea CSS pentru asigurarea unei interfete cat mai mentenabila, si a textului normal (nu poze de exemplu), lizibil si de motoare de cautare. In plus imaginile ar fi bine sa fie comprimate, sa nu fie nevoie sa ma plictisesc asteptand incarcarea paginii.

Inca un element ar fi de a realiza un layout user friendly, meniuri usor vizibile si avand sectiunile de baza ale siteului. De asemenea, folosirea de labeluri pentru articole este foarte utila atat pentru un user care cauta ceva anume cat si pentru un motor de cautare.

Un exemplu care m-a distrat despre ce sa nu pui intr-o interfata este urmatorul:

Voi ce buton ati alege la intrebarea din fereastra? :)










Un ghid util poate fi gasit aici.
Reblog this post [with Zemanta]

SQL injectors si best practices in interfetele web. Exemplu curs.cs.pub.ro

Am citit de curand pe un blog un articol despre posibilitatea de atac asupra scripturilor de autentificare ce primesc parametrii din shell, precum: "auth.sh user parola" si userul malitios introduce o parola de genul "auth.sh user parola;rm -rf /"

Aceeasi idee este intalnita in foarte, foarte multe cazuti de atacuri asupra interfetelor web, dar sub o alta forma - SQL injection. Cum majoritatea interfetelor web au in spate o baza de date, orice actiune de login se va solda cu un query de genul:
"select from users where name=\"" + txtUser.text + "\" and password = \""+ txtPassword.text + "\";"
unde txtUser si txtPassword sunt doua campuri de tip text pe care le completeaza userul. Pentru utilizatorul gigi cu parola 1234, acest query va deveni, inlocuind datele select from users where name="gigi" and password = "1234"; .

Daca utilizatorului i se permite sa introduca parola sau user care sa includa caracterul ", atunci acest query se poate transforma in:
select from users where name="gigi" and password = "12";drop table users;select from log where transaction_id=""; . In acest caz, userul si-a ales parola foarte inspirat: 12";drop table users;select from log where transaction_id=" .

De la aceasta idee simpla a pornit o intreaga industrie a hackerilor. Sunt faorte multe posibilitati de ataac, toate cu aceeasi baza. Daca va intereseaza subiectul, puteti citi mai multe aici.


Totusi, lucrurile nu sunt atat de rele pe cat par; majoritatea interfetelor web sunt sigure:
  • Hackerul trebuie sa conoasca structura tabelelor, cel putin un pic. Acesta se poate ghici dar nu e chiar asa de usor.
  • De obicei nu se trimite parola in clar, ci se aplica asupra ei, local, pe masina utilizatorului, o functie care produce un hasth al acesteia. La server se compara hashurile pentru acordarea accesului. Cum controlul asupra hashului nu apartine hackerului, este destul de greu sa mai foloseasca pentru atac campul parola. Ramane campul utilizator.
  • Daca programatorul foloseste un framework de dezvoltare web si nu scrie codul de la 0, probabilc a exista deja protectie impotriva acestui tip de atatc. Daca acest lucru nu se intampla insa, protejarea cade in sarcina programatorului. Daca acesta nu este foarte junior ;) probabil va interzice prezenta caracterelor \ si " in campurile sensibile (care ajung sa fie introduse intr-un query, sau le va escapa inainte. Nu doar cele care ajung in query-ul de log in, ci in toate query-urile,c a sa nu alse vreo gaura in securitate.) E bine sa programezi defensiv.)

Sa analizam cazul curs.cs.pub.ro, care foloseste aplicatia CMS (Course Management System, nu Content Management System de aceasta data) Moodle. Conturile sunt facute de un admin specializat la noi in facutalte. Parola in schimb, se poate schimba la discretie. Un coleg mi-a povestit, acum cateva luni cum si - a schimbat el parola sa includa " . Si a mers. Doar ca mai apoi, nu s-a mai putut loga pe site deloc. :) Interesant. Problema a fost expusa la nivelurile superioare de decizie. Ce s-a intamplat de atunci , nu stiu si pe siteul Secunia nu a mai aparut o avertizare de posibil SQL injection pentru Moodle din 2005.

Voi ati intalnit personal situatii in care atacuri de acest tip, au provocat probleme?
Interfetele web facute de voi cum stau la capitolul asta? In ce layer puneti codul de verificare?


Reblog this post [with Zemanta]

De ce nu e Mircea Badea programator?

Am fost de curand la liceul unde mi-am petrecut eu tineretea :P, CNITV, adica Colegiul National de Informatica "Tudor Vianu" (CNITV), ala cu jdemii de olimpici si profesori de marca si nu prea si l-am revazut, din intamplare, pe domnul profesor Homorodean.

Dansul mi-a fost aproximativ un an profesor de informatica, asa ca am avut ocazia sa il cunosc destul de bine. Este un tip foarte deschis si amuzant, se intelege bine cu toata lumea , dar mai ales cu fetele (frumoase!). Ne-a povestit cu mandrie cum maretul Mircea Badea insusi a fost elevul sau - i-a fost diriginte chiar.

Am stat sa ma gandesc... cum domle de si-a ratat domnul Badea o cariera de mare succes ca programator? Ca de, a facut liceul de informatica degeaba?!

Domnul Badea, cunoscut mai ales pentru remarca sa superinteligenta : Traim in Romania si asta ne ocupa tot timpul", pe care, cand o aud, mie imi vine sa ma dau cu capul de toti peretii, are o problema cu egoul. Mai exact, nu mai are loc de el. Pai daca ar fi fost programator, nu ar mai fi avut ocazia sa faca misto de toata lumea in fata a multor mii de persoane cu inteligenta limitata :) care il privesc cu uimire proletara!

In plus, nu ar mai fi avut ocazia sa isi arate muschii acelorasi persoane fascinate de acest lucru. Pentru ca da, Mircea Badea face box si, ca sa se mai umfle putin egoul ala, isi pune videouri cu el si sacul de box pe youtube, sa vada toata lumea ce l33t este el si ce skills are - ca sa nu mai zic de talent.

Priviti si va minunati singuri pe youtube, nu dau link ca dupa aia atrag genul de vizitatori pe care nu ii doresc. :)) Dar o sa pun o parodie care mi s-a parut amuzanta cu domnul in chestiune si un model inspirational pentru el. Nu va sfiiti sa o urmariti, are 5 stele din 5 pe youtube si face misto si de hi5. Doi iepuri dintr-o lovitura!



Nu zic ca omul nu face misto cat de cat ok si nu il cunosc personal, dar nu era mai bine sa se dupa sa isi discute problema pe care o are cu Serban Huidu (care este "extraordinar de prost" dupa el), decat sa nenoroceasca sacul ala de box doar ca sa il vada lumea? Parca avea centura neagra omul. Episoadele in care astia doi se earta sunt hilare. Pe cat de relaxat e Huidu pe atat de incrancenat e supremul ninjalau Badea, sa nu ii plesneasca vreun vas de sange, doamne fereste!

Off off, si mandria asta ... cred ca e singura caracteristica pe care o are in comun cu programatorii...

Ecaterina Andronescu şi studenţii

În timpul ultimei noastre întâlniri, pe când stăteam cu laptopul la masa de sub cupola rectoratului, bucurându-ne de access pointul de acolo, doamna rector Andronescu (Cati pentru amici :P) s-a apropiat de noi întrebându-ne: "La ce sunteti voi studenti?". Noi: "Calculatoare". Dupa ce am explicat ce căutăm acolo, am fost întrebaţi dacă să se mai pună mese în zona pentru cei ce doresc să vină cu laptopul şi să lucreze acolo într-o pauză. Răspunsul nostru a fost în cor: "DA".

Astăzi pe când treceam pe acolo am observat că a mai apărut o masă. Voi ce părere aveţi despre asta? E util? Aţi veni acolo în pauză?

Chuck Norris si interfetele web

Ha! Am trait sa o vad si pe asta. Care e legatura intre cele doua? Ei bine, un Chuck Norris fact!

Daca nu stiti, exista asa numitele facts - mici fraze amuzante referitoare la Chuck Norris. Pornite de la vitejia exceptionala a acestui urou minunat, vitejie dovedita inca de la "Walker, politist texan", prin privirea incruntata, pozitia perpetua de atac si lovitua lui emblematica - roundhouse kick -, ele sunt originare de aici.


Nu mi-a venit sa cred, dar exista o groaza de facts despre chuck Norris si reusitele lui de programator! L33t! :))

  • Chuck Norris always uses his own design patterns, and his favorite is the Roundhouse Kick.
  • Chuck Norris could use anything in java.util.* to kill you, including the javadocs.
  • Chuck Norris can hit you so hard your web app will turn into a swing application, and a very bad swing application containing lots of icons of human skulls.
  • A synchronize doesn’t protect against Chuck Norris, if he wants the object, he takes it.
  • Chuck Norris’ java code never needs to be optimized. His code is so fast that it broke the speed of light during a test run in Sun’s labs killing 37 people.
  • Chuck Norris methods doesn’t catch exceptions becuase no one has the guts to throw any at them.
  • Java visibility levels are public, default, protected, private and “protected by Chuck Norris”
  • Chuck Norris codes generics since 1.3.Garbage collector only runs on Chuck Norris code to collect the bodies.
... si ultima dar nu cea din urma...
  • Chuck Norris only programs Java web applications to get a .WAR in the end.
Dintre toate facts-urile despre Chuck, care e favorita voastra?
Reblog this post [with Zemanta]

Am primit cel mai tare premiu pentru blog!

Azi dimineata, cand sa imi citesc mailul, hop, ce rasare in inboxul in gmail? Cica am primit un premiu pentru blog! Ce sa fie, ce sa fie? asa devreme? Nu avem prea multi vizitatori inca, oare pentru ce am primit un premiu?

M-am lamurit instant cand am vazut:

The Best Speller Award

Awarded to Dragos

Omul care a trimis asta chiar ma cunoaste! :))

Cand interfetele ucid

Multi dintre noi nu ne dam seama exact de importanta unei interfete cu design corespunzaor. Astazi, tot mai multi designeri pun accentul pe frumusete si pe animatii care sa atraga privirea si transforma drumul unui user prin site, dintr-o placere, intr-o aventura ce necesita zeci de clickuri.

Credeti ca asta e cel mai rau lucru ce se poate intampla? Think again! Interfete om-masina sunt in toate domeniile si in multe cazuri, viata oamenilor depinde de ele.

Un astfel de caz este si al cataretului John Denver, care a murit din cazua unei alegeri proaste de design a creatorului avionului sau. In general, maneta de oprire a alimentarii cu combustibil a motorului - care se foloseste incaz de incendiu - se pune intr-un loc usor accesibil, precum semnalul de alarma in trenuri; ei bine, la acest avion , era plasat in spatele pilotului, care nu l-a observat - cel putin nu la timp. Si asa a ramas lumea cu un cantaret mai putin. Cititi intreaga poveste aici.

As mai putea da exemple de acest gen, dar ma rezum la a mentiona un alt domeniu in care consecintele designului prost sunt la fel de grave: medicina. Se apre ca americanii au gasit 22 de feluri in care ti se poate administra medicamentatia gresita datorita problemelor de design software si de interfete.

In concluzie, inainte sa implementati designul unei interfete - fie ea pentru o aplicatie locala sau web - ganditi-va de doua ori la usability.

Cum sa obtii o interfata super nasoala?

R: Pune un programator sa o faca.



Via Coding Horror; e mai veche, dar un clasic ramane un clasic.