Показаны сообщения с ярлыком ввод текста. Показать все сообщения
Показаны сообщения с ярлыком ввод текста. Показать все сообщения

10 октября 2012 г.

Markdown и markup

Статья про Markdown в журнале "Хакер" за сентябрь 2012
Внезапно у меня на работе случился праздник - День насильственного отказа от Интернета. Не скажу что имеются люди, которых бы такой "праздник" порадовал, кроме того передо мной маячила прекрасная перспектива остаться вообще без свободного доступа к сети (вот здесь "свободный" я подразумеваю "бесплатный"), поэтому я вернулся к очень традиционному способу получению информации - чтению журналов. Электронных журналов, конечно же, зачем портить бумагу ради информации которая устареет через несколько месяцев? Читая не самый свежий и не самый лучший в мире, но вероятно все еще популярный журнал компьютерной тематики, я натолкнулся на статью про язык разметки текстов Markdown (забавная игра слов: markup language - язык разметки). Статья на Wikipedia не такая веселая как статья в журнале, поэтому неплохо что об этом языке появилась статья именно в "хакерском" журнале.

Научиться синтаксису можно за 5 минут
Смысл концепции Markdown можно понять просто взглянув на вышеприведенную схему. Грубо говоря: пишем текст - получаем красивый HTML без особых усилий (запомнить использование служебных символов не трудно).
Выглядит все это прекрасно, лаконично и логично, но я не разделяю восторгов по поводу этой концепции. Постараюсь объяснить почему лично мне Markdown пока не нужен. Я сталкиваюсь с написанием текстов в основном при написании постов в блог и при работе с социальными сетями (в основном Twitter). И если в 140 символах трудно оценить всю прелесть Markdown (зато для Tumblr он подходит замечательно), то для полноценного блоггинга он представляет собой прекрасный инструмент. К сожалению, это не совсем так. Я использую платформу Blogspot и она уже имеет встроенный редактор WYSIWIG-редактор, причем это не самый плохой редактор.

Использование онлайн-редактора текстов имеет массу преимуществ:
  • введенный текст сохраняется в облачном хранилище. Я могу работать над текстом за ноутбуком, прервать работу и открыть пост для редактирования за другим компьютером. Мне не нужно хранить тексты на своем компьютере и заморачиваться с их переносом и сохранением. Здесь есть и главный минус - у пользователя может не оказаться доступа к Интернету. Имеются онлайн-редакторы с поддержкой Markdown и сохранением в "облаке".
  • WYSIWIG означает что я сразу вижу текст в том виде, в каком его увидит пользователь. Лично для меня удобство редактирования не так важно (я могу редактировать и HTML), но все таки большинство пользователей предпочитает именно WYSIWIG-редакторы. Здесь есть минус технологии - для полноценной работы такого редактора желательно иметь полноценный браузер с поддержкой всех стандартов и новых технологий, Markdown же предлагает пользователю писать "голый" текст и затем каким-либо образом преобразовывать его в HTML с помощью скрипта. Писать текст на Markdown можно в любом самом примитивном редакторе, в том числе на мобильных платформах (на смартфонах и планшетах).
  • У меня периодически возникает необходимость в загрузке картинок, а для этого используется онлайновое хранилище изображений Picasa. Работа с ней в редакторе Blogger реализована очень просто. При использовании Markdown придется озаботиться загрузкой картинок для блога заранее - теряется удобство и мобильность работы.
  • При работе с Markdown написать текст недостаточно. Затем его надо "перегнать" в HTML с помощью скрипта или целой программы (такие программы и скрипты есть под самые разные платформы). Но при написании поста в Blogger используется масса другой информации: теги, расписание, изменение ссылки, описание для поисковых систем и другие функции, которые предоставляет блоггинг-платформа.
  • Обычно я не использую сложное форматирование с несколькими подзаголовками. Текст с несколькими абзацами, простой список, выделение жирным или курсивом и несколько картинок - вот и весь пост в блог. Возможно именно мне Markdown подходит отлично, но зачем мне "лишняя сущность", если имеющиеся инструменты выполняют свои задачи на отлично? Задумаю писать мемуары без картинок, вот тогда и выберу этот простой язык разметки.
Теоретические markdown можно подружить с кем угодно, даже с Blogger, написав специальный скрипт, который будет считывать мета-информацию из файла и с помощью API Blogger, или к примеру через e-mail, посылать текст поста в блог. Но к чему такие сложности, если можно просто зайти в Blogger и написать свой пост, выкладывая одновременно иллюстрации, вставляя видео и при необходимости используя  HTML-редактор? Хотя как задачка для практикующего программиста неплоха. Можно попробовать написать плагин для великолепного редактора Sublime Text 2 (там используется не менее замечательный язык программирования Python).

