Оформление сообщений в AlterVega
Красиво оформленное сообщение - это не только приятное глазу форматирование, но и средство расстановки акцентов в тексте. А добавленные медиа-данные (изображения, видео) позволяют лучше передавать суть сообщения.
Таким образом возможность оформлять сообщения - одна из важнейших возможностей, предъявляемых к современным системам создания сообществ. Важно, чтобы оформление сообщений было удобно, эффективно и безопасно. Мы, при проектировании AlterVega, очень подробно рассмотрели возможные реализации данной возможности. Сейчас мы хотели бы поделиться с вами нашими исследованиями в этой теме.
Существуют три основных подхода к реализации оформления текста в сообществах:
- BB-код
- Вики-подобный синтаксис
- WYSIWYG | RTE (HTML)
BB-код
Появился, как безопасный аналог HTML, с появлением первых систем для создания сообществ. Скорее всего вы уже работали с ним, по-крайней мере встречали записи вида: жирный текст, http://http://altervega.ru и т.п. BB-код был нужен, чтобы не допустить использование всей мощи HTML в теле сообщений. Он ограничивал множество тегов HTML специальными тегами BB-кода. Так как BB-код разрабатывался, как заменитель, правила его использования аналогичны правилам использования HTML (уникальность имен тегов, парность открывающихся/закрывающихся тегов, правильная вложенность).
Вики-подобный синтаксис
Для простого пользователя BB-код ничем не лучше HTML, так как он требует соблюдения правил оформления (вспомните про парность, вложенность и т.д.). Он также требует знания имен тегов. В вики-форматировании попробовали совместить безопасность BB-кодов и легко запоминаемые условные обозначения для форматирования текста. Например: //текст курсивом//, **жирный текст*, [[http://altervega.ru]]
WYSIWYG (What You See Is What You Get) | RTE (Reach Text Editor)
Аббревиатура, в переводе с английского, означает, «что видишь, то и получишь». Перевод точно отражает принцип оформления текста в WYSIWYG. Данный способ избавляет пользователя от необходимости заучивать теги или условные обозначения. Более того, современный пользователь уже встречался с похожим инструментом форматирования текста в текстовых редакторах. Однако, WYSIWYG работает с HTML, что полностью исключает его использование, как безопасного инструмента форматирования текста сообщений.
Давайте вспомним задачу, которая стояла перед нами, на момент начала поиска решения. Нам был необходим удобный и безопасный способ оформления сообщений. Очевидно, что ни один из рассмотренных выше вариантов не решает 100% эту задачу. Но других решений нет. Чтож, начинаем выбор правильного направления.
BB-код:
- требует знания специфических тегов и правил их расположения. Опытные пользователи не раз замечали, как новички портят свои сообщения просто случайно удалив закрывающий тег.
- в конечном итоге BB-код преобразовывается в HTML, при этом механизм, правильно осуществляющий это преобразование, должен учитывать огромное количество нюансов для создания валидного HTML.
- BB-код синтаксически ограничен в угоду безопасности. Но пользователи хотят больше возможностей оформления, в итоге разработчики начинают расширять синтаксис, что влечет к усложнению обработки тегов и появлению проблем в безопасности.
- BB-код не стандартизирован. В одном продукте может быть один набор, в другом другой. Это не позволяет пользователю выработать навык обращения с этим псевдо-языком. В итоге он (пользователь) всегда будет ощущать дискомфорт.
Вики-подобный синтаксис:
- требует знания сокращений. Более придирчив к шаблону сокращения, например _текст_ и __текст__ уже не одно и тоже. А значит заставляет пользователя все время контролировать правильность.
- в конечном итоге преобразуется в HTML. Проблема схожа с BB-кодом.
- опять же ограничен в угоду безопасности и содержит мнемонику только для основных вариантов оформления. Если нужны другие варианты оформления начинает смешиваться с BB-кодом.
- мало знаком пользователям современных форумов. Фактически ни один, существующий на рынке продукт, не имеет поддержки вики-подобного синтаксиса. Пользователям нужно будет переучиваться с одного варианта оформления на другой.
WYSIWYG
- много браузеров, много вариантов реализаций работы wysiwyg функциональности. Где-то может работать одно, но не работать другое и наоборот.
- HTML на выходе. Однако HTML-валидный и у современных редакторов с отфильтрованными недопустимыми тегами.
Выходит, что BB-код и вики-подобный синтаксис, обладая несовсем очевидным плюсом в безопасности (и то, только до определенного предела), фактически не эффективны и не удобны для обычного пользователя. В тоже время WYSIWYG предоставляет хорошо узнаваемый и изученный паттерн поведения, кроме того предоставляя удобство визуального оформления текста, но есть недостаток в безопасности.
Наш продукт направлен на удобство пользователей, потому мы отказались от использования BB-кода и вики-подобного синтаксиса. Однако мы не забыли и про безопасность. Мы доработали и внедрили необходимые функции для анализа DOM отправляемых текстов, что позволяет отсечь нежелательные теги, атрибуты и умышленные вредоносные конструкции.
В результате мы получаем перспективный, быстрый и удобный редактор, который будет безопасным и удобным инструментом для ваших пользователей.
Вставка видеоНаш визуальный редактор позволяет также с легкостью вставлять в публикации ваших пользователей видео-ролики с популярных сервисов. Для этого нужно просто взять и вставить в сообщение тексты ссылки на видео. Вот такой:http://www.youtube.com/watch?v=MGyygiXMzRk
Наш редактор поддерживает следующие сервисы:
- YouTube
- Видео@Mail.ru
- RuTube
- Google Video
- Smotri.com
- Rambler.Vision
- Вконтакте
- Facebook
Кроме этого, пользователь может быстро прикрепить нужное количество файлов или картинок к сообщению. Об этом в отдельной статье.
0 комментариев
Рекомендуемые комментарии
Комментариев для отображения не найдено.