2008-09-04

 

edytor do kodowania na fonie

[Wstęp jest długawy - to jak w edytorze działa wprowadzanie tekstu jest w czwartym akapicie od końca.]

Zawsze interesowały mnie różne niekonwencjonalne metody interakcji z komputerem - szczególnie gdy z góry narzucono pewne ograniczenia. Dużo ciekawych eksperymentów w tym polu robi Ken Perlin (ten od Perlin noise) - szczególnie jeżeli chodzi o wprowadzanie tekstu.

Jakieś pół roku temu próbowałem opracować metodę dla jednej ręki, która spoczywa na klawiaturze (siedem klawiszy + plus dwa do ekstra funkcji) silnie inspirując się właśnie metodami Perlina. Nie podobało mi się w jego systemach to, że podczas ich używania czuje się dużą niepewność. Być może to kwestia treningu? Spróbowałem to wtedy obejść i chyba mi udało, ale do niczego mi się nie przydało, dlatego projekt rzuciłem.

Kiedy kupiłem nowy telefon i okazało się, że można na nim odpalać skrypty w pythonie zapragnąłem móc pisać programy na samej komórce. Niestety multi-tap, a tym bardziej T9 się do tego nie nadają. Dodatkowo jest problem z wcięciami... nie mówiąc o wszelkich znakach "specjalnych" ukrytych pod *. Tak postanowiłem sięgnąć do mojej metody i napisać w pythonie edytor z wprowadzaniem tekstu wcześniej próbowaną przeze mnie metodą. I wtedy przypomniała mi się przypowieść ("The Zen of Programming", Geoffrey James, 1988):

"Curse these personal computers!" cried the novice in anger, "To make them do anything I must use three or even four editing programs. This is truly intolerable!"
The master programmer stared at the novice. "And what would you do to remedy this state of affairs?" he asked.
The novice thought for a moment. "I will design a new editing program," he said, "a program that will replace all these others."
Suddenly the master struck the novice on the side of his head.
"What did you do that for?" exclaimed the surprised novice.
"I have no wish to learn another editing program," said the master.
And suddenly the novice was enlightened.


Niestety nie udało mi się zaprzęgnąć gotowych narzędzi do mojego celu i uznałem, że jednak szybciej napiszę cały edytor od zera...

Na diagramie mniej więcej jawi się jak to działa. Na ekranie wyświetlona jest aktualna mapa klawiatury. Jeżeli chcę napisać literę "r" to naciskam kolejno "61": 6-wybiera minimapę, a potem 1-wybiera z minimapy literę "r". Żeby napisać "foo(x)" klikam "475757316737". Po każdym kliknięciu mam reakcję na ekranie w postaci zaznaczenia minimapy na podpowiedzi lub wstukania litery. W każdej chwili można przesuwać kursor, czy przejść do trybu zaznaczania tekstu gdzie można kopiować, wycinać lub robić grupowe wcięcia. Jest też kilka skrótów niezaznaczonych na diagramie (np. duże litery to standardowe "#")

Jak widać jeszcze wielu pól nie wykorzystałem. Chcę trochę zmienić klawiaturę tak by zmaksymalizować użycie obydwu rąk, a zminimalizować sytuację gdy muszę jednym palcem kliknąć dwa klawisze leżące blisko siebie, bo to zdaje się najwolniejsze na małej klawiaturze.

Narazie edytor jest w takim stanie, że nie ma jeszcze menu "File" i nie ma jak zapisywać czy ładować pliki, ale najważniejsze funkcje edycji działają. Niestety jest to mój pierwszy program w symbianowym pythonie i źródło ma fatalną strukturę... ale nie o to chodzi. Jak trochę go potestuję i okaże się dobry na pewno wrzucę źródła. Najfajniejsze jest to, że będę mógł edytować źródła tego edytora tym samym edytorem na telefonie :))). Z power ficzerów można by dodać parsowanie edytowanego źródła na żywo i możliwość wprowadzania jak w T9, ale ze zgadywaniem w kontekście tego źródła i importów - wiem, że prędzej kupię sobie fon z pełną klawiaturą niż to zrobię, ale zawsze można pomarzyć.

Jedna ważna sprawa: kiedyś rozejrzałem się po sieci w poszukiwaniu metod wprowadzania tekstu na komórkach i jest tak ogromna ich ilość, że nie zdziwiłbym się wcale gdyby ktoś coś takiego już wcześniej opatentował kilka lat wcześniej i nie ma w tym nic nowego. Po prostu chcę mieć rozsądny edytor na komórce - tyle.

Komentarze:
ej, komórka przecież do dzwonienia służy.... nie??



z cyklu idiotyczne komentarze humanistki.
 
moja Komóra to coś więcej niż zabawka do dzwonienia... babe!
 
opanentuj to jak dokonczysz. mowie o sposobie edycji tekstu. kto wie za ile potem kupi to koncern? kurde. by moj telefon obslugiwal pythona
 
mimo wszystko mysle, ze do tradycyjnych wiadomosci T9 jest najszybszy i na pewno go nie przebiję. to co robie bedzie sie sprawdzac jedynie przy zrodlach programow czy htmlu... a ilu znajdzie sie dewiantów, ktorzy beda edytowac takie rzeczy na klawiaturze numerycznej? raczej garstka - watpie zeby koncerny sie na to rzucily.

w tej chwili testuje rozne uklady liter. jestem juz przy czwartym (ten na obrazku w poscie to cos miedzy pierwszym a drugim - czwarty jest zupelnie inny) i dziala calkiem niezle, ale jeszcze go dopieszczam. robie to glownie dla siebie, ale mysle, ze jezeli okaże się to wygodne to napisze coś podobnego pod j2me (pewno spokojnie wystarczy midp1.0 wiec dzialalo by na wszystkim)... może ... w wolny czasie ;)
 
znalazlem paper u Shumin Zhai, Ph.D. - w 2004 testowali praktycznie ten sam pomysł, sporo moge sie dowiedziec; podstawowy koncept identyczny, ale target był zupełnie inny (web tv) - poza tym ja korzystam w pewnym stopniu z dodatkowych klawiszy do edycji i optymalizuje pod użycie z wykorzystaniem dwóch kciuków, u nich chyba głównie jedna ręka - czyli niby to samo, ale jednak nie bardzo... zostawiam to na jutro
 
Post a Comment

<< Strona główna

Starsze posty dostępne w archiwum

This page is powered by Blogger. Isn't yours?