Article View: pl.comp.os.advocacy
Article #481849Re: ta niebywała intuicyjność interfejsów...
From: Andrzej Rosa
Date: Mon, 07 Mar 2011 14:48
Date: Mon, 07 Mar 2011 14:48
84 lines
4970 bytes
4970 bytes
On 2011-03-07, Wojciech Bancer <proteus@post.pl> wrote: > On 2011-03-07, Andrzej Rosa <bakters@yahoo.com> wrote: > > [...] > >> Dotknąłeś pędzel w paincie i podnosisz palec. Jaki stan i w ogóle stan >> czego masz w tej sytuacji? > > Kliknąłeś przyciskiem pędzel w paincie i puściłeś. Czym to się różni? Kursor zachowuje stan. Żeby użyć pędzla, muszę go przesunąć na rysunek. W przypadku interfejsu dotykowego niczego nie przesuwam, więc gubię stan. >> Użytkownik _z kontekstu_ oczekuje, że jak dotknie palcem obszaru na >> rysunku to będzie malował dotkniętym _wcześniej_ pędzlem. > > No to aplikacja na podstawie wybranego wcześniej narzędzie w momencie > (roboczo nazwijmy) ontouch na aktywnym polu (które obsługuje), będzie > wykonywała akcję przypisaną do wybranego narzędzia. > > W czym problem? 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. >> Nie oczekuje, że jak dotknie obszaru poza rysunkiem to też będzie >> malował. > > No i jaki w tym problem? > Programowanie zdarzeniowe nie polega na robieniu pętli wyjątków tylko > na obsłudze konkretnego zdarzenia w konkretnych warunkach. W pozostałych > przypadkach obsługa jest domyślna, przez system. 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!" >> Programista musi _przewidzieć_ oczekiwania użytkownika i je odgadnąć. > > Po co? Programista ma obsłużyć akcje, które potrzebuje. > Nic mniej, nic więcej. No i obsłużył proste dotknięcie w sytuacji gdy powinien się domyślić, że powinien obsłużyć gest. Albo jak w poprzednim wypadku, obsłużył malowanie w sytuacji gdy powinien obsłużyć proste dotknięcie. >> 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. Jak kursor jest nad rysunkiem, pracujemy w paincie. Jak kursor jest poza rysunkiem, obsługujemy zwykłe kliknięcia. Jak kursor jest poza aplikacją, obsługujemy generyczne zachowanie myszy w systemie. W przypadku interfejsu dotykowego kontekst trzeba zgadnąć. > Przecież w programach > tego nie śledzisz, bo Ci nie jest to potrzebne. Reagujesz na onclick, > albo na onbuttondown albo onbuttonup i dopiero wtedy odczytujesz > współrzędne (bo wtedy zazwyczaj Ci potrzebne). Na gładzikach masz to > samo, tylko musisz prowadzić kursor, bo gładzik sam w sobie nie przekazuje > prawidłowo pozycji XY względem ekranu. Jak kursor w ogóle jest, sytuacja się upraszcza. -- Andrzej Rosa Working Gentoo flavor: http://www.funtoo.org Maintained by Daniel Robbins.
Technical Details
Message-ID:
<4d74f027$0$2505$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-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<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>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-b-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> User-Agent: slrn/0.9.9p1 (Linux) Mime-Version: 1.0 Date: 07 Mar 2011 14:48:07 GMT Lines: 84 Message-ID: <4d74f027$0$2505$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.28.170.220 X-Trace: 1299509287 unt-rea-a-02.news.neostrada.pl 2505 83.28.170.220:43836 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit