🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#481863
From: Andrzej Rosa
Date: Mon, 07 Mar 2011 15:56
113 lines
6115 bytes
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.

>> 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.

>> 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.

*) 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.

>>  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.  Po wyjechaniu poza menu, menu się zwija, ale żeby coś narysować
trzeba ponownie wcisnąć LPM.  Tutaj dotyk to dotyk, nie?

>>  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?  Użytkownik prawdopodobnie będzie oczekiwał, że program
przesunie mu widoczny obszar w kierunku malowania.

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. ;-)

[...]  
>> 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. 

>> Jak kursor w ogóle jest, sytuacja się upraszcza.
>
> Nie.

Nie?  Robię Ctrl-V.  Gdzie i co powinno być wklejone.  

-- 
Andrzej Rosa
Working Gentoo flavor:  http://www.funtoo.org
Maintained by Daniel Robbins.
Technical Details
Message-ID: <4d750022$0$2492$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.comp.os.advocacy
From: Andrzej Rosa <bakters@yahoo.com>
Subject: Re: ta
 niebywała intuicyjność interfejsów...
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>
User-Agent: slrn/0.9.9p1 (Linux)
Mime-Version: 1.0
Date: 07 Mar 2011 15:56:18 GMT
Lines: 113
Message-ID: <4d750022$0$2492$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.28.170.220
X-Trace: 1299513378 unt-rea-a-02.news.neostrada.pl 2492 83.28.170.220:48293
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit