Шрифт:
Интервал:
Закладка:
Общение
Применить трехэтапный процесс к новостному сайту относительно просто. Просмотр новостей – это довольно пассивное действие. Чтобы действительно проверить этот процесс, нам нужно применить его к чему-то более интерактивному.
Предположим, мы создаем социальную сеть. Люди, использующие наш инструмент, должны иметь возможность общаться друг с другом независимо от того, в какой точке мира они находятся. Основной функцией является отправка и получение сообщений.
Вот лишь некоторые из социальных сетей, которые появились в Интернете.
Отображать сообщения в веб-браузере несложно. На сервере может быть много сложностей, связанных с базами данных, синхронизацией, очередями и балансировкой нагрузки, но HTML, необходимый для структурирования списка в обратном хронологическом порядке, не сильно отличается от HTML, необходимого для новостного сайта.
Для отправки сообщения из браузера на веб-сервер требуется интерактивный HTML. Вот тут-то и приходят на помощь формы. В этом случае формы с текстовым вводом и кнопкой отправки должно быть достаточно, по крайней мере, для базового функционала.
Теперь люди могут получать и отвечать на сообщения в нашей социальной сети, независимо от того, какое устройство или браузер они используют. Теперь задача состоит в том, чтобы улучшить этот опыт, не нарушая при этом фундаментальную деятельность.
Если бы мы оставили сайт в таком состоянии, только на HTML, я не думаю, что мы скоро отпраздновали бы выход нашей компании на IPO. Чтобы действительно выделить наш сервис на фоне конкурентов, нам необходим третий шаг в этом процессе: улучшение!
По крайней мере, мы можем применить ту же логику, которую мы использовали для новостного сайта, и стилизовать наш сервис. Используя CSS, мы можем обеспечить цвет, текстуру, контраст, веб-шрифты, а для больших экранов – макет. Но давайте не будем останавливаться на презентации. Давайте улучшим и взаимодействие.
В настоящее время эта социальная сеть имеет такой же тип взаимодействия на основе страниц, как и новостной сайт. Каждый раз, когда кто-то отправляет сообщение на сервер, сервер отсылает браузеру новую страницу. Мы можем сделать лучше. Пришло время для Ajax.
Мы можем перехватить отправку формы и отправить данные на сервер с помощью Ajax – мне нравится использовать слово Hijax для описания такого перехвата Ajax. Если есть ответ от сервера, мы также можем обновить часть текущей страницы вместо обновления всей страницы. Также было бы неплохо представить подходящую анимацию.
Мы можем пойти дальше. Браузеры, поддерживающие WebSockets, могут получать сообщения с сервера. Люди, использующие эти браузеры, могли получать обновления, как только они были отправлены. Можно даже использовать одноранговые соединения между браузерами, чтобы люди могли общаться напрямую.
Не каждый браузер поддерживает эту расширенную функциональность. Это не страшно. Основная функциональность – отправка и получение сообщений – по-прежнему доступна всем.
Творение
Что, если бы наша социальная сеть была более специализированной? Давайте сделаем сервис для обмена фотографиями. Это немного поднимает планку. Вместо отправки и получения сообщений основной функцией теперь является отправка и получение изображений.
Сайты обмена фотографиями.
Интерфейс должен показывать обратный хронологический список изображений. HTML справится с этой задачей. И снова нам нужна форма для отправки данных на сервер, но на этот раз это должна быть загрузка файла, а не текстовое поле.
С этими изменениями основная функциональность создана. Настало время для усовершенствования.
Помимо всех существующих усовершенствований – CSS, веб-шрифтов, Ajax, WebSockets – мы можем использовать API File, представленный в HTML5. Это позволяет нам манипулировать изображением непосредственно в браузере. Мы можем применять эффекты к изображению перед отправкой его на сервер. Используя фильтры CSS, мы можем предложить целый ряд улучшений изображения – от оттенков сепии до виньеток. Но если браузер не поддерживает API File или фильтры CSS, люди все равно могут загружать свои селфи с лицами уток.
Сотрудничество
Было время, когда использование программного обеспечения означало установку на компьютер отдельных программ. Сегодня можно иметь машину, на которой не установлено ничего, кроме веб-браузера. Написание электронных писем, поиск контактных данных, назначение встреч в календаре, ведение бухгалтерского учета и выполнение других финансовых задач – все это можно делать без установки специальных приложений. Вместо этого, зайдя по URL-адресу, можно вызвать нужный инструмент в нужный момент.
Поставка программного обеспечения через Интернет не просто заменяет способ работы, ориентированный на настольные компьютеры. Наличие подключения к Интернету открывает возможности для всех видов совместной работы. Возьмем, к примеру, приложения, которые когда-то назывались "текстовыми процессорами". Пока эти программы были привязаны к отдельным машинам, попытка совместного редактирования документа была сложной задачей, требующей много координации, пересылки файлов туда и обратно. При использовании Интернета, обмен одним URL-адресом может позволить нескольким людям работать над одним и тем же документом.
Инструменты совместного письма в Интернете.
Давайте применим трехэтапный процесс к текстовому процессору на базе Интернета:
«Определите основную функциональность.»
Тавтологическим ответом будет "обработка слов". Не очень полезно. Что люди на самом деле делают с этим программным обеспечением? Они пишут. Они делятся. Редактируют.
«Определите основную функциональность.»
Если посмотреть на наши три глагола – писать, делиться и редактировать – то один из них мы получаем бесплатно, просто используя URL: делиться. Два других – писать и редактировать – требуют использования формы. Базовый элемент TEXTAREA может служить вместилищем для слов, предложений и абзацев, из которых будет состоять все – от технических отчетов до великого американского романа. Отправка этого содержимого на веб-сервер означает, что его можно сохранить на потом.
Технически это текстовый процессор на основе веб-технологий, доступный любому, у кого есть веб-браузер и подключение к Интернету. Но работа в нем неуклюжа и скучна. Было бы стыдно не воспользоваться некоторыми более удобными возможностями, доступными в современных браузерах.
«Улучшайте!»
Используя JavaScript, скромный TEXTAREA можно заменить более богатым интерфейсом редактирования, распознающим каждое нажатие клавиши и применяющим стилизацию на лету. Веб-шрифты могут сделать процесс написания более красивым. Ajax позволит сохранять работу на сервере практически постоянно, без необходимости отправки формы. Сокеты WebSockets позволяют нескольким людям одновременно работать над одним и тем же документом.
Для работы Ajax и WebSockets требуется подключение к Интернету. Гарантии стабильного интернет-соединения нет, особенно если вы пытаетесь работать в поезде или в гостинице. Современные браузеры предоставляют функции, которые после первоначальной загрузки страницы могут превратить саму сеть в улучшение.
Если браузер поддерживает какую-либо форму