🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #481864

Re: ta niebywała intuicyjność interfejsów...

#481864
From: Michał Gancarski
Date: Mon, 07 Mar 2011 16:14
184 lines
8790 bytes
On 07 Mar 2011 15:56:18 GMT, Andrzej Rosa wrote:

> On 2011-03-07, Michał Gancarski <michal@gancarski.com> wrote:
>> On 07 Mar 2011 14:48:07 GMT, Andrzej Rosa wrote:
>>
>>> Nie rozumiem.  Na przykładzie.  Dotknąłem pędzla, aplikacja zapamiętała
>>> to dotknięcie, dotykam rysunku i rysuję.  Wszystko pięknie.  Ale gdy
>>> dotykam poza rysunkiem a aplikacja nadal rysuje jest wtopa.  
>>> 
>>> I dalej w tym samym stylu.  Załóżmy aplikację pełnoekranową, żeby nie
>>> było komplikacji.  Dotknąłem pędzla, aplikacja zapamiętała że ma być
>>> pędzel, po czym dotykam menu.  Aplikacja powinna dać mi się przeklikać
>>> przez menu a mimo to nadal pamiętać, że wyimaginowany kursor ma
>>> przylepiony do niego pędzel.  Nie powinna zapomnieć wybranego narzędzia
>>> zanim użytkownik z niego osobiście nie zrezygnuje.
>>
>> To dokładnie tak jak z myszką. Sam sobie musisz zapamiętać, które narzędzie
>> zostało wybrane.
> 
> No i fajnie.  Wybrałeś pędzel, wszystko jest oczywiste, a użytkownik
> przeciągnął selekcję z innej aplikacji na obszar rysunki i zamiast
> wklejenia dostał krechę, bo programista nie przewidział że przeciąganie
> to zupełnie inny event niż rysowanie, mimo iż realizuje się go
> absolutnie identycznie.

No popatrz, to tak jak z myszką.


>>> Problem w tym, że w przypadku interfejsu dotykowego warunki nie są
>>> konkretne.  Decyduje kontekst, który nie jest konkretem, bo istnieje
>>> głównie w umyśle użytkownika.
>>> 
>>> Na przykład.  Użytkownik klika w menu, system otwiera menu, użytkownik
>>> klnie.  Dlaczego?  Bo on przecież "dotknął i przeciągnął" a nie "dotknął
>>> menu".  "Komputery są gupie!" 
>>
>> Skoro dotknął i przeciągnął, to nie "po prostu dotknął". Proste. To tak
>> jakbyś narzekał, że nie wiesz co zrobić z dwuklikiem na elemencie menu. Bo
>> przecież użytkownik nie kliknknął, tylko dwukliknął i klnie. Olaboga,
>> musisz o tym pomyśleć.
> 
> To akurat proste.  Dwuklik jest rozwinięciem jednokliku, tzn. najpierw
> robi to co jednoklik (powiedzmy zaznacza), po czym realizuje dwuklik,
> jeśli faktycznie nastąpi.  Nie ma konfliktu.

Andrzej, znowu opowiadasz głupoty. Dwuklik to dwuklik, a klik to klik.
Jedno nie jest żadnym "przedłużeniem" drugiego. Należy je traktować jak
dwie osobne akcje i można je takoż oprogramowywać. Bo nie rozumiem czemu
dwuklik na narzędziu nie miałby otwierać opcji tego narzędzia zamiast go
wybierać. Albo odwrotnie - dlaczego tak dziać by się miało.

Tak się dzieje w Inkscape - sprawdź. Z myszą i kursorem masz znacznie
większy ból głowy, masz znacznie więcej możliwości do obsłużenia. BTW, co
się dzieje gdy kółeczkiem jadę nad menu z narzędziami? Bo nie rozumiem
czemu ono się nie skaluje odpowiednio. To przecież oczywiste, intuicyjne. W
końcu każdy może chcieć mieć ikony innego rozmiaru. Tylko projektant
aplikacji się nie domyślił. Albo nie - kółeczko powinno powodować
przeskakiwanie do kolejnego/poprzedniego narzędzia. Chociaż z drugiej
strony może lepiej żeby paleta z narzędziami się przesuwała? Jeszcze nie
tak - to powinno być kontekstowe, np. kółeczko nad ikonką pędzla powinno
regulować jego grubość. Albo stopień nacisku? Przezroczystość?

Rzecziwście - prostota i oczywistość kontekstu.


>>> No i obsłużył proste dotknięcie w sytuacji gdy powinien się domyślić, że
>>> powinien obsłużyć gest. 
>>
>> Albo obsłuży dwuklik w sytuacji, gdy powinien się domyślić, że to powinien
>> być zwykły klik. Albo nie klik, tylko przytrzymanie klawisza i
>> przeciągnięcie myszką. Albo może jednocześnie prawy i lewy przycisk?
>> Kółeczko? Trzeci przycisk? Przeciągnięcie z trzecim przyciskiem?
>> Przeciągnięcie z prawym?
> 
> Każde z tych zdarzeń jest jednoznacznie określone, bo kursor zmienia
> stan zależnie od sekwencji*.  Ale owszem, zdarzały się problemy w
> przypadków gestów myszy i to całkiem często**.  W przypadku interfejsu
> dotykowego jest po prostu gorzej.

Jest po prostu lepiej, bo jest mniej możliwości do obsłużenia albo
zignorowania. I to, że powtórzysz tę kwestię tysiąc razy nie zmieni niczego
- myszka plus klawisze to tysiące możliwości. Ekran dotykowy zaś daje
znacznie mniej możliwych ze strony użytkownika manewrów.

 
> *) np. prawy kliki, puszczasz -> menu kontekstowe, ale prawy klik,
>   przeciągasz daje gest myszy.
> 
> **) np. prawy klik, przeciągasz daje menu kontekstowe zamiast gestu.



>>>>> Nie ma kursora o jednoznacznie określonym stanie.
>>>>
>>>> Ale przecież w normalnych aplikacjach to Ci nie jest potrzebne. Po xuj
>>>> Ci pozycja kursora myszki jak nic nie wciskasz?
>>> 
>>> Jednoznacznie określa kontekst.
>>
>> Nie.
> 
> Podaj przykład.

Chyba Ty? To Ty postulujesz, że niewielki podzbiór informacji na temat
stanu interfejsu określa jednoznacznie kontekst. Jak?


>>>  Jak kursor jest nad rysunkiem,
>>> pracujemy w paincie.
>>
>> Jak bazgrasz palcem po obszarze malowania, to malujesz.
> 
> Naprawdę?  A jak użytkownik rozwinął menu, przejechał palcem po
> pozycjach i wyjechał poza, to też powinna być krecha?  Kursor nie robi
> krechy.

Oczywiście, że robi. To jest tylko i wyłącznie kwestia wyboru ze strony
projektanta aplikacji, a nie kwestii myszka/dotyk. W obu przypadkach
aplikacja może się zachować na oba sposoby.


>  Po wyjechaniu poza menu, menu się zwija,

Nie rozumiem dlaczego. Może tak właśnie ma nie być? Kliknij sobie w Windows
w ikonkę pokazania wszystkich ikonek na pasku.


> ale żeby coś narysować
> trzeba ponownie wcisnąć LPM.  Tutaj dotyk to dotyk, nie?

Tak samo jak klik to klik. Nie ma żadnegeo wynikania pomiędzy "stanem
kursora" czy czymkolwiek innym, a sposobem zachowania się aplikacji w takim
momencie. To nadal jest wybór ze strony projektanta aplikacji, bo
oprogramować można oba rodzaje zachowania dla obu rodzajów interfejsu.

 
>>>  Jak kursor jest poza rysunkiem, obsługujemy zwykłe
>>> kliknięcia.
>>
>> Jak dotykasz poza obszarem malowania, to nie malujesz. Trudne?
> 
> A co w sytuacji gdy chcesz przeciągnąć kreskę poza widoczny obszar
> rysunku?

W przypadku myszki? Trudny wybór.


> Użytkownik prawdopodobnie będzie oczekiwał, że program
> przesunie mu widoczny obszar w kierunku malowania.

To tak jak z myszką.


> Czyli wyjeżdżasz poza obszar rysowania, ale z kontekstu wynika, że
> użytkownik chce kontynuować rysowanie, a nie przejechać palcem w inne
> miejsce.  Najśmieszniej by było, gdyby po wyjechaniu poza rysunek system
> obsłużył gest. ;-)

To tak jak z myszką.


> [...]  
>>> W przypadku interfejsu dotykowego kontekst trzeba zgadnąć.
>>
>> To dokładnie tak samo jak z myszą.
> 
> Powiedzmy, podobnie do gestów myszy, które też lubią się rypać, więc
> niewielka to pociecha. 

Nie "gestów myszy" tylko prostego draga.


>>> Jak kursor w ogóle jest, sytuacja się upraszcza.
>>
>> Nie.
> 
> Nie?  Robię Ctrl-V.  Gdzie i co powinno być wklejone.

No właśnie, gdzie? Bo nie pod kursorem przecież. Użyj czasem jakiegoś
programu graficznego to zobaczysz jakie cuda się dzieją.


-- 
Michał Gancarski
Technical Details
Message-ID: <1bt4ao44luevq.1r141v0mf7p2y.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <90a44e0b-e088-46ee-8b44-69ea10d21611@u3g2000vbe.googlegroups.com> <iklomn$r0e$1@news.onet.pl> <ikm2c2$hjv$1@node2.news.atman.pl> <4d6ea047$0$2452$65785112@news.neostrada.pl> <ikqirp$9j0$1@inews.gazeta.pl> <4d7120e0$0$2491$65785112@news.neostrada.pl> <wzs7ints4fdh.gy2djku3mouc$.dlg@40tude.net> <4d73d38d$0$2439$65785112@news.neostrada.pl> <dk59fm1lho5c$.mmsu0q21f7sl.dlg@40tude.net> <4d74cf56$0$2486$65785112@news.neostrada.pl> <slrnin9lqe.2mi3.proteus@pl-test.org> <4d74f027$0$2505$65785112@news.neostrada.pl> <169uowejwavm3$.mdcsqyj5rroq.dlg@40tude.net> <4d750022$0$2492$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Michał Gancarski <michal@gancarski.com>
Newsgroups: pl.comp.os.advocacy
Subject: Re: ta
 niebywała intuicyjność interfejsów...
Date: Mon, 7 Mar 2011 17:14:18 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 184
Message-ID: <1bt4ao44luevq.1r141v0mf7p2y.dlg@40tude.net>
References: <90a44e0b-e088-46ee-8b44-69ea10d21611@u3g2000vbe.googlegroups.com> <iklomn$r0e$1@news.onet.pl> <ikm2c2$hjv$1@node2.news.atman.pl> <4d6ea047$0$2452$65785112@news.neostrada.pl> <ikqirp$9j0$1@inews.gazeta.pl> <4d7120e0$0$2491$65785112@news.neostrada.pl> <wzs7ints4fdh.gy2djku3mouc$.dlg@40tude.net> <4d73d38d$0$2439$65785112@news.neostrada.pl> <dk59fm1lho5c$.mmsu0q21f7sl.dlg@40tude.net> <4d74cf56$0$2486$65785112@news.neostrada.pl> <slrnin9lqe.2mi3.proteus@pl-test.org> <4d74f027$0$2505$65785112@news.neostrada.pl> <169uowejwavm3$.mdcsqyj5rroq.dlg@40tude.net> <4d750022$0$2492$65785112@news.neostrada.pl>
NNTP-Posting-Host: 193-239-36-253.ksi-system.net
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1299514460 24968 193.239.36.253 (7 Mar 2011 16:14:20 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 7 Mar 2011 16:14:20 +0000 (UTC)
X-User: wssbck
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit