К написанию этой статьи меня подвигли несколько поводов, но последней каплей был перевод официального материала корпорации Intel «Delivering Cloud-based Services in a Bring-Your-Own Environment» («Предоставление облачных сервисов принесённым с собой устройствам»). В статье многократно упоминалось, что интерфейс приложения должен быть адекватен устройству, на котором это приложение выполняется, и при этом инвариантен по отношению к операционной системе устройства. Парадокс здесь в том, что мысль эта столь же очевидна, сколь и революционна.
Позволю себе обратиться к истории. Первым экранным интерфейсом «больших машин» была командная строка, которую с нынешних позиций и интерфейсом-то назвать сложно. Потом стали появляться диалоги вроде таких: «Введите дату:» или «Да – 1, нет – 2:». Первым динамичным интерфейсом, наверное, был интерфейс знаменитого Тетриса: здесь можно было на лету повернуть или сместить фигуру. При этом сама игра выполнялась в текстовом режиме, фигуры были составлены из символов, и называлось это псевдографикой.
Текстовый режим долгое время был наиболее ходовым и на персональных компьютерах (десктопах), поскольку графика отнимала значительную часть вычислительных ресурсов и ей без крайней нужды старались не пользоваться. Мало того, знаменитый оптимизатор DOS`а QEMM передавал специально выделенную видеопамять под общие нужды системы. Компьютер при этом лишался графических возможностей, зато в текстовом режиме работал ощутимо быстрее.
Однако даже при текстовом режиме интерфейс успешно развивался, появились поля ввода с навигацией по ним, отработка ошибок ввода (фокус не уходил с поля, пока там не будет приемлемого значения, а всплывающая подсказка разъясняла причину) и вызов из полей ввода вспомогательных функций (календарь, калькулятор). Уже в 1991 году руководимый мной коллектив в системе «Октава» реализовал инкрементальный поиск типа того, что сейчас используется во всех браузерах (и который появился в MS Word, но до сих пор отсутствует в MS Excel): находясь в таблице, пользователь при последовательном вводе символов сразу попадал на запись базы данных, удовлетворяющей этой последовательности. Но что здесь важно: каждый раз это был интерфейс приложения, и каждый разработчик приложения придумывал собственный интерфейс. Поскольку DOS не имела собственного интерфейса (DOS Shell не в счёт), то и равняться было не на кого. Конечно, наиболее удачные интерфейсные решения заимствовались, однако между заимствованием и унификацией (стандартизацией) существуют принципиальные различия.
Ситуация изменилась с выходом ОС Windows: у операционной системы появился собственный интерфейс, который разработчикам приложений волей-неволей приходилось копировать или внедрять в свои продукты. Совершенствованию этого интерфейса способствовали всё возрастающие вычислительные возможности компьютеров: если у первых ПК жалко было тратить ресурсы на графику как таковую, то к нынешнему времени уже совсем не затратно менять форму курсора при прохождении его над различными типами объектов, выделять (к примеру, подчёркивать) эти объекты при прохождении над ними курсора, на лету выводить поясняющий текст (хинты). Параллельно (чаще даже с опережением) развивались интерфейсы компании Apple. С появлением интернета и кроссплатформенного языка HTML стандартизация достигла глобального масштаба, теперь даже самые крупные софтверные компании были вынуждены подчиняться общим правилам. Конечно, они также принимали активное участие в выработке этих правил, но в чём-то наверняка приходилось «поступаться принципами».
Рис. 1. Док-станция превращает планшет в ноутбук.
Рис. 2. Подключение периферии эргономически превращает ноутбук в десктоп.
Рис. 3. Ноутбук со встроенным проектором позволяет выводить изображение на потолок.
Рис. 4. Превратить ноутбук в планшет можно ещё и так
Рис. 5 или так
Что важно на этом этапе: все интерфейсы разрабатывались для компьютеров, размеры экранов и разрешение которых находились в некоем «компьютерном» диапазоне от 12 до 27 дюймов и разрешении от 1366*768 до 1920*1080 (Full HD). И что ещё важнее: все эти компьютеры имели схожие устройства ввода (органы управления) – клавиатуру и мышь. Были, конечно, и «отклонения от генеральной линии». Так, долгое время шла борьба между трёхкнопочной мышью Genius, двухкнопочной Microsoft и однокнопочной Apple. Однако все эти разногласия не носили принципиального характера, даже тачпад (touchpad ) и тачпойнт (touchpoint) воспринимались как заменители мыши при работе в ограниченном пространстве и точно так же, как и мышь, водили курсор по экрану. Поэтому оба направления интерфейса (как отображение, так и управление) на этом этапе могли считаться универсальными, подходили для всех клиентских устройств, и можно было порадоваться за ИТ-вендоров, сумевших так удачно обо всём договориться.
Были и наладонные компьютеры с активным экраном и стилусом, но они существовали в каких-то своих параллельных мирах, не пересекающихся с миром «настоящих» компьютеров. К тому же количество наладонников было невелико, да и владели ими люди специфические, готовые мириться с трудностями.
И вот взрыв форм-факторов! Грань между смартфонами и планшетами стёрта, про некоторые модели уже нельзя с уверенностью сказать – это такой большой смартфон или такой маленький планшет. Если раньше единственной трансформацией в компьютерном мире была установка ноутбука в док-станцию, то теперь и планшеты превращаются в ноутбуки, и смартфоны в планшеты, и смартфоно-планшеты в ноутбуки, и «то ли ещё будет». При этом если с разрешением экрана как-то всё более-менее понятно – всеобщее стремление к Full HD невзирая на размер – то с управлением полный разнобой. По эргономическим признакам здесь можно выделить следующие категории:
- Однопальцевый. Экран настолько мал, что до любой его точки можно дотянуться большим (первым) пальцем, держа устройство в той же руке.
- Одноручный. Экран 5-7 дюймов – устройство держат в одной руке, а другой управляют.
- Двуручный. Экран 8 дюймов и более. Можно работать всеми десятью пальцами – что-то вроде десятипальцевого метода печати или игры на фортепьяно. Реальных применений пока не видел, но демонстрационные приложения уже есть.
- Тачпадный. Это уже ноутбук на коленях, когда места для мышки нет.
- Мышиный. Полноценный десктоп.
- Пультовый. Управление телевизионным интерфейсом с расстояния около трёх метров.
Выступая в конце февраля в Москве, технический директор Intel в регионе Европы, Ближнего Востока и Африки Саймон Холланд рассказал об эволюции мобильных устройств. Кроме «обычных» низковольтных процессоров линейки U появятся ещё более энергоэффективные процессоры линейки Y с потребляемой мощностью 7 Вт, что позволит вендорам создавать ещё более тонкие и эргономичные устройства.
Осталась категория высокопроизводительных процессоров H, которые используются, например, в рабочих станциях Fujitsu Celsius. Есть и мейнстрим, однако мне представляется, что с появлением Haswell главным мобильным мейнстримом (простите за тавтологию) будут процессоры категории U, а классические процессоры M будут востребованы теми, у кого не хватило денег на H.
При этом в качестве важного тренда в развитии ультрабуков указан активный экран, а трансформеры делятся на две основных группы: с переворотным (convertible) и отделяемым (detachable) монитором – то есть планшетом с док-станцией.
Следует отметить, что в версии WiDi 3.5, которую Intel в 2013 году намеревается сделать промышленным стандартом, поддерживается сенсорный экран, поэтому, возможно, вскоре мы сможем взаимодействовать с любым устройством на платформе Intel, используя стационарную эргономику и обходясь при этом без проводов. Чуть раньше я хотел было написать, что количество компоновок устройство конечно и уже исчерпано, однако при анализе новой версии WiDi мне пришла в голову компоновка, которой я ещё ни у кого не видел. Это может быть отделяемый сенсорный монитор, имеющий на борту только аккумулятор и модуль WiDi. Конечно, с таким монитором далеко от док-станции не уйдёшь, но зато его масса и толщина будет сравнима скорее с электронной книгой, чем с обычным планшетом, а это явно добавит комфорта. Возможно, Intel уже разрабатывает такую компоновку – уж очень логично она выглядит.
Напомню, что на заседании Клуба экспертов Intel, состоявшемся 18 декабря 2012 года, говорилось о наделении следующих поколений устройств двумя «глазами» и двумя «ушами», что позволит приблизить их восприятие мира к нашему, более качественно распознавать жесты и голосовые команды. Это напрямую связано с очередным повышением производительности процессоров: 4-му поколению Intel Core под кодовым названием Haswell под силу обработка более сложных воздействий. Распознавание голосовых команд мы наблюдали и на смартфонах, однако там использована хитрая технология записи голоса и отправки его на сервер для распознавания, то есть работать это может только при хорошей связи. К тому же сдвоенный микрофон должен уметь различать фронтальный и боковой звук, это поможет фильтровать посторонние шумы.
Некоторое время назад представлен продукт Intel® Perceptual Computing SDK, который позволит пользователю взаимодействовать со своим мобильным устройством посредством голоса, рук, лица, т.е. более естественных для человека способов взаимодействия. Само название продукта говорит о том, что в основу его положены пользовательские ощущения, желание идти от них, а не от технических характеристик. Хотя это в значительной мере маркетинговая уловка: любые ощущения поддаются измерению и, в конечном счете, выражаются числами в технических характеристиках.
Подробнее об этом перспективном продукте обещают рассказать на мероприятии «ITForum 2020/Взгляд в будущее», которое пройдёт в Нижнем Новгороде с 16 по 18 апреля 2013 года, так что у кого есть возможность – постарайтесь посетить форум.
Мой личный опыт тестирования различных устройств показал, что формальный перенос экранного интерфейса с одного устройства на другое без учёта способа управления приводит к негативным последствиям. Недавно мне пришлось поработать с устройством, где в качестве ОС выступал смартфонный Android, а в качестве органа управление – гиропульт. Через некоторое время стало понятно, что палец, опирающийся на активный экран, совершает более точные «доводочные» движения, чем рука с гиропультом, висящая в воздухе. К тому же палец можно даже прокатить по экрану без скольжения – точность повыситься ещё больше. Однако пальцевый интерфейс обладает серьёзным недостатком – здесь нет кнопок. То есть, если мы подводим курсор мышкой или гиропультом, то можно сколь угодно медленно вести курсор, даже «зависнуть» над объектом, но пока не будет нажата кнопка, ничего не произойдёт. При пальцевом интерфейсе удержание «курсора» на одном месте приводит к реакции системы, аналогичной нажатию правой кнопки мыши.
Intel проводит большую работу по оптимизации вывода интерфейсов приложений на экраны устройств различных форм-факторов, однако в официальных материалах речь идёт только о размерах экрана (при этом не совсем ясно – учитывается только размер, только разрешение, или комбинация этих параметров). Но интерфейс – штука двунаправленная, кроме вывода подразумевающая и ввод, управление работой приложения, поэтому оптимизация ввода является не менее важной задачей. Другой вопрос, что она может оказаться значительно более сложной: если интерфейс приложения не поддерживает многопальцевый ввод (растягивание двумя пальцами или что-то ещё более сложное) – то наделение его такими чертами может оказаться попросту невозможным.
Поэтому с большой долей уверенности можно предположить, что вслед за оптимизацией отображения будет реализована и оптимизация управления приложениями на устройствах различных форм-факторов и аппаратных платформ вне зависимости от используемой операционной системы. По крайней мере, такая задача объективно существует.
P.S. А теперь представим себе, что задача оптимизации управления в соответствии с эргономикой устройства полностью решена: каждому форм-фактору (а под этим понимается не только размер экрана, но и органы управления) устройства соответствует свой интерфейс. Что дальше? Возможно, это будет учёт трансформируемости устройства, когда оно будет ощущать себя смартфоном, планшетом, ноутбуком или, установленное в стационарную док-станцию, десктопом.