И

Интерфейс

Это совокупность программных инструментов, которые помогают человеку построить диалог с алгоритмом. 

Как мы отдаем команды машинам? Чтобы открыть иконку любимой игры на десктопе мы используем мышку, чтобы переключить канал на ТВ – нужен пульт, а для совершения покупки в интернете мы выбираем нужный товар и ищем на сайте кнопку «Оформить заказ». Все это разновидности интерфейсов – набор средств, которые помогают нам (одной системе) взаимодействовать с машинами (другой системой). 

Зачем они нужны? Чтобы взаимодействие различных систем стало возможным. Какие виды интерфейсов мы можем встретить? Как они должны выглядеть? И почему об этом так важно знать владельцу сайта, разбираемся подробнее.  

Что такое интерфейс

Интерфейс  (англ. interface – взаимодействие, сопряжение) в широком смысле – это место соприкосновения двух функциональных объектов. Если говорить более узко, то интерфейс – это «мост», посредник между человеком, программами и машинами, иными системами. Это инструменты взаимодействия, с помощью которых одна система контактирует и строит диалог с другой.  

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

  • ввод команд, направление запроса
  • получение ответа системы в понятной форме (текст, изображение, звук)
  • обмен информацией между устройствами, программами, системами
  • взаимодействие человека и операционной системы
  • управление программными средствами, аппаратными комплексами
  • получение информации об ошибках (нарушении алгоритма) и вариантах их исправления


      Что важно: интерфейсы обеспечивают взаимодействие не только человека и машин, но и машин, программ, аппаратных средств между собой. Например, взаимодействие компьютеров и их компонентов осуществляется через USB-интерфейс.   

      Типы интерфейсов

      Интерфейсы бывают разными.

      Во-первых, они отличаются по характеру систем, которые взаимодействуют между собой.

      Во-вторых, отличается характер их реализации.

      В-третьих, отличаются возможности интерфейсов.

      Одни дают вам полный доступ к программной части ПК, но чтобы их использовать, нужны специальные знания.

      Другие – удобные в использовании, но функционал, который они открывают, ограничен.      

      Рассмотрим основные типы интерфейсов подробнее.  

      Пользовательский интерфейс 

      UI (англ. user interface) или интерфейс пользователя. Именно этот тип взаимодействия имеют в виду чаще всего, когда вспоминают про интерфейс.

      Он предназначен для организации контакта между человеком и программно-аппаратными средствами, компонентами компьютерной системы. С его помощью пользователи взаимодействуют с операционными системами и программами, находящимися под их управлением.  

      Средствами реализации пользовательского интерфейса чаще всего выступают такие инструменты, как:  

      • клавиатура
      • компьютерная мышь
      • джойстик
      • дисплей
      • стилус

      При этом UI-интерфейс в зависимости от операционной системы может быть реализован в нескольких формах. Самый популярный – графический интерфейс. Но есть и другие. Рассмотрим основные виды UI.  

      Графический интерфейс 

      GUI (англ. graphical user interface) или графический интерфейс пользователя. Это система взаимодействия, предоставляющая пользователям доступ к системным объектам и инструментам управления через визуализацию информации – через графические элементы на мониторе.  

      Чаще всего для экранного отображения команд и результатов их выполнения используются окна. Элементы управления программами отображаются визуально внутри окон – в форме:  

      • значков
      • иконок
      • кнопок
      • меню
      • списков
      • полей ввода и прочих

      Управление этими элементами осуществляется с помощью средств реализации, указанных выше – например, с помощью мыши или сенсорного дисплея. Так как различные программы в рамках одной ОС используют идентичные визуальные элементы управления, процесс освоения новых программ для пользователей максимально упрощен. Они учатся на основе ранее полученного опыта.  

      Пример GUI, с которым мы сталкиваемся ежедневно – web-интерфейс. Это любой интернет-браузер, через который мы читаем новости, делаем покупки, смотрим погоду и заказываем пиццу. С его помощью мы взаимодействуем с другими сайтами – программами в интернете. Каждый сайт тоже имеет свой интерфейс, через который система взаимодействует с вами. И это тоже графический web-интерфейс. 

      Текстовый интерфейс   

      TUI (англ. Text user interface) или текстовый интерфейс пользователя. Это система взаимодействия человека и машины посредством команд и откликов с помощью набора буквенно-цифровых символов – текста.  

      Лучший пример TUI – командная строка. Это прямой способ диалога с ОС. Он характеризуется низкой требовательностью к ресурсам и высокой скоростью отклика. Имеет немало преимуществ перед GUI в части удобства использования, поэтому алгоритмы с текстовым интерфейсом пишутся и сегодня. Прежде всего, для профессиональных программ и оборудования с низкой производительностью. 

      Недостаток TUI – ограниченность изобразительных средств. Его могут использовать лишь подготовленные пользователи, имеющие специальные знания. Чтобы команды работали, они должны быть введены точно и без ошибок. Для повышения юзабилити многие профессиональные программы используют интерактивные элементы, за счет которых создают более дружественную среду для работы.  

      Жестовый интерфейс 

      Это технология взаимодействия, использующая в качестве средств ввода устройства, которые понимают команды при помощи жестов. Главный мотив реализации такого интерфейса – уход от традиционных компьютерных меню приложений с целью повышения юзабилити и эргономичности управления.  

      Реализацию таких интерфейсов можно встретить в смартфонах и планшетных ПК с сенсорным экраном, в ноутбуках с тачпадами и прочих устройствах. В них реализована технология считывания координат с нескольких точек – так называемый мультитач (multitouch). Второй пример – жесты мышью/джойстиком, которые алгоритм преобразует в команды. Третий – охранные системы, которые реагируют на движение.

      Жесты могут считываться в пространстве или на поверхности устройства, с помощью рук или головы, могут совершаться пультом или перчаткой – все это жестовый интерфейс. Он бывает контактным (тактильным) и бесконтактным. Он сложен в реализации, но легок в использовании и интуитивно понятен пользователям.  

      Голосовой интерфейс 

      Это средство бесконтактного взаимодействия человека с машиной, где инструментом для ввода выступает микрофон и программа распознавания голосовых сообщений. Раньше это было чем-то из разряда научной фантастики. Сегодня голосовой интерфейс можно встретить в поисковиках, приложениях на смартфонах, мобильных виртуальных помощниках. «Окей, Гугл», «Alexa» от Амазон – все из этой оперы.  

      Но это хорошие примеры. На самом деле, реализация голосового интерфейса связана с определенными сложностями. Люди не привыкли терпеть «машину, которая не понимает». Поэтому любое устройство или программа с голосовым интерфейсом должна работать безупречно. При реализации этой технологии должны учитываться когнитивная модель целевой аудитории, решаемые задачи, процессы, которые нужно автоматизировать.  


      Интерфейс программ 

      API (англ. application programming interface) или программный интерфейс приложений. Это инструменты взаимодействия компьютерных программ между собой. Функции и структуры программных объектов прописаны специальными алгоритмами.

      Часто выполнены как отдельная библиотека данных ОС, используются в интернет-протоколах, в описании структур приложений. API описывает абстракцию функциональности программных объектов и по модели реализации является аналогом протокола.   

      API это некий программный компонент, который помогает разработчикам вставлять вызовы исполняемых кодов одних программ в коды других объектов. Такая технология позволяет взаимодействовать программам, созданным разными разработчиками. Общий стандарт API помогает алгоритмам, написанным на разных языках программирования, обмениваться сообщениями, командами, иными сигналами. Это может происходить как в пределах одного ПК, так и в рамках компьютерной сети.  

      Интерфейс программ с машинами  

      Взаимодействие между программами и компьютерами, оборудованием и другими машинами реализовано с помощью операционных систем. Они контролируют  работу исполняемых кодов программ и драйверов, передавая команды центральному процессору машин.

      Например, смартфон. На него установлено множество приложений – мессенджеры, игры, почта, погода и масса других. Все они взаимодействуют с телефоном через операционную систему – Android или iOS. Не было бы операционной системы – приложение не получилось бы установить на гаджет.  

      Аппаратный интерфейс 

      Взаимодействие машин, компьютеров, оборудования и их компонентов обеспечивает интерфейс аппаратных средств. Он реализован с помощью кабелей, проводов, разъемов, шин и прочих контактных технических портов. Например, основные компьютерные устройства и их компоненты подключаются к ПК через USB.. Это принтеры, устройства ввода, флэшки. Не менее широкое применение находят инструменты бесконтактной коммуникации, такие как Wi-Fi или Bluetooth. Часто их совмещают с контактными. Например, беспроводные компьютерные мыши, принимающий модуль которых подключается через USB. 

      Каким должен быть интерфейс  

      Ключевая цель любого интерфейса – обеспечение диалога, продуктивного контакта взаимодействующих функциональных систем.

      Если мы говорим про UI-интерфейс, с разновидностями которого большинству из нас приходится сталкиваться ежедневно, его главная задача – облегчение для пользователя процесса управления программой или устройством.  

      Рассмотрим на примере графического web-интерфейса отдельного взятого сайта, с которым взаимодействует пользователь. Он должен:  

      1. Содержать оптимальное число визуальных элементов управления для решения задачи пользователя. Их должно быть ровно столько, сколько нужно посетителю. 
      2. Быть адаптивным к десктопным и мобильным устройствам различных производителей и моделей. 
      3. Быть интуитивно понятным. У пользователя не должно возникать проблем с управлением, поиском тех или иных категорий меню, разделов. Он должен пользоваться сайтом на основе ранее полученного опыта контакта с другими ресурсам. Элементы управления должны быть «доходчивыми» – если пользователи не смогут догадаться, как пользоваться вашим сайтом, они будут сбиты с толку и разочарованы.
      4. Быть лаконичным. Иначе пользователь попадет в ловушку информационной перегруженности. Описания и объяснения для каждой кнопки и элемента сайта – это хорошо, но от них «пухнет» ваш интерфейс. Пользователь не должен тратить все свое время на прочтение инструкций.
      5. Быть последовательным. Это про содержимое сайта. В нем должен прослеживаться определенный уровень последовательности, который проходит через весь интерфейс. С ее помощью пользователь сможет сформировать шаблоны работы с ресурсом. При первом контакте они познакомятся с кнопками, закладками, иконками и другими графическими элементами и при следующей работе будут использовать ранее полученный опыт.
      6. Быть эффективным. UI – это транспорт, который должен доставить пользователя в нужную точку. Хороший интерфейс должен помогать выполнить функции быстрее с минимальным усилием. Чтобы интерфейс был действительно эффективным, при его разработке важно понимать, что нужно пользователю. 
      7. Быть снисходительным. Ни ваш сайт, ни пользователи не совершенны. Поэтому интерфейс должен быть снисходительным к ошибкам. Клиент потерял или удалил нужную информацию? Не заставляйте его паниковать, предложите возможность отмены операции. Если чего-то нет у вас на сайте? Предлагайте альтернативные источники. 

      Заключение

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

      Для рядового пользователя – интерфейс, это лишь место соприкосновения с программой и машиной. Тот инструмент, с помощью которого строится диалог с алгоритмом. Пользователь не хочет задумываться, он хочет, чтобы было просто и понятно. Задача любого интерфейса – помочь в этом.