Pull to refresh

Comments 68

Я все равно не до конца понимаю идею с самой первой 3д-клавиатурой. Ты имеешь в виду, что по ней нужно будет перемещаться как по двумерной плоскости? Но ведь тогда не хватит места для самого поля ввода. Сложно.

Ну, пока делал анимацию, забыл самое главное — зачем эта клавиатура нужна.
UFO just landed and posted this here

Я тоже не уловил, можно же просто с андроида/мака/винды все необходимое редактировать. Без заморочек. Хакер без ОС — это невозможно.

хмм. А вот идея классической клавиатуры Андроида может получиться интересной, если совместить это все с датчиками ускорения в устройстве и передвигаться по ней с их помощью.

По типу airmouse? Мне кажется постоянно читать датчики ускорения слишком расточительно для батарейки.

Я не знаю сколько потребляют такие датчики и сколько их нужно. У меня были идеи использовать флиппер как пульт для презентаций через BLE, но функция airmouse мне кажется слишком сложной в реализации. Возможно я ошибаюсь.

Хм, в любом случае, на это надо закладываться. Хватит и двух датчиков с головой, но нужно ли

100Гц акселерометр потребляет оооочень мало. Прям крайне мало. Сложно найти то, что потребляет больше. Стоит копейки, занимает относительно мало места:
www.st.com/resource/en/datasheet/cd00274221.pdf
Постоянно читать не надо, поскольку есть внутренний буфер, который при заполнении откидывает прерывание, так что реально его читать можно в 10 раз реже, вычитывая пачками значения из FIFO.
Из плюсов — можно будет собрать кастомные жесты. Потряхивания, круговой обвод. Хз, что там еще можно придумать.

Спасибо. У нас еще ног на STM32 впритык.

Оно может на i2c висеть
Тогда сразу появится уязвимость, позволяющая прочитать набранный текст по видеозаписи движения флиппера
Турук Макто летает выше всех и ему незачем смотреть вверх

А у флиппера разве экран сенсорный, что вы на такие виды клавиатуры ориентируетесь?


Ну а с кнопками – можно думать, начиная с отключения экрана. Т.е. слепой ввод, экран лишь как подтверждение.


Пример: если джойстик использовать – можно движение от центра к краю замутить. 64 символа по окружности, разделены на 4 сектора. Джойстик в сторону – выбор сектора, 16 символов из него перераспределяются по окружности. Ещё раз – остаётся 4. Третий – символ введён. Можно набирать вслепую, можно красиво отобразить (только не все 64 символа разом, а в виде A-P, к примеру). Можно в некоторых направлениях путь до символа длиннее сделать (дерево Хаффмана). Но для простоты запоминания желательно символы упорядочить по алфавиту.

только не все 64 символа разом, а в виде A-P, к примеру

… я буду страдать. Дело в том что мой мозг отказывается хранить алфавит в «быстрой» памяти. Нафига, если в повседневности это не требуется? Как итог, на классификаторах:
A-Е, Ж-Л, М-Т, У-Ш, Щ-Я начинает адово тупить.
Вот буква Ч в какой группе? И мозг начинает перебирать АБВ… Е, тааак следующая группа… ЖЗИ… стоп, чего мы там искали?
пару дней пользования такой клавиатурой — и ваш алфавит будет в «быстрой» памяти.
Не в моём случае. Регулярно приходится расставлять предметы в алфавитном порядке по первым двум буквам. За год так и не забилось. Нужно было сразу алфавит распечатать и не мучатся.

Не будет. Раз в неделю мне приходится проверять чертежи, в которых виды должны идти в алфавитном порядке… и где-то после буквы Д, приходится ползти в интернет за алфавитом (потому что дальше идет, то ли ИКЛМН, то ли ЕКЛМН, но с другой стороны ЖЗ должно идти тоже где-то вначале) и ГОСТами (т.к. часть букв использоваться не может, например З). И такая фигня сколько себя помню, причем с английским алфавитом, ровно все то же самое. Я знаю все буквы, как они пишутся, произносятся, но вот порядок… учил раз 5-6 — забывается.

Зато с другими вещами память работает получше чем у многих. Объём то черепушки ограничен. Что то лучше работает, что то хуже. Бывают крайности когда человек в чём то конкретном гениален, но беспомощен во многом другом, бывают серости, но не бывает так чтобы всё было идеальным.
Я к примеру так же помимо алфавита очень плохо запоминаю лица/имена, зато могу влёт вспомнить фильм/книгу по скриншоту(даже фонов)/звукам, нескольким строчкам текста.

Напомнили разговор Холмса с Ватсоном – где "Ватсон, поймите: человеческий мозг — это пустой чердак" и всё такое :-)


ЗЫ: та же проблема с лицами и именами. Интересно было бы увидеть статистику – каков процент таких людей среди айтишников и в целом по поруляции.

С похожей проблемой столкнулись инженеры нокии 7380
Идейно, хотелось создать аксессуар менее всего похожий на классический (для тех времен) телефон, в минимальном корпусе. Схемотехника это позволяла, но вставал вопрос с клавиатурой, как самым большим элементом. Уменьшать кнопки не имело смысла. И тут у кого-то появилась идея, а давайте мы сопрем идею у sony-ericsson с манипулятора типа мышь — поставим колесико которое можно будет быстро вращать и перемещаться по алфавиту. Рядом колесом разместим четыре кнопки, ну и чтобы все было аккуратно по центру разместим самый главный баттон.

Видел телефон вживую, и надо отдать должное, такой интерфейс позволял довольно быстро «печатать» (тут конечно еще заслуга легендарного нокиевского Т9). Т.е. набирать текст можно было буквально не отрывая палец.
Живите теперь с этой информацией =)

Ухты, совсем забыл про этот телефон хотя в детстве видел его у одноклассницы. Нужно будет посмотреть внимательнее, спасибо!

У Microsoft Band2 тоже была какая-то инновационная клавиатура. Они ей сильно гордились — я пару раз пользовался (пока мне замены бэнда делали). Но что-то ссылки подтерли в моем интернете.

А так же в Nokia N81 (владел даже таким) было реализованно колесо прокрутки только не физическое, а сенсорное называлась технология Navi wheel. Но мне кажется добавлять ёмкостный слой для D-pad не простая задача.

Хм, мне кажется, что использовать свои собственные расположения клавиш друг относительно друга — прикольно, но сыграет плохую службу. Полагаю, что базовый способ ввода должен быть похож на знакомые пользователю — то есть в 95% qwerty-раскладка. Чтобы пользователь не искал букву "ю" снизу-справа, когда она находится сверху-слева, например.


Ещё меня смущает навигация вверх-вниз и влево-вправо по многострочному текстовому полю: как переместить курсор на другую позицию, не будет ли ввод через круглые кнопки конфликтовать с перемещением по клавиатуре? Разве что если вынести на неё ещё и клавиши стрелок. Нужна кастомизируемость. :3


Но, вообще говоря, это очень интересный взгляд на клавиатуры, тем более с таким ограничением по размеру экрана! Очень здорово.

Эксперименты с трёхмерными клавиатурами и дизерингом это, конечно, занятно, но всё-таки очень непрактично. Больше напоминает 3D-демки, нежели постоянно используемый способ ввода.


Вот применение генетических алгоритмов для оптимизации расположения клавиш это уже интересно. Правда, я увидел упоминания файлов layouts.html и layouts-more.html, но не увидел ссылок :) Я бы предложил всё-таки разделить раскладки и оптимизировать их для каждого языка отдельно. Ну и прогонять стоит, конечно, не на паре рандомных статей из вики, а на частотных словарях.


Но все равно кажется, что пользователю будет удобнее ориентироваться на привычной QWERTY, чем на какой-то новой (пусть и оптимальной) раскладке.


А вообще я за предиктивный ввод + то, что выше предложили (с разбивкой на круговые секторы) или что-то наподобие ввода на старых кнопочных мобильники. Зачем оптимизировать расположение кнопок заранее, если можно их подбирать прямо по мере ввода? :)

Сожалею, не все ссылки перевел перед публикацией:
anon.fm/articles/flipper-keyboard/layouts.html — выбранные раскладки
anon.fm/articles/flipper-keyboard/layouts-more.html — все, что было
Я еще забыл исходники выложить

Трехмерность (на самом деле адаптивный зум) позволит видеть больше, при этом сосредоточиться на деталях и каких-то конкретных элементах.

Частотные словари полны мусора, да и неизвестно из чего они были сделаны. Хороших корпусов текста тоже не много, в той же Википедии много мусора. Знаю это потому, что каждый год, когда у меня обострение, я начинаю парсить ее.
А Bluetooth флиппера в режиме хоста будет работать? Тогда можно будет компактную Bluetooth-клавиатуру подцепить. Если не будет — тогда можно смартфон научить быть клавиатурой для флиппера (помимо всего прочего).
Мне еще не пришла девборда, я не знаю что там будет, но блютус-клавиатурка у меня есть, так что я в любом случае попробую ее использовать.
Ух ты, исследование достойное, а статья — увлекательная!

А если сделать объединение букв в группы по типу кнопочных телефонов?


как-то так

быстро набросал код, получилось вполне удобно управлять джойстиком

Флиппер имеет смысл как некое расширение смартфона, связанное с ним скажем по Bluetooth. На смартфоне — приложение, позволяющие делать все что угодно, с удобным цветным сенсорным интерфейсом. А на флиппере — минимальный черно-белый экранчик и минимальная клавиатура для самого необходимого. ИМХО это самый оптимальный и удобный вариант.
И кстати в этой связи — интересно продумать передачу «сырых» данных между флиппером и смартфоном. Вычислительная мощь и объем памяти смартфона (а то и ноутбука) всяко больше чем у флиппера, удобство и разнообразие софта опять же. Хотя это не отменяет чисто автономной работы флиппера, скорее дополняет ее. Кажется это весьма неплохая идея, надеюсь авторы флиппера прочитают этот комментарий.
Если и будут делать, то не официально. Т.к. тогда возможности по незаконному использованию возрастут многократно.
А устройство и так ходит по грани.
Конечно для флиппера нужна некая официальная легенда по мирному применению. Например — программируемый пульт управления для «умного дома». А остальное решается перепрошивкой.
Bluetooth кстати, насколько я понял, есть только во Flipper One.

В Zero, кажется, только BLE.

В приложении можно сделать карту и отмечать ключи на ней, было бы очень удобно.

Скорость работы с такой клавиатурой оставляет желать лучшего.

Поэтому иммет смысл ввести или хотя бы цифровую клавиатуру, и применять метод набора с телефона, или сделать последовательности нажатий.
У нас 4 кнопки направления. Если взять возможный набор из 64 символов, вполне можно уложиться, каждый символ будет вводиться 3 нажатиями. По мере привыкания пользователя к этому методу набора скорость ввода станет довольно высокой — как у набора СМС в кнопочных телефонах.

Последние две гифки хорошо выглядят. Я бы попробовал в этих вариантах убрать границы между буквами

Мне кажется, тут всё упирается в то же, во что упирается и неуспех DVORAK и прочих — привычность раскладки ускоряет набор гораздо сильнее, чем её оптимизированность. Даже если ты набираешь одним пальцем, QWERTY или алфавитный порядок позволяет быстрее находить нужную кнопку. Чтобы новая раскладка раскрыла себя, нужно долго ей пользоваться, но флаппер всё же скорее утилитный гаджет, чем для плотного каждодневного использования.

Хотя так сказать научный подход к построению раскладки выглядит интересно, автор проделал большую работу и смог наглядно визуализировать её результаты.
Интересное исследование!)
Но сомневаюсь, что вообще удастся сделать норм юзабилити. Слишком большие ограничения как по мне

Я бы стал набирать текст с телефона. Удобно и не привлекает внимания. Думаю что управление устройством через мобильное приложение должно быть частью прошивки. И в приложении органов управления может быть на много больше.

100% — я вообще за то что бы выпустить более дешевую SuperLight версию — без экрана вообще и с 1 кнопкой (включения/выключения/reset/connection) — пусть лежит себе в кармане, а все управление — мобильным приложением.
«Щас я выведу список наших пользователей, а Вы
укажите, кто Вы есть, — сказала BBS. — Вы Кролик?»
Винни Пух нажал «N».
«Кристофер Робин?» — спросила BBS.
«N», — нажал Пух.
«Тигра?» — не унималась BBS.
«N!», — почти что завопил Пух.
«Пятачок?» — требовала BBS.
Пух разозлился и врезал левой лапой по клавише
«N».
«Вас чего, в списке нету?», — спросила BBS. Вин-
ни облегченно нажал «Y».
«Тогда выберите первую букву Вашего имени:
А?»…

www.lib.ru/ANEKDOTY/9600.txt
Исследование интересное, однако для практичекой цели малокнопочного набора не особо применимо. Перемещаться стрелками вдоль анимированной 3д картинки неудобно на мой взгляд. Давайте с другой стороны посмотрим. У нас есть качелька с 4 стрелками, центр и кнопка сбоку. Нас надо набирать текст, т.е. вводить буквы, и иногда перемещать курсор, и стирать символы. Частые операции — поперемещать курсор, перейти в режим ввоа и вводить символы, стереть последний символ. С другой стороны каждая кнопка может поддерживать события такие как короткое нажатие, долгое нажатие, двойное нажатие, и пожалуй хватит. Для джойстика могут существовать диагональные нажатия (когда например влево и вверх нажимаются почти одновременно).

Если говорить о раскладках, то на мой взгляд любая привычная раскладка, будь то алфавитная или qwerty/йцукен лучше продуманной но уникальной. Потому что к уникальной долго привыкать.

Соответственно нам надо показывать поле ввода с курсором, чтобы стрелки цправляли курсором. например нажатие на центр переводит нас в режим ввода и дальше мы вводим буквы/цифры/символы с помощью серии нажатий на джойстик и подсказок. Т.е. первое нажатие на джойстик или центр выбирает широкую группу символов, следующее — некую подгруппу, а возможно следующее уже конкретный символ. Каждому состояни. соответствуют подсказки на экране которые занимают большую его часть, но строка ввода тоже видна. Возможно первый уровень следует разбить на такие категории: большие латинские буквы/маленькие латинские буквы/большие кирилические буквы/маленькие кирилические буквы/цифры и символы. Делаем выбор джойстиком и видим раскладку символов. Например ту-же qwerty только подкрашенную, чтобы было ясно что например нажатие влево переместит нас в группу «asdf», вправо — «jkl», влево-вверх «qwer», и.т.п. А вот следующее нажатие уже будет выбирать конкретную букву из группы. Соседние группы можно сделать пересекающимисяя, так как 2 нажатия из 9 вариантов (центр, стрелки, стрелки попарно) покроют аж 81 символ. кнопка назад — выход на уровень выше выбора группы. двойное назад — backspace. Категории символов можно сделать залипающими. Ввод текста будет выглядить так: чтобы начать ввод в режиме перемещения курсорамы нажимаем напрмер центр. Далее выбираем категорию символов (рус/лат/цифры/..) стрелками и центром и видим подсказку с категорией. Для примера пусть будут маленькие qwerty Выбираем группу стрелками или цетнром, и следующим нажатием выбираем символ из группы. И попадаем назад в категорию «маленькие qwerty». Чтобы перейти к цифрам жмем назад и выбираем цифры. И на этот раз уже цифры залипнут и мы будем вводиь только цифры/символы, опять по 2 нажатия на символ. Выбрали не ту группу — жмем назад, попадаем в категорию. набрали не то — двойное нажатие назад стирает последний символ. На мой взгляд так будет практичнее чем летать стрелками над 3д клавиатурой.

Так всё-таки, будет тачскрин или кнопки?
Кнопка — интерфейс не такой примитивный, как кажется на первый взгляд. Даже одной кнопкой можно ввести несколько параметров, варьируя количество нажатий, длительность нажатия, длительность паузы.
image
Если на лицевой панели есть место под numpad, то это вообще отлично, т.к. данный интерфейс всем знаком и удобен. Вплоть до того, что весь девайс можно сделать в форм-факторе кнопочного телефона :)
Кнопки, никакого тачскрина

Хотя можно подключить свой через GPIO, там пара каналов АЦП есть

Там корпус уже почти финализирован, посмотрите фото. Четыре кнопки-стрелки, одна по центру, и одна «назад».

Довольно интересные изыскания автора статьи в поисках велосипеда. Ещё в 2002 году инженеры из Калифорнии успешно развили концепт набора часто используемых символов на устройствах Palm, и с тех пор успешно развивают в качестве мобильного приложения MessageEase. В основе концепта — дизайн клавиатуры под удобство набора одним пальцев, итогом работы стала раскладка ANIHORTES, учитывающая особенность каждого языка. Согласитесь, более разумный подход, чем пытаться уместить на экране древнюю QWERTY, которая разрабатывалась ещё для набора двумя руками.

Жаль клавиатура так и не получила широкой распространённости, но подобный подход весьма действенный. Всё интуитивно понятно, за пару дней можно научиться набирать вслепую. Я думаю, подобный инновационный подход вполне сможет ужиться в устройствах Flipper, особенно если предусмотреть в новой версии полноценное сенсорное колесо по типу третьего поколения Ipod. Впрочем, и под текущую четырёхкнопочную версию можно приспособить.
Так MessagEase упоминается в статье

Хорошее исследование, но применено не по месту.


Вы делаете вспомогательный интерфейс для одной из функций. Человек будет пользоваться им редко, по минуте в неделю, или меньше. Если здесь предложить медленный способ, который не надо учить, и быстрый, которым можно овладеть за месяц — все выберут простой медленный.


Самая лучшая такая раскладка пришла вам в голову первой: это линейная ABC / АБВ. Если вы покажете выделение на полоске с буквами, даже будет проще вспомнить, после какой буквы искомая. Если будет быстрая промотка при удержании кнопки, скорость ввода вырастет до уже приличных значений.


Остались ещё кнопки? Нужна ещё кнопка «окончить ввод», и переключатель: ABC / abc / АБВ / абв / 123 / пунктуация

При линейной раскладке напрашивается ввод путём двоичного поиска.
Алфавит делится на 2 части, и пользователю несколько раз задаётся вопрос, какая буква нужна, выше или ниже, или ОК.
А это почти что деревья Хаффмана

А думали ли реализовать простой т9? Будто бы с этим вариантом на экране будет достаточно места и для кнопок, и чтобы отображать введенное. Да и пользоваться им используя 5 кнопок вполне реально.

Это надо по 2-3 клика на каждую букву. Первым делом этот вариант был отвергнут, упомянутый MessagEase куда лучше

Самый удачный вариант, на мой взгляд — это не просто пятипозиционный джойстик, а ещё и дополнительная прокрутка как в камерах. Тогда можно вместо многократного нажатия кнопки "вниз" для выбора буквы просто прокрутить колёсико — это быстрее и удобнее. Но при этом и стандартные направления можно использовать.


Как оно выглядит на камере:

image

Только это реализовано роскошно :)
либо магнитные датчики, либо контактный энеодер.

Не очень понимаю, зачем любой гаджет пытаться превратить в смартфон.
Смартфон или ПК есть у каждого потенциального пользователя этого гаджета, пусть набивает базу ключей в нем, со всеми удобствами. Нужно только передать ID ключа по BT.

На пром.железках обычно матрица символов, и курсором бегаешь. Если приноровиться и есть ускорение, то получается достаточно быстро.
помню в моем детстве был наворочены видеомагнитофон и он позволял делать какие-то текстовые метки.
Но клавиатуры на пульте не было, вместо этого была брошюра с набором разных букв и символов со штрихкодами и светодиод для считывания штрихкодов на пульте.
Сейчас вместо брошюры можно использовать нужный генератор текста на телефоне, а передавать хоть через BT, хоть с экрана считывать в кодировке, а если особо извратиться, то можно через динамик передавать в кодировании (как кассеты на спектруме).
и кстати, «использовать телефон как пульт управления флипером»…
Зачем делать свой развесистый интерфейс, если уже есть готовый многофункциональный интерфейс в кармане каждого(ну почти) человека.
При этом если нет необходимости физического взаимодействия с флипером, то его можно и не доставать, чтобы не палиться лишний раз.

Отлично!

Исходники хотим, конечно. Поучиться делать такие анимации точно стоит)))

Комментарии про Nokia 72(3)80 и ввод АБВ и деревом уже привели, вряд ли я добавлю что-то

Sign up to leave a comment.

Articles

Change theme settings