Die deutschsprachige Wikipedia nennt die bulgarische Tastaturbelegung von Teodor Galabow aus dem Jahr 1907 als frühe «alternative» Belegung. Eine ergonomische Tastaturbelegung, 25 Jahre vor Dvorak? Der Eintrag in Wikipedia verweist auf den Artikel The Bulgarian Alphabet and Keyboard in the Context of EU Communications. Laut Wikipedia wurde der Artikel von einer Arbeitsgruppe MEEK des Comité Européen de Normalisation herausgegeben. Mittlerweile ist er an seiner Ursprungsadresse verschwunden, die Arbeitsgruppe MEEK ist aufgelöst. Der Artikel selbst nennt keine Autoren. Im Abschnitt 5 wird immerhin auf eine Untersuchung (ANABELA) der Belegung aus dem Jahr 2007 hingewiesen, auch Namen von Beteiligten sind genannt, Verweise auf entsprechende Publikation fehlen indessen.
Ein verschwundener Artikel von unbekannten Urhebern, der seine Quellen nicht seriös benennt, herausgegeben von einer aufgelösten Arbeitsgruppe; traurig, was im Westen von Galabows Arbeit bekannt ist. Immerhin, die Belegung selbst ist wohlbekannt, sie ist nämlich der bulgarische Standard. Dank dessen können wir uns ein Bild davon machen, ob Galabows Werk eine Pioniertat war oder unsere einzige Quelle übertreibt. Das machen wir so: Galabows Belegung wird aufgrund eines bulgarischen Korpus mit einem aktuellen Konkurrenten (eine phonetische Übertragung von QWERTY auf kyrillisch, im Folgenden «CIA» genannt) und einer selbstoptimierten Belegung verglichen. CIA ist ungefähr das, was die Bulgaren hätten, wenn sie wie der Rest der Welt einfach Sholes abgekupfert hätten. Parallel dazu wird Dvorak mit QWERTY und einer selbstoptimierten Belegung für ein englisches Korpus verglichen. Dann betrachten wir, was Galabow beziehungsweise Dvorak gegenüber den Sholes-Belegungen herausholen, und wieweit sie hinter dem, was eigentlich «machbar» wäre, zurückbleiben. Die Machbarkeit beurteilen wir anhand der selbstoptimieren Belegungen. Da die Optimierung verschiedene Kriterien berücksichtigt, sind diese Belegungen natürlich nicht für jedes einzelne Kriterium an der absoluten Grenze, sondern zeigen auf, was in einer ausgewogenen Belegung machbar ist. Schliesslich werfen wir einen Blick auf DHIATENSOR, eine englische Belegung von 1893 oder noch früher, und prüfen, ob schon diese «ergonomisch» im Sinne Dvoraks war.
Ich nehme an, dass Sie den Optimierer heruntergeladen und grob verstanden haben. Der Optimierer und seine Dokumentation finden Sie auf der Übersichtsseite. Für diesen Artikel habe ich Version 1.227 benutzt. Hier ist eine Sammlung von Files, um diesen Artikel leichter nachvollziehen zu können:
Meine Webseiten machen Ihrem Browser keine Vorschriften, welche Fonts er verwenden soll. Wenn die Fonts in Ihren Voreinstellungen keine kyrillischen Zeichen enthalten wird dieser Artikel daher nicht korrekt angezeigt. Das sollte kein Problem sein, denn es gibt viele freie Fonts, die Kyrillisch abdecken und sich auf dem Bildschirm gut machen, etwa die DejaVu-Familie.
Eine gute Anlaufstelle für Korpora ist die Sammlung der Universität Leipzig, in der sich für viele Sprachen grosse Korpora finden. Ich nehme bul_news_2007_30K-sentences.text.tar.gz, 30000 Sätze aus Zeitungsartikeln. Das File ist bereits UTF-8-codiert, so wie der Optimierer das wünscht. Jeder Satz steht auf einer Zeile, und vor dem Satz, getrennt durch einen Tabulator, eine Nummer, die wir loswerden müssen. Mit Unix-Text-Werkzeugen ist das einfach:
cut -f2- bul_news_2007_30K-sentences.txt > bulgarisch.txt
Jetzt können wir die Häufigkeitstabellen erstellen:
./opt bulgarisch.txt
Das Korpus ist so gross, dass wir uns über statistische Fehler keine Gedanken machen.
Da ich kein Bulgarisch kann und nur einige kyrillische Buchstaben kenne, ist der schwierigste Teil für mich, die Zeichen der bulgarischen Belegung auszuwählen und richtig ins Konfigurationsfile einzutragen. Als Informationsquelle verwende ich Keyboard layouts for Bulgarian language writing devices. Dieser Artikel beschreibt Galabow und CIA, und gibt die Unicodepoints explizit an.
Beide Belegungen haben auf der Kleiner-Taste ein ѝ, das im Korpus nicht vorkommt und das man daher weglassen kann. Wir wollen alle Buchstaben sowie Punkt und Komma in der Belegung haben, und nehmen daher alle Tasten mit, auf denen in der einen oder anderen Belegung ein solches Zeichen liegt. Gegenüber dem Standard-Konfigurationsfile braucht man vier zusätzliche Tasten,
Taste TLDE 0 0 -0.25 0 -5 - 10 Taste AE12 14 0 11.75 0 5 - 10 Taste AD12 14 1 12.25 1 5 - 8 Taste AB12 14 3 13.00 3 5 - 10
TLDE ist in der Ecke links oben, AE12 rechts neben Backspace, AD12 die Taste links oben neben Return (ISO) und AB12 rechts neben der rechten Shifttaste. Die Tastennamen TLDE, AE12, AD12 und AB12 sind an xkeyboard-config angelehnt, für unsere Zwecke jedoch gleichgültig.
Leider kann man die Belegungen so immer noch nicht perfekt unter einen Hut bringen. Die Zeichen э und ы sind in CIA nicht enthalten, auch sind die Zeichenpaarungen nicht identisch. Bei den strittigen Kombinationen habe ich mich für Galabow entschieden, daher benutze ich
Zeichen '()' # TLDE Zeichen '.€' # AE12 Zeichen ',ы' # AD01 Zeichen ';§' # AD12 Zeichen :'": #"AB12
Die restlichen Zeichen sind unproblematisch. Die Kommentare geben die Position der Zeichen in Galabow an. Für э, die runden Klammern, den Strichpunkt und die Anführungszeichen ist nicht klar, wo sie in CIA hinsollen. Dazu später mehr.
In den Standardeinstellungen gibt es 35 Tasten. Mit den vier zusätzlichen und ohne die Leertaste brauchen wir jetzt 38 Tasten und müssen den Optimierer entsprechend compilieren:
g++ -std=c++11 -Ofast -DTASTENZAHL=38 -DNDEBUG -DMIT_THREADS -pthread opt.cc -o opt38
CIA verwendet eine phonetische Zuordnung zwischen lateinischen und kyrillischen Buchstaben. Wir können solche Beziehungen mit Ersatz ausdrücken, zum Beispiel bedeutet
Ersatz 'pп'
dass das lateinische «p» wie das kyrillische «п» getippt wird. Somit können wir bewerten, wie gut eine kyrillische Belegung sich zur Eingabe eines englischen Texts eignet, wenn man die phonetische Beziehung verwendet.
Wenn man Grafiken erzeugen will, muss man einen Font auswählen, der die benötigten Zeichen enthält. Ich habe Fira gewählt:
Zeichenfont FiraMono-Medium Beschreibungsfont FiraSans-Book
Eigentlich hätte ich mir nur um Zeichenfont Gedanken machen müssen, denn von Beschreibungsfont werden nur Ziffern benutzt. Sie sollten darauf achten, dass der PostScript-Interpreter die Fonts auch findet. Für ghostscript setzt man dazu die Umgebungsvariable GS_FONTPATH:
export GS_FONTPATH=/home/meinname/meinefonts
Im Allgemeinen ist die Verwendung eines erweiterten Zeichensatzes nicht ganz so einfach. Man muss PostScript nämlich mitteilen, welchen Glyphen es für ein bestimmtes Zeichen verwenden soll. Glyphen haben Namen, und für diese Namen gibt es Standards, leider mehrere. Zwei davon sind in den Adobe Glyphlisten beschrieben. Der Glyph für Д kann demnach Decyrillic oder afii10021 heissen. Als dritte Möglichkeit kann der Glyphname aus dem Vorsatz uni, gefolgt vom Codepoint als Hexadezimalzahl bestehen, im Fall von Д also uni0414. Diese dritte Möglichkeit ist die programmiererfreundlichste und wird von Optimierer als Voreinstellung verwendet. Fira benutzt netterweise diese Konvention, und darum müssen wir uns nicht mit den anderen plagen. Ansonsten hätten wir an jede Zeichen-Zeile noch einen Glyphnamen anhängen müssen, etwa so:
Zeichen 'дД' Decyrillic
Die Glyphnamen in einem Font findet man mit otfinfo aus den LCDF Typetools heraus.
DHIATENSOR scheint zunächst einfach. Auf Fotos der Blickensderfer 5 sieht man jedoch, dass nur eine Shift-Taste vorhanden ist. Das berücksichtigen wir mit einem Trick: Zunächst bekommt jede Taste nur eine Ebene mit einem Kleinbuchstaben. Grossbuchstaben werden als tote-Tasten-Kombinationen behandelt. Als Symbol für die tote Taste nehmen wir @, denn das kommt im englischen Korpus nicht vor. Der Optimierer verlangt, dass zwei Shifttasten in der Belegung sind. Da alle Tasten nur eine Ebene haben werden diese einfach nie angeschlagen.
Zeichen 'a' Zeichen '@' Ersatz 'A@a'
und so weiter. Beim Optimieren zur Bestimmung einer Referenzbelegung halten wir die tote Taste fest. Daneben probieren wir auch eine Konfigurationsvariante mit normalen Shifttasten.
Wir lassen den Optimierer mit dem richtigen Korpus und dem neuen Konfigurationsfile laufen
./opt38 -2 bulgarisch.txt -K bulgarisch.cfg -k -t 4
Nach einiger Zeit greifen wir den letzten aufgetretenen Belegungsstring ab
245.3710 ьэйъя.,фкдлжгхиаеозвнтрсч('юу;пбмщцш
und kopieren ihn in unsere Belegungssammlung vsgalabow.txt
ьэйъя.,фкдлжгхиаеозвнтрсч('юу;пбмщцш Optimal
Wir tragen die Ebene-1-Zeichen der Reihe nach in vsgalabow.txt ein:
(.,уеишщксдзц;ьяаожгтнвмчюйъэфхпрлб' Galabow
Die Reihenfolge geht zeilenweise von links oben nach rechts unten. Das liegt daran, dass die Tasten in dieser Reihenfolge im Konfigurationsfile stehen.
CIA ist schwieriger, denn wir können diese Belegung nicht getreu darstellen. Der Gerechtigkeit wegen wollen wir alle Zeichen, deren Position nicht klar ist, bestmöglich legen. Zunächst geben wir die Zeichen der Reihe nach in ein File CIA.txt ein. Dabei benutzen wir für Zeichen, deren Position klar ist, das Zeichen der zweiten Ebene (also typischerweise einen Grossbuchstaben). Für die vier unklaren Zeichen benutzen wir das Zeichen von Ebene 1. Die Reihenfolge dieser vier Zeichen untereinander ist zunächst egal. Zum Beispiel:
Ю(ЧШЕРТЪУИОПЯЩАСДФГХЙКЛ;'ЗЖЦВБНМы€эѝ CIA
Als nächstes erzeugen wir Variationen, die an bis zu vier Stellen von dieser Belegung abweichen, wobei die mit Ebene 2 angegeben Zeichen an ihrem Platz belassen werden:
./opt38 -2 bulgarisch.txt -K bulgarisch.cfg -k -r CIA.txt -V 4
Mit anderen Worten, wir erzeugen und bewerten alle Möglichkeiten, die vier fraglichen Zeichen anzuordnen. Die beste übernehmen wir in vsgalabow.txt.
юэчшертъуиопящасдфгхйкл'(зжцвбнм,.;ь CIA
Wir benutzen die Voreinstellungen des Optimierers und das mitgelieferte englische Korpus. Die Umlaute belassen wir in der Konfiguration. Da das Korpus keine enthält stören sie nicht.
Jetzt lassen wir den Optimierer über unsere Belegungssammlungen laufen:
./opt38 -2 bulgarisch.txt -K bulgarisch.cfg -r vsgalabow.txt -g vsgalabow.ps CIA 591.961 Gesamtaufwand 347.895 Lageaufwand links rechts ю э 8.982 Kollisionen 9.234 Shift-Kollisionen ob 22.3 24.9 чшерт ъуиопящ 50.155 Handwechsel 48.917 Shift-Handwechsel mi 21.3 7.6 асдфг хйкл'( 0.821 Ein-/Auswärts 40.502 Ein- oder auswärts un 10.6 13.2 зжцвб нм,.; ь 19.388 benachbart 11.063 Shift-benachbart sum 54.3 45.7 16.6 5.7 12.3 19.7 --.- --.- 12.7 12.7 12.8 7.5 Sh 1.6 1.7 Galabow 376.799 Gesamtaufwand 276.392 Lageaufwand links rechts ( . 3.220 Kollisionen 6.079 Shift-Kollisionen ob 19.6 14.5 ,уеиш щксдзц; 78.647 Handwechsel 25.927 Shift-Handwechsel mi 22.3 23.1 ьяаож гтнвмч 0.778 Ein-/Auswärts 17.773 Ein- oder auswärts un 5.1 13.9 юйъэф хпрлб ' 11.453 benachbart 6.965 Shift-benachbart sum 47.0 53.0 3.9 3.4 21.4 18.3 --.- --.- 15.8 16.4 10.4 10.4 Sh 2.7 0.7 Optimal 245.397 Gesamtaufwand 187.046 Lageaufwand links rechts ь э 1.559 Kollisionen 7.268 Shift-Kollisionen ob 5.8 12.0 йъя.ц фкдлжгш 76.172 Handwechsel 32.766 Shift-Handwechsel mi 39.0 29.1 иаеоз внтрсч 1.335 Ein-/Auswärts 21.908 Ein- oder auswärts un 5.1 9.0 ('у,ю пбмщх ; 7.047 benachbart 17.329 Shift-benachbart sum 49.9 50.1 11.4 13.6 11.3 13.6 --.- --.- 18.6 13.0 8.6 9.9 Sh 2.2 1.2
An den absoluten Aufwänden kann man natürlich immer zweifeln. Interessanter ist es, die Dvorak-typischen Kriterien anzuschauen. Kollisionen werden bei Galabow gegenüber CIA beinahe auf ein Drittel reduziert (Faktor 2,8) und liessen sich nochmals halbieren. Nachbaranschläge werden beinahe auf die Hälfte reduziert (Faktor 1,7) und liessen sich noch um 40% weiter verringern. Das Verhältnis von Ein- und Auswärtsbewegungen ist bei Galabow zwar kleiner als bei CIA, aufgrund der Handwechsel gibt es dennoch weniger Auswärtsbewegungen. Vermutlich hat diese Frage bei Galabow keine grosse Rolle gespielt; die «optimale» Belegung kann auch das Verhältnis von Ein- und Auswärtsbewegungen deutlich vergrössern. Galabow erreicht sehr viele Handwechsel, mehr sogar als die optimale Belegung.
Zur bildlichen Darstellung von Galabow in diesem Artikel schalten wir im PostScript-File vsgalabow.ps zuerst die Minitastaturen aus, denn die erzeugen viele Details, die man kaum erkennen kann:
/mitmini false def % Zeige Minitastatur unter Buchstaben
Wenn man die Bilder als PostScript oder PDF anschaut, kann man die Minitastaturen eingeschaltet lassen, da man die Darstellung skalieren und die Details somit erkennbar machen kann.
Zuerst ein Blick auf die Belegungen mit normalem Tastenfeld:
./opt35 -2 englisch.txt -r vsdvorak.txt -g vsdvorak.ps QWERTY 521.623 Gesamtaufwand 338.719 Lageaufwand links rechts 6.803 Kollisionen 5.978 Shift-Kollisionen ob 28.0 20.2 qwert yuiopü 52.746 Handwechsel 41.714 Shift-Handwechsel mi 22.1 9.5 asdfg hjklöä 1.074 Ein-/Auswärts 37.871 Ein- oder auswärts un 6.8 13.3 zxcvb nm,.ß 21.616 benachbart 11.945 Shift-benachbart sum 56.9 43.1 9.1 8.4 18.5 20.9 --.- --.- 18.4 8.9 12.1 3.6 Sh 1.1 1.7 Dvorak 280.208 Gesamtaufwand 202.011 Lageaufwand links rechts 2.680 Kollisionen 12.393 Shift-Kollisionen ob 6.0 16.8 ä,.py fgcrlö 70.460 Handwechsel 34.503 Shift-Handwechsel mi 36.1 30.5 aoeui dhtnsß 1.601 Ein-/Auswärts 24.280 Ein- oder auswärts un 3.0 7.6 üqjkx bmwvz 11.129 benachbart 19.799 Shift-benachbart sum 45.1 54.9 9.7 8.3 13.0 14.1 --.- --.- 16.5 13.3 13.7 11.4 Sh 1.8 0.9 Optimal 220.795 Gesamtaufwand 182.572 Lageaufwand links rechts 0.762 Kollisionen 2.044 Shift-Kollisionen ob 5.7 13.6 jyu.q zmldbp 68.797 Handwechsel 35.700 Shift-Handwechsel mi 40.0 31.1 sieao hnrtcg 1.113 Ein-/Auswärts 27.862 Ein- oder auswärts un 3.0 6.7 äöü,ß fxwkv 9.288 benachbart 10.195 Shift-benachbart sum 48.7 51.3 8.4 8.7 14.2 17.4 --.- --.- 16.4 11.5 13.1 10.3 Sh 1.8 1.0
Dvorak kann gegenüber QWERTY die Kollisionen um den Faktor 2,5 reduzieren. Der Anteil an Kollisionen ist zwar geringer als für Galabow, die Werte sind aber für verschiedene Sprachen und nicht vergleichbar; offenbar ist Bulgarisch schwerer zu tippen als Englisch. Hinsichtlich Kollisionen schlägt Galabow CIA klarer als Dvorak QWERTY. Die Kollisionen liessen sich gegenüber Dvorak um den Faktor 3.5 reduzieren; Dvorak bleibt also weiter hinter dem Machbaren zurück als Galabow. Dvorak hat etwa halb so viele Nachbaranschläge wie QWERTY (Faktor 1.9), die mögliche weitere Reduktion ist bescheiden (unter 20%). Dvorak ist Einwärtsdominant und ist in dieser Hinsicht Dvorak-artiger als Galabow.
Zum Vergleich DHIATENSOR, mit toter Shifttaste
./opt30 -2 englisch.txt -K dhiatensor.cfg -r vsdhiatensor.txt -g dhiatensor.ps DHIATENSOR 400.832 Gesamtaufwand 195.146 Lageaufwand links rechts 7.272 Kollisionen nan Shift-Kollisionen ob 2.9 2.7 zxkg bvqj 51.806 Handwechsel nan Shift-Handwechsel mi 9.6 11.1 .pwfu lcmy 1.026 Ein-/Auswärts 38.396 Ein- oder auswärts un 35.2 38.4 @dhiat ensor 14.728 benachbart nan Shift-benachbart sum 47.8 52.2 14.8 9.0 10.8 13.2 --.- --.- 17.2 10.9 9.2 14.9 Sh 0.0 0.0 Optimal 250.594 Gesamtaufwand 198.583 Lageaufwand links rechts 1.227 Kollisionen nan Shift-Kollisionen ob 6.6 2.2 qmfg .zjk 68.173 Handwechsel nan Shift-Handwechsel mi 12.0 13.4 xvlcd ouyp 3.119 Ein-/Auswärts 28.073 Ein- oder auswärts un 32.7 33.2 @wrnst aeihb 9.714 benachbart nan Shift-benachbart sum 51.3 48.7 11.8 13.3 11.7 14.5 --.- --.- 16.3 14.5 8.9 9.0 Sh 0.0 0.0
und mit zwei Shifttasten
./opt29 -K dhiatensor2.cfg -2 englisch.txt -r vsdhiatensor2.txt -g dhiatensor2.ps DHIATENSOR 405.967 Gesamtaufwand 200.796 Lageaufwand links rechts 7.061 Kollisionen 12.689 Shift-Kollisionen ob 2.9 2.7 zxkg bvqj 52.071 Handwechsel 50.175 Shift-Handwechsel mi 9.6 11.1 .pwfu lcmy 0.947 Ein-/Auswärts 38.249 Ein- oder auswärts un 33.7 39.9 dhiat ensor 14.762 benachbart 5.707 Shift-benachbart sum 46.2 53.8 13.2 9.0 10.8 13.2 --.- --.- 17.2 10.9 9.2 16.5 Sh 1.3 1.6 Optimal 248.166 Gesamtaufwand 201.153 Lageaufwand links rechts 0.712 Kollisionen 1.819 Shift-Kollisionen ob 5.0 1.6 qkwm .zjx 64.886 Handwechsel 39.012 Shift-Handwechsel mi 16.1 13.5 bpdlh ouyf 1.104 Ein-/Auswärts 31.783 Ein- oder auswärts un 27.7 36.1 gctrn aeisv 9.866 benachbart 9.411 Shift-benachbart sum 48.8 51.2 9.7 13.3 11.7 14.2 --.- --.- 16.3 14.5 8.9 11.5 Sh 1.1 1.7
DHIATENSOR schneidet bei den Kollisionen schlecht ab. Keinesfalls kann man diese Belegung als Dvorak-Vorläufer ansehen. Es ist eine typische Anfängerbelegung, bei der Buchstabenhäufigkeiten bedacht sind, Bigramme aber weitgehend unberücksichtigt bleiben.
Dank der phonetischen Beziehungen in bulgarisch.cfg können wir die bulgarischen Belegungen auch mit englischem Korpus auswerten:
./opt38 -2 englisch.txt -K bulgarisch.cfg -r vsgalabow.txt -g en_vsgalabow.ps CIA 525.345 Gesamtaufwand 338.999 Lageaufwand links rechts ю э 6.817 Kollisionen 5.932 Shift-Kollisionen ob 27.8 20.0 чшерт ъуиопящ 52.899 Handwechsel 42.296 Shift-Handwechsel mi 21.9 10.1 асдфг хйкл'( 1.063 Ein-/Auswärts 37.732 Ein- oder auswärts un 7.1 13.2 зжцвб нм,.; ь 21.422 benachbart 11.423 Shift-benachbart sum 56.7 43.3 9.4 8.3 18.3 20.7 --.- --.- 18.2 8.8 12.0 4.3 Sh 1.4 1.7 Galabow 557.450 Gesamtaufwand 316.195 Lageaufwand links rechts ( . 10.710 Kollisionen 3.346 Shift-Kollisionen ob 23.9 14.0 ,уеиш щксдзц; 67.331 Handwechsel 37.888 Shift-Handwechsel mi 14.9 20.6 ьяаож гтнвмч 0.967 Ein-/Auswärts 19.407 Ein- oder auswärts un 5.9 19.4 юйъэф хпрлб ' 12.939 benachbart 7.244 Shift-benachbart sum 44.8 55.2 3.3 2.7 21.0 17.8 --.- --.- 17.8 19.0 8.5 9.8 Sh 2.1 1.0 Optimal 323.691 Gesamtaufwand 208.502 Lageaufwand links rechts ь э 3.147 Kollisionen 8.430 Shift-Kollisionen ob 6.0 14.1 йъя.ц фкдлжгш 69.810 Handwechsel 37.308 Shift-Handwechsel mi 33.3 28.6 иаеоз внтрсч 0.561 Ein-/Auswärts 24.491 Ein- oder auswärts un 6.1 11.9 ('у,ю пбмщх ; 10.927 benachbart 12.170 Shift-benachbart sum 45.4 54.6 8.9 10.0 14.1 12.4 --.- --.- 13.8 14.7 9.7 16.3 Sh 1.8 1.3
Hier schneidet Galabow nicht gut ab. Die Kollisionen sind hoch, hauptsächlich wegen «th», das dem kyrillischen «тх» zugeordnet und mit einem Finger getippt wird.
Galabow ist für bulgarisch klar besser als CIA. Wer viel Englisch und wenig bulgarisch schreibt und auf die phonetische Beziehung der beiden Belegungen besteht fährt hingegen mit CIA besser. Allerdings kann man Belegungen machen, die für beide Sprachen besser als Galabow und CIA sind. Wer empfiehlt, Bulgarien sollte CIA einführen, tut das nicht im Interesse des Landes.
Galabows Belegung realisiert weitgehend Dvoraks Ziele und ist mindestens ebenso gut gemacht. Unsere einzige Quelle hat nicht übertrieben. Die Arbeit von Galabow (und seinen Mitarbeitern) ist eine Pioniertat.
Warum ist diese Belegung nicht mehr geachtet? Galabow war Stenograph, vermutlich ein Praktiker. Mit seiner Belegung hat er eine Anleitung zum Maschinenschreiben herausgegeben. Vermutlich hat er jedoch keine wissenschaftlichen Werke verfasst, in denen seine Entwurfskriterien beschrieben und experimentell begründet wurden. Solche Untersuchungen sind das grosse Verdienst Dvoraks (und seiner Mitarbeiter). Deswegen darf Dvorak zu Recht im Zusammenhang mit Tastaturbelegungen genannt werden; nach dem wahren Pionier, Teodor Galabow.