Только не подумайте что Markdown по большому счету бесполезен - вовсе нет! Это прекрасная вещь, которая с успехом может использоваться на форумах. Лично меня тошнит от встроенных неповоротливых редакторов с массой ненужных функцией (кроме того часть этих функций еще и не работают в определенных браузерах). Markdown это настоящее спасение для пользователей смартфонов и планшетов, которым по понятным причинам не подойдут эти самые редакторы. Не секрет что написание текстов на мобильных устройствах это мучение и даже такая тривиальная задача как выделение слова может стать весьма трудной задачей. Кроме того есть определенный круг "писателей" которые практикуют Zen writing (редакторы, которые направлены только на написание текста, с абсолютным минимумом функций, не отвлекающим пользователя от главное задачи - собственно написания текста) - вот они точно в восторге от Markdown!

18 июля 2012 г.

Клавиатуры для смартфонов на Android

(c) via Flickr
Я уже как-то говорил, да и сейчас повторю, что современные смартфоны и планшеты не очень то предназначены для скоростного и удобного ввода текста. Конечно, есть исключения и можно узнать о том как кто-нибудь занимался программированием на своем планшете, успешно работал через ssh или даже написал книгу, но все таки это исключения из правил.
Как правило у обычного современного человека несколько раз в сутки возникает потребность выразить свои мысли посредством написания и отправления текстового сообщения: это могут быть банальные sms, сообщения в Twitter или комментарии в какой-нибудь социальной сети. Лично я использую смартфон для Twitter и у меня есть большая потребность быстро и просто набирать короткие сообщения. По некоторым причинам меня не устроила стандартная клавиатура в Android 2 (не самая быстрая отзывчивость, отсутствие некоторых продвинутых функций), но для большинства пользователей возможно сойдет и она. Я же отправился искать счастья на официальный Google Play.
В своем поиске я сделал следующие открытия: удобных и бесплатных клавиатур мало, за хорошую программу требуют денег, либо демонстрируют рекламу и всплывающие сообщения при использовании. Клавиатуры делятся на продвинутые (и тормозные) и на быстрые и с минимумом функций.
Начну с представителей класса продвинутых и условно бесплатных виртуальных клавиатур. Здесь можно выделить две достойные клавиатуры TouchPal Keyboard от CooTek и лидера Go Keyboard от плодовитых и известных разработчиков. Обе клавиатуры обладают поддержкой русской языка, методом ввода Swype (на моем смартфоне этот метод ввода трудно использовать из-за небольшого экрана и не самого быстрого процессора), про поддержку разных языков, словарь для обучения и предиктивный ввод слов и исправление ошибок при вводе (самая важная функция) я и говорить не буду. Go Keyboard вообще довольно сильно обременена различным функционалом, одно лишь наличие поддержки марсианского языка о чем-то говорит. Зачастую весь этот функционал не используется, а только съедает ресурсы аппарата. Лично я постоянно пользуюсь только словарем (когда можно не вводить до конца слово, а выбрать) и расстановкой знаков препинания (автоматическая вставка пробела после запятой и точки, переключение на заглавные буквы после точки - мелочь, а приятно и удобно, если вы хотите писать грамотно). У клавиатуры TouchPal чуть меньше функций, да и визуально она мне не очень приглянулась (например не понравилось огромное полоса для меню).
Образец для подражания
При желании можно включить режим Т9 (для ностальгирующих его что-ли делают?). Сменные "шкурки" поддерживаются и за некоторые из них дерут по 1$, что мне кажется весьма завышенной ценой. Каждая уважающая себя клавиатура должна иметь "шкурку" в виде клавиатуры от iPhone и обычно такие "скины" бесплатны для рекламы (их делают сами разработчики).
Как вы понимаете клавиатуры с таким обширным функционалом зачастую не могут работать быстро и отзывчиво (в этом виноваты аппаратные ресурсы, архитектура Android и "кривые руки" разработчиков программ). Нет ничего более неприятного чем ожидать появления на экране буквы спустя 0,25 секунд после нажатия на виртуальную клавишу - этот лаг весьма раздражает. На устаревших смартфонах (с частотой процессора в 600 МГц) ситуация для пользователя может быть еще плачевней. Отечественный разработчик Юрий Бакунин сделал асимметричный ответ всем этим клавиатурам и выпустил клавиатуру Jbak Keyboard с минималистичным набором функций (грубо говоря, тыкаете в клавиатуру и получаете символ) и без словаря. За счет отсутствия многих функций достигается очень высокая скорость работы этой программы. Разница в скорости набора видна невооруженным взглядом. В комплекте имеются несколько разных шкурок ("закос" под iPhone тоже имеется).
По результатам полевых испытаний я остановился на Go Keyboard. Все таки нравятся мне красивые программы с огромным количеством настроек. Предиктивный ввод это весьма полезная штука, которая позволяет мне довольно быстро набирать сообщения, хотя у меня имеются претензии к словарю, да и скорость работы иногда не радует (обычно такое происходит если в фоне выполняется какая-нибудь задача вроде выкачивания файлов).
Вдруг кто не знал: чтобы сменить виртуальную клавиатуру, нужно нажать и держать палец на любом поле для ввода текста до тех пор пока не появится меню. После это можно выбрать и установить по умолчанию любую установленную клавиатуру. Не забудьте: установленную виртуальную клавиатуру надо предварительно активировать (разрешить ей доступ в системных настройках, прочитать сообщение о возможности перехвата паролей, испугаться...) - только после этого она окажется в списке для выбора метода ввода.

4 октября 2011 г.

Пишем тексты с помощью Google Scribe

После долгого затишья в сервисе Blogger, обновления появляются как из рога изобилия. Здесь и долгожданные улучшения внешнего вида (которым я пользуюсь очень давно с помощью "черновиков blogger"), а также революционные улучшения для читателей блогов - внешний вид блога на HTML5 (посмотреть демонстрацию можно здесь).
Сегодня я хочу рассказать о еще одной технологии внедренной в этот замечательный сервис для ведения блогов.
Все пользователи (кроме особенно упорных и продвинутых, отключивших данную функцию на корню) сталкивались с google suggestions - с подсказками при вводе поискового запроса. Теперь данный функционал является обязательным не только для поисковиков, но и для приличных веб-сайтов. Действительно, очень удобно не набирать всю фразу или слово целиком, а выбрать его из выпадающего списка.
Все эти замечательные возможности нам дает т.н. Web 2.0, а именно асинхронные запросы к серверу - обмен данными идет постоянно, нет необходимости перезагружать страницу и вручную отсылать запрос.
Неудивительно что данная технология была использована для полноценного ввода текста. Теперь Google пытается по части введенного слова угадать что именно вы хотели написать, и вот что удивительно - в большинстве случаев ему это удается!
Вот так скромно выглядит данная революционная функция
Для людей которые следят за IT новостями (а я отношусь к этой категории людей) данная инновация вовсе нова (новость в официальном блоге blogger in draft на англ.языке). Программисты очень давно привыкли к autocomplete (функция автодополнения) при написании программ, когда редактор предлагает выбор на основе введенных пользователем пары букв. Продвинутые IDE учитывают контекст и предлагают определенные функции, названия переменных... в общем программисты облегчили себе жизнь. Кроме того данную функцию программисты из Google представляли в качестве развлечения (пользователи поигрались с ней и забыли).
Совсем другое дело использовать такую функцию при вводе обычных текстов. Такую функциональность пытались реализовать и ранее в различных редакторах, но не добились успеха у пользователей. В мобильных телефонах данная функция работает давно и более успешно чем на компьютерах, но там это и понятно - будешь рад любому облегчению при наборе текста, даже выбору слов из очень ограниченного словаря.
Google suggestions работает не с помощью словаря. Используется огромный запас информации, который образовался при анализе связного текста в Интернете. Именно поэтому удается выдавать сразу такие устойчивые конструкции как пословицы. Да, подсказки Google иногда угадывают не только слово, но и целые фразы.
Как все это работает в жизни вы можете увидеть на моем скриншоте, объяснения не требуются. Пользователь вводит начало слова и если подсказка его удовлетворяет, нажимает пробел (или клавишу курсора если есть еще варианты). Для того чтобы не появился лишний пробел, он автоматически удалится перед знаками препинания. Все очень просто.
А вот как это чувствуется при реальном наборе текста, я вам расскажу.
Скажу сразу: данная функция при всей её привлекательности и кажущейся эффективности, показалась мне неудобной. Может быть большую роль здесь играет моя привычка набирать текст (очень быстро, но с кучей ошибок). Кроме того имеется весьма незначительные, но все-таки заметный "лаг" при вводе текста (идёт постоянный обмен информацией), и это раздражает. Но самую большую проблему составляет то, что подсказки не всегда угадываются верно (хотя по мере набора слова точность повышается), особенно большие проблемы имеются с окончаниями слов (в английском языке такой проблемы не будет, зато у нас самый великий и могучий язык), в итоге приходится много отвлекаться, вчитываться в слова... а мысль уходит!
В конечном счёте, я отключил эту функцию и продолжил набирать текст "по старинке". Но это вовсе не значит что эта функция плохая! Есть целый ряд устройств на которых подсказки при вводе будут просто killing feature. Я говорю о планшетах и смартфонах, вводить большие тексты на которых по прежнему весьма затруднительное дело. Там google suggestion будут смотреться просто великолепно. Возможно данная функция будет полезна для людей, которые очень медленно набирают текст на клавиатуре и не научились печатать слепым десятипальцевым методом (а таких людей много приходит в современный Интернет).
Я считаю что эту технологию ждет замечательное будущее, и она повторит судьбу еще одной технологии от корпорации Google: технологию голосового поиска. На первом этапе это выглядит забавно и плохо работает. Затем это просто работает. А затем это становится стандартом и пользователи не могут себе представить что раньше обходились без этого.

11 декабря 2010 г.

Эффективное переключение раскладок

Управление переключением раскладок в Gnome 2.3
В последнее время я провожу над собой эксперимент, причем провожу его и в Linux и в во всех версиях Windows, которые у меня имеются на рабочих компьютерах.
Экскурс в историю: сначала все умели alt+shift, затем продвинутые пользователи освоили управление и установили ctrl+shift, затем еще более продвинутые пользователи установили специальные программы и начали экспериментировать:  простой ctrl, клавиша meta (оно же windows-key на PC), capslock...
Цель эксперимента довольно проста - освоить новый способ переключения раскладок при написании двуязычных текстов. Я пишу много всего и не только с помощью кириллицы, очень много приходится набирать с помощью латиницы, которая имеется на каждой компьютерной клавиатуре в этом мире (ну почти на каждой).
Методы достижения цели: основная идея (проблема) - не гадать в каком положении находится раскладка в данной момент, пытаясь набрать текст, посмотрев на экран и увидев что пишем не на той раскладке, выругаться и переключить её/либо потянуться к клавише автоматической смены раскладки для последнего набранного слова. Видите как много тратиться сил чтобы просто начать набирать одно слово, а затем бороться с проблемами!
Собственно вся очевидная идея на скриншоте: перед началом набора нужно просто нажать соответствующую клавишу чтобы гарантировано переключиться на нужную вам раскладку. Ну еще имеется световая сигнализация - у меня загорается scroll lock  при переключении на английский язык.
Техническая реализация: ну с этим проблем уже давно нет. Раньше в linux были проблемы с настройкой переключения раскладок, да и с самими раскладками были большие проблемы, но в последние годы стараниями добровольцев ситуация изменилась и особенных проблем в популярных дистрибутивах я не замечал (все работает сразу "из коробки"). Как настраивается переключение раскладок в gnome вы видите на скриншоте, наверняка в KDE тоже имеется удобный механизм для настройки клавиатуры, а в Windows для этого используется всем известная программа из разряда must-have Punto Switcher, которая давно, к сожалению, не обновлялась, но очень даже работоспособна.
Ход эксперимента: эксперимент идет с трудом. Я нахожусь пока на начальной стадии и мне довольно трудно отвыкнуть от мысли что для переключения раскладки нужно использовать не ту же клавишу, какую нажимал. Я надеюсь что за неделю привыкну.
Ссылки по теме:
1. Национальные раскладки клавиатур и способы их переключения (большой топик)
2. Какое сочетание клавиш лучше всего поставить для смены раскладки (краткие советы)

p.s.: Тут сразу выяснился крайне неприятный момент с русской кодировкой и работой горячих клавиш в Linux и Gnome в частности, а именно - "hot keys" не работают при включенной русской раскладке. Русская раскладка висит на левом ctrl, и нажимать на "хоткеи" я привык с помощью левого ctrl, в итоге проблема. Судя по постам в интернете проблема известная очень давно и либо не решенная, либо её всем лень решать. Ну подождем "мегапатча" который решит нам всем проблемы. Хотя можно переключение и на shift перекинуть, и сделать американскую раскладку на левом ctrl, и вообще не пользоваться горячими клавишами, я вот в браузерах активно использую mouse-getstures.

update: эксперимент можно считать успешно завершённым. Я  успешно привык к переключению раскладки с помощью двух разных клавиш Ctrl.