9 сент. 2007 г.

Текстовый комбайн

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

Лирическое отступление

Для начала немного отвлечемся на полезную информацию. Люди по разному набирают текст на компьютере и это зависит не столько от опыта человека, сколько от его информационного психотипа. Одни, без проблем, печатают 10 пальцами, глядя только в монитор, и параллельно с набором текста могут спокойно "трендеть" по телефону. Другие печатают 1-2мя пальцем, судорожно вспоминая правописание слов и из каких букв эти "долбанные" слова состоят.

Я, например, на компьютере регулярно лет 15, но глядя в клавиатуру печатаю быстрее (2мя пальцами), чем глядя в монитор 10ю! Более того, мне не важно написаны ли на клавишах буквы, важно смотреть на кнопки! Я конечно прооптимизировал правописание - просто пишу как пишется, а потом иногда проверяю спелчекером. Но чаще, просто оставляю как есть :)

Потмоу что доакзано - пордяок бувк не иемет знаечния!

Разные группы пользователей

Люди вообще, и авторы программ в частности, просто не понимают, что другие индивидуумы могут по разному представляют слова и буквы в своей голове. А это очень важно! Потому что весь мир разделен как минимум на на 2 группы:

Первая, смотрит в монитор и замечает подсказки и если слово набрано с ошибками - удаляет слово целиком и перепечатывает опять.

Вторая, набирает слово или два, потом глядит в монитор и матерится "какого хрена получилась такая галиматья"! Берет в руки мышь или стрелки курсора и начинает исправлять по буквам.

При этом и первые и вторые могут быть как грамотными так и полными "даунами", особенно в техническом плане. Многие из вас используют именно табуляции для сдвигов абзацев и меняют размеры форматирования, вместо того, что бы набить пару-тройку лишних пробелов для красоты? :)

Задачки для "мониторщиков"

  1. Удаление последнего: слова, предложения, абзаца. Слово обычно реализовано в продвинутых редакторах (Ctrl+BackSpace)
  2. Подсказки быстрого набора, в виде динамического списка, рядом с набираемым словом. Обычно появляется после набора 2-3 символов. Стандартная фича для PDA. Подсказали что есть такое: Quick Input.

Будем дополнять...

Задачки для "клавиатурщиков"

  1. Изменение регистра букв на противоположный (набрали и не заметили что CAPSLOCK :), для выделенного блока, последнего слова, предложения.
  2. Изменение раскладки букв (набрали русский текст при English раскладке :), для выделенного блока, последнего слова, предложения.
  3. Переходы по тексту: по словам, предложениям, абзацам и т д.
  4. Выделение по: словам, предложениям, абзацам. По словам это Ctrl+Shift+Курсор обычно.

Будем дополнять...

Общие задачки

  1. Проверка орфографии (спелчекинг) в любом поле ввода. Набирать все в Word - не удобно.
  2. Замена регистра выделенного блока на UPPERCASE или lowercase (программисты оценят :)
  3. Вставка часто используемых фраз по кодовой аббревиатуре. Например: NTSY = Nice to see you; FFTA = If you have other questions, feel free to ask. Подобное используется в TypePilot.
  4. Вставка часто используемых фраз с выбором из каталога или древовидной структуры базы знаний. Подобное используется в FlashPaste.
  5. Контекстные подсказки для слова под курсором. Перевод на другой язык, словоформы, синонимы, другая информация.
  6. Контекстные операции над словами под курсором. Перевод, замена на синоним, поиск в Интернете и т д.
  7. Генератор подписей со вставкой сарказмов, интересных фраз, событий по дате, проигрываемой музыки и т д.
  8. Из советов: история клипборда и операции над буфером клипборда. Не совсем в тему, но 95% реализации будет благодаря основной функциональности.

Будем дополнять...

Техническая реализация и возможные проблемы

У меня был опыт создания подобных программ, поэтому некоторые "грабли" могу сразу предугадать.

Не обойдется без хуков в отдельной dll, как минимум для отлавливания текущих полей ввода, а возможно и для подмены событий клавиатуры и мышки. А хуки они вредные! Требуют тщательной отладки и не должны кушать много памяти, так как цепляются к каждому процессу.

Проблемы получения набранного текста. Не все редакторы корректно отдают текст. В веб браузерах с этим вообще сложно. На данный момент есть наработки Дениса Назаренко по ArumSwitcher.

Некоторые команды проще эмулировать путем генерации стандартный событий: Shift+Ins и подобное, чем посылать оконные сообщения или работать с хаками.

Как это продавать

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

Тем не менее, некоторые задачи очень востребованы в деловой переписке, профессиональном наборе специализированных текстов (программирование, HTML и т д.). Так что уже есть какой-то спрос и таржетная аудитория :)

Спелчекинг и переводы очень подойдут активным Интернет серферам и чатерам. Вставки фраз и подписей - блогерам и подписчикам разных комьюнити.

Исправление опечаток и различные перекодировки можно использовать для продвижения на многоязыковых рынках.

Я склоняюсь к необходимости свободной облегченной версии и платной полной версии. Возможно некоторые особые плагины (вставка фраз, например) продавать отдельно.

13 комментариев:

Анонимный комментирует...

Угу, ты еще забыл работу с буфером обмена - историю как Clipdiary, возможность делать много много всякой фигни в плане обработки текущего содержимого буфера как в Text Monkey, шаринг этого содерджимого по сети как в (не помню точно сейчас где это есть, может в Clipmate), также все что есть в PUNTO SWITCHER, что тут еще не перечисленно.

Для продвижения программы среди ЦА добавляем клавиатурный тренажер, а для продвижения на национальных рынках - программу для изучения английского. Еще програму для изучения физики\химии и математики, движок же уже есть. почему бы и не добавить, зато можно выйти на школьный рынок:)


После этого остается добавить туда - быстрое выключение компьютера, лайунчер, тодо лист и органайзер. И либо все это продать МС либо превратить в свою операционку, потому что к тому времени добится нормальной работы хотя бы на висте и хп уже будет затруднительно :)

P.S. Сейчас поужинаю и попробую написать более серьозную критику.

P.S.S. ну почему ты не ставишь линки на программы о которых ты пишешь, тебе все равно. а авторам приятно :)

KARPOLAN комментирует...

Память клипборда - это слегка из другой серии. Хотя действительно добавляется на раз.

Ты вот сам хистори клипборда для чего используешь?

А линки, ну хорошо поставлю :)

Анонимный комментирует...

Ну что-же поехали. Разумеется все исключительно имхо.

>>Задачки для "мониторщиков"
>>Удаление последнего: слова, предложения, абзаца. Слово обычно реализовано в продвинутых редакторах (Ctrl+BackSpace)

В продвинутых, как ты уже заметил реализованно. А это все поля в броузере, и все что на RichEdit построенно - ты пишешь много текстов в других редаторах?
К тому же в простых редакторах это эмулируется ctrl+shift+left arrow + backSpace или Delete или вообще первая буква нового слова. То есть всего 1 или 2 лишних нажатия.. и это для людей использующих слепой 10 пальцевый метод - понты:)
Вердикт - излишняя функция.


>>2.Подсказки быстрого набора, в виде динамического списка, рядом с набираемым словом. Обычно появляется после набора 2-3 символов. Стандартная фича для PDA.

Угу, один знакомый тоже утверждал что шибко полезная фича и всем надо, даже прогу написал. Я изначально не верил, говорил что не пойдет... результат можешь опробывать сам - QInput http://ru.qinput.com/.
Кстати можешь быть вам скооперироватся, купи у него исходники (мне пиво с обоих!)

>>Задачки для "клавиатурщиков"

>>Изменение регистра букв на противоположный (набрали и не заметили что CAPSLOCK :), для выделенного блока, последнего слова, предложения.

Ну это в принципе неплохо, как дополнительная функция вполне пойдет.

>>Изменение раскладки букв (набрали русский текст при English раскладке :), для выделенного блока, последнего слова, предложения.
Поинтересуйся у Дениса степенью популярности арума, за пределами рунета..

>>Переходы по тексту: по словам, предложениям, абзацам и т д.
Выделение по: словам, предложениям, абзацам. По словам это Ctrl+Shift+Курсор обычно.
Такое впечетление что мы свой редактор текста писать планируем. Вообще это уже функция редактора имхо, и .. сюрприз.. как правило она уже реализованна. я в любом редакторе могу спокойно переходить по тексту. Да и вообще ты представляешь как это реализовать???

>>Общие задачки

>>Проверка орфографии (спелчекинг) в любом поле ввода. Набирать все в Word - не удобно.
Тектовые процессоры, е-майл клиенты, блог-клиенты - как правило уже имеют это. FireFox может это делать для тектов во всех формах, IE - помоему гугл тулбар подобное предлагает. Где ты еще пишешь тексты которые надо так проверять? разве что IM клиенты...


>>Замена регистра выделенного блока на UPPERCASE или lowercase (программисты оценят :)
Кстати, вот я программист, если честно не понимаю необходимость в такой функции, хотя переодически ее встречаю в разных редакторах, зачем она?


>>Вставка часто используемых фраз по кодовой аббревиатуре. Например: NTSY = Nice to see you; FFTA = If you have other questions, feel free to ask. Подобное используется в TypePilot.
Да хорошая идея... для отдельной програмы:)

>>Вставка часто используемых фраз с выбором из каталога или древовидной структуры базы знаний. Подобное используется в FlashPaste.

Аналогично.

>>Контекстные подсказки для слова под курсором. Перевод на другой язык, словоформы, синонимы, другая информация.
Эще одна идея достойная отдельной программы. Вот это у тебя монстр получится если все это объединишь:)



>>Контекстные операции над словами под курсором. Перевод, замена на синоним, поиск в Интернете и т д.

Как вспомогательная функция - пойдет.


>>Генератор подписей со вставкой сарказмов, интересных фраз, событий по дате, проигрываемой музыки и т д.
Это просто перефразировка идеи TypePilot\Flashpaste, не более. Пожалуй надо запомнить про проигрываемую музыку, а случайный выбор фраз у меня уже давно у туду.

Анонимный комментирует...

>Ты вот сам хистори клипборда для чего используешь?
Да, очень и очень часто. Ctrl+Shift+left up\down (вспомогательный хоткей для Сlipdiary) один из самых часто используемых хоткеев на компе наверное.
Причем реально полезно как в проф. деятельности - програмирование, хтмл, так и просто в работе за компом - чаты, броузеры, мыло етс..

p.s. Спасибо :)

KARPOLAN комментирует...

Спелчекинга нескольких языков нет даже в OE. А ты говоришь веб формы :)

Вот ща пишу тебе ответ - точно с ошибками!

http://ru.qinput.com/ слегка не доработан, но в принципе правильная прога.

Насчет проги Дениса, ты поинтересуйся почему в ней нет инверсии CASE до сих пор. От того что вы в чем-то упертые и принципиальные маркетинг не появится :)

Да и не собираюсь я писать такую прогу, это если тут соберется какая-то команда которая захочет такое сделать - только тогда. В принципе тебя, Дениса и Роланда можно было бы объединить, но вы ж каждый по отдельности крутые и независимые бизнесмены :) Этот блог именно для собирания идей и фич. Типа мой вклад по 1 доллару :)


Про клипборд так и не понял, ты там пароли, что ли хранишь? Или просто копируешь 5 кусков в одном месте и потом вставляешь все сразу?

Andrew V.Rychkov комментирует...

А какие недоработки на твой взгляд к Quick Input ?

Анонимный комментирует...

Ну а почему у тебя досих пор нет инверсии case? вроде как исходники у тебя есть, если не ошибаюсь:)

Ну купи какую-нибудь из наших прог или даже несколько и быстренько слепи комбайн:)

Про клипбоард - нет пароли не храню (для хранения есть флашпаст), просто если привыкнуть пользоватся прогой то оказывается что необходимость вставить то что было в клипбоарде несколько позиций назад - существует очень и очень часто. Хотя может это просто мой стить работы за компом...

KARPOLAN комментирует...

> А какие недоработки на твой
> взгляд к Quick Input ?

1. Не цепляет! Ни на сайте ни в самой проге. Хотя сделано добротно. Например, скриншот с урлами, народ подумает, что это просто стандартная хистори.

2. Нет готовых словарей или интеграции с программами спелчекерами и словарями. Нет привью для списка списка.

3. Ее изначально надо было раздавать как фривару :)

KARPOLAN комментирует...

> Ну а почему у тебя досих
> пор нет инверсии case?
> вроде как исходники у
> тебя есть, если не ошибаюсь:)

У меня много чего есть, мне ще и переделывать это? Самому? Ща все брошу...


> Ну купи какую-нибудь из
> наших прог или даже
> несколько и быстренько
> слепи комбайн:)

Давай я тебе дам исходники всех ваших прог, соберешь комбайн? Или чего-то все-таки не хватет?

Анонимный комментирует...

>>Давай я тебе дам исходники всех ваших прог, соберешь комбайн? Или чего-то все-таки не хватет?

Да, веры в том что такой комбайн кому-то нужен:)

Хотя взглянуть на исходиник тайп пилота - я бы взглянул :))

KARPOLAN комментирует...

> Да, веры в том что
> такой комбайн кому-то
> нужен:)

Ну значит тебя вычеркиваем... Мне нужен, например.


> Хотя взглянуть на
> исходиник тайп пилота -
> я бы взглянул :))

И что ты там ожидаешь увидеть? Возьми любой кейлогер - там все точно так же.

Barafu Albino комментирует...

EMACS Это всё давно уже умеет, надо только настроить.

KARPOLAN комментирует...

Дык этож редактор и настройки только для него... А надо на любую программу системы.