Re: [Neo] typing strategy and the keyboard layout

2017-02-03 Diskussionsfäden Arne Babenhauserheide
Hallo Anna,

Es tut mir Leid, dass ich erst jetzt antworte (ein Jahr später … ich
hatte deine Antwort und Peters Antwort auf deine Antwort übersehen —
dein Papier ist mir grade wieder in die Hände gefallen und ich habe bei
einer Suche gemerkt, dass Du geantwortet hattest).

> Um es kurz zu machen, ich Stelle euch meine Daten natürlich gerne zur 
> Verfügung. Das Paper wird allerdings offiziell erst im Mai 
> veröffentlicht und solange wird es noch dauern bis wir die Daten 
> ebenfalls veröffentlichen. Bis dahin kann ich euch aber Beispieldateien 
> zweier Studienteilnehmer zukommen lassen, wenn ihr interessiert seid.

Hast Du die Daten inzwischen online gestellt (oder kannst Du sie uns zur
Verfügung stellen)? (bei deinem Papier habe ich sie nicht gefunden)

> Eine Frage an euch hätte ich aber auch:
> Was ist eure Methode die Zeichen der unteren Ebenen zu optimieren 
> (Punktuation, Klammern, Sonderzeichen etc)? Oder wurde "einfach" 
> entschieden welche Modifier Tasten benutzt werden und wo welches Zeichen 
> hinkommt?

Bei Neo2 sind Ebene 3 und 4 unabhängig von den die anderen Ebenen
(Großbuchstaben, griechische und mathematische Zeichen) hängen logisch
mit Ebene 1 zusammen, z.B. μ und m oder Σ (die Summe) und s.

Bei meinem Optimierer wird angenommen, dass die Tippenden den Modifier
mit der anderen Hand drücken.[1]

Bei der Optimierung bleiben die Zeichen auf Ebene 3 (Klammern u.ä.) und
Ebene 4 (Zahlen und Bewegungstasten) immer an der gleichen Stelle, die
Zeichen auf Ebene 2 (Großbuchstaben), 5 und 6 (griechische und
mathematische Zeichen) bewegen sich mit der Taste auf Ebene 1 mit.

[1]: Genaue Implementierung:
 
https://bitbucket.org/ArneBab/evolve-keyboard-layout/src/0e9c3acee37060c8eadb726c5ed618a684b32ccf/ngrams.py?#ngrams.py-38

> Dies ist, nebenbei ein Punkt, in dem man die Neo Tastatur weiter 
> verbessern könnte. Was unser "How we type" Paper zeigt, ist dass Leute 
> sehr unterschiedlich tippen. Die meisten Computernutzer haben das 
> Zehnfingersystem nicht gelernt und ihre eigene Strategie entwickelt. Das 
> macht die Optimierung einer Tastatur natürlich umso schwerer. Aber auch 
> spannender. Wie können wir eine robuste Lösung finden, die optimal für 
> verschieden Tippstrategien funktioniert?

Brauchen wir so eine Lösung?

Die unterschiedlichen Tippstrategien könnten ihren Ursprung darin haben,
dass die QWERTZ-Tatstatur für das Zehnfingersystem nicht wirklich gut
geeignet ist, weil sie große Bewegungen von der Grundlinie erfordert
(z.B. für "un" oder "der"). Unsere Bewegungskosten-SVGs zeigen das
deutlich (auch wenn sie nicht mehr ganz aktuell sind, qualitativ passen
sie immernoch):
http://www.draketo.de/licht/freie-software/neo-tastaturlayout-pruefen-und-evolutionaer-entwickeln

- QWERTZ: http://www.draketo.de/files/qwertz_klein.png
- Neo2: http://www.draketo.de/files/neo2_klein.png
- Automatisch optimiert: http://www.draketo.de/files/tnrs_klein.png

Gelbe Linien sind hier sehr unschön zu tippende Bigramme, rote sind noch
unangenehm (hohe Kosten) während hellblaue vom Optimierer als angenehm
eingestuft werden.[2]

Da Leute für eine neue Belegung sowieso umlernen müssen, wäre es meiner
Ansicht nach geschickter, die Belegung so zu optimieren, dass das
Zehnfingersystem optimal funktioniert — oder genauer: Dass die
Verwendung mit allen Fingern und minimaler Handbewegung und minimaler
Abweichung der Finger von ihrer entspannten Lage möglich ist.

[2]: Es wäre interessant zu prüfen, ob diese Kosten mit der Verzögerung
 zwischen zwei Tasten korrellieren — vielleicht zusätzlich
 modifiziert mit dem Grad an Vorbereitung des zweiten Fingers.

> Um Strategien zwischen Englisch- und Finnisch-Tippern vergleichen zu 
> können (welcher Finger drückt welche Taste), haben wir nur die 
> Buchstaben betrachtet die in beiden Sprachen vorkamen und jeden 
> Buchstaben gleich gewichtet.

Ein Ergebnis, das dafür vielleicht nützlich sein könnte, ist, dass wir
gesehen haben, dass eine Tastaturbelegung, die nur für die deutsche
Sprache optimiert ist, für das Englische sehr unangenehm zu benutzen
ist. Für einen gemischten Deutsch-Englischen Korpus zu optimieren (30%
Englisch, 70% Deutsch) funktioniert allerdings für beide Sprachen sehr
gut.

Liebe Grüße,
Arne


Feit Anna writes:

> Hallo Arne,
>
> ich gehe mal davon aus, dass das hier auch auf deutsch geht.
>
> Ich habe mich schon einmal mit der Neo Tastatur beschäftigt und finde 
> das Projekt wirklich super. Ich hatte mich mal ein bisschen in euer Wiki 
> und Code eingelesen. Eure Ansätze machen Sinn, allerdings fehlt meiner 
> Ansicht nach oft eine wissenschaftliche oder statistische Grundlage für 
> viele eurer Entscheidungen, was Gewichte oder Werte in der Optimierung 
> angeht.
>
> Ich bin mir sicher dass meine Daten euch da zumindest einen Startpunkt 
> liefern können, auch wenn sie nicht spezifische für die Modellierung des 
> Zehnfingersystems gesammelt wurden.
> Dies ist, nebenbei ein Punkt, in dem man die Neo Tastatur weiter 
> verbessern 

Re: [Neo] typing strategy and the keyboard layout

2016-02-28 Diskussionsfäden Peter Eberhard

Hallo Anna,

ich glaube, es hat dir noch niemand auf deine Frage geantwortet:

Eine Frage an euch hätte ich aber auch:Was ist eure Methode die Zeichen  
der unteren Ebenen zu optimieren

(Punktuation, Klammern, Sonderzeichen etc)? Oder wurde "einfach"
entschieden welche Modifier Tasten benutzt werden und wo welches
Zeichen hinkommt?


Ich bin da jetzt nicht so der Experte, war damals aber immerhin an der  
Belegung der toten Tasten (für diakritische Zeichen) beteiligt. Da gab es  
lange Zeit einen Status quo, der einfach angenommen wurde, und später  
wurden von verschiedenen Leuten (darunter ich) daran bestimmte Positionen  
bemängelt sowie Gegenvorschläge gemacht und diskutiert. Einige dieser  
Vorschläge kannst du noch unter [1] nachvollziehen.


Dasselbe gab es für die Bewegungstasten der 4. Ebene.

Die Belegung der 3. Ebene geschah vor meiner Zeit. Zumindest kannst du bei  
[1] noch sehen, welche Bigramme verschiedener Programmiersprachen da eine  
Rolle spielten. Im Gegensatz zur ersten Ebene wurde hier nicht versucht,  
die Hände abwechseln zu lassen, sondern sie im Gegensatz dazu in der  
gleichen Hand zu belassen, damit die andere Hand Mod3 gedrückt halten  
kann. Außerdem ging es um eine gute Merkbarkeit. Meines Wissens wurde da  
aber in keinster Weise wissenschaftlich vorgegangen, sondern eher  
„politisch“ ein Konsens gesucht. Da dürften andere aber Genaueres wissen.


Der Zeichenvorrat der 3. Ebene ist durch den ASCII-Zeichensatz weitgehend  
vorgegeben, der Rest (6. Ebene) ergibt sich letztlich aus der praktischen  
Verwendung der Entwickler damals. Da gab es wohl auch keine allgemeinen  
statistischen Erhebungen.


Es gab auch wiederholt Diskussionen auf dieser Liste, ob nicht noch dieses  
oder jenes Zeichen mit aufgenommen werden könne (beliebter Kandidat z.B.  
‽), aber das wurde regelmäßig abgeschmettert, inzwischen immer mit dem  
Hinweis, dass Neo 2 sich nicht mehr verändern soll.


Grüße,
Peter


[1] http://wiki.neo-layout.org/wiki/Listendiskussionen


Am 17.02.2016, 10:12 Uhr, schrieb Feit Anna :



   Hallo Arne,
   
   ich gehe mal davon aus, dass das hier auch auf deutsch geht.


   
   Ich habe mich schon einmal mit der Neo Tastatur beschäftigt und

   finde das Projekt wirklich super. Ich hatte mich mal ein bisschen in
   euer Wiki und Code eingelesen. Eure Ansätze machen Sinn, allerdings
   fehlt meiner Ansicht nach oft eine wissenschaftliche oder
   statistische Grundlage für viele eurer Entscheidungen, was Gewichte
   oder Werte in der Optimierung angeht.
   
   Ich bin mir sicher dass meine Daten euch da zumindest einen

   Startpunkt liefern können, auch wenn sie nicht spezifische für die
   Modellierung des Zehnfingersystems gesammelt wurden.
   Dies ist, nebenbei ein Punkt, in dem man die Neo Tastatur weiter
   verbessern könnte. Was unser "How we type" Paper zeigt, ist dass
   Leute sehr unterschiedlich tippen. Die meisten Computernutzer haben
   das Zehnfingersystem nicht gelernt und ihre eigene Strategie
   entwickelt. Das macht die Optimierung einer Tastatur natürlich umso
   schwerer. Aber auch spannender. Wie können wir eine robuste Lösung
   finden, die optimal für verschieden Tippstrategien funktioniert?
   
   Um Strategien zwischen Englisch- und Finnisch-Tippern vergleichen zu

   können (welcher Finger drückt welche Taste), haben wir nur die
   Buchstaben betrachtet die in beiden Sprachen vorkamen und jeden
   Buchstaben gleich gewichtet. Die effektive Nutzung der Finger ist
   dann natürlich wieder Sprachen und Textabhängig. Dennoch zeigt es
   welchen Bereich die Finger auf der Tastatur abdecken, und das kann
   sehr unterschiedlich sein. Eure Gewichtungen würden sich natürlich
   für jede Strategie ändern. Für jemanden der nur den Zeigefinger der
   rechten Hand benutzt ist die Qwertz "j" Taste genauso gut oder
   schelcht zu erreichen wie die Qwertz "o" oder "m", zumal der Finger
   nicht auf der Qwertz "j" Taste als Startposition ruht.
   
   Die richtigen Gewichtungen zu finden ist schwierig und ein gutes

   Tippmodell, das die Tippgeschwindigkeit einer Buchstabensequenz
   voraussagt, gibt es noch nicht. Alle mir bekannten Modelle sind auf
   das 10-Finger System zugeschnitte und, noch schlimmer, beruhen auf
   den Forschungen von vor über 30 Jahren (z.B. Dvorak oder Salthouse).
   Das Tippen auf modernen Keyboards geht wesentlich einfacher und wir
   haben zum Beispiel herausgefunden, dass Bigrams die mit Fingern
   unterschiedlicher Hände getippt wurden, kaum schneller sind als mit
   Fingern der gleichen Hand, bei manchen ist es sogar langsamer - ein
   Effekt der für Schreibmaschinen wieder und wieder berichtet wurde
   und auf den alle Modelle aufbauen. Auf flachen Computertastaturen
   bei denen es kaum Kraft benötigt eine Taste zu drücken, ist die
   Vorbereitung des nächsten Buchstabens mit einem Finger der gleichen
   Hand oft genauso schnell möglich wie mit einem Finger der anderen
   Hand.
   
   Ok, diese email wurde 

Re: [Neo] typing strategy and the keyboard layout

2016-02-17 Diskussionsfäden Feit Anna

Hallo Arne,

ich gehe mal davon aus, dass das hier auch auf deutsch geht.

Ich habe mich schon einmal mit der Neo Tastatur beschäftigt und finde 
das Projekt wirklich super. Ich hatte mich mal ein bisschen in euer Wiki 
und Code eingelesen. Eure Ansätze machen Sinn, allerdings fehlt meiner 
Ansicht nach oft eine wissenschaftliche oder statistische Grundlage für 
viele eurer Entscheidungen, was Gewichte oder Werte in der Optimierung 
angeht.


