Z PISAK
Skocz do: nawigacja, szukaj

Speller literowy prosty

Aplikacja będąca klawiaturą do pisania z podstawowymi funkcjami, mogąca pełnić rolę komunikatora, z wprowadzaniem znaków w oparciu o skanowanie pól i wejście 0 - 1 (np. naciśnięcie przycisku).

Przegląd różnych rozwiązań, w tym takich dostępnych na rynku, z komentarzem i propozycjami:

Media:PrzeglądSpellerów.pdf

Pole tekstowe

Istotne rzeczy:

  • widoczne co najmniej 2 wiersze tekstu, bieżący i poprzedni
  • po dojściu do końca ostatniej linii, pierwszy wiersz od góry nie powinien znikać nagle i że wszystko przeskakuje i nie wiadomo gdzie co jest, tylko się powoli przewijać
  • czcionka bezszeryfowa, np Arial lub Swiss, grubość normalna, rozmiar do ustalenia (osoba z krótkowzrocznością patrząc na monitor z ok 1 metra ma poważne trudności z odczytaniem czcionki 30 pkt i mniej)
  • typ liter- drukowane, chociaż jest wiele argumentów przemawiających za pisanymi
  • nie urywać słowa przy końcu linii, słowo przenoszone w całości do nowej
  • pytanie na ile można zwiększyć rozmiar panelu kosztem całej reszty, tak żeby był widoczny i wygodny dla wszystkich użytkowników
  • tekst raz wpisany i nie skasowany przed wyjściem z aplikacji spellera, powinien być przechowywany w pamięci przez cały czas korzystania z programu. Przed wyłączeniem programu, jeśli tekst nie był wcześniej zapisany do pliku, przypomnienie i pytanie czy zapisać

Litery

Ilość pól z literami (i najbardziej równomierna konfiguracja, rzędy x kolumny) w zależności od tego co dokładnie ma być na planszy:

  • 32 (4 x 8)- standardowy polski alfabet:
a ą b c ć d e ę f g h i j k l ł m n ń o ó p r s ś t u w y z ź ż
  • 23 (?, wiersze po 5 4 5 4 5 kolumn, 3 x 8 w tym jeden inny przycisk- np znaki specjalne, 3 x 8 w tym jeden znak specjalny- np przecinek)- polski alfabet okrojony o polskie znaki:
a b c d e f g h i j k l m n o p r s t u w y z

Częstość występowania liter w j. polskim wg Korpusu IPI PAN:

a i o e z n r w s t c y k d p m
8,91% 8,21% 7,75% 7,66% 5,64% 5,52% 4,69% 4,65% 4,32% 3,98% 3,96% 3,76% 3,51% 3,25% 3,13% 2,80%
u j l ł b g ę h ą ó ż ś ć f ń ź
2,50% 2,28% 2,10% 1,82% 1,47% 1,42% 1,11% 1,08% 0,99% 0,85% 0,83% 0,66% 0,40% 0,30% 0,20% 0,06%

Na podstawie powyższej tabeli i zakładając, że skanowanie idzie z góry na dół i z lewa na prawo, to takie konfiguracje powinny dać możliwie dużą prędkość pisania (dodatkowo im litera częstsza tym jest wyżej):

  • alfabet standardowy:
a i e r c p l ę
o z w y m ł h ż
n s k u b ą ś f
t d j g ó ć ń ź
  • jak wyżej bez polskich znaków (+ przycisk znaki specjalne):
a i e r t k m l
o z w c d u b h
n s y p j g f +

Litery w polach pisane czy drukowane- zapewne drukowane (do ustalenia).

Pomiędzy polami wyraźny odstęp, na tyle żeby można było je łatwo odróżnić.

Pola funkcyjne

Pola, po wybraniu których aplikacja podejmuje jakąś akcję, związaną czy to z wprowadzaniem tekstu czy z nawigacją po oknie programu.

Przyciski

  1. znaki specjalne
  2. spacja
  3. cofnij akcję (przywróć skasowany tekst/znak)
  4. zapisz
  5. usuń wszystko
  6. wyjdź
  7. usuń znak
  8. wczytaj

Opcjonalnie:

  1. zmień typ liter
  2. najpotrzebniejsze zwroty/dzwonek (głośny sygnał dźwiękowy)
  3. drukuj
  4. predykcja słów

Pola funkcyjne powinny być skanowane najpierw jako jeden rząd/kolumna, żeby nie wydłużać niepotrzebnie.

Podczas skanowania pól funkcyjnych, podobnie dla liter i komunikatów w oknach dialogowych, powinno zostać przewidziane wsparcie dźwiękowe, czyli czytanie odpowiednich rzeczy na głos.

Działanie

Co może się dziać po wybraniu któregoś z przycisków i jak ma to być realizowane:

Ad. 1. Podmienia tablicę z literami na tablicę ze znakami. Przycisk "znaki specjalnie" zmienia się na przycisk "litery". Przykładowe znaki (bez ^ { } ~ \) i ustawienie planszy:

, . - : " ?
0 1 2 3 4 5
! / 6 7 8 9
( ) + ' = ;
@ % < > $ &
_ * # [ ] |

Po przekierowaniu z planszy bez polskich liter, w miejscu znaku | przycisk "litery" przenoszący z powrotem do głównej planszy, tak żeby było konsekwentnie.

Z drugiej strony dobrze żeby każdy z przycisków funkcyjnych był zawsze w tym samym miejscu, niezależnie od tego jakie litery czy znaki są aktualnie na planszy. W takim razie powstaje też kwestia tablicy bez polskich znaków, czy w ogóle warto ją robić, czy nawet dla osób uczących się te dziewięć znaków może aż tak bardzo zamieszać. Z początku mogłyby po prostu nie zwracać na nie uwagi ale jednocześnie stopniowo oswajać się.

Ewentualnie wstawienie jednego znaku mogłoby automatycznie przenosić do planszy z literami (jak często potrzeba dwóch znaków obok siebie? - nie uwzględniając liczb) albo często używane znaki, jak przecinek i kropka, mogłyby być w głównym oknie spellera obok liter. Chociaż taka opcja dałaby większą wydajność dopiero przy pisaniu dłuższych tekstów

Ad. 2. Wstawia spację.

Ad. 3. Cofa skutki ostatniej podjętej akcji. Byłby to jeden przycisk realizujący wiele różnych funkcji, w zależności od tego co zrobiło się wcześniej. Istnieje ryzyko, że taka opcja wprowadzi poważne zamieszanie, tak że zanim użytkownik przyswoi sobie jej działanie w każdej z możliwych sytuacji, może minąć trochę czasu. Chociaż w przypadku gdy jest tylko kilka przycisków funkcyjnych, może nie będzie to aż tak uciążliwe, a da sporo korzyści. Najrozsądniej byłoby jednak ograniczyć działanie takiego przycisku tylko do jednokrotnego przywracania skasowanego tekstu- litery, znaku, spacji bądź całości pola tekstowego

Wtedy chcąc ograniczyć liczbę przycisków funkcyjnych, zrezygnować będzie trzeba z możliwości kasowania zapisanych plików.

Ad. 4. Zapisuje zawartość pola tekstowego do pliku. Użytkownik powinien mieć możliwość samodzielnego określenia nazwy pliku. Po wybraniu tej opcji uruchamia się okno dialogowe z pytaniem "Czy chcesz samemu nazwać plik?". Po wybraniu pola "Nie" wyświetlany jest komunikat "Zapisano plik o nazwie: Bez nazwy numer". Po wybraniu pola "Tak" przechodzi się do trybu nadawania nazwy plikowi. W oknie tekstowym lub nad nim widnieje napis "Nazwa pliku:", a użytkownik ma wpisać nazwę. W rzędzie przycisków funkcyjnych powinny być wszystkie standardowe pola poza "Wczytaj", a do tego: "Zrezygnuj z zapisu pliku" i "Akceptuj". Po zaakceptowaniu swojej nazwy przez użytkownika, wyświetlany jest komunikat informujący albo o powodzeniu, z treścią "Zapisano plik o nazwie: nazwa" lub pytaniem czy nadpisać, jeśli istnieje już plik o takiej samej nazwie. W przypadku wyboru opcji "Nie", powraca tryb nadawania nazwy, z napisem w którymś miejscu "Inna nazwa pliku:". Po udanym zapisie pliku lub rezygnacji, powraca zwykły tryb wprowadzania tekstu.

Komunikaty wraz z opcjami do wyboru pojawiają się albo w oknach dialogowych na tle głównego spellera, wtedy skanowanie odbywa się tylko w oknie na wierzchu, albo na całym ekranie zastępując główny panel.

Ad. 5. Kasuje całą zawartość pola tekstowego. W przypadku gdy użytkownik jest świadomy istnienia przycisku nr 3, ostrzeżenie poprzedzające wyczyszczenie tekstu nie wydaje się konieczne, a ponadto mało wygodne bo wymagające dodatkowego kliknięcia. Zakładając jednak, że wybór tego pola będzie w większości przypadków nieumyślny, warto je wziąć pod uwagę.

Ad. 6. Opuszcza aplikację i przechodzi do ekranu głównego programu lub do miejsca, z którego została uruchomiona. Jeśli pole tekstowe jest pełne, program może ewentualnie pytać czy na pewno chce się wyjść (chociaż to zależy od funkcji jaką ma pełnić speller prosty).

Ad. 7. Kasuje ostatni wprowadzony znak. Jeśli pole tekstowe jest puste- przycisk nieaktywny, może też informacja o tym, że jeszcze nic się nie wpisało.

Ad. 8. Wczytuje jeden z zapisanych wcześniej plików. Po uruchomieniu tej opcji pojawia się plansza z kafelkami z nazwami plików, użytkownik musi wybrać któryś z nich. Przy braku możliwość przewijania pola tekstowego plik najpierw powinien być otwierany w postaci ebooka, tylko do odczytu. Przyciski funkcyjne do wyboru to: "Wyjdź", zamykający plik, "W dół" i "W górę", przewijające tekst o określoną liczbę wierszy i "Edytuj", wstawiający zawartość pliku do pola tekstowego i uruchamiający tryb zwykłego pisania. Kursor ustawia się na końcu tekstu, można jedynie kontynuować pisanie. Po wybraniu opcji zapisu pliku, jako pierwsze pojawia się okno z pytaniem o nadpisanie starego pliku, dalej jak w Ad. 4.

Opcjonalnie:

Ad. 9. Podmienia litery na planszy z pisanych na drukowane i na odwrót.

Ad. 10. Zapewnia szybki dostęp do najpotrzebniejszych zwrotów. Wybranie tego przycisku może uruchamiać głośny dźwięk/alarm/syrenę, co ma przywołać opiekuna. Następnie do wyboru są różne zwroty, jak: wc, jeść, pić, tak, nie, podaj leki, boli mnie coś, popraw przycisk... Wybranie któregoś z pól powoduje otwarcie okna z dużym napisem i uruchamia syntezator lub nagranie czytanego na głos zwrotu. Pola ze zwrotami mogą być w miejscu planszy z literami, a wtedy w rzędzie przycisków funkcyjnych tylko dwa- powrót do głównej planszy i powtórzenie alarmu.

Inny pomysł tego rozwiązania, to że wybranie przycisku uruchamia głośny sygnał dźwiękowy, który ma przywołać opiekuna albo zwrócić uwagę osoby, z którą użytkownik rozmawia i dać jej znać że skończyło się już pisać to, co się miało do napisania.

Ad. 11. Drukuje całą zawartość pola tekstowego. W trakcie pasek postępu, na koniec komunikat dla użytkownika o pomyślnym zakończeniu drukowania albo o niepowodzeniu na skutek braku papieru lub tuszu. Opcjonalnie możliwość dostosowania różnych parametrów- czy obustronnie, czy w kolorze (jeśli by dodać opcję zmiany koloru tekstu- dość przyjemna opcja) itp.

Ad. 12. W miarę wpisywania kolejnych liter, program podpowiada słowa, zawierające te litery. Propozycja wizualna to dwa niewysokie rzędy pól z sugerowanymi wyrazami, wyraźnie oddzielone od najwyższego albo najniższego rzędu liter, skanowane najpierw jako całość, potem po pojedynczych polach. Wyrazy zmieniają się, ustawione zawsze z brzegu od najbardziej prawdopodobnego, czyli najczęściej występującego w języku albo najczęściej wpisywanego wcześniej przez użytkownika. Inna wersja to ustawienie od wyrazu najdłuższego, bo krótki wyraz łatwiej wpisać samemu albo połączenie- od najczęstszych, najdłuższych.

Opcja sama w sobie przydatna, chociaż to już 12 kolejny punkt na liście co sprawia, że ta strona zaczyna coraz bardziej przypominać tę stronę.

Wzór

Opcja szachownica

Speller

ATSpellerBez

ATSpeller

Opcja fancy

iteracja po wierszach

iteracja po kolumnie

Testy

Media:TestyPrędkościoweSpellerów.pdf