software-ul și formele

luni, 23 iul. 2012, 18:51

Being abstract is something profoundly different from being vague… The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.

Citatul îi aparține lui Edsger Dijkstra, o personalitate a lumii calculatoarelor înzestrată cu un umor deosebit de cinic, umor pe care acesta l-a exprimat cât se poate de bine în lucrările sale. De asemenea izul pasajului este oarecum ingineresc, fapt care pe mine nu mă va interesa mai deloc pe parcursul articolului.

Una din motivațiile care m-au determinat să meditez pe tema înțelesului și a iadului abstractizării a fost ideea de dificultate a comunicării, deși nu atât a comunicării în sine cât a exprimării chestiilor – adică a atomilor – în limbajul universal [i]. Premisa de la care am plecat atunci a fost aceea că oamenii se deosebesc din acest punct de vedere de celelalte animale prin faptul că pot abstractiza chestii, însă nu am definit prea bine ce înseamnă în general a abstractiza. (mai mult…)

  1. Problema comunicării e o problemă în sine – și cel puțin la fel de dificilă – care rezultă din existența mediului social, apropo de impactul societății asupra evoluției, inteligenței etc. Doresc însă să fac abstracție de aspectele astea deoarece nu le găsesc o relevanță în contextul de față. []

cum reducem consumul de energie al pisiului

duminică, 17 iun. 2012, 17:35

Articolul de față nu își propune să dea apă la moară ecologiștilor și altor specii formate din indivizi mai mult sau mai puțin ciudați care populează grădina vastă a Domnului. Cu toate astea o să merg până la a afirma că consumul de energie e o problemă importantă pentru viața de zi cu zi a individului mediu; în primul rând pentru dispozitivele gen laptop, pentru care optimizarea consumului de energie prelungește viața bateriei și asigură funcționarea în timpul călătoriilor lungi cu trenul sau cu avionul; în al doilea rând pentru dispozitivele desktop sau server, a căror funcționare se regăsește într-o oarecare măsură pe factura de energie electrică.

Acestea fiind spuse, să presupunem că rulăm o distribuție GNU/Linux oarecare cu un nucleu aflat la 3.0 sau mai nou. Hardware-ul trebuie și el să fie Intel, pentru că AMD au susținut sus și tare că nu prea sunt interesați de problema sus-numită. Procesorul ar fi de preferință să fie minim Core i3, având în vedere că Core-urile în general și i-urile în particular au facilități de power management destul de bine puse la punct. Pașii necesari (dar nu musai și suficienți) sunt următorii: (mai mult…)

evoluția interacțiunii om-calculator (iii)

duminică, 10 iun. 2012, 19:33

În încheierea episodului cu numărul doi al serialului „evoluția interacțiunii om-calculator” am promis că nu îl voi lăsa în pom pe acesta din urmă fără să vorbesc despre jocuri. Printr-o pură întâmplare am avut ocazia să citesc între timp un articol care întoarce Angry Birds pe toate părțile sale legate de utilizabilitate, interfață și design.

Adevărul exprimat în cadrul scrierii cu pricina este unul pe cât de simplu pe atât de neevident și sună cam așa: jocurile pe calculator [i] constituie în prezent apogeul interacțiunii om-calculator.

După cum spuneam și în articolele anterioare, de la Xerox și până la Apple mai nimeni din industrie nu s-a preocupat în mod special cu studiul asupra eficienței interacțiunii om-mașină. Windows a fost din punctul ăsta de vedere o varză completă o bună bucată de timp, Linux a fost mai mult sau mai puțin orientat pe interfețe textual-lingvistice iar Apple a fost mult timp la pământ din toate punctele de vedere. Drept urmare abia târziu companiile au început să se gândească cum să se inspire din PADD-urile din Star Trek, inspirație care a dat naștere PDA-urilor și apoi smartphone-urilor. (mai mult…)

  1. Când zic „calculator” mă refer de fapt la toate dispozitivele digitale interactive, adică inclusiv GameBoy, PlayStation sau iPhone. Prin „jocuri” înțeleg de fapt doar jocurile reușite din punct de vedere tehnic și artistic. []

evoluția interacțiunii om-calculator (ii)

vineri, 2 mart. 2012, 18:53

