Знания + опыт + продукт != продукт + опыт

Комментарий с Хабра, сохраню себе на будущее.

+1

 iXCray

Идея замечательная и полезная. Как для чатов, так и для [f,hf.Но вот с реализацией подкачали, т.к. совершенно не соответствует одному из главных постулатов дизайна пользовательских интерфейсов: пользователь всегда должен знать о статусе, а также что произойдет при нажатии кнопки.

1. Статус: я не увидел ни одного примечания, что на бэк-енде скрывается пухпосвитчер, и он работает.

2. Соответствие опыту пользователя: я ожидаю, что мое сообщение отправится 1-в-1, как я его написал, а ссылки подсветятся в соответствии с нормами современности. Хрен там было, мою раскладку меняют, меня не спросив

3. Настройка: любая фича, которая не является «узконаправленной дизайнерской фичей», но при этом разнится с привычками пользователя, должна быть вынесена в настройки для возможности отключения.

4. Отсутствие возможности отмены действия

Вердикт:
1. Предупредить
2. Дать возможность отключить
3. Вынести реализацию на уровень пользовательского интерфейса, чтобы можно было вертеть строку туда-сюда перед отправкой.
4. Добавить индикатор «строка перевернулась», чтобы можно было как похвалить умное поле ввода, так и отменить его действие.

Очень (!) рекомендую выработать правильную стратегию разработки: сначала , и , а потом уже написание кода (как весь проект, так и по модулю, конечно). Даже в масштабах чата Вы рискуете получить не то, что хотели :)Разбейте его на составляющие (логически атомарные), распределите по выбранной модели проектирования (например, или HMVC), опишите функциональные требования, подберите под них технологии.

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