vineri, 30 noiembrie 2007

Cine e pe locul trei ? Spaima eeeeee, spaima eeeee


Iata ca echipa noastra se tine de cuvant.Am ajuns pe podium la google dupa cautare cu"interfete evoluate". Iar la Yahoo! suntem pe locul intai.

Clasarea aceasta a fost o oarecare surpriza si pentru noi. Nu ne asteptam sa ajungem atat de sus intr-un timp atat de scurt. Lucrul acesta ne bucura, dar ne si obliga sa tintim mai sus.

Stiti cum se spune e greu sa ajungi in top, dar si mai greu sa te mentii acolo.

vineri, 23 noiembrie 2007

Tanenbaum in Romania

Da, e adevarat !! Andrew Tanenbaum a venit in Romania, chiar la noi in Politehnica. Stiu ca acest topic nu are legatura cu proiectul la interfete evoluate, dar un asemenea eveniment merita mentionat. Toata lumea (adica cei de le A&C)a asteptat cu nerabdare evenimentul, dupa parerea mea a fost ceva similar cu venirea lui Michael Jackson la inceputul anilor 90.

Din pacate organizarea a lasat de dorit. Ar fi fost mult mai potrivita sala A 500 pentru un asemenea eveniment.Prezentarea a fost excelenta, dl Tanenbaum fiind deosebit de carismatic. Pe scurt, ne-a vorbit despre Minix si Turtle.


Iata aici un filmulet realizat de Bogdan

Din viata si opera "premiantilor"


Curios din fire cum sunt, am mai aruncat si eu cate o privire pe topul premiantilor la cautarea Google dupa interfete evoluate. Cum ajungi si cum te mentii in top e treaba dificila, toata lumea stie asta. O referentiere de la un site ca softpedia nu e de ici de colo, ca si traficul pe care mai mult ca sigur ca o sa-l inregistrezi.

Bine-bine, da' cum facem? Link direct nu putem pune ca zburam de pe forum, incalca regulamentul. Nici macar in semnatura nu-l putem baga fiindca si asta e interzis. Iata varianta castigatoare: niste baieti tocmai au primit o gluma buna "pe mess" si fiindca era asa de buna s-au gandit sa o arate intregului forum. HAHAHAHAAAHAHAHAh ce amuzanti sunteti baieti, am ras cu lacrimi o ora intreaga, iar seful meu a ras toata ziua cand a auzit-o. Pana si cei mai "tulburi" colegi programatori s-au scuturat de ras cand au auzit gluma asta asa de buna. Pacat ca nu mai e emisiunea aia cu bancuri cu Florin Piersic, ati fi facut o treaba excelenta.
Adevarata gluma exista pe undeva, pe acolo pe unde dezvoltati site-ul dar nu e nevoie sa scrieti cod PHP, editati HTML-uri, CSS-uri... Nu este nevoie!

Nu este nevoie sa-mi multumiti pentru traficul facut, este modul in care ma pot revansa pentru momentele amuzante oferite.

miercuri, 21 noiembrie 2007

Ce-i aia publicitate?


Asta urmeaza sa descopere concurenta noastra in zilele care urmeaza. Dan a venit cu o idee pe care vom incerca sa o dezvoltam si care o sa ne arunce in aer traficul pe site. Pana aici nimic deosebit, nu? Idei care sa rezolve problema traficului sunt o multime; pana si noi - iarasi trebuie sa-l mentionez pe Dan :) - am avut vreo cateva care se aplica destul de bine.

DAR, ceea ce urmeaza sa punem in aplicare va fi strict legat de interfetele evoluate. Gata cu spam-ul pe yahoo messenger, rugat colegii de serviciu si vecinii de scara sa dea un click. E timpul sa trecem de la spam la publicitate.


Succese in ramura!

Cin Cin


Se pare ca nu am tinut degeaba sampania la rece. Dupa un efort colectiv laudabil (bravo echipa :D) e timpul sa spargem sticla, dar nu o sa ciocnim prea tare sa nu distrugem codul. Ne-a indexat in sfarsit Google, si surpriza, aprem pe pozitia a 15-a la un search cu "interfete evoluate"

Keep up the good work team ! Suntem pe un trend ascendent si intentionam sa mentinem trena ridicata. De asemenea, vom pune referinte pe blogul nostru la proiectele care ni se par interesante si care merita apreciate.