În cadrul primei părți am discutat despre cum interacțiunea om-calculator a devenit în timp o problemă serioasă, suficient de serioasă încât să merite propria sa arie de cercetare. Am prezentat apoi cum interfețele între om și PC nu au evoluat prea mult de-a lungul timpului, dat fiind că atât la nivelul software-ului cât și la cel al hardware-ului fundamentele sunt aceleași de la primele calculatoare până astăzi.

Revenind însă la dispozitivele electronice în general, remarcăm că au existat mereu segmente de piață care au rămas specializate. În trecut motivele erau în mare de ordin ingineresc: nu avea rost să strici bani pe un sistem extraordinar de complex, având în vedere că pe vremea aia orice poartă logică în plus putea da de-a dreptul peste cap tot proiectul sau creștea foarte mult costurile de producție, iar ciclul de dezvoltare nu permitea abateri în ceea ce privește livrarea pe piață.

Astfel au apărut dispozitivele embedded, pe care fie le folosim în aplicații de zi cu zi, fie nici nu știm că există. În prima categorie intră printre altele televizoarele moderne, telefoanele mobile sau calculatoarele de buzunar, iar în a doua categorie intră unitățile de procesoare aflate în frigidere, cuptoare cu microunde, controllere din mașini, avioane și așa mai departe. Dacă a doua categorie nu ne interesează prea mult din punctul de vedere al interacțiunii cu oamenii [i], prima categorie a dat naștere unor minuni ale ingineriei. Exemple relevante sunt dispozitive dedicate jocurilor cum ar fi Super Nintendo, PDA-urile, camerele foto digitale, imprimantele și cam orice telefon mobil. (mai mult…)

  1. Dispozitivele de genul au un design care ar putea fi asemănat mai degrabă cu cel al sistemelor de agenți: sunt în general unități autonome, care execută anumite munci când este nevoie de ele, fără ca noi să fim neapărat conștienți sau interesați direct de acest aspect, important în sine fiind aspectul că ele fac lucrurile să meargă. []

evoluția interacțiunii om-calculator (i)

vineri, 10 feb. 2012, 20:03

Din motive pentru care nici eu nu le înțeleg prea bine, simt că există (undeva în sfere înalte) necesitatea de a discuta despre interfețele între noi, adică oamenii, și aceste mașinării minunate pe care noi le numim calculatoare. A se lua la cunoștință că prin „calculator” înțeleg la fel de bine PC desktop, laptop, smartphone și ce mai folosește omul mediu în ziua de azi, toate fiind mașini de calcul și toate fiind relevante din punctul de vedere al interfeței, pentru că dacă n-ar fi nu am fi aici.

Din acest motiv mă voi întinde pe mai multe articole, însă nu mai mult de două-trei, hai patru în cazul în care îmi năvălesc ideile în capul cel de sus și nu le mai pot ține în mine. La o adică aș putea scrie o carte întreagă pe temă, însă nu îmi doresc să fac asta, la fel cum nu îmi doresc să abordez problema dintr-un punct de vedere pur științific. La fel de bine nu înțeleg de ce există o întreagă arie de studiu pe tema asta, însă nu-s eu în măsură să judec acest aspect.

Din punct de vedere strict conceptual (iar aici meritul e în totalitate al domeniului HCI), există o dorință a omului de a comunica cât mai natural și mai eficient cu entitățile din jurul său, deci inclusiv cu dispozitivele electronice. În trecut nu a existat o preocupare majoră în sensul ăsta, având în vedere că dispozitivele veneau cu un manual de utilizare și cinci-zece butoane, iar inginerii asigurau că totul va funcționa în parametri bine stabiliți. Lucrurile s-au complicat odată cu apariția calculatoarelor, care au adus (prin software) o diversitate nemaivăzută până atunci, diversitate care e în măsură să bage utilizatorul mediu într-o totală confuzie.

Cu toate astea, și în ciuda faptului că au existat și există încercări mai mult sau mai puțin fructuoase de a aduce mașina mai aproape de utilizator, lucrurile nu s-au schimbat foarte mult față de anii ’70-’90. Folosim în continuare așa-zise „pointing devices”, iar tastatura rămâne în continuare cel mai la îndemână și mai util instrument de interacțiune cu calculatorul până și pe smartphone-uri. (mai mult…)