Ich bin mir sicher dass meine Daten euch da zumindest einen Startpunkt 
liefern können, auch wenn sie nicht spezifische für die Modellierung des 
Zehnfingersystems gesammelt wurden.
Dies ist, nebenbei ein Punkt, in dem man die Neo Tastatur weiter 
verbessern könnte. Was unser "How we type" Paper zeigt, ist dass Leute 
sehr unterschiedlich tippen. Die meisten Computernutzer haben das 
Zehnfingersystem nicht gelernt und ihre eigene Strategie entwickelt. Das 
macht die Optimierung einer Tastatur natürlich umso schwerer. Aber auch 
spannender. Wie können wir eine robuste Lösung finden, die optimal für 
verschieden Tippstrategien funktioniert?


Um Strategien zwischen Englisch- und Finnisch-Tippern vergleichen zu 
können (welcher Finger drückt welche Taste), haben wir nur die 
Buchstaben betrachtet die in beiden Sprachen vorkamen und jeden 
Buchstaben gleich gewichtet. Die effektive Nutzung der Finger ist dann 
natürlich wieder Sprachen und Textabhängig. Dennoch zeigt es welchen 
Bereich die Finger auf der Tastatur abdecken, und das kann sehr 
unterschiedlich sein. Eure Gewichtungen würden sich natürlich für jede 
Strategie ändern. Für jemanden der nur den Zeigefinger der rechten Hand 
benutzt ist die Qwertz "j" Taste genauso gut oder schelcht zu erreichen 
wie die Qwertz "o" oder "m", zumal der Finger nicht auf der Qwertz "j" 
Taste als Startposition ruht.


Die richtigen Gewichtungen zu finden ist schwierig und ein gutes 
Tippmodell, das die Tippgeschwindigkeit einer Buchstabensequenz 
voraussagt, gibt es noch nicht. Alle mir bekannten Modelle sind auf das 
10-Finger System zugeschnitte und, noch schlimmer, beruhen auf den 
Forschungen von vor über 30 Jahren (z.B. Dvorak oder Salthouse 
). 
Das Tippen auf modernen Keyboards geht wesentlich einfacher und wir 
haben zum Beispiel herausgefunden, dass Bigrams die mit Fingern 
unterschiedlicher Hände getippt wurden, kaum schneller sind als mit 
Fingern der gleichen Hand, bei manchen ist es sogar langsamer - ein 
Effekt der für Schreibmaschinen wieder und wieder berichtet wurde und 
auf den alle Modelle aufbauen. Auf flachen Computertastaturen bei denen 
es kaum Kraft benötigt eine Taste zu drücken, ist die Vorbereitung des 
nächsten Buchstabens mit einem Finger der gleichen Hand oft genauso 
schnell möglich wie mit einem Finger der anderen Hand.


Ok, diese email wurde länger als gedacht ;)
Um es kurz zu machen, ich Stelle euch meine Daten natürlich gerne zur 
Verfügung. Das Paper wird allerdings offiziell erst im Mai 
veröffentlicht und solange wird es noch dauern bis wir die Daten 
ebenfalls veröffentlichen. Bis dahin kann ich euch aber Beispieldateien 
zweier Studienteilnehmer zukommen lassen, wenn ihr interessiert seid.


Eine Frage an euch hätte ich aber auch:
Was ist eure Methode die Zeichen der unteren Ebenen zu optimieren 
(Punktuation, Klammern, Sonderzeichen etc)? Oder wurde "einfach" 
entschieden welche Modifier Tasten benutzt werden und wo welches Zeichen 
hinkommt?


Gruss,
Anna Feit


On 15.2.2016 23:15, Arne Babenhauserheide wrote:

Dear Anna Maria Feit,

I am reading your paper How we Type. I’m a member of the Neo-Layout
community¹ and working on algorithmic optimizations of keyboard
layouts. For this we try to identify cost factors while typing — what
kinds of movements are problematic for typists — and use them to
optimize the keyboard layout to reduce strain on the hand.

I thought that (a) this might interest you, and (b) your data might
provide part² of the information we need to improve the optimizer.

Our current results are documented in the readme³ and the configuration
file⁴ of one of our optimization programs.

Can you provide access to your timing data in a way which allows us to
derive cost factors from it?

Best wishes,
Arne

¹: http://neo-layout.org

²: I assume that this will only provide part of the information, because
your data is gathered from people who trained to use the movements in
the QWERTY layout. However your result that the language does not
matter so much hints at much easier application of the data.

³: README, partially in german:

https://bitbucket.org/ArneBab/evolve-keyboard-layout/src/81700c3d2765b6ae0f25164a3e53483340d3b956/README

⁴: config file describing the cost factors. The implementation is in a
   separate code file⁵: