65
-------------------| О текстовом вводе | | замолвите слово | -------------------> Бибичев Андрей *) *) пациент психбольницы (ЕВПОЧЯ) > специально для WUD-2009 > ноябрь 2009

О текстовом вводе замолвите слово

Embed Size (px)

DESCRIPTION

Презентация для конференции WUD-2009, прошедшей 14 ноября в Москве

Citation preview

Page 1: О текстовом вводе замолвите слово

┌-------------------┐| О текстовом вводе || замолвите слово |└-------------------┘

> Бибичев Андрей*)

*) пациент психбольницы (ЕВПОЧЯ)

> специально для WUD-2009

> ноябрь 2009

Page 2: О текстовом вводе замолвите слово

I. ДВА ЭПИГРАФА

Текстовый и графический

Page 3: О текстовом вводе замолвите слово

« На что тебе твои

самолеты, и радио, и твой Боннафу,

раз у тебя нет истины »

(с) Экзюпери

Page 4: О текстовом вводе замолвите слово

« На что тебе твои

градиенты анимация Куперсамолеты, и радио, и твой Боннафу,

удобного текстового вводараз у тебя нет истины »

(с) Экзюпери

Page 5: О текстовом вводе замолвите слово
Page 6: О текстовом вводе замолвите слово
Page 7: О текстовом вводе замолвите слово

II. ВВЕДЕНИЕ

О месте данного доклада под солнцем Usability

Page 8: О текстовом вводе замолвите слово

++++++++++++++ Usability + +++++++++++++

Page 9: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

Page 10: О текстовом вводе замолвите слово

[[ дизайн ]] (( сексуальность ))

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

Page 11: О текстовом вводе замолвите слово

http://habrahabr.ru/company/turbomilk/blog/74806/

Page 12: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

Page 13: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

||

┌--------------------┼-----------------┐| | |V V V

.................... ............. ............

. Непосредственное . . Текстовый . . Пока .

. манипулирование . . ввод . . экзотика .

.................... ............. ............

Page 14: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

||

┌--------------------┼-----------------┐| | |V V V

.................... ............. ............

. Непосредственное . . Текстовый . . Пока .

. манипулирование . . ввод . . экзотика .

.................... ............. ............

> Click / Touch> Drag-&-Drop> Жесты / Multi-touch> Датчики

Page 15: О текстовом вводе замолвите слово
Page 16: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

||

┌--------------------┼-----------------┐| | |V V V

.................... ............. ............

. Непосредственное . . Текстовый . . Пока .

. манипулирование . . ввод . . экзотика .

.................... ............. ............> Click / Touch > голосовой> Drag-&-Drop ввод> Жесты / Multi-touch > дополненная> Датчики реальность

Page 17: О текстовом вводе замолвите слово
Page 18: О текстовом вводе замолвите слово

┌--> Визуальная подача +++++++++++++ |+ Usability + ----┤+++++++++++++ |

└--> Интерактив

||

┌--------------------┼-----------------┐| | |V V V

.................... ............. ............

. Непосредственное . . Текстовый . . Пока .

. манипулирование . . ввод . . экзотика .

.................... ............. ............> Click / Touch > клавиатура > голосовой> Drag-&-Drop + ввод> Жесты / Multi-touch поле ввода > дополненная> Датчики реальность

Page 19: О текстовом вводе замолвите слово
Page 20: О текстовом вводе замолвите слово
Page 21: О текстовом вводе замолвите слово

« У меня есть для вас

посылка, только я вам еѐ не отдам,

так как у вас документов нет »

(с) Печкин

Page 22: О текстовом вводе замолвите слово

« У меня есть для вас

Сообщения их покажупосылка, только я вам еѐ не отдам,

так как у вас документов нет »вы ввели телефон в формате

8(xxx)xxx-xx-xxа ожидался телефон в формате

+7-xxx-xxx-xxxx

(с) Печкин

Page 23: О текстовом вводе замолвите слово

А Clipboard?!

Page 24: О текстовом вводе замолвите слово

И даже в браузерах есть что развить

• Хранение и просмотр истории текстового ввода

– Когда, на каком сайте, что вводилось с возможностью промотать как мультик, взять в буфер обмена

– и с поиском по этой истории

Page 25: О текстовом вводе замолвите слово

Важно:

• Уметь прощать ошибки

• Быть догадливыми

– но ненавязчивыми

Сексуальные интерфейсы, которые не уважают пользователей, т.е. не

умеют прощать ошибки и не обладают смекалкой – суть стервы

Page 26: О текстовом вводе замолвите слово

III. MUST HAVE

Ввод строк

Целые числа

Десятичные числа

Даты

Визуализация

Продвинутые возможности

Page 27: О текстовом вводе замолвите слово

1) Ввод строк

• Наибольшие проблемы доставляют ПРОБЕЛЬНЫЕ СИМВОЛЫ

– обычный пробел

– жесткий пробел  

– табуляция TAB

user@login

WorldUsability Day

Page 28: О текстовом вводе замолвите слово

Нормализация строк

Step 1:

Лидирующие пробельные символы X

Step 2:

Концевые пробельные символы X

Step 3:Пробельные символы пробел

Step 4:

Несколько пробелов подряд 1 пробел

Page 29: О текстовом вводе замолвите слово

Несколько строк в одну

Page 30: О текстовом вводе замолвите слово

2) Целые числа

• Опять же пробелы

– лидирующие и концевые

– больше о них не вспоминаем

– всегда убираем!

• Группировка разрядов

– пробелы

– апострофы

– запятые1’000’234

Page 31: О текстовом вводе замолвите слово

Простим группировку!

• Радикальный способ:

– убрать все нецифровые символы

• Консервативный способ:

– Убирать только пробелы, апострофы и запятые

123,51

? 12351

? 123

? 124

Page 32: О текстовом вводе замолвите слово

3) Десятичные числа

• Разделитель целой и дробной частей

– запятая

– точка и «ю»

• Мешается еще группировка разрядов

– которая бывает через запятую

>. Ю

Page 33: О текстовом вводе замолвите слово

Отделяем «зерна» от «плевел»

Случай 1:

Есть точка/«ю» это разделитель

Случай 2:

Запятая несколько раз это группировка

Случай 3:

Есть апострофы или пробелы в группировкетогда запятая это разделитель

Случай 4:

После запятой не 3 цифры это разделитель

123,456.789

123,456,789

123’456,789

123,4 123,45 123,4567

Page 34: О текстовом вводе замолвите слово

Отделяем «зерна» от «плевел»

Случай 5:

До запятой > 3 цифр это разделитель

Случай 6:

Ввод денег или целых это группировка

Иначе:

Остается трактовать как разделитель

12345,678

12,345

12,345

Низкая достоверность

этой догадки

Если есть возможность, можно заглянуть в региональные настройки

Page 35: О текстовом вводе замолвите слово

4) Даты

• Обычно: ДД.ММ.ГГГГ

Ослабление 1:

ГГ ( 50 лет от текущего года)

16.02.76

Ослабление 2:

Точку можно не вводить – ДДММгг[гг]

16021976

Ослабление 3:

«ю» – это точка

16ю02ю76

>. Ю

Page 36: О текстовом вводе замолвите слово

Ослабление 4:

альтернативные разделители

····· ┌> Американский формат: ММ/ДД/ГГГГ

· / · --┤

····· └> Rus/Lat: ДД/ММ/ГГГГ? ,/ .Если > 12, то точно ДД

Если оба <= 12, то гадаем…

Page 37: О текстовом вводе замолвите слово

Ослабление 4 (продолжение):

еще альтернативные разделители

····· ┌> ISO: ГГГГ-ММ-ДД

· - · --┤

····· └> Извращение: ДД-ММ-ГГГГ

Если впереди 4 цифры, то ISO

Page 38: О текстовом вводе замолвите слово

Ослабление 5:

текстовое название месяца

янв… → 01

Фев… → 02

мар… → 03

дек… → 12

16 фев 76

16 февраля 1976

Анализируем только первые 3 буквы, остальные игнорируем

Page 39: О текстовом вводе замолвите слово

Ослабление 6:

Не указан год -- текущий год

Не указаны год и месяц -- текущие год и месяц

Это может быть в районе 90% случаев!!!

Page 40: О текстовом вводе замолвите слово

5) ююю ...

Уже по аналогии легко догадаться

• Время

• Номер телефона

• URL

• IP-адрес

• …

Page 41: О текстовом вводе замолвите слово

6) Визуализация трактовки..........................

. Введите объем поставки .

. газа и нажмите Enter .

..........................

-------------

| | кубометров

-------------

4,321

........................

. 4 тыс. 321 кубометр .

. газа закачен в трубу .

........................

Page 42: О текстовом вводе замолвите слово

Варианты

• По мере набора

01ю| 01|ю 01и|ю 01июн|

• По уходу фокуса

вместе с валидацией

есть проблема последнего поля

• Доп. шаг с подтверждением

иногда это оправдано

но редко + лишние действия

Page 43: О текстовом вводе замолвите слово

• A la autocomplete(всплывающий хинт под полем)

------------

| 4 янв 18| |

------------

. 04.01.2018 .

..............

------------

| 24 янв 18| |

------------

. 24.01.2018 .

. 18.01.2024 .

. 24.01.1918 .

. 18.01.1924 .

..............

Page 44: О текстовом вводе замолвите слово

7) Продвинутые возможности

• Числа:inline-калькулятор

достаточно + - * / и скобок

• Даты:«+1» – завтра «+7» – через неделю

«-1» – вчера «-7» – неделю назад

• Строки:автоматический Rus/Latавтоматический регистр

Page 45: О текстовом вводе замолвите слово

III. УДОБНЫЙ ПОИСКВ ОДНОЙ СТРОКЕ

Поиск в адресной книге

Поиск физ. лица

Поиск товара

Ad hoc анализ строк

Будущие интерфейсы для поиска

Page 46: О текстовом вводе замолвите слово

«Хороший поиск ≡ google»

Page 47: О текстовом вводе замолвите слово

Мы же «городим» что-то вроде:

Page 48: О текстовом вводе замолвите слово

Препятствия

• Полноценный поиск с морфологией до сих пор остается не всем доступной роскошью

• Много атрибутов у искомых сущностей

• Въевшиеся шаблоны проектирования

Page 49: О текстовом вводе замолвите слово

Устоявшийся положительный пример

• Поиск контакта в адресной книге– одно поле

– ищет по мере набора

– строит разные догадки:• ФИО

• отдельные части ФИО

• E-mail

• телефон

• «прозвище»

• …

Page 50: О текстовом вводе замолвите слово

Кстати, у google wave с этим пока не очень…

Page 51: О текстовом вводе замолвите слово

Тезисы

> Почти любой поиск можно реализовать в одной строке

> Глупо показывать 0 результатов поиска – лучше продолжить искать иначе и предлагать догадки

> Точность поиска не обязана быть 100% пока результатов не станет слишком много– точность vs полнота

Page 52: О текстовом вводе замолвите слово

Тезисы

> Между поисками в стилеатр1 = значение & aтр2 LIKE шаблон

иполноконтекстным поиском

сейчас слабо заполненная ниша

Page 53: О текстовом вводе замолвите слово

Объединение ┌--> нескольких | алгоритмов |||

+++++++++++++ | Поиск+ ПРИЕМЫ + ----┼--> отдельных +++++++++++++ | элементов

|||└--> Мини-язык

Page 54: О текстовом вводе замолвите слово

Пример 1:Поиск физ. лица

Бибичев Бибичев А

Бибичев А 1976 Андрей 1976-02-16

12 34 567890

987’654 14.11.09

Page 55: О текстовом вводе замолвите слово

Пример 2:Поиск товара по названию

Детские кроссовочки Adidas коричневого цвета с желтыми шнурками 32 р.

Кроссовки детские

Adidas кроссовки желтые

Коричневые шнурки

Page 56: О текстовом вводе замолвите слово

http://snowball.tartarus.org/algorithms/russian/stemmer.html

Page 57: О текстовом вводе замолвите слово

┌- детск

├- кроссов

├- adidas

+++++++++ ├- коричнев

+ Товар + <---┼- цвет

+++++++++ ├- с

├- желт

├- шнурк

├- 32

└- р.

Page 58: О текстовом вводе замолвите слово

Пример 3:Поиск issue в YouTrack

http://www.jetbrains.com/youtrack/features/search_filter_issues.html

Page 59: О текстовом вводе замолвите слово

IV. ВПЕРЕД В ПРОШЛОЕ

Спираль развития

Про Office 2007 и Mozilla Bespin

Про терминалы оплаты

Мелочи бывают очень важны

Page 60: О текстовом вводе замолвите слово

Спираль развития

Page 61: О текстовом вводе замолвите слово

Две истории

• Office 2007 vs Mozilla Bespin

• Терминалы оплаты

Page 62: О текстовом вводе замолвите слово

Пришло времяпозаботиться

о текстовом вводе

Page 63: О текстовом вводе замолвите слово

Нюансы и мелочибывают очень важны

Page 64: О текстовом вводе замолвите слово

СПАСИБО ЗА ВНИМАНИЕ!ВОПРОСЫ?

[email protected]

http://www.google.com/profiles/biBIGone

Page 65: О текстовом вводе замолвите слово

Нормализуйте строки