Zdravím, nejsem se zcela jist směrem tohohle seriálu, jelikož jsem měl dojem, že bude o Smalltalku, zatím z něj byl nějaký kousek, a poslední díly je to o grafice a o oknech v Squeaku, třeba na vytváření tříd apod. sem zatím nenarazil, ano…jsem co se Smalltalku týče (možná i obecně) jen hlava dubová, ale právě proto čtu tenhle seriál (ehm, byť tenhle díl nenese označení Smalltalk…), v žádném případě tím nechci, a ani na to nemám právo, tvrdit, že ty díly o grafice jsou zbytečný, jen si nejsem jist, jestli je opravdu nutné, to dávat do seriálu o Smalltalku, chápu, že trocha historie neuškodí, ale až se mně někdo zeptá, jak v něm udělat třídu, nejsem si jist, jestli ho historicky zcela geniální výklad o grafice uspokojí…
Názory k článku
Historie vývoje grafického uživatelského rozhraní (2)
Re: Tak teda nevím
celé vláknoPravděpodobně došlo k plynulému přechodu z jednoho tématu na jiné, jak je u autora těchto článků často zvykem :-)
Re: Tak teda nevím
celé vláknoAno, správná připomínka. Nejedlý. Děkuji vám pane doktore. Skutečně existují mykologické atlasy, které považují lišku za nejedlou houbu!
Re: Tak teda nevím
celé vláknoMožná i proto, že někteří rýpali, že seriál o Smalltalku tu už byl :-)
Re: Tak teda nevím
celé vláknoNojo myšlenku už neudržím, ale moč ještě ano :-)
Re: Tak teda nevím
celé vláknoJe to pořád přijatelnější řešení, než když seriál chcípne skoro na začátku jako se to stalo tomu o Arduinu.
Re: Tak teda nevím
celé vláknoPriste uz historie nebude, slibuji :-) Jinak smer tohoto serialu (i tech dalsich dvou co tak napreskacku vychazi) jsou do znacne miry rizeny „hlasem lidu“, takze si pisu +1 pro pokracovani ve smeru Smalltalk :-)
Zas na druhou stranu...
celé vlákno…, nebyl by spatny clanek / serial, ktery by se podrobneji zabyval historii a vyvojem GUI (a vubec interface clovek/pocitac) az po dnesek :-)
Re: Zas na druhou stranu...
celé vláknoTak potom bych to videl na fork s tim, ze posledni dva clanky by se tam mohly presunout. Vlastne proc ne.
Re: Tak teda nevím
celé vláknoTo je ovšem škoda. Rád si čítám Vaše články a ještě raději se nechávám „rozptylovat“ procházkami do historie. Nepřipadají mi totiž jako odklon od směru. A už vůbec, jako zbytečné. Poznamenejte si, prosím, +1 pro udržení širšího záběru.
Re: Tak teda nevím
celé vláknoHistorie vývoje grafického uživatelského rozhraní (2)
proste bozi
celé vláknosuper clanek
pro zamysleni ...
celé vláknoa pohnuli jsme se nekam vyrazneji od tech dob?
Re: pro zamysleni ...
celé vláknoAni moc ne rekl bych :-) Ovladani i zakladni aplikace se trosku vylepsily, ale mozna bych i preferoval ciste B&W GUI z Macintoshe nez dnesni barevne a animovane preplacaniny, ktere jen odvadeji pozornost od prace :-)
Jednu dobu jsme ve skole meli B&W X-terminaly a kupodivu krome Mosaicu se s tim vsechny aplikace vyrovnaly a byly pouzitelne.
(nejvetsi zlo jsou podle me system-wide modalni dialogy a vubec veskera GUI udelatka, ktera na sebe presmerovavaji fokus, kupodivu toto bylo v prvnich GUI jen vyjimecne)
Re: pro zamysleni ...
celé vláknoMyslim ze zakladni princip GUI je asi vsude stejny. Okno = ctverec s nekolika atributy (pozice, velikost, ramec, … ) a udalostmi (close, move, resize, atpd… ) do nejz se vykresluje obsah konkretni aplikace. Pracovni plocha (desktop) = korenove okno na pozici [0, 0] a o velikosti rovne aktualnimu nastaveni rozliseni monitoru. Je velmi zajmave sledovat, jak se nekteri lide dokazou s tak jednoduchym systemem zobrazovani a ovladani vyradit :)
Me osobne se vzdycky libyl vzhled Windows 3.X (a neni mozne si nevsimnout jiste podobnosti mezi Win3.x a Apple Lisou. Nejak se mi dokonce zda, ze to neni jen nahoda :D ). Uz jsem premyslel, ktery WM by se dal prekopat aby v zakladu vypadal jako tyhle predpotopni Widle, ale zatim z toho nic uzitecneho neni… :-(
Re: pro zamysleni ...
celé vláknoJenže za tím jednoduchým základem jsou zhruba 2 desítky let práce a prototypování desítek, možná stovek lidí v tehdejším IT průmyslu. :-)
Re: pro zamysleni ...
celé vláknoO tom nepochybuji. Ono asi obecne plati, ze cim je myslenka jednodussi a genialnejsi – tim vic prace a casu vyzaduje jeji uvedeni do zivota :)
Re: pro zamysleni ...
celé vláknoa mi se zase libi okenni system rio z plan9.
http://plan9.bell-labs.com/plan9/screenshot.html
je zalozene na pokusu co delali kdysi pro unix.
http://www.youtube.com/watch?v=emh22gT5e9k
Re: pro zamysleni ...
celé vláknoPokud se vam nechce prekopavat WM, tak zkuste alespon web-based reseni :-)
http://www.michaelv.org/
Re: pro zamysleni ...
celé vláknoTak jsem nasel uz neco hotoveho pro XFCE. Vypada to moc hezky :)
Redmont3
Re: pro zamysleni ...
celé vlákno> a neni mozne si nevsimnout jiste podobnosti mezi Win3.x a Apple Lisou. Nejak se mi dokonce zda, ze to neni jen nahoda :D
Zkus cist clanky, ke kterym tlacist komentare. Hlavo.
Re: pro zamysleni ...
celé vláknoZkus si nejprve precist tu vetu celou, nez k ni vytlacis kometar. Na co je tam asi ten smajlik… Hlavo.
Re: pro zamysleni ...
celé vláknoSmajlik to nezachrani :D
Re: pro zamysleni ...
celé vláknoZajímavé je, že kdokoli se snažil někam pohnout, moc neuspěl.
Mně osobně se dost líbilo, jakou cestou šel projekt Looking Glass, ale bohužel cesta končila nápisem DEAD END :)
Dost hezký UI je i BumpTop: http://www.youtube.com/watch?v=M0ODskdEPnQ
(firmu koupil Google, tak uvidíme, co s tím udělá, třeba nás čeká hodně zajímavý překvapení!)
Nebo se občas vyrojí takový ty laboratorní pokusy typu Fluidum ( http://murx.medien.ifi.lmu.de/fluidum/mug_final.mov ), Microsoft Surface nebo ještě cosi od Sunu, co si teď nevzpomenu, jak se jmenovalo…
Ne že by abstrakce 2D ikony a okna na 2D stole nebyla dobrá, to rozhodně je, ale mám pocit, že od té doby, co vznikla, přidáváme akorát krávoviny a nic skutečně užitečného se od té doby neujalo…
Re: pro zamysleni ...
celé vláknoDocela zajimave GUI pojal Jef Raskin ve svem pocitaci http://en.wikipedia.org/wiki/Canon_Cat
A taky uzivatelske rozhrani OLPC je zajimave, ostatne pro male obrazovky s touchscreeneme se GUI dost prekopalo (a pokusy o vmestnani klasickeho desktopu na malou obrazovku ovladanou velkym prstem a ne mysi nejsou IMHO moc uspesne)
Re: pro zamysleni ...
celé vláknoTohle?
http://canoncat.org/canoncat/screens.html
To mi nepřijde zas tak zajímavé, kvalitních jednoúčelových GUI je spousta, zvlášť když do toho započítáme weby…
Spíš to „univerzální počítačové“ GUI nám nějak stagnuje :)
Re: pro zamysleni ...
celé vláknoTa hlavni myslenka CanonCatu spociva v tom, ze kdyz uzivatel potrebuje provest nejaky prikaz, jedna z moznosti je zapsat tento prikaz KAMKOLI (treba do zrovna otevreneho okna) a zmacknout funkcni tlacitko pod mezernikem.
Muze se jednat napriklad o prikaz „posli dokument e-mailem“, „najdi napsane slovo ve vsech dokumentech“ atd. Zajimave je, ze se tato myslenka pomalu dostava i do mainstreamovych GUI, ale v trosku nepochopene forme – mam na mysli ruzne widgety pro vyhledavani, volani prikazu (miniterminalky), universalni vstupni radek v browserech (umi prechazet na URL, vyhledavat, spoustet miniaplikace atd.).
S tim funkcnim tlacitkem, navic umistenym na vhodnem miste, je to vsak pohodlnejsi :-)
Re: pro zamysleni ...
celé vláknoAha, tak to je docela zajímavý prvek. Ono vůbec zapojení nějakého CLI do GUI aplikace není vůbec špatný nápad – viz např. terminál v Quaku :)
Re: pro zamysleni ...
celé vláknoNeco podobneho mel i Oberon – v podstate jake koliv verejne procedury sly aktivovat zapisem „knihovna.procedura“ a stiskem prostredniho tlacitka mysi.
Re: pro zamysleni ...
celé vláknoTaky myslím, že ani moc ne. Pokud se omezím jen na masové produkty, tak výrazný posun nastal v dotykovém GUI, tj. všechny ty iPhony, tablety apod. Ale na běžném desktopu? Prakticky nic nového. Přebarvená okýnka, průhlednost, hromada dalších dialogů, … Napadá mě jediný ovládací prvek, který v tehdejším GUI AFAIK nebyl a který se celkem dost používá — Exposé na OS X. Jinak se dá říct, že všechny ovládací prvky GUI mají nějaký svůj předobraz v těchto starých systémech, včetně třeba drag&drop.
Re: pro zamysleni ...
celé vláknoCo takovy tooltip? To me prijde jako novejsi vynalez a docela uzitecny. Nebo kontextove menu? Toolbar?
Re: pro zamysleni ...
celé vláknoContext menus first appeared in the Smalltalk environment on the Xerox Alto computer, where they were called pop-up menus.
Toolbar muzete videt na screenshotech v clanku, napriklad u kreslicich programu pro Maca, takze minimalne od roku 1984 pouzivane.
Tooltip – to je mozna trosku novejsi, tipuji tak nekdy okolo roku 1988, ale nevim presne
Re: pro zamysleni ...
celé vláknoJá třeba Expose nepoužívám, protože mi přijde strašně zdržující. Když jsem měl Linux, tak jsem po něm bezmezně toužil, teď když ho mám, tak ho nepoužívám :)
Klasické jabko-Tab mi přijde daleko rychlejší, zvlášť když v něm MacOS chytře řadí aplikace podle toho, kdy byly naposledy použity…
Re: pro zamysleni ...
celé vláknoHodně dobrá mi přišla právě koncepce Looking Glass, kde se okna místo minimalizace otočila jakoby k levé nebo pravé „stěně“ obrazovky a kliknutím zase vrátila zpátky „obličejem k uživateli“. Navíc i takhle odsunutá okna zůstala živá, což bylo geniální :)
Když se na Linuxu objevil Compiz, myslel jsem, že to bude bomba a konečně se objeví alespoň takový vlastnosti, jaký umí Metisse ( http://interaction.lille.inria.fr/~roussel/videos/metisse/metisse/PaRISTIC/transformations.mov ), ale prdlajs – místo toho se objevily nesmyslný hořící okna a podobný pubertální „efekty“.
Re: pro zamysleni ...
celé vláknoHořící okno je možná pubertální efekt, ale to, co je v odkazovaném videu (v podstatě to samé dělalo Looking Glass), je nepraktická zbytečnost.
Perspektivní otáčení oken nemá vůbec žádný přínos. Sice vypadá přirozeně, ale úplně stejně si mohu okno (škálování) zmenšit a při tom bude zachována izotropie polohovacího zařízení.
Rotace okna nebo transformace do polárních souřadnic na běžné obrazovce nemá vůbec žádný způsob využití. Až budou velkoplošné obrazovky, které lidí obestoupí a každý bude pracovat z vlastního úhlu se svojí kupou oken (stůl), tak to využití najde. Transformace by měla smysl, kdyby obrazovka nebyla euklidovsky rovná (například výlepový válec na reklamu ve městě, no, dejme tomu nějak víc šišatý).
Zbývá nám škálování okna. To má smysl, když člověk chce sledovat více oken periferním zrakem. Tohle dělá dnes exposé. Pokud ale uživatel chce detailní přehled, je lepší změnit rozměry okna a obsah okna přeformátovat. To dnešní widgety zcela běžně dělají (přesýpací webová stránka). Jako vylepšení mě akorát napadá priorizace widgetů, aby se při nedostatku místa schovaly nepotřebné prvky a uvolnily tak vzácné místo pro důležitější věci (například u dvanácti grafů toků sítovými rozhraními má smysl nechat zjednodušený graf a schovat legendu, ovládací prvky, možná i číslování os). S tímto problém se již lépe či hůře potýkají hlasové čtečky pro slepé.
Domnívám, se že v desktopovém GUI nedošlo k žádné revoluci, protože nebyla potřeba, protože deskop jakožto hardware stagnuje. Naopak dříve zmíněná mobilní zařízení mají jiné fyzické provedení (žádná klávesnice, žádná myš, malý displej), které si vynutilo nové GUI.
Re: pro zamysleni ...
celé vláknoZajímavá reakce, díky!
Na té stagnaci HW něco určitě bude – napadlo mě to, když jsem viděl video ovládání Sketchpadu pomocí knoflíků (zoom, posun atd.) To by se právě dalo nádherně využít na práci s 3D okny, myš v tomhle případě zdržuje.
S tím otáčením nevím, jestli mám souhlasit. Když má třeba člověk otevřených pět terminálů, v jednom pracuje a ostatní čtyři má jenom proto, aby „byly po ruce“, popřípadě aby viděl, jestli se v nich něco neděje (sledování kompilace, kopírování souborů apod), tak mi přijde právě to LookingGlassovské pootočení úplně ideální, protože část okna vidí člověk v docela normální velikosti a zbytek (druhý konec) zbytečně nezabírá místo. Zvlášť pokud je okno pootočený levým okrajem (kde je víc textu) k uživateli. Přijde mi to prostě dobrý, ale chápu, že je to věc názoru.
Zmenšování jednotlivých oken mi tak dobrý nepřijde, ale i to by se hodilo. Umí to Compiz (pro jednotlivý okna, ne pro celý desktop)? Mac OS teda ne, přestože principielně ano (Expose). Bohužel. Pořád prostě vede systém „dívám se jenom na jedno okno, ty ostatní jsou kdesi, kde je vůbec nevidím“, přestože s dnešními obrovskými LCDčky (navíc širokoúhlými) to postrádá logiku.
Ale hlavně: proč pořád přemýšlet v rozměru 2D okna? Ukázkový CD přehrávač pro Looking Glass krásně demonstroval, jak skutečně 3D aplikace může šetřit místo – CDčko, na který právě koukám, je (velký) v popředí, zbytek jde pomalu do zadu až do (nejmenšího) v pozadí. To je daleko lepší než podobné listování třeba v iTunes, které je „lineární“. (mimochodem v iTunes je použito pro obaly CDček právě to pootočení, o kterém tvrdíte, že je na prd :)
>> Jako vylepšení mě akorát napadá priorizace widgetů, aby se při nedostatku místa schovaly nepotřebné prvky a uvolnily tak vzácné místo pro důležitější věci
MacOS má třeba naprosto geniální koncepci „okna dokumentu“ a k němu patřících plovoucích panelů (informačních, nástrojových apod.) Když se přepnu na jiný dokument, všechny panely toho minulého zmizí. Jednoduché, ale velmi praktické (a logické). Jenom škoda, že to čím dál míň programů používá (asi na to lidi z Windows nejsou zvyklí…)
Podobnej princip měl NextStep s menu, strašně mě mrzí, že zrovna tahle věc do MacOSu X neprošla (zvítězila snaha zachovat menu devítky)
Jinak proč nedošlo k revoluci nevidím ani tak v tom, že nebyla potřeba, jako spíš v tom, že je mimořádně obtížné ji provést i kdyby měl člověk geniální koncepci – z důvodu nekompatibility programů, brblání uživatelů atd. Myslím, že z toho prostě velcí hráči mají strach. Mimochodem proto mě taky Sun nadchnul, že se do LG pustil…
Re: pro zamysleni ...
celé vláknoLookingglassové otočení okna má problém, že není univerzální. Co když mě zajímá jiná oblast okna než levý okraj? Tohle měl dobře vymyšlené WindowMaker, jednu dobu to umělo i GTK, kdy se jednotlivá podmenu dala odtrhnout a udělat z nich samostatné okno. Líbilo by se mi, kdyby se takto dal vytrhnout jakýkoliv widget, nebo alespoň nechat správce oken zobrazovat jen podčást okna. Docela se mi líbí dlaždicové správce oken, kdy si člověk aktuální okno zvětší a ostatní se přeskládají kolem v menším prostoru. Člověk tak stále může sledovat ostatní terminály.
Nicméně lepší by bylo, kdyby terminál umět sám upozornit, že se výstup zastavil, nebo se v něm objevil nějaký řetězec.
Dnešní LCD sice jsou velká, ale mají mizerné rozlišení. Takže se tam stejně nic nevejde. Jediná změna je poměr stran, kdy je rozumné přeskládat GUI tak, aby nevznikaly nudle (vzpomínám na MS Word na mrňavých monitorech, kdy horní polovinu zabíraly všelijaké lišty, spodních pár centimetrů stavové řádky a uprostřed se mačkal text).
Setrvačnost trhu je ošklivá věc, ale i tak mohly vzniknout prototypy, když jenom v X11 vzniklo tolik toolkitů a správců oken. Ale ono nic. Takže bych to spíš viděl na to, košaté GUI potřebuje jiné HID (vícedotykové obrazovky ovládané prsty nebo virtuální realitu s haptikou).
Re: pro zamysleni ...
celé vláknoSi pis, na Aero to nema, to je uplne revolucni, hlavne pak Win 7. NEJLEPSI SYSTEM OD MICROSOFTU!!! Ma to NEJVETSI IKONY, zatim, a uplne namakane pruhledne okna. A taky to umi delat nahledy tech oken, dokonce ZIVE!!!
PROSTE NEJLEPSI!!!!
Děkuji
celé vláknoHezký článek a přístupný i pro laika. Netušil jsem, že už v polovině osmdesátých let bylo k dispozici tak propracované GUI. Domníval jsem se až doposud, že jde o doménu počátku let devadesátých. Děkuji tedy za nové informace.
GUI, GUI...
celé vláknoMyslím, že je to velká pravda, co řekl Alan Kay o těch nesprávně pochopených a špatně implementovaných myšlenkách. Díky Commodore 64 a jeho systému GEOS se s GUI i CLI přístupy střetávám prakticky „odmalička“ a za tu dobu jsem dospěl k názoru, ve kterém se stále více utvrzuji: přístupy, jež nám z jednoduchých problémů dělají problémy triviální, nám z obtížněji řešitelných problémů udělají problémy neřešitelné. Je přeci úplná pitomost řešit nějaké plochy přilepené na nějakou virtuální krychli, okna navěšená jak na nějaké šňůře na prádlo, fasády („skiny“) atp. Já osobně spatřuji největší rezervy ve vývoji UI právě ve vyváženém a účelném propojení GUI s CLI. To je podle mne ten problém, na který by se měli designéři UI zaměřit – co řešit knoflíkem, co příkazem, co obojím a jak uživateli pomoci k tomu, aby to co nejefektivněji zvládnul a bylo to celé co nejintuitivnější. A ať mi někdo ukáže systém, který to rozvinul lépe než Smalltalk (konkrétně třeba ten Squeak). Nemyslím implementaci, nemyslím technické detaily, myslím logiku věcí. Když se nad tím zamyslíme, tak skutečně dospějeme k tomu, že za těch uplynulých 30 let se to vzalo, ořezalo se to (protože běžné počítače by to tehdy byly nezvládly) a nějak se implementovala určitá podmnožina té myšlenky s dokonale zpřetrhanými logickými vazbami a zbylých 30 let se tohle torzo akorát technicky vylepšovalo a doplňovalo o šlehačku.
Je to jako by primitivní národ, znající jen malůvky uhlím na skalách, našel torzo nějaké sochy a na základě něj dělal nová torza, vylepšoval je – dělal je barevná, zvyšoval počet bradavek atp. Ale nikoho zatím nenapadlo, že tomu chybí hlava, nohy, ruce a že 5 bradavek nemá smysl, neboť nikdo nechce vidět, že torzo nebylo cílem autora, že torzo je jen to, co z jeho myšlenky zbylo.
Re: GUI, GUI...
celé vlákno>> Je to jako by primitivní národ, znající jen malůvky uhlím na skalách, našel torzo nějaké sochy a na základě něj dělal nová torza, vylepšoval je – dělal je barevná, zvyšoval počet bradavek atp.
To se mně fakt líbilo! :)
Jestli on nebude problém taky trochu v tom, že na to torzo už si zvyklo takový množství lidí, že jakákoli změna je nesena nelibě…
Re: GUI, GUI...
celé vláknoHezky napsano. Neco takoveho si taky myslim.
Re: GUI, GUI...
celé vláknoHmmm… Ja si myslim, ze na system GUI uz tezko vymysli nekdo jinak, nebo dokonce lepe – i kdyz … nikdy nerikej nikdy…
Podle meho nazoru je mozna chyba v tom, jak se dneska stavi k programovani aplikaci samotnych. Stredem pozornosti u drtive vetsiny aplikaci je prave GUI a system komunikace s uzivatelem vubec. Jiste, je to velmi dulezita vec a navic co si budem povidat – u drtive vetsiny uzivatelu je to prvni, co na aplikaci zaujme, ale na programu samotnem je podle meho nazoru nejdulezitejsi to co dela, jak to dela a jak moc univerzalne to lze vyuzit.
Dovedu si predstavit system (prikladem budiz situace jako na Linuxu kde je k dispozici slusne mnozstvi GUI frameworku napr. QT, GTK, FLTK, FoxToolkit, WXWidgets, atd…), kde funkcionalni jadro aplikace je programovano jako modul pro nejaky system distribuovanych objektu, nebo RPC (dale jen DO/RPC – napr DBUS, Corba, …) a GUI ( mozna i CLI) je reseno jako XML soubor s podporou skriptovani a stylovani pomoci css2 (fakt nechapu, proc se to dneska nevyuziva pro vetsinu frameworku. Minimalne by to resilo jednoduchy prenos stylu a vzhledu GUI mezi jednotlivymi frameworky).
Vyhod vidim mnoho. Jednak by bylo pomerne jednoduche tvorit aplikace jednoduchym integrovanim jedne do druhe, nemluve o komunikaci mezi aplikacemi a usnadneni jejich spoluprace. Odpadly by vyrazne rozdily mezi jednotlivymi toolkity, ktere mnohdy zamezi jak vyuziti jiz existujiciho projektu v jinem projektu, nebo kolikrat jen jejich komunikaci, nebo integraci do prostredi vytvoreneho v odlisnem freamworku (rozdily teoreticky skryje vrstva DO/RPC).
Navic diky tvorbe komunikacniho rozhrani mezi aplikaci a uzivatelem pomoci XML a css2 by nebyl problem vytvorit jednoduchy a univerzalni editor pro tvorbu GUI a mozna i CLI rozhrani jednotlivych aplikaci. Navic by na nem nebyly zavisle … atd.
Je to hruby a mozna trochu naivni nastin myslenky, a urcite by nesel realizovat uplne vzdy (napr. hry?), ale zas az tak nerealne se mi to taky nezda … :)
Re: GUI, GUI...
celé vláknoÚplně v živých barvách vidím, jak by to zas bylo pomalý a věčně by to RPC spojení padalo :) Nehledě na to, že by se všechny aplikace znovu přepisovaly a po tu dobu by stagnovaly jejich featury a celková stabilita by opět o několik řádů klesla… Myslím že přechod na KDE4 nebo třeba nový audiosystém málem co rok úplně stačí k takovému „štěstí“…
>> prikladem budiz situace jako na Linuxu kde je k dispozici slusne mnozstvi GUI frameworku napr. QT, GTK, FLTK, FoxToolkit, WXWidgets, atd…
To je spíš zářným příkladem toho, že nikdo zřejmě nebyl schopen udělat pořádný toolkit, který by nebylo potřeba nahrazovat něčím jiným…
Re: GUI, GUI...
celé vlákno„Úplně v živých barvách vidím, …“
Pomale? Pomale by bylo co? DO/RPC? Dynamicky generovane GUI/CLI? nebo komunikace funkcionalniho jadra pres DO/RPC? At se na to divam jak chci tak ve vsech pripadech je rychlost zavisla hlavne na implementaci. Navic vemte si jaky je rozdil mezi scriptovanym GUI (napr. TK, PyQT) a GUI popisovanem s pomoci XML? No z hlediska pocitace a uzivatele defakto zadny. Z hlediska programatora muze byt propastny. Mimo to me osobne napr. takovy DBUS neprijde ani pomaly a ani nestabilni (i kdyz muzete mit jine skusenosti) a da se rici, ze implementuje v sobe obe technologie DO/RPC.
Co se tyce prepisovani aplikaci, ano, ale taky jsem nikde nepsal, ze je to nutno vse provest hned a naraz. U KDE 4 je ten problem, ze zmeny prisly moc rychle a nahle. Zmeny by mely probihat v klidu a pomalu. Uzivatel by si temer nemel vsimnout, ze ke zmene dochazi a navic je dost casu a prostoru pro reseni chyb, nedostatku, a pripadne spetne kompatibility (je-li potreba).
„To je spíš zářným příkladem toho, že nikdo zřejmě nebyl schopen udělat pořádný toolkit, který by nebylo potřeba nahrazovat něčím jiným…“
Ano, to je do jiste miry pravda. A problem je jeste navic mnohem hlubsi a komplexnejsi a netyka se jen GUI. Mysleni a potreby lidi je obecne neuveritelne variabilni a z toho vychazi jednoznacne potreba variability nastroju, ktere jsou lidmi vyuzivany (Programovaci jazyky, GUI, Desktop/WM, atd…). Podle me je nemozne vytvorit univerzalni a pro vsechny vyhovujici GUI, nebo programovaci jazyk. (ironicky: ) No, v Linuxu mate moznost – XLib. Preji prijrmnou zabavu (konec ironie :-D ). Jinak opstatni Toolkity se navzajem nijak neprebijeji a nenahrazuji. Spis se da rici, ze vzajemne koexistuji, aby vyhovely ruznym programatorum a ruznym uzivatelum… Existuji vsak technologie – napriklad zminovane kaskadove styly, ktere jsou schopne nektere vlastnosti vsech Frameworku do jiste miry standartizovat a zjednodusit; jednoznacna vyhoda jak pro uzivatele, tak i pro programatory. Jen me hlava nebere proc uz nejsou davno implementovany a pouzivany ( v tomto kontextu. jak treba funguje CSS2 v kombinaci s GUI se muzete presvedcit u ClanLib, ktere je prave pro tyto ucely vyuziva)
Re: GUI, GUI...
celé vláknoByl to víceméně vtip – s reálným jádrem.
Vrstva DO/RPC je prostě vrstva navíc a tímpádem příležitost k dalšímu zdržení, chybám a selháním.
Netvrdím, že to nejde udělat, ale trvám na tom, že udělat to dobře je o fous těžší než udělat klasickou monolitickou aplikaci. A nevidím tam žádný výrazný přínos ani pro vývojáře, ani pro uživatele. Je to zajímavá a možná správná myšlenka, ale to je např. Hurd taky ;)
Re: GUI, GUI...
celé vláknoHurd. Právě že o to jde. S postupující paralelizací je nutné přejít na asynchronní model a zrovna uživatelské rozhraní je první kandidát. Tak dlouho se lidi budou posmívat X11 až jim vleze do systému jinudy :)
Podívejte se na Linux, kolik měl jaderných vláken před pěti lety a kolik jich má teď. Když píšete grafickou aplikaci, kde UI nemá chcípnout, když se zablokuje I/O, tak si uděláte řídící smyčku a kvůli výkonu místo aktivního čekání použijete select(2) nebo zámky.
A z druhé strany máme webové aplikace a všechna ta oblaka.
A někde uprostřed CORBU, D-Bus, Bonobo, KParts, XPCom a tak dále.
Re: GUI, GUI...
celé vláknoTéměř přesně to, o čem mluvíte, je možné už dnes pomocí XULRunneru. Tedy že o zobrazování GUI se stará jednoúčelová aplikace, jejíž nespornou výhodou je, že o její vývoj a korektní chování a vzhled na všemožných platformách se stará někdo jiný s poměrně kvalitním zázemím :-)
Jediné, co samotná aplikace musí pro zobrazení GUI udělat, je chovat se jako webový server, který podobně jako u klasického webu předhazuje XULRunneru XML popis rozhraní, styly a nějaký ten JavaScript.
Samozřejmě se to nehodí na všechno, také je třeba dbát na bezpečnost, ale pro intranetové client-server „kancelářské“ aplikace je to ideální řešení.
Tuto myšlenku jsem se pokusil realizovat v tomto projektu: http://code.google.com/p/seasidexul/
Re: GUI, GUI...
celé vláknoJj. me se taky XUL do jiste miry libi, a jeho sily jsem si vsiml uz davno. Presne toto se mi vybavi, kdyz se rekne netaplikace.
Ale zatim mam ten pocit, ze hodne projektu jednak trochu vzdycky pripomina mozillu na niz je napasovany jiny vzhled a funkce a obcas je trochu… nespolehlivy (nestabilni? A nevim, nebo spis zatim nemohu posoudit proc). Nicmene zurive se na tom pracuje a myslim, ze XUL jeste ceka budoucnost :-)
Re: GUI, GUI...
celé vláknoBylo by fajn, kdyby se iniciativy chopil i Google, pro jehož ChromeOS by to bylo, myslím, velmi užitečné…
Re: GUI, GUI...
celé vláknoHoj Pavle, zrovna XULRunneru jsem chtel napsat, opet jsi rychlejsi ;-) Osobne si myslim, ze az se trosku XULRunner vychyta a vyjde pro nej 1–2 killer aplikace, tak se stane velmi dulezitou soucasti desktopu. Nemusi se jednat jen o webovky, tj. aplikace, kde logika a data jsou nekde na serveru, ale i lokalni aplikace, ktere proste oddeli logiku od GUI.
Proste tam, kde se neprosadily applety a kde nevyhovuje uzavrenost Flashe nebo JavaFX ;-)
Překpupy
celé vláknoTady slovosled
…ovšem hlavním důvodem byla vysoká tohoto počítače cena…
Chybějící písmenko ve slově pod
…Apple Lisa byla pro jistotu nabízena po jménem Macintosh XL…
Pokud se oddělí seriál o historii GUI od Squeaku a Smalltalku tak by se mohla zrušit poznámka.
…(mj. se jedná i o Squeak, ke kterému se ještě v tomto seriálu vrátíme)…
BTW: Tradičně skvělý článek pane Tišnovský. Mňam.
Re: Překpupy
celé vláknoČeština má volný slovosled a varianta pana Tišnovského není špatně. ;-)