Nu ezitati sa ne vizitati site-ul, pregatim o serie de articole interesante ce merita atentia voastra.

luni, 19 noiembrie 2007

Tutorial XMLSchema

Va prezint un mic tutorial despre folosrirea XMLSchema cu programul XMLSpy al celor de la Altova:

Hints tema 2


Tema 2 la interfete evoluate se pare ca a ridicat destule probleme. Eu am ales folosirea limbajului Python impreuna cu pachetul MySQLdb. Am reusit astfel in mai putin de 100 de linii de cod sa parsez informatii de pe site-ul www.hi5.com si sa le adaug intr-o baza de date.
Partea de parsare am realizat-o cu SGMLparser. Deoarece datele de pe hi5.com sunt publice am scapat de bataia de cap cu problemele de logare. Apoi am extras top friends si persoanele care au dat comentarii la profil.
Pachetul MySQLdb il puteti gasi la adresa http://sourceforge.net/projects/mysql-python . Utlizarea lui este deosebit de simpla.
Trebuie mai intai sa importati pachetul folosind linia import mysqldb

Conectarea la baza de date se realizeaza in felul urmator database=MySQLdb.connect(host="numehost",user="userid",passwd="parola",db="baza voastra de date"). Ramane problema unui server MySQL, pentru aceasta va recomand site-ul www.zendurl.com, unde va puteti crea un cont in cateva secunde, si marea facilitate este ca va permite accesul remote la baza de date mysql. Trebuie doar sa stiti ca numele hostului este mysql.zendurl.com,deoarece lucrul acesta nu este precizat pe site-ul lor.

Interogarea bazei de date se face creand mai intai un cursor cursor = database.cursor() , iar interogarea se face astfel cusor.execute("SELECT * FROM baza de date") sau orice comanda de genul.

miercuri, 14 noiembrie 2007

Site "de-a gata" vs. creatie proprie

...probabil una dintre primele intrebari care au aparut in cadrul fiecare echipe de proiect la interfete evoluate. Raspunsul banuiesc ca a venit la fel de repede: template, n-are rost sa pierdem vremea. Cu siguranta ca daca am vrea ne-am face un site de la cap la coada, cu tot ce ii trebuie. Dar daca tot stim ca putem sa-l facem, ce rost ar avea sa pierdem vremea :).

Ei bine, din punctul meu de vedere varianta aleasa nu prea se potriveste cu statutul de [aproape] inginer. S-ar potrivi de exemplu cu statutul de angajat intr-o companie oarecare, unde dupa cum bine stim conteaza in primul rand productivitatea. Altfel n-ar mai fi aparut framework-urile care sa ne faca viata mai usoara.

Iata un citat dintr-un pdf pe care l-am citit toti:

Proiectul va urmari ca studentii sa acumuleze urmatoarele
competente: dezvoltarea unui site web, [....]

Ca sa nu mai lungesc vorba, consider ca partea de design ar fi singura la care putina "inspiratie" este intr-adevar binevenita. Cat despre partea de functionalitate a site-ului, nu mi se pare just sa ai functionalitati care mai de care fara sa stii macar cum lucreaza in detaliu (nu mai spun sa le fi implementat de la zero). Cred ca unii dintre noi s-au lasat pacaliti de numele interfete evoluate si privesc lucrurile doar din punctul de vedere a celui care da constiincios click-uri.

marți, 13 noiembrie 2007

XMLSchema


La laboratorul de azi am facut XMLSchema. Ni s-a cerut sa transformam tema noastra 1 folosind de aceasta data XMLSchema.
Iata rezolvarea noastra:


Fisierul Xsd:
< ?xml version="1.0"?>
< xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">

< xs:element name="date">
< xs:complexType>
< xs:sequence>
< xs:element name="nume" type="xs:string"/>
< xs:element name="prenume" type="xs:string"/>
< xs:element name="sex">
< xs:simpleType>
< xs:restriction base="xs:string">
< xs:enumeration value="masculin"/>
< xs:enumeration value="feminin"/>
< /xs:restriction>
< /xs:simpleType>

< /xs:element>
< xs:element name="data" type="xs:date"/>
< xs:element name="cnp" >
< xs:simpleType>
< xs:restriction base="xs:string">
< xs:pattern value="([0-9])*"/>
< xs:length value="13"/>
< /xs:restriction>
< /xs:simpleType>
< /xs:element>
< /xs:sequence>
< /xs:complexType>
< /xs:element>

< /xs:schema>


Fisierul XML:
< ?xml version="1.0"?>

< date>

< nume>Tove< /nume>
< prenume>Jani< /prenume>
< sex>masculin< /sex>
< data>1987-10-11< /data>
< cnp>1234567890123< /cnp>
< /date>




Iar pentru validare mergeti aici si introduceti cele scrise mai sus.

luni, 12 noiembrie 2007

Echipa Racheta se intoarce


Echipa noastra se pregateste sa revina in top. Dupa mici dificultati tehnice si de ordin organizatoric, site-ul nostru va fi relansat cu un nou layout, adecvat unui site tehnic, cu noi articole, si speram noi cu un pagerank cat mai bun. Ramaneti pe domeniu !

duminică, 11 noiembrie 2007

Ceva amuzant(3)

Si joculetul cu Adi

Ceva amuzant(2)




Si varianta cu Dan

Ceva amuzant

Ca sa mai destindem atmosfera, va prezint niste jocuri haioase




Si varianta cu Dragos

vineri, 9 noiembrie 2007

Ne-am mutat


In urma problemelor interminabile pe care le-am avut cu cei de la lx.ro am hotarat sa ne mutam. Si cum Adi a vrut oricum sa-si cumpere un domeniu, ne va gazdui el si site-ul proiectului de la interfete evoluate.
Urmeaza acum sa schimbam toate referintele.

Desi a fost o miscare cam drastica, in acelasi timp a fost si total necesara, deoarece site-ul era mai mult down decat running.

In continuare ramane valabil www.interfeteevoluate.tk
Urmeaza sa ne apucam serios de treaba.

miercuri, 7 noiembrie 2007

XML

             Istorie XML – (eXtensible Markup Language) este un limbaj de adnotare/structurare a datelor. Istoria aparitiei sale porneste de la SGML (Standard Generalized Markup Language) aparut in anii 80. Acest limbaj isi propunea la aparitie sa creeze documente ce pot fi analizate de catre masini prin introducerea de marcaje (sau taguri). SGML nu a fost un succes deoarece era foarte complex si astfel crearea de programe care sa-l analizeze. In anii 90 la CERN a aparut HTML-ul (HyperText Markup Language). La baza acestui limbaj a fost SGML-ul si scopul sau a fost marcarea documentelor astfel incat sa poata fi transmise prin retea. Una din ideile acestui document este ca browserele trebuie sa ignore marcajele si atributele pe care nu le inteleg. Aceasta idee a avut ca efect din cate cred eu aparitia unui limbaj mai simplu care sa poata fi parsat rapid de catre browsere. Si astfel s-a dezvoltat HTML-ul.
             Succesul avut de Web a cauzat o dezvoltare rapida a browserelor care analizau marcajele HTML. Astfel au aparut o gama larga de marcaje si atribute care puteau fi scrise fara prea multe constrangeri. Browserele au trebuit sa tina cont de aceste constrangeri si au devenit foarte complexe. Pe de alta parte s-a sesizat utilizarea HTML-ului pentru adnotarea documentelor si o slabiciune de-a sa – faptul ca nu se pot adauga marcaje noi.
               In acest context in decembrie 1997 W3C (World Wide Web Consortium ) a lansat ca recomandare propusa versiunea 1.0 de XML. In acest document se afirma ca XML este un subset al SGML care pastreaza caracteristici cum ar fi posibilitatea crearii de marcaje, posibilitatea de validare, posibilitatea de a fi citit si inteles de catre oameni. Totodata se afirma ca XML este creat pentru a fi folosit pentru adnotari, schimb de date, publicare documente si prelucreare automata de catre clienti (agenti) inteligenti. Pastrand un subset al SGML impreuna cu un set de constrangeri documentele XML vor putea fi prelucrate foarte rapid de catre parsere neavand limitele date de complexitatea SGML.
             Cazuri de utilizare Am vazut pana acum ca XML-ul este un limbaj care permite structurarea si adnotarea datelor intr-un mod lizibil atat de catre oameni cat si de catre calculatoare. Avand aceste calitati putem oarecum deduce unde se poate folosi in mod practic si unde este mai putin recomandat.
             Poate cel mai evident caz de utilizare este cel al fisierelor de configurare. In momentul de fata foarte multe aplicatii isi pastreaza fisierele de configurare in XML. Motivele sunt cele enuntate mai sus – parsare rapida pentru calculatoare, usor de citit de catre oameni, structura logica a datelor.
             Un alt caz in care se foloseste XML si in care se pare ca va deveni un standard este cel al stocarii informatiilor din fisiere tip office. Daca in momentul de fata formatul fisierelor din cadrul Microsoft Office este necunoscut (desi se fac presiuni sa se dezvaluie), dezvoltatorii de solutii office open-source au standardizat un format numit Open Document. Acest format presupune salvarea oricarui document de tip office – document, foaie de calcul (spreadsheet), prezentare – intr-un format XML. Informatia este stocata in mai multe fisiere care sunt arhivate si astfel utilizatorul poate vedea numai un singur fisier de tip *.sxw sau *.odt, etc. De ce s-a alex XML pentru un astfel de format? Pentru ca ofera avantajele structurarii informatiei si mai ales pentru ca s-au dezvoltat deja foarte multe alte limbaje si standarde pe baza lui. Aceste limbaje (XHTML, SVG, XSL, SMIL, XLink, XForms, MathML, Dublin Core) sunt folosite si ele in acest format si deoarece toate au la baza XML interoperabilitatea este garantata. XML are si un dezavantaj care este dat de faptul ca introduce informatie redundanta (overhead). Informatia redundanta este reprezentata de numele marcajelor care se repeta in document. Aceasta problema a fost rezolvata de cei de la Open Office prin arhivarea fisierelor XML intr-o arhiva zip. Astfel s-a rezolvat problema spatiului suplimentar aparut prin introducerea unei mici pierderi in viteza.
             Concluzii XML-ul este un limbaj cu o sintaxa simpla si care permite doar structurarea datelor intr-o maniera proprie prin definirea propriilor taguri. Aceasta facilitate de structurare a datelor a permis folosirea sa pentru a dezvolta limbaje noi precum si pentru a fi folosit in noi standarde de stocare a datelor. Nu in ultimul rand XML-ul poate fi folosit pentru a schimba date intre aplicatiile care au nevoie de a comunica intr-un limbaj comun.
Chiar si in ciuda dezavantajelor pe care le are (overhead) calitatile XML mai sus mentionate ii permit sa fie folosit cu succes in multe domenii si sa fie piatra de temelie pentru si mai multe domenii.

luni, 5 noiembrie 2007

Math ML

MathML este un limbaj care inlesneste comunicarea pe internet si care permite utilizatorilor sa codeze atat notatiile care reprezinta obiectele matematice cat si structurile matematice. El reprezinta implinirea unui deziderat: crearea unui mark-up language care sa poate reproduce atat prezentare cat si expresii matematice.Toate elementele MathMl se impart regasesc intr-una din categoriile de baza: elemente de prezentare, elemente de continut si elemente de interfatare.
            Elementele de prezentare descriu notiunile matematice orientate vizual pe o structura bidimensionala. Exemple de astfel de elemente sunt mrow, care este folosit pentru a indica o linie orizontala de expresii, iar msup este folosit pentru a marca o expresie si o suprascriere a ei. Ca si regula generala, fiecare element de prezentare corespunde unui singur tip de schema notationala cum ar fi o linie, un superscrit, un subscript sau un underscript. Orice formula este facuta din unirea partilor componente simple care pot fi analizate- litere, cifre, simboluri. In contexul marcajelor de continut un superscript ar fi reprezentat de o operatie exponentiala care ar avea nevoie de doi operanzi. : „baza” si „exponentul”. Aceasta nu este o coincidenta, deoarece formatul matematic urmareste in de aproape structura logica a obiectelor matematice. Natura recursiva a obiectelor si notatiilor matematice este reflectata in marcajele MathML. Cand sunt folosite elementele de prezentare si continut contin elemente corespunzatoare elementelor constituente care se obtin din schema initiala prin recursivitate. Schema originala se cheama schema parinte, iar constiuenti sunt numiti general schema copii. Generalizand, expresiile MathML pot fi vazute ca arbori, in care fiecare nod corespunde unui element MathML iar ramurile – legatura intre nodul parinte si nodul copil, iar frunzele corespund notatiilor atomice care contin unitati – numere, caracter, etc. Cele mai importante elemente de prezentare sunt mi, mn, mo care reprezinta identificatori, numere si operatori. In elementele de continut sunt in numar de 3 : ci, cn si csymbol respectiv pentru identificatotri, numere, si simboluri noi

             Marcajele prezentare
MathML sunt in numar de 30 si pot accepta pana la 50 de atribute. Majoritatea dintre ele apartin un scheme care contine si alte elemente de prezentare. Fiecare schema de layout corespunde unei element notatii bidimensionale cum ar fi superscript sau fractii, tabele. Sunt si elemente „goale” care au rolul de a ajuta al aranjarea in pagina. Schemele de layout se impoart in 3 clase. Un grup de elemente il reprezinta scripturile si contine msub, munder, mmultiscripts. Alt grup il reprezinta elementele de layout – de aranjare in pagina – mrow, mstyle, mfrac. Cel de-al treilea grup il reprezinta elementele care ajuta la crearea tabelelor. O categorie speciala o reprezinta maction care permite codarea tipurilor variate de actiuni si notatii.
             Marcajele continut
sunt aproximativ in numar de 120 si pot accepta nenumarate atribrute. Majoritatea acestor elemente sunt elemente goale corespunzatoare unor operatori, relatii, functii variate. Exemple de aceste elemente sunt: partialdiff, leq, tan. Operatorii de tipul „matrix” sunt folositi pentru a coda diverse tipuri de date matematice.Elementul cel mai important este apply folosit pentru executia operatiilor si expresiilor si pentru a crea noi obiecte matematica.
             Abecedarul sintaxei XML.Deoarece MathML este o aplicatie a XML, specificatiile MathML folosesc terminologia XML. Pe scurt datele XML sunt compuse din caractere Unicode care includ si caracterele ASCII, Referintele entitate cum ar fi &lt care sunt numite si caractere extinse. Asemenea XML-ului si MathML este case-sensitive. Pentru usurinta se recomanda ca toate specificatiile sa fie scrise cu litere mici.

A aparut tema 2 la Interfete evoluate

Tema 2 este destul de interesanta,ni se cere sa cream un mic crawler si sa analizam un anumit domeniu, stabilind relatiile ce exista intre useri.

Enuntul temei este urmatorul:

Pe internet exista un mare numar de comunitati online. Prin comunitate pe internet intelegem o multime de oameni ce efectueaza o activitate impreuna (scriu mesaje pe un forum, joaca un joc multiplayer, etc.). Pe baza acestor activitati se formeaza retele sociale – grafuri de mari dimensiuni ale relatiilor online dintre membrii comunitatii. Pentru a extrage un astfel de graf dintr-o aplicatie online metoda uzuala este de a scrie un program care analizeaza paginile web ale site-ului comunitatii si extrage datele referitoare la colaborarile dintre persoane. Acest program trebuie sa-l faceti voi ca temaJ

Aplicatia se bazeaza pe urmatoarele proprietati ale acestor site-uri:

* Paginile site-ului sunt generate dinamic => toate vor avea aceeasi structura.
* Cea mai mare parte a linkurilor din aceste pagini duc tot in pagini ale site-ului.




Din aceste proprietati rezulta ca este suficient sa se scrie un script/clasa/functie care sa analizeze o pagina HTML si sa se aplice aceasta functie pe toate linkurile din interiorul site-ului.

Datele extrase din site-ul web vor fi salvate intr-o baza de date ce va avea urmatoarea structura:


model relational

In tabelul utilizator se salveaza datele despre un anumit utilizator (linkul catre profilul sau de pe site si username-ul – daca exista)

In tabelul colaborare se salveaza toate instantele de colaborari dintre 2 utilizatori, tipul colaborarii (pot fi mai multe tipuri in functie de tipul comunitatii – de exemplu pentru o comunitate unde se joaca un joc online pot fi urmatoarele tipuri de relatii – A joaca impotriva lui B, A joaca in echipa cu B, A ii da reply lui B pe forumul jocului, etc.), detalii colaborare – in functie de tipul comunitatii pot sa fie rezultatul jocului, mesajul schimbat, etc.

Exemple de comunitati online ce pot fi analizate:

* Bloguri gazduite pe acelasi server (blogspot.com, wordpress.com, etc)
* Forumuri (forumuri bazate pe phpbb, vBulletin, etc)
* Jocuri online (hattrick.org, online.bridgebase.com/myhands, etc., sah sau pool de pe yahoo games)

Aplicatia poate fi realizata intr-un limbaj la alegere. Prima etapa a temei consta in a posta in forumul destinat temei (pana marti 06.11) a alegerii comunitatii facute (pentru a fi validata) si a descrierii tipurilor de interactiuni ce vor fi extrase.

Observatie1: membrii aceleiasi echipe de proiect nu au voie sa-si aleaga aceeasi comunitate pentru analiza.

Observatie2: Tema va va permite sa invatati urmatoarele lucruri

· Scrierea/utilizarea unui mic crawler web

· Analiza unui document formatat (SGML/XML) si prelucrarea datelor din acesta folosind metodele descrise la laborator

Probleme cu site-ul (2)


Asa cum am banuit problema era legata de serverul de mysql.
Dupa o cautare prin forumurile lx.ro, am gasit si cauza





Pentru a mai imbunatati calitatea serviciului upgradam serverul de mysql.
Pentru curiosi, diferentele hardware sunt:
old <-> new
proc: 1 p4, dual core <-> 2 xeon, dual core
mobo: intel <-> intel
hdd: dual sata raid 1 <-> dual scsi raid 0
ram: 1 GB <-> 2 GB
os: centos 4 <-> centos 4

In masura posibilitatilor vom incerca sa facem backup saptamanal la bazele voastre de date, chiar daca pt continutul web (fisierele voastre de pe ftp) nu se face nici un fel de backup. Este totusi o idee foarte buna sa va faceti backup la sit (atat ftp cat si mysql) frecvent.

De asemenea, dat fiind ca bazele voastre de date au aprox. 20GB pe disk va dura o perioada transferul si posibil sa apara si erori pe timpul transferului (care incepe in aceasta noapte si speram sa fie gata pana luni).

sâmbătă, 3 noiembrie 2007

Editare XML


Iata aici un mic filmulet ce prezinta cateva dintre avantajele de a lucra cu un editor XML,cum ar fi cel oferit de Altova, pe care il puteti incerca timp de 30 de zile.

Probleme cu site-ul


Se pare ca site-ul nostru www.spaimainterfetelor.haos.ro este momentan down. Asa se intampla cand folosim servicii gratuite.
Mai mult ca sigur e o problema de mysql a providerilor. Tocmai cand inregistrasem site-ul pe trafic.ro si aveam drept target cresterea numarului de accesari.

Se pare ca exista probleme tehnice. Va rugam reveniti in cateva minute.


Speram sa se rezolve cat mai curand.

De ce sa folosim DTD-uri ?


Prima tema la interfete evoluate a fost crearea unui fisier xml (care sa contina o descirere personala)folosind DTD. Am ramas nedumerit, pentru nu am inteles din prima rostul unui DTD. Ei bine, acesta ar fi consistenta datelor, respectarea unui tipar.

Imaginati-va ce haos s-ar crea, daca doua filiale ale unei companii ar folosi fiecare cate un format pentru reprezentarea unor date de interes comun.

Un alt feature important este reprezentat de posibilitatea validarii datelor.

Despre interfete




Ce este o interfata ?
Daca e sa ne luam dupa DEX , o interfata este 1. suprafaţă de separare a porţiunilor care reprezintă faze diferite dintr-un sistem fizi-co-chimic. 2. (inform.) frontieră convenţională între două sisteme sau unităţi, care permite schimburi de informaţii după anumite reguli. 3. (electron.) dispozitiv care converteşte semnalele electronice astfel încât două aparate sau sisteme să poată comunica între ele.

Definita de mai sus, desi pare destul de pompoasa nu are mare legatura cu ceea ce studiem noi la interfete evoluate . In cazul nostru, o interfata ar putea fi definita ca totalitatea mijloacelor prin care un utilizator interactioneaza cu un device, masina de calcul sau un program.

Interfetele cu utilizatorul sunt de mai multe feluri:
- GUI ( Graphical user interface) accepta intrari de la device-uri precum tastatura si mouse-ul si asigura o iesire grafica detaliata pe monitor;
- interfete web-based ( tocmai interfetele evoluate pe care le studiem noi la acest curs ) accepta intrari si asigura output-uri prin generarea de pagini web ce sunt transportate prin intermediul web-ului si vizualizate de utilizatori prin intermediul browserelor.

Alte tipuri de interfete ar fi :
- interfete in linie de comanda;
- interfete tactile;
- interfete comportamentale ( intrarile sunt generate de anumite gesturi ale utilizatorului );
- interfete vocale ( intrarile sunt reprezentate de vocea utilizatorului );
- interfete zero-input ( la care intrarile sunt generate de anumiti senzori );
- alte tipuri de interfete specializate