Elektronika.lt
 2024 m. gruodžio 22 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 - Elektronika, technika
 - Kompiuterija
 - Telekomunikacijos
 - Įvykiai, visuomenė
 - Pažintiniai, įdomybės
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Gruodžio 22 d. 11:24
Energetikos sektoriaus laukia pokyčiai – alternatyvų yra, bet ar užteko laiko pasiruošti?
Gruodžio 21 d. 11:33
Kokį elektronikos įrenginį dovanoti, kad jis vėliau neišaugintų elektros sąskaitos?
Gruodžio 20 d. 17:12
KTU mokslininkai sukūrė nanolazerį – sidabro nanokubus panaudojo šviesos generavimui
Gruodžio 20 d. 14:28
Lietuvių kalba ir technologijos: VU mokslininkų projektas LIEPA-3 atvers naujas galimybes
Gruodžio 20 d. 11:49
Stacionarūs kompiuteriai: koks jų vaidmuo nešiojamųjų kompiuterių eroje?
Gruodžio 20 d. 08:14
„DS Automobiles“ pristato naujausią savo elektrinį flagmaną – „DS N°8“ kupė
Gruodžio 19 d. 20:18
Naudingi patarimai, kurie padės maksimaliai padidinti jūsų elektrinio automobilio priemonės įveikiamą atstumą
Gruodžio 19 d. 17:27
Žaidybinimas: efektyvus švietimo įrankis ar bėgimas nuo tikrovės?
Gruodžio 19 d. 14:27
Orkaitės darbymetis prasideda: 5 paprasti patarimai, kurie kalėdinius kepinius leis paruošti elektrą naudojant taupiau
Gruodžio 19 d. 11:15
Proveržis magnetų tyrimuose: ištisas savaites tarnaujanti telefono baterija ir 1000 kartų didesnė jo sparta
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
 Straipsniai » Kompiuteriai, IT Dalintis | Spausdinti

Kodėl nepatogi langų sąsaja? (III dalis)

Publikuota: 1999-08-23 20:20
Tematika: Kompiuteriai, IT
Skirta: Mėgėjams
Autorius: el. paštas Tautvydas Levinskas
Aut. teisės: el. paštas ©Elektronika.lt

Apžvalgoje linksmai išdėstomas kritiškas požiūris į langinę programų sąsają (vartotojo sąsają). Autorius remiasi informacija rasta internete bei savo patirtimi.

 Rodyti komentarus (4)
Įvertinimas:  1 2 3 4 5 

Turinys

I dalis:

Apie ką kalbėsime?
Kodėl ji nepatogi?
Juk tai palengvina vartotojo darbą…
Galima rasti visokių įdomių dalykų…
Bet gi būtent langų sistema leidžia lygiagrečiai dirbti su keliomis užduotimis?
O kaip dėl tokių patogių dalykų kaip „point&click“ (parodyk ir nuspausk) ir „drag&drop“ (nešk ir numesk)?

II dalis:

Bet juk dažniausiai informacija pateikiama piktogramomis…
Argi „Norton Commander“ ir panašios programos nėra langai?
Bet juk langų sistemos yra ir klesti…
Gerai, bet negi dirbti vien komandinėje eilutėje?
Tai kaip padaryti komandinę eilutę patogią?
Tai viską dabar reiktų daryti iš komandinės eilutės? Netgi…

III dalis:

O jei reikia prieš akis turėti du dokumentus? Ir net skirtingose programose?
Bet viską galima daryti langų sistemoje, tai kodėl jos atsisakyti?
Ar yra kokių nors esminių skirtumų?
Bet dauguma vartotojų visgi dirba ne su atominiais reaktoriais!
Tai kaip, langų sistemos turės išnykti?
Informacijos šaltiniai

Visą referatą („MS Word“ dokumentas) galite atsisiųsti suglaudintą iš archyvo.

O jei reikia prieš akis turėti du dokumentus? Ir net skirtingose programose?

O kodėl? Jei pagalvojus, bet kuri būtinybė matyti dvi programas iškart, yra nepakankamo automatizavimo arba neapgalvotos sąsajos pasekmė. Arba reikiamus duomenis galima nukopijuoti į redaguojamą dokumentą ir ten jais manipuliuoti, arba žmogus dirba darbą, kurį galėtų padaryti kompiuteris. Neretai tenka rinkti tekstą, kurį sistemos ar programų kūrėjai kažkodėl tai padarė neįmanomu nukopijuoti ar tekstą iš grafinių failų.

