Objektově orientované uživatelské rozhraní - Object-oriented user interface

Při výpočtu , An objektově orientované uživatelské rozhraní ( OOUI ) je typ uživatelského rozhraní na základě objektově orientovaného programování metafora. V OOUI uživatel explicitně interaguje s objekty, které představují entity v doméně, které se aplikace týká. Mnoho aplikací pro vektorové kreslení má například OOUI - objekty jsou čáry, kruhy a plátna. Uživatel může objekt explicitně vybrat, změnit jeho vlastnosti (například velikost nebo barvu) nebo na něm vyvolat další akce (například jej přesunout, zkopírovat nebo znovu zarovnat). Pokud má obchodní aplikace jakékoli OOUI, uživatel může vybírat a/nebo vyvolávat akce na objekty představující entity v obchodní doméně, jako jsou zákazníci, produkty nebo objednávky.

Jakob Nielsen definuje OOUI na rozdíl od funkčně orientovaných rozhraní: "Objektově orientovaná rozhraní jsou někdy popisována jako převrácení aplikace naruby ve srovnání s funkčně orientovanými rozhraními. Hlavní zaměření interakce se mění tak, aby se stalo uživatelskými daty a další informační objekty, které jsou obvykle graficky znázorněny na obrazovce jako ikony nebo v oknech. "

Dave Collins definuje OOUI jako demonstraci tří charakteristik:

  • Uživatelé objekty vnímají a jednají s nimi
  • Uživatelé mohou klasifikovat objekty podle toho, jak se chovají
  • V kontextu toho, co se uživatelé pokoušejí udělat, všechny objekty uživatelského rozhraní zapadají do ucelené celkové reprezentace.

Jef Raskin naznačuje, že nejdůležitější vlastností OOUI je, že přijímá styl interakce „podstatné jméno-sloveso“, nikoli „sloveso-podstatné jméno“, a že to má z hlediska použitelnosti několik výhod.

Vztah k jiným nápadům uživatelského rozhraní

Mezi konceptem OOUI a dalšími důležitými myšlenkami v návrhu uživatelského rozhraní existuje velké množství potenciální synergie, včetně:

Mnoho futuristických představ o uživatelských rozhraních silně závisí na konceptech OOUI a zejména OOGUI. Existuje však mnoho příkladů uživatelských rozhraní, která implementují jeden nebo více z těchto dalších nápadů, ale která ve skutečnosti nejsou OOUI - ačkoli jsou často nesprávně označována jako OOUI. Naopak existují příklady OOUI, které nejsou ani grafické, ani nepoužívají techniky přímé manipulace, ani nepoužívají silné metafory. Například nejstarší verze programovacího jazyka Smalltalk měly rozhraní příkazového řádku, které však bylo také jasně OOUI, ačkoli se později stalo známější díky své průkopnické roli ve vývoji GUI, přímé manipulaci a vizuálních metafor.

Vztah k objektově orientovanému programování

Ačkoli existuje mnoho koncepčních paralel mezi OOUI a objektově orientovaným programováním , neznamená to, že OOUI musí být implementováno pomocí objektově orientovaného programovacího jazyka .

Pokyny pro IBM Common User Access (CUA) (možná nejkomplexnější pokus o definování standardu pro návrh OOUI) uvádějí, že „zatímco objektově orientované programování může usnadnit vývoj objektově orientovaného uživatelského rozhraní, není to -žádoucí. Objektově orientované uživatelské rozhraní lze vyvinout pomocí tradičnějších programovacích jazyků a nástrojů. '

Existují však silné synergie. Larry Tesler , který opustil společnost Xerox PARC v roce 1980 a připojil se k Apple, zdůraznil vztah:

Mnozí pozorovatelé předpokládali, že [] Smalltalk uživatelského rozhraní a jazyk Smalltalk jsou oddělitelnými inovace. V důsledku toho byla většina systémů ovlivněných uživatelským rozhraním Smalltalk navržena bez použití implementačního přístupu Smalltalk. V Apple jsme po použití Pascalu k implementaci šesti počátečních aplikací pro Lisu objevili přesvědčivé důvody pro změnu našeho programovacího jazyka tak, aby zahrnul více nápadů z Smalltalku. Aplikace Lisa jsou nyní psány v jazyce Clascal , což je rozšíření jazyka Pascal s objekty, třídami, podtřídami a vyvoláváním procedur pomocí předávání zpráv.

Vztah k modelování doménových objektů

Existuje také zjevná synergie mezi konceptem OOUI a myšlenkou konstruovat software z doménových objektů . Z toho však nevyplývá, že objekty, které uživatel vidí a interaguje v rámci OOUI, musí odpovídat objektům domény, na kterých je aplikace postavena.

Pokyny CUA uváděly, že „v objektově orientovaném uživatelském rozhraní objekty, se kterými uživatel pracuje, nemusí nutně odpovídat objektům nebo modulům kódu, které programátor použil k vytvoření produktu“. Základní metody návrhu popsané v CUA byly dále upřesněny v metodě OVID, která k modelování rozhraní používala UML .

Mark van Harmelen uvádí, že „Objektově orientovaný design uživatelského rozhraní nevyžaduje, aby designéři od počátku projektu zaujali objektově orientovaný pohled na problém. Kromě toho, i když designéři zaujmou objektově orientovanou perspektivu, budou mít prospěch ze samostatného zaměření na objektový model a design objektově orientovaného uživatelského rozhraní. '

Naproti tomu vzor nahých objektů je přístup k navrhování aplikací, který přinejmenším ve své naivní formě vynucuje přímou korespondenci mezi objekty zastoupenými v OOUI a základními objekty domény, přičemž automaticky generuje první z nich.

Reference

  1. ^ Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press
  2. ^ Collins, D., Navrhování objektově orientovaných uživatelských rozhraní. 1995, Redwood City, CA: Benjamin/Cummings
  3. ^ Raskin, J., Humánní rozhraní. 2000, Reading, MA: Addison-Wesley / ACM Press
  4. ^ Dayton, Tome. „Objektově orientovaná GUI jsou budoucnost“ . Inovační blog Presto . Vyvolány 8 March je 2017 .
  5. ^ Constantine, L. a L. Lockwood, Software pro použití. 1999: Addison-Wesley
  6. ^ Kay, A., Raná historie Smalltalku, v historii programovacích jazyků, T. Bergin a R. Gibson, editoři. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-.
  7. ^ a b IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, Severní Karolína.
  8. ^ Tesler, L. Objektově orientovaná uživatelská rozhraní a objektově orientované jazyky. na konferenci ACM n Osobní a malé počítače. 1983. New York: ACM.
  9. ^ Dave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998
  10. ^ van Harmelen, M., ed. Objektové modelování a návrh uživatelského rozhraní. 2001, Addison-Wesley: Reading, MA.
  11. ^ Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Irsko