Лучшие практики Ильи Леонова
При интенсивном наборе текстов на клавиатуре часто возникает ощущение неоптимальности движения пальцев, что наталкивает на мысль о существовании более удобного расположения букв на клавишах.
В статье осмысливаются принципы эргономики, в соответствии с которыми была разработана стандартная русская клавиатура, и описывается методика создания более оптимальной для скоростного набора клавиатуры.
Клавиатура телеграфа Юза
На самых первых экспериментальных пишущих машинах, изобретённых в США Лэтемом Шоулзом, буквы на клавишах располагались в алфавитном порядке, по аналогии с телеграфными аппаратами тех лет.
Такое расположение клавиш делало машину довольно громоздкой, поэтому, впоследствии, Шоулз разместил алфавитные клавиши в 4 рядах, попутно оптимизировав расположение букв с учётом механизма машины и частоты набора клавиш.
Шоулз не переставал экспериментировать с расположением букв. Порядок QWERTY является результатом его экспериментов по состоянию на 1875 год, когда его машина начала массово выпускаться. Расположение клавиш в его последнем патенте было совершенно иное.
В золотой век пишущих машин, в 1880-е стали появляться машины с альтернативными алфавитными клавиатурами: Каллиграф (1880), Крэндель (1883), Гаммонд Идеал (1885), где наиболее частые буквы располагали под указательными пальцами.
По мере появления машин с лёгким ходом клавиш, опытные пользователи стали использовать в наборе все пальцы. В 1888 году стенографист Франк Макгуррин разработал метод слепого десятипальцевого набора: все алфавитные клавиши на клавиатуре были закреплены за 8-ю пальцами, постоянно расположенными в основной позиции, что позволило снизить когнитивную нагрузку (не тратить время на визуальный поиск нужной клавиши) и повысить физическую совместимость (сократить время на перемещение пальцев по клавиатуре).
Появление десятипальцевого метода набора должно было привести к появлению адаптированных под него клавиатур, но в том же 1888 году состоялся съезд производителей пишущих машин, на котором было принято решении о стандартизации всех новых пишущих машин под клавиатуру QWERTY как наиболее распространённую. Тем не менее, в 1893 году была выпущена машина Бликенсдерфер с клавиатурой, адаптированной под десятипальцевый набор. Наиболее частые буквы английского алфавита d h i a t e n s o r
были размещены не в центральной части клавиатуры, а на основном ряду клавиш.
Резюмируя, важно отметить, что существовало два разных подхода повышения эргономики клавиатур:
Расположение частых букв в центре клавиатуры для двухпальцевого набора.
Расположение частых букв в основном ряду клавиатуры для десятипальцевого набора.
В 1887 году была выпущена первая пишущая машина для европейского рынка — Ремингтон № 5. Для России Ремингтон № 5 поставлялась со следующим расположением клавиш на клавиатуре:
2 4 5 6 7 8 9 % ц э
й i у к е н г ш щ з х
ф ы в ъ а п р о л д ж
я ч ѣ с м и т ь б ю
Благодаря более позднему появлению, в русской клавиатуре были учтены недостатки клавиатуры QWERTY. Буквы чаще употребляемые, были помещены в середину клавиатуры, т. е. под указательные и средние пальцы рук. При создании русской клавиатуры, разработчики Ремингтона расположили буквы в алфавитном порядке (следы этого в последовательностях букв йi
шщ
пр
дж
) и переставили их в соответствии с принципами расположения букв русской типографской кассы (частые буквы ближе к центру).
Для снижения когнитивной нагрузки, буквы наиболее частых биграмм (двух последовательно набираемых букв) расположили рядом друг с другом. Например буквы е
и н
образуют биграммы ен
и не
, чаще других встречающиеся в русском языке, т. е. после буквы е
чаще всего идёт буква н
. Близкое расположение этих букв на клавиатуре позволяет меньше тратить время на поиск и быстрее переносить палец на следующую клавишу. Такие последовательные нажатия смежных клавиш называют перекатами.
Буква ъ
образовывала вокруг себя целую область частых биграмм с буквами к
в
с
, так как в дореволюционной орфографии, после всех слов, оканчивающихся на эти буквы, ставился твёрдый знак. Такой подход упрощал процесс набора для неопытных пользователей клавиатур. Однако, он приводит к тому, что многие частые биграммы, например то
, приходится набирать одним пальцем, что снижает чередуемость пальцев при наборе.
После революции из русского языка были исключены буквы i
ъ
ѣ
. Производители пишущих машин сдвинули остальные буквы на место исключённых, что привело к трудностям у привыкших к стандартной дореволюционной клавиатуре пользователей. Чтобы решить эту проблему, на место букв i
ъ
ѣ
были помещены редкие буквы ц
э
и знак /
. Впоследствии букву э
и знак /
вернули на периферию.
Машина Бликенсдерфер, предназначенная для 10-пальцевого слепого набора, поставлялась в Россию со следующей клавиатурой:
ющжзiйшц
мячплугдѣб
кроитвесна
Редкие буквы э ф х ъ ь ы находились в дополнительном регистре.
Буквы были расположены так, что более 65 % нажатий приходилось на первый — основной ряд, наиболее удобный для набора на этой машине. Здесь также использовался принцип близкого расположения букв частых биграмм (очень высокая доля нажатий с перекатами).
В конце ХIХ века в Болгарии долго не могли определиться с тем, какая из предложенных американцами машин имеет лучшую клавиатуру, так что в 1907 году начальник стенографического бюро Народного собрания Болгарии Теодор Гы́лыбов провёл исследования частотности букв в болгарском языке, проанализировав их употребление в 10 000 слов. По результатам этого исследования была разработана болгарская клавиатура для десятипальцевого набора:
ы у е и ш щ к с д з ц
я а о ж г ь т н в м ч
ю й ъ э ф х п р л б
Болгарская клавиатура пишущей машины Адлер 7
Наиболее часто используемые буквы о
н
т
а
расположены так, чтобы их можно было набирать более сильными пальцами — указательным и средним. Для того, чтобы обе руки чередовались как можно чаще, гласные и полугласные располагаются на левой стороне клавиатуры, а большинство согласных — на правой. Клавиатура Гы́лыбова стала стандартом в Болгарии (БДС). С нею болгары регулярно выигрывали международные соревнования по машинописи, печатая со скоростью более 1000 знаков в минуту.
Только спустя 30 лет, в 1930-е годы, Август Дворак, американский профессор педагогики, предпринял попытку популяризировать идею повышения скорости печати за счёт перестановки букв на клавиатуре QWERTY, используя принципы клавиатуры Бликенсдерфера образца 1893 года. Но также, как и полувеком ранее, идея частотной оптимизации клавиатуры не обрела популярности у приученных к QWERTY пользователей.
История показывает, что идея оптимизации клавиатуры, какой бы прирост в производительности она не давала, не может обрести популярности у приученных к стандартной клавиатуре пользователей без вмешательства государства.
Тем не менее, есть пользователи одержимые повышением производительности, готовые переступать через свои привычки и пренебрегать стандартами. С ними я хочу поделиться своим опытом оптимизации русской клавиатуры.
Целью предлагаемой мною оптимизации расположения букв является сокращение времени набора текста на клавиатуре. В отличие от большинства существующих методик, использующих для оценки оптимизации такие показатели как баллы, штрафы, сложности, трудозатраты и другие сложноизмеримые показатели, в рассматриваемой методике оптимизации используется только одна точная метрика — время.
Объектом оптимизации является не стандартная матрица клавиш с архаичным горизонтальным сдвигом рядов, а более перспективная и используемая в большинстве современных эргономичных клавиатур ортолинейная матрица размером 3х11 клавиш.
Сдвинутое (классическое) расположение клавиш на клавиатуре ЙЦУКЕН:
й ц у к е н г ш щ з х ъ
ф ы в а п р о л д ж э
я ч с м и т ь б ю ё
Ортолинейное расположение клавиш клавиатуры ЙЦУКЕН (матрица):
йцукенгшщзх
фывапролджэ
ячсмитьбюёъ
Так как клавиши стандартной клавиатуры расположены не на прямоугольной матрице, 3 крайние клавиши (редкая тройка) вынесены в отдельный столбец.
Знаки препинания вынесены из алфавитной матрицы.
В наборе букв участвуют 8 пальцев. Основная позиция находится на среднем ряду. Пробел набирается большими пальцами правой и левой руки.
Общий принцип оптимизации заключается в минимизации суммы произведений значений частотности употребляемых биграмм и значений времени нажатий соответствующих им клавиш:
n — количество биграмм и соответствующих им пар клавиш;
Fi — значение частоты встречаемости биграммы i;
ti — время последовательного нажатия двух клавиш соответствующих биграммe i.
Оптимизируя клавиатуру для личного использования, необходимо полагаться на личный корпус часто‑набираемых текстов, а не на абстрактную статистику частотности или нерепрезентативный корпус текстов. Для этого проще всего собрать все набранные ранее тексты и тексты с близкой тематикой (например любимая литература или статьи). Тексты записываются в несколько файлов — частей корпуса, например:
рабочая_переписка.txt
личная_переписка.txt
любимая_литература.txt
рабочие_термины.txt
популярные_статьи.txt
Для каждой части корпуса подсчитывается количество всех букв алфавита и определяется их частота (как отношение встречаемости определённой буквы к количеству всех букв).
Таблица 1. Частотность букв | Буква | Переписка | Литература | Переписка, % | Литература, % | Итог, % | |——-|———–|————|————–|—————|———| | о | 16 499 | 1 665 437 | 11,36 | 11,30 | 11,33 | | е | 12 100 | 1 225 380 | 8,33 | 8,31 | 8,32 | | а | 12 025 | 1 206 385 | 8,28 | 8,18 | 8,23 | | н | 9 870 | 971 466 | 6,80 | 6,59 | 6,69 | | и | 9 330 | 987 363 | 6,42 | 6,70 | 6,56 | | т | 9 909 | 869 850 | 6,82 | 5,90 | 6,36 | | с | 7 785 | 782 540 | 5,36 | 5,31 | 5,33 | | л | 6 990 | 732 077 | 4,81 | 4,97 | 4,89 | | в | 6 006 | 690 775 | 4,14 | 4,69 | 4,41 | | р | 5 466 | 631 131 | 3,76 | 4,28 | 4,02 | | м | 4 994 | 453 099 | 3,44 | 3,07 | 3,26 | | к | 4 019 | 498 825 | 2,77 | 3,38 | 3,08 | | д | 4 132 | 447 063 | 2,84 | 3,03 | 2,94 | | п | 3 873 | 391 059 | 2,67 | 2,65 | 2,66 | | у | 3 445 | 414 109 | 2,37 | 2,81 | 2,59 | | я | 4 031 | 324 388 | 2,78 | 2,20 | 2,49 | | ь | 3 229 | 288 934 | 2,22 | 1,96 | 2,09 | | ы | 2 765 | 278 348 | 1,90 | 1,89 | 1,90 | | б | 2 841 | 257 856 | 1,96 | 1,75 | 1,85 | | ч | 2 715 | 232 247 | 1,87 | 1,58 | 1,72 | | з | 2 304 | 249 073 | 1,59 | 1,69 | 1,64 | | г | 1 918 | 277 678 | 1,32 | 1,88 | 1,60 | | й | 1 670 | 162 587 | 1,15 | 1,10 | 1,13 | | ж | 1 333 | 158 340 | 0,92 | 1,07 | 1,00 | | ш | 1 217 | 132 427 | 0,84 | 0,90 | 0,87 | | х | 1 137 | 124 087 | 0,78 | 0,84 | 0,81 | | ю | 1 016 | 96 210 | 0,70 | 0,65 | 0,68 | | ё | 963 | 31 004 | 0,66 | 0,21 | 0,44 | | э | 536 | 42 166 | 0,37 | 0,29 | 0,33 | | ц | 412 | 48 070 | 0,28 | 0,33 | 0,30 | | щ | 447 | 42 972 | 0,31 | 0,29 | 0,30 | | ф | 191 | 23 084 | 0,13 | 0,16 | 0,14 | | ъ | 75 | 5 118 | 0,05 | 0,03 | 0,04 |
Ранжировка букв по частоте отличается для разных частей корпуса. Поэтому итоговое значение частоты определяется как среднее значение частот частей корпуса, либо как произведение частот на коэффициенты приоритетности той или иной части корпуса.
Сопоставив полученные значения частотности букв с матрицей ЙЦУКЕН, получается следующая диаграмма:
Частотность букв клавиатуры ЙЦУКЕН. Размер круга соответствует частоте буквы. Оранжевыми кругами обозначены гласные буквы, синими — согласные.
Аналогично формируется таблица частотности биграмм, при этом пробелы и знаки пунктуации заменяются на символ _
. Итого 34^2 биграмм.
Таблица 2. Частотность биграмм | Буква | Переписка | Литература | Переписка, % | Литература, % | Итог, % | |——-|———–|————|————–|—————|———| | о_ | 6 516 | 1 929 925 | 2,27 | 2,10 | 2,19 | | а_ | 5 880 | 1 499 116 | 2,04 | 1,63 | 1,84 | | и_ | 4 862 | 1 667 232 | 1,69 | 1,82 | 1,75 | | н | 5 339 | 1 437 617 | 1,86 | 1,57 | 1,71 | | е | 4 895 | 1 563 220 | 1,70 | 1,70 | 1,70 | | с | 4 782 | 1 431 572 | 1,66 | 1,56 | 1,61 | | _п | 4 482 | 1 432 853 | 1,56 | 1,56 | 1,56 | | _в | 3 953 | 1 409 956 | 1,37 | 1,54 | 1,46 | | я | 5 010 | 1 034 909 | 1,74 | 1,13 | 1,44 | | то | 4 384 | 1 163 419 | 1,52 | 1,27 | 1,40 | | _о | 3 900 | 963 410 | 1,36 | 1,05 | 1,20 | | на | 3 650 | 907 031 | 1,27 | 0,99 | 1,13 | | _и | 2 944 | 1 034 749 | 1,02 | 1,13 | 1,08 | | ст | 2 799 | 1 015 316 | 0,97 | 1,11 | 1,04 | | но | 2 958 | 882 879 | 1,03 | 0,96 | 1,00 | | по | 2 541 | 771 705 | 0,88 | 0,84 | 0,86 | | ен | 2 306 | 701 486 | 0,80 | 0,76 | 0,78 | | ни | 2 091 | 730 753 | 0,73 | 0,80 | 0,76 | | ра | 2 085 | 659 873 | 0,73 | 0,72 | 0,72 | | ов | 1 781 | 704 492 | 0,62 | 0,77 | 0,69 | | … | … | … | … | … | … |
Подсчитать буквы и биграммы в текстах можно с помощью простой программы на Питоне:
import re
from itertools import product
биграммы=[''.join(x) for x in product('абвгдеёжзийклмнопрстуфхцчшщъыьэюя_', repeat=2)] # формируем перечень биграмм
текст = open("рабочая_переписка.txt").read()# открываем анализируемый файл
текст = текст.lower() # переводим все знаки к нижнему регистру
текст = re.sub("[^а-яё]", "_", текст)# заменяем все знаки кроме русских букв на прочерки _
for i in биграммы: # запускаем цикл подсчета
колво = текст.count(i)# подсчитываем вхождения биграмм
if колво > 0:
print(i, колво)# выводим биграммы и количество их вхождений
Полученный перечень с частотами биграмм имеет коэффициент корреляции более 95 % при сравнении с корпусом викопедии, интернет публикаций и пр., поэтому его можно считать репрезентативным.
Время набора букв на клавиатуре состоит из 3 отрезков:
Время на поиск нужной клавиши. 0 мс для опытного пользователя.
Время на перемещение пальцев к нужной клавише. Около 50 мс на длину одной клавиши.
Время на нажатие и отпускание клавиши. Около 120 мс.
Время на поиск нужной клавиши — когнитивная составляющая процесса набора, зависящая от опытности. При освоении метода слепого набора, время на поиск нужной клавиши равно нулю.
Время на перемещение пальцев — физическая составляющая процесса набора. Сократить время на перемещение пальцев можно, расположив клавиши наиболее частых букв в основной позиции.
Время на перемещение пальцев зависит от удалённости клавиш от основной позиции.
Простой пример оптимизации времени перемещения
Если время на перемещение пальца на одну клавишу составляет 50 миллисекунд, то матрица потерянного при нажатиях времени будет выглядеть следующим образом:
5050505070705050505070
00005050000050
5050505070705050505070
Перемножая значения частотности букв из таблицы 1 в соответствии с матрицей ЙЦУКЕН на матрицу потерянного при перемещениях пальцев времени, получаем среднее значение потерянного при перемещениях времени — 38,8 мс.
Теперь, переставляем буквы в матрице, так чтобы самые частые буквы были в основном ряду например таким образом:
мкдпёэуяьыф
ртиолвсеанй
чзгбцщжшхюъ
67 % нажатий такой клавиатуры приходится на основной ряд (42 % у ЙЦУКЕН). Потерянное на перемещения время сокращается на 37 % до 24,3 мс.
Технически сократить время на перемещения можно используя клавиатуру с изогнутыми рядами. Дистанция перемещения пальцев уменьшается, отпадает необходимость в этапе размаха при нажатии.
а — плоская клавиатура (время перемещения пальца 100 миллисекунд); б — изогнутая клавиатура (время перемещения пальца 10 миллисекунд). Красной линией обозначена траектория движения пальца.
Существуют способы оптимизации времени на перемещения пальцев, путём сокращения количества самих клавиш:
Аккорды. Нажимая одновременно две или три клавиши в основном ряду, можно вводить буквы, символы или команды, не теряя время на перемещения.
Дополнительные слои. Нажимая и удерживая клавишу в основном ряду одним пальцем, можно изменять регистр и вводить другим пальцем буквы, символы или команды из дополнительного регистра. Такой способ в два раза медленнее аккордового, так как клавиши смены регистра и нужного символа нажимаются не одновременно, а последовательно.
Оптимизация расположения букв только с учётом времени на перемещения пальцев позволяет сократить время поочерёдного набора, когда пальцы нажимают клавиши строго по очереди.
Наибольшее же сокращение времени набора достигается за счёт одновременного набора нескольких клавиш несколькими пальцами с минимальным сдвигом фазы нажатия (от 10 до 60 мс), когда следующий палец начинает нажимать клавишу, не дожидаясь момента отпускания предыдущей клавиши.
Графически поочерёдный и одновременный набор можно изобразить в виде графика гармонических колебаний где максимум соответствует полному нажатию клавиши, а минимум полному отпусканию. На примере слова единство
:
Слово, состоящее из 8 букв, клавиши которых нажимаются одним пальцем, физически невозможно набрать быстрее, чем за 1 секунду, но если набирать это слово разными пальцами, то за счёт нахлёста нажатий, можно набрать его менее чем за половину секунды.
Чтобы правильно оценить скорость одновременных нажатий, необходимо провести хронометраж нажатий для каждого пальца и пары пальцев.
Для оптимизации времени набора необходимы данные о продолжительности каждого этапа процесса нажатия той или иной клавиши и последовательности клавиш. Для этого мною был проведён хронометраж нажатий.
Основные выводы из анализа хронометража:
Среднее время на нажатие одной и той же клавиши одним пальцем составляет 120 миллисекунд, что соответствует скорости набора 500 знаков в минуту (з/м). Такая значительная скорость достигается благодаря участию в нажатии (размахе) не только пальца, но и руки.
Среднее время на перемещение пальца на расстояние одной клавиши составляет 50 миллисекунд. При наборе нескольких отдалённых друг от друга клавиш одним пальцем скорость набора снижается до 330 з/м.
При наборе двумя пальцами разных рук эффект нахлеста нажатий позволяет увеличить скорость в два раза, до 1000 з/м.
Набор двумя пальцами одной руки медленнее, чем двумя руками, так как при таком наборе невозможно задействовать эффект от размаха всей руки. Скорость 750 з/м. Однако, если использовать перекатный прием нажатий, когда несколько клавиш нажимаются одним движением руки, скорость может быть больше, чем при наборе двумя пальцами разных рук.
Правая рука на 10 % быстрее левой руки (для правшей).
Мизинец на 10 % медленнее остальных пальцев.
Последовательные нажатия одним пальцем приводят к снижению его скорости по логарифмической зависимости.
Фактор усталости пальцев. При частом нажатии пальца, снижается его скорость
Полученные значения времени нажатий могут отличатся в зависимости от силы и натренированности пальцев, но соотношения продолжительности этапов нажатий остаются неизменным. То есть можно натренироваться так, что скорость указательных пальцев будет 1500 з/м, но скорость мизинцев все равно будет на 10 % меньше указательных.
Не учитываются замедления, связанные с неудобным расположением клавиш, такие как нажатия в нижнем ряду безымянным пальцем с последующим нажатием в верхнем ряду мизинцем. Данные замедления связаны с плохой антропометрической совместимостью клавиатур и полностью устраняются при использовании клавиатур с вертикальным сдвигом рядов для разных пальцев.
Нажатие и отпускание клавиши самый продолжительный этап набора текста (120 миллисекунд). Технически можно сократить время нажатия, используя клавиш с лёгким и коротким ходом. Но наибольшее сокращение времени нажатий обеспечивает максимальная чередуемость рук и пальцев, то есть такое расположение букв, при котором для набора слова каждая клавиша набирается разными руками и пальцами.
Кроме упомянутого эффекта нахлеста нажатий, есть ещё два эффекта чередуемости:
Снижение усталости и замедления пальцев, которые возникают при последовательных нажатиях одним пальцем.
Сокращение ошибок при наборе.
На основе данных хронометража была получена таблица с затратами времени на все возможные последовательные нажатия.
Таблица 3. Время последовательного нажатия клавиш (клавиши в таблице обозначены не порядковыми номерами, а буквами клавиатуры ЙЦУКЕН)
Клавиши | Время на набор одной клавиши, мс |
---|---|
АА | 135 |
БА | 60 |
АВ | 87,5 |
… | … |
При последовательном наборе одним пальцем клавиши, соответствующей букве а
на клавиатуре ЙЦУКЕН, вторая буква а
, набирается за 135 мс.
При последовательном наборе двумя пальцами разных рук клавиш, соответствующих букве б
и а
, вторая буква, набирается за 60 мс.
При последовательном наборе двумя пальцами одной руки клавиш, соответствующих букве а
и в
, вторая буква, набирается за 87,5 мс.
Сопоставляя частоту биграмм, соответствующих клавишам, можно определить среднее время набора одной буквы всего корпуса текста на клавиатуре.
Таблица 4. Сопоставление массива частотности биграмм и массива значений времени набора клавиш (в фрагменте таблицы представлен пример сопоставления самых частых биграмм с самыми быстрыми клавишами). |—|—|—|—|—| |ВР|ни|63,75|0,01164978|0,74267344| |ВЛ|но| 60| 0,01148601|0,68916076| |АЛ|то| 60| 0,01050382| 0,63022929| |ДВ|ен| 60| 0,01177296| 0,70637770| |ЖА|ст| 65| 0,01286103| 0,83596660| |…|…|…|…|…|
Сумма произведений времени нажатия клавиш на частоту биграмм для клавиатуры это среднее время набора одной буквы.
Для клавиатуры ЙЦУКЕН получается 80,7 мс.
80,7 мс на букву соответствует скорости набора 124 слова в минуту, определённой по зависимости:
где 60000 — коэффициент перевода из миллисекунд в минуты;
Т — среднее время набора одной буквы;
6 — среднее количество букв в слове.
Это предельная скорость набора для текущего уровня физической формы моих пальцев на клавиатуре ЙЦУКЕН, но не предельная для более оптимальной клавиатуры.
Задача оптимизации сводится к минимизации суммы целевого показателя (произведения времени набора и частот биграмм) с помощью перестановки букв между клавишами .
Для этого, необходимо расположить буквы самых частых биграмм на клавишах с минимальным временем нажатия. Например, расположив буквы о
и т
, набираемые на стандартной клавиатуре одним пальцем, можно повысить скорость набора очень частых биграмм от
и то
в 2 раза.
Задача усложняется тем, что существует 33! = 8683317618811886495518194401280000000 вариантов расположения клавиш.
Как было сказано, наибольший прирост скорости набора обеспечивается чередованием рук при наборе.
Время нажатия клавиш на разных сторонах клавиатуры (разными руками) в среднем в 1,7 раз меньше, чем время нажатия клавиш на одной стороне (одной рукой) — 65 и 112 миллисекунд, соответственно.
Поэтому на первом шаге оптимизации я расположил буквы на клавиатуре так, чтобы наиболее частые биграммы набирались разными руками.
Можно было просто расположить гласные и согласные на разных половинах, но я пошёл по более сложному пути — провёл двоичный (бинарный) поиск минимума целевого показателя с помощью перестановок букв на первую и вторую половины клавиатуры размерами 15 и 18 клавиш соответственно.
Полученное расположение букв обеспечивает наибольшее чередование рук — 84,3 % от всех нажатий (против 68 % у стандартной клавиатуры):
первая сторона: а е ё и о с у ф ш ъ ы ь э ю я
вторая сторона: б в г д ж з й к л м н п р т х ц ч щ
Утверждение о том, что гласные чаще всего чередуются с согласными подтверждается.
Из‑за большего количества согласных букв в русском алфавите (21 согласных против 10 гласных), на сторону гласных букв попали согласные с ф ш
, чаще других чередующиеся с согласными и реже других с гласными.
После этого необходимо было определиться, какая сторона будет левой, а какая правой.
В рассматриваемой трёхрядной клавиатуре одной из рук необходимо нажимать на тройку клавиш больше, чем другой (15 против 18). Логично отдать более сложную для набора половину более быстрой руке (правой в моем случае). С первого взгляда кажется, что сложнее сторона с 18 буквами и она должна быть справа, как у стандартной клавиатуры. Однако, сторона с 15 клавишами сложнее по следующим причинам:
На гласную половину с 15 клавишами приходится 51 % всех нажатий.
На гласной половине имеются согласные, усложняющие набор из‑за отсутствия эффекта чередования рук.
Кроме того, не стоит забывать про мышь, на которую постоянно приходится отвлекаться правой руке. В случае 15 клавиш на правой половине, дистанция преодолеваемая рукой до мыши сокращается на ширину одного столбца клавиш. Также важно отметить, что перспективным направлением развития клавиатур является использование встроенного трекбола, тачпада или оптического сенсора (клаво‑мышь) вместо мышки; в этих случаях правая сторона клавиш должна быть компактнее левой.
Дополнительным фактором выбора правой стороны для гласных, а левой для согласных является частое использование мыши совместно с клавиатурой, когда левая рука покоится на клавиатуре, охватывает большое количество клавиш (18) и нажимает командные комбинации, большая часть которых состоит из согласных букв.
Определившись с тем, на какой стороне должны быть те или иные буквы, перебор кратно сократился.
Наиболее быстрые нажатия производятся из основной позиции, поэтому я расположил наиболее частые буквы выбранных половин таким образом:
- - - - - - | - - - - -
- в л н т - | - а е о с
- - - - - - | - - - - -
Дополнил столбец правого мизинца согласными ф
и ш
, реже всего чередующимися с гласными и с буквой с
.
Заполнил крайний левый столбец самыми редкими согласными буквами щ
ч
ж
. Не менее редкие буквы ц
х
я поставил ближе к центру, так как использую фонетическое сопоставление с английскими буквами в английском алфавитном режиме.
щ ц - - - - | - - - - ф
ч в л н т - | - а е о с
ж х - - - - | - - - - ш
Таким образом для левой половины перебор сокращается до 9! перестановок, а для правой половины всего до 8! перестановок.
Далее я сделал полный перебор для левой и правой половины. По лучшему найденному варианту минимальное среднее время набора составило 67,65 мс:
щ ц р п б й | ъ э у я ф
ч в л н т д | и а е о с
ж х з к м г | ё ы ь ю ш
Такое расположение обеспечивает 66 % нажатий на основном ряду и довольно равномерный баланс между пальцами.
Однако, я решил убедиться, в том, что буквы основного ряда на шаге 1 были выбраны верно.
Произвёл переборы заменой букв основного ряда на чуть менее частые соседние буквы и нашёл вариант с ещё меньшим средним временем набора 67,52 мс (на 0,13 % быстрее предыдущего варианта). Баланс нажатий сдвинулся к центру клавиатуры.
щ ц к л б й | ъ ы я э ф
ч з в н т д | и а о е с
ж х п р м г | ё ь у ю ш
Среднее время набора 67,52 мс на букву соответствует скорости 148 слов в минуту (на 19 % быстрее ЙЦУКЕН).
Частотность букв оптимизированной клавиатуры
Полученной клавиатурой я пользуюсь более года (переучился на неё за два месяца). Ощущение неоптимальности движения пальцев прошло, запинки на частых биграммах перестали меня беспокоить, сократилось количество опечаток.
Может показаться, что ъ
и ё
занимают слишком хорошие позиции, но на деле они разгружают самый нагруженный правый указательный палец. Если есть потребность в отдельных клавишах для точки и запятой, то лучше расположить их вместо букв ъ
и ё
. Для ввода точки и запятой я использую аккорды тн
и ао
. Благодаря малой чередуемости букв на каждой из полученных половин, не происходит ложных срабатываний аккордов.
Все статьи про оптимизации клавиатур неизменно сопровождаются вопросами, «зачем это нужно?» и «какая от этого выгода?».
Используя время как целевой показатель оптимизации, на эти вопросы можно дать точный ответ.
При среднем времени набора буквы для стандартной клавиатуры ЙЦУКЕН 80,7 мс, переход на оптимальную клавиатуру со средним временем набора буквы 67,5 мс позволяет на 16 % сократить время набора всех текстов.
В зависимости от объёма набираемого за день текста можно определить сэкономленное за год активного использования клавиатуры время:
Активность набора, слов в сут | Время набора для стандартной, суток за год | Время набора для стандартной, суток за год | Экономия, суток за год |
---|---|---|---|
100 | 0,17 | 0,20 | 0,03 |
1000 | 1,71 | 2,05 | 0,33 |
10000 | 17,12 | 20,46 | 3,34 |
То есть при активном использовании клавиатуры (1000 слов или две страницы за сутки) за год экономится 8 часов только за счёт оптимального расположения букв.
Повсеместно используемая стандартная клавиатура ЙЦУКЕН, разработанная 130 лет назад в США, не оптимальна для быстрого набора и изначально не предназначена для слепого 10 пальцевого набора.
Оптимальная клавиатура позволяет сократить время набора на 16 % (10 суток жизни за 30 лет активного использования клавиатуры (1000 слов в сутки)) и увеличить скорость набора на 19 % по сравнению с ЙЦУКЕН.
Приведенный выше хронометраж нажатий был сделан для нажатий без перекатов (одновременных нажатий клавиш двумя или более клавишами).
Для поиска оптимальной по частоте перекатов раскладки я сделал анализ корпусов текстов на предмет частоты триграмм. Для поиска оптимальной раскладки я использовал первые 10000 самых частых триграмм (99,92 % по частоте встречаемости).
Оптимальная (наиболее скоростная) раскладка определяется с учётом следующих условий:
Наилучшая раскладка по частоте биграмм и триграмм с перекатами:
ъ ю ж ь й ц я в е д п
щ э б у г ч л р о и т
ё ф з ы х ш м к а с н
Частота нажатий одним пальцем 4,7 %. Частота биграмм с перекатами 53,4 % (не возвратных 32,7 %) Частота триграмм с перекатами 9,59 %.
Почему её нельзя использовать:
Раскладка с минимальной частотой нажатий одним пальцем:
ъ н э б ф ц х й а з у
щ к е т с ю м в о л и
ё п я д ш ж г ч ь р ы
Частота нажатий одним пальцем 1,6 %. Частота биграмм с перекатами 37,1 % (не возвратных 27,3 %) Частота триграмм с перекатами 4,17 %.
Недостаток раскладки в малой частоте перекатов (по сравнению с самой перекатной раскладкой).
Таким образом, раскладки максимально удовлетворяющие одному из условий, оказываются недостаточно хорошими по другим условиям.
Поэтому для определения оптимальной раскладки необходим показатель, зависимый как от частоты перекатов, так и от частоты нажатий одним пальцем. Данным показателем может быть только время нажатий или зависимая от него скорость набора.
Выразив явления перекатов и чередований через скорость можно найти оптимальную по данным показателям раскладку.
Для этого я составил таблицу скоростей нажатий в зависимости от наличия/отсутствия того или иного явления при наборе:
Скорость, з/м | Явление |
---|---|
400 | один палец (например К-А или Е-Е) |
750 | два пальца одной руки (вторая буква набирается пальцем, который набирал букву перед первым пальцем, например В-А-В) |
800 | три пальца одной руки (возвратный перекат / перенаправление / вторая буква набирается в сторону первой, например Л-О-Д) |
1000 | два пальца разных рук (вторая буква набирается пальцем, который набирал букву перед первым пальцем, например К-О-К или К-О-П) |
1100 | три пальца разных рук (например К-О-С) |
1500 | два пальца одной руки с перекатов (вторая буква набирается пальцем, который не участвовал в наборе, а потому обе буквы можно нажать разом. Например О-В-А) |
1300 | два пальца одной руки с перекатом на пробел (то же, что и в прошлом явлении, но вместо буквы набирается пробел). Например Н-А-_) |
2000 | три пальца одной руки с перекатом (например О-Л-Д или Ч-В-Е) |
1700 | три пальца одной руки с перекатом с пробела или на пробел (то же, что и в прошлом явлении, но в начале или в конце набирается пробел. Например -О-Л или В-А-) |
Примечание:
Как производится расчёт Пример расчёта фразы «как дела» на раскладке ЙЦУКЕН.
триграмма | скорость, з/м |
---|---|
_ К А | 400 |
К А К | 400 |
А К _ | 1300 |
_ Д Е | 1100 |
Д Е Л | 1100 |
Е Л А | 1000 |
Л А _ | 1300 |
Средняя скорость получается 943 знака в минуту.
Если бы я регулярно набирал исключительно данную фразу, я бы расположил буквы К А Д Е Л на основной позиции правой руки. Тогда расчёт был бы таким:
триграмма | скорость, з/м |
---|---|
_ К А | 1700 |
К А К | 750 |
А К _ | 1700 |
_ Д Е | 1700 |
Д Е Л | 2000 |
Е Л А | 800 |
Л А _ | 1700 |
Средняя скорость получается 1478 знаков в минуту. То есть получается прирост в скорости в 1,6 раз.
Если сделать аналогичное упражнение со словарём самых частых триграмм, умножая их частоту на скорость, то получается средняя скорость для раскладки ЙЦУКЕН 1048 знаков в минуту. Частота нажатий одним пальцем 17 %. Частота биграмм с перекатами 19,7 % (не возвратных 15,1 %) Частота триграмм с перекатами 0,5 % (5 самых частых: ЫВА, ОЛЖ, ЙСК, ЮБО, ВЫЙ)
Скорость набора самых частых триграмм (без пробелов) на раскладке ЙЦУКЕН.
триграмма | скорость, з/м |
---|---|
Е Н И | 1000 |
О С Т | 1000 |
П Р О | 400 |
Ч Т О | 400 |
О Г О | 400 |
С Т А | 1100 |
П Р И | 1000 |
Используя методы перестановок, самая быстрая раскладка, которую я нашёл получилась следующая:
ц з у ж ю й м е н ы
с т и я ч д в о р п
э ш ь х ф б к а л г
Средняя скорость набора получается 1265 знака в минуту (на 21 % быстрее ЙЦУКЕН).
Скорость набора самых частых триграмм (без пробелов) на найденной раскладке:
триграмма | скорость, з/м |
---|---|
Е Н И | 1100 |
О С Т | 1500 |
П Р О | 2000 |
Ч Т О | 1100 |
О Г О | 750 |
С Т А | 1100 |
П Р И | 1100 |
Частота нажатий одним пальцем 2,5 %. Частота биграмм с перекатами 47,7 % (не возвратных 33,9 %). Частота триграмм с перекатами 7,5 % (5 самых частых: ПРО, МЕН, СТИ, РОВ, НОЙ).
Недостатки:
Эти недостатки устраняются простыми перестановками, общая скорость при этом падает на 3—4 %, но самое плохое, что снова появляются сотни вариаций раскладок.
Автор: Илья Леонов