Kai firmos „Xerox“ specialistai kūrė langų sąsają (kaip ir „Ethernet“ standartą), tačiau nebuvo užpatentuotas ir perleistas visiems norintiems jį tobulinti, jis buvo tarsi darbo stalo analogas, kuriame išmėtyti dokumentai. Tuo tarpu, buvo nekreipiama dėmesio į tai, kad iš tikro reikalingi du režimai: dokumentų peržiūros ir darbo su konkrečiu dokumentu. Žmogus niekada nežiūri iškart į du dokumentus – jis perkelia žvilgsnį nuo vieno prie kito.

Be to, sąsajos valdymo panelė, realizuota mygtukų sistema, neįskaito, kad valdant panelę didelę reikšmę turi lytėjimo jausmai; dėl to dizaineriai stengiasi mygtukams ir svirtims suteikti skirtingą formą, paviršių. Visa tai neįmanoma dirbant su praslystančia pelyte ir ekrane pavaizduotais mygtukais. Jau geriau naudotis klavišų kombinacijomis. PARC laboratorijoje jau tobulinamas nauja sąsaja „Hyperbolic Tree“, neturinti nieko bendro su mygtukais.

Bet viską galima daryti langų sistemoje, tai kodėl jos atsisakyti ?

Viena iš pagrindinių langų sąsajos trūkumų – didelių resursų poreikis. Žinoma, jei Jūs pasiruošęs sumokėti už galingiausią šiai dienai procesorių, nusipirkti daug operatyvinės atminties, tai ši problema nejaudina. Bet štai, jei Jūs nesate turtingi, jei firmoje yra ne viena dešimtis kompiuterių – teks susimąstyti. Juk visi dabartiniai „Windows Managers“, kiekvienam įvykiui (veiksmui) sukuria užduotis. Tarkim reikia perpiešti ekraną ar jo dalį, paspausti mygtuką klaviatūroje ar pele ar netgi paprasčiausiai pajudinote pelės žymeklį ekrane – langų menedžeris kaskart iškvies atitinkamą užduotį. Gaištamas laikas keičiant užduotis, perkraunant kešinę (cache) atmintį, naudojant kietą diską. Žodžiu, smarkiai naudojami mašinos resursai.

Labai įdomu lyginti programos bendravimą su „Window Manager“ ir X-terminalo su stotimi. Jei kompiuterį su spausdintuvu galima laikyti mini tinklu, tai kodėl programų bendravimą nepanagrinėjus kaip klientą-serverį? Tai štai, X-terminalas siunčia pranešimus stočiai apie kiekvieną įvykį – pelės maigymą, mygtuko paspaudimą, būtinybę perpaišyti langą. O štai HTML/Java terminalas trivialius atvejus (perpaišymą, peržiūrą, simbolio išvedimą) apdirba suinstaliuotoje programoje (naršyklėje – browser), mažiau trivialioms puslapiuose naudojamos programėlės „Java“ ir „JavaScript“, o pačios netrivialiausios, reikalaujančios naujų duomenų, perduodamos į WWW serverį. Štai toki, panašų, modeli reikėjo seniai realizuoti langų sistemose. Nesu įsitikinęs, kad vykdant užduotis, OS branduoliams ir tvarkyklėms vienam procesoriui reikalingas pluoštas programų, apdorojančių mažiau trivialius atvejus. Nors dėl daugiaprocesorinės architektūros, tai protingas sprendimas. Panaši sistema buvo realizuota „RiscOS“ – užduotis gali perduoti langą moduliui, kuris imasi aptarnauti jo pranešimus. Tam, langas turi būti aprašytas tam tikrais terminais – tai paveikslėlis, tai tekstas, tai mygtukas. Užduotis, sukūrusi langą, aptarnaus tik tai, kas nėra aprašyta tame modulyje (ten įtraukti labiausiai naudojami elementai). Deja, šis būdas padaryti langų programas labiau kompaktiškomis, nebuvo pritaikytas kitose operacinėse sistemose.

Objektiškai orientuotas programavimas leidžia neaptarnauti tų įvykių, kurie nedomina programos. Toks programavimas – vienas iš būdų slėpti nuo programuotojo realizacijos detales. Tai gerai, jei reikia greitai parašyti programą, kuri paskui bus ne itin dažnai naudojama. Arba jei reikia parašyti nešiojamą tarp skirtingų platformų programą (tikintis, kad kiekvienoje platformoje yra reikiamos bibliotekos). Visų įvykių apdorojimo galima išvengti tik leidus „Window Manager“ kontroliuoti trivialius langų elementus. Kol kas „Window Manager“ nesugeba pats apdoroti tokių įvykių. Taigi programa parašyta objektiškai orientuota kalba vistiek apdoros visus įvykius standartiniu mechanizmu (įdėtu kompiliatoriaus), kuris netikslingai apkraus kompiuterio resursus.

Na mašinos resursų ne taip gaila – ji geležinė, lai dirba. Gaila vartotojo, kuris leidžia begalę laiko, stengdamasis gražiai išdėlioti langus ekrane. O atsiradus naujam elementui, vėl tenka iš naujo viską pertvarkyti. Tai vienas iš pavyzdžių, kai sistemos lankstumas ne padidina, o sumažina darbo patogumą.

Štai dėl daugelio grupinio darbo uždavinių, dirbančių su kažkokiu duomenų rinkiniu, užtenka galingo kompiuterio, prie kurio pajungti pigūs tekstiniai terminalai. Aiškus tokios sistemos pranašumas – maža kaina, didelis kiekis vartotojų ir mažas tinklo apkrovimas (dar mažiau apkrauna tinklą HTML ir Java terminalai, bet kainuoja brangiau). Priedui – SQL-klientas, vykdomas vienoje mašinoje su SQL-serveriu ir atvaizduojantis savo darbo rezultatus terminaluose arba HTML dokumentuose, daug greičiau vykdo transakcijas, nei SQL-klientas, dirbantis kažkur tinkle. Tekstiniame terminale, tarp kitko, mažesnis elektromagnetinis spinduliavimas ir didesnė vaizdo kokybė, bet mažai kas apie tai susimąsto.

Ar yra kokių nors esminių skirtumų?

Mano nuomone, sisteminiam administratoriui, gražus grafinis duomenų pavaizdavimas tiesiog pavojingas – įsisavinęs „nurodyk ir nuspausk“, „tempk ir numesk“ technologijas, imasi valdyti sistemą, neįsigilinęs į jos funkcionavimo pagrindus. Dar blogiau – daugelis ima maišyti duomenis su grafinės sąsajos detalėmis. Tai nėra baisu iki tol, kol sistema veikia kūrėjo sugalvotuose sąsajos rėmuose. Kaip žinoma, katastrofų nereikia planuoti – ir kūrėjo nenumatytos situacijos būtinai įvyksta. Štai todėl dabar siūloma serverių OS nenaudoti GUI (grafinės vartotojo sąsajos).

Jei Jūs nustatinėjate IP-maršrutizatorių, jokis grafinė sąsaja nepadės Jums, jei nežinosite tokių dalykų kaip tinklo numeris, DNS, „gateway“, ką reiškia užrašai – MX, NS, A, PTR, HS-INFO. O kovojant su pranešimais „No Access“, reikia nusimanyti sistemos vartotojų teisėse. Ir štai – „intuityviai suprantama“ sąsaja, net su kontekstine pagalba, mažai padės, jei neturėsite elementarių žinių.

Vartotojų teisių (priėjimo) nustatymas kokiu nors „Security Manager“ mažai padės, jei sistemoje yra nors vienas slaptas būdas apeiti šiuos atributus. Tuo tarpu visos programos rodys, kad sistema visiškai apsaugota nuo nepageidaujamų asmenų. Kaip tada aptikti, ar sistemoje palikta „skylė“? – tiktais detaliai aiškinantis sistemą, nepasitikint įprastų „utilitų“ pranešimais. Reikia turėti omenyje, kad kartą įsilaužęs į sistemą „blogietis“ gali tuos „utilitus“ gali pakeisti savais, kurie niekada jau nepasakys tiesos tikrajam administratoriui.

Dabar įsivaizduokite, kad branduolinio reaktoriaus valdymas patikėtas operatoriui, kuris pasitiki grafine sąsaja. Kol viskas einasi gerai, operatorius lengvu pelės judesiu valdo reaktoriaus darbą, remdamasis akivaizdžiai parodytais funkcionavimo parametrais. Bet staiga jis nepataiko ir paspaudžia ne tą mygtuką (kad paspausti mygtuką ekrane nereikia nuimti apsauginių dangčių). Arba reaktorius pradėjo veikti nenumatytu programos kūrėjo režimu, ar sugedo koks nors valdantis elementas. Jei operatorius studijavo realų reaktoriaus mechanizmą, o geriau – dalyvavo jo surinkime, jis galės, manipuliuodamas likusiomis jo valioje valdymo priemonėmis sulaikyti reaktorių nuo sprogimo. O jei jis įprato prie savo sąsajos ir nežino nieko apie realų reaktorių, kuri valdo?

Bet dauguma vartotojų visgi dirba ne su atominiais reaktoriais !

Taip, bet ir jiems nepamaišytų žinoti sistemos funkcionavimo detales. Tarkim, firmos „Acorn“ kompiuteriuose (B+modelyje) buvo nuostabių operacinės sistemos savybių: sisteminis iškvietimas „OSByte“ atitinka komandai *FX, t. y. komanda:
*FX argumentas1 argumentas2 argumentas3
su skaitiniais argumentais atitinka asemblerio kodui:
LDA #argumentas1
LDX #argumentas2
LDY #argumentas3
JSR OSByte
Tiesa, tada neįmanoma sužinoti kokias reikšmes OS gražina į registrus A, X ir Y. Taip galima užduoti automatinį klaviatūros atkartojimą, funkcinių klavišų ir rodyklių veiksmus, pakeisti I/O kryptis, suderinti lygiagrečius ir nuoseklius prievadus, vaizdo sistemą ir dar daug ką. Tai padaryti galėjo tiek vartotojas, tiek programuotojas.

DOS siūlo daug prastesnį modelį: tarp komandų:
MODE con RATE=r DELAY=d
ir jos asemblerio analogo:
MOV AX, 0305H
MOV BL, 32-r
MOV BH, d-1
INT 16H

jau nėra tokio vienareikšmiško atitikimo. Tačiau vartotojas gali lengvai parsirašyti script’ą arba, kaip jį vadina DOS, batch-failą (komandų paketą), kuris savyje turės įprastines rašomas klaviatūra komandas. Vartotojas gali sau pasilengvinti gyvenimą, bet tapti programuotoju bus daug sunkiau.

Sistemose, naudojančiose meniu sąsają, paketines komandas sukurti daug sunkiau – paprastas vartotojas šito jau nesugebės padaryti. Būtent todėl, patogios vartotojo sąsajos kuriamos žmonėms, kurie vargo komandinėje eilutėje be jos redagavimo galimybių, be patogių „utilitų“ – bet kuo patogesnis jiems sudaroma sąsaja, tuo greičiau sistema nustoja vystytis. Tokios stagnacijos išvengti pavyko tik „Acorn“ ir „Unix“. „Acorn“ pradžioje atidirbo kompleksinius sprendimus, jungiančius patį kompiuterį ir programinę įrangą (nuo OS iki tekstinių redaktorių), užprogramuotą ROM. Daugiausia pelno duoda „geležies“ (hardware) pardavimas, tai todėl firma tapo suinteresuota plėsti programuojančių šioje platformoje ratą. Tiek firmos, tiek nepriklausomų programuotojų labiausiai pavykusias versijas dėdavo į naujus – tobulesnius ROM.

„Unix“ – unikalus fenomenas tarpe operacinių sistemų, sukurtų skirtingoms aparatūrinėms platformoms, sujungtas bendrų standartų. Nežiūrinti į kai kurias šeimas, kaip „SystemV“ ir BSD arba QNX, „Unix“ išsaugo suderinamumą programų išeities tekstų lygyje (sukompiliuotos programos nepernešamos netik prie kito procesoriaus, bet net į kitą „Unix“, dirbantį su tokiu pačiu procesoriumi). Net tos pačios firmos skirtingose OS versijose sunku pernešti programas. „Unix“ gyvybingumas ilgą laiką buvo palaikomas laisvai platinant išeities kodus. Paskutiniu metu komercinių „Unix“ išeities tekstai nepasiekiami, bet užtai atsirado nemokami „FreeBSD“ ir „liaudiškas Unix“ – „Linux“. „Unix“ tobulėjo skatinamas skirtingų programuotojų grupių konkurencijos: kiekvienas norėjo turėti tobulesnę sistemą, o sugalvoti naudingi atradimai greitai būdavo pritaikomi naujose realizacijose.

Tai kaip, langų sistemos turės išnykti ?

Nemanau. Pagal entropijos augimo teoriją, pasaulis laikui bėgant tampa vis blogesnis. Jei palauksime dar truputį, tai sulauksime naujo, dar labiau nepatogios sąsajos. Galimas daiktas tai bus garsinė sąsaja, kai mikčius ar paprasčiausiai peršalęs žmogus, per klaidą, vietoj to, kad nusiųsti elektroninį laišką, ištrins visą savo metų darbą. Juk kompiuteris geras tuo, kad klaidas daro daug greičiau nei žmogus ;-) Taip, kad po dešimties metų galbūt rašysiu referatą apie bjaurią, nepatogią, nenatūralią sąsają, su ilgesiu prisimindamas, kaip senus gerus langus lengva valdyti pele ;-).

Informacijos šaltiniai

  1. http://www.linux.com/
  2. http://www.microsoft.com/
  3. http://w3.misa.ac.ru/
  4. Įvairios WWW konferencijos.



Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama