Разработка интерфейса пользователя программного обеспечения
Содержание:
- PowerToys Run
- Обновления WSL 2: GUI-приложения, поддержка GPU
- Устранение неполадок при открытии файлов GUI
- Акции
- Пример работы на микроконтроллере
- Взаимодействие
- Основы пользовательского интерфейса
- Difference Between Character User Interface and Graphical User Interface
- Основные десктопные accessibility технологии
- Интерфейсы в вычислительной технике
- 2.1 Командный интерфейс
- Виды стабилизаторов для холодильника
- Основные функции GUI
- Узнайте больше о наборе текста на Android
- Как создать видео с веб-камеры в онлайн режиме
- PARC
- «Великие инвесторы. Практические уроки от Джорджа Сороса, Уоррена Баффета, Джона Темплтона, Бенджамин Грэхема, Энтони Болтона, Чарльза Мангера, Питера Линча, Филипа Фишера, Джона Неффа», Глен Арнольд
- Пользовательский интерфейс и дизайн взаимодействия
- Составляющие
PowerToys Run
Первое, что показали — вроде бы мелочь, но вероятно, некоторые будут пользоваться ей активнее всего остального представленного. В наборе утилит PowerToys появился новый инструмент PowerToys Run, что-то вроде «Win+R на максималках». По нажатию Alt+Space на экране появляется крупная поисковая строка, позволяющая открывать приложения, файлы и папки.
Выглядит это похоже на Spotlight из macOS:
Но в PowerToys Run, если начать ввод с символа >, можно ввести консольную команду и сразу её выполнить. На Mac так умеет стороннее приложение Alfred, но не стандартный Spotlight.
Утилита входит в новый релиз PowerToys v0.18.0, его можно брать на GitHub.
Обновления WSL 2: GUI-приложения, поддержка GPU
Тут пока всё в стадии превью и материализуется только к концу года, но анонсировано уже сейчас. Громкая новость: через WSL 2 станет можно запускать не только консольные приложения, но и линуксовые GUI-программы.
Продемонстрировал это Хансельман запуском GIMP — впечатляет, конечно, но надо будет ещё посмотреть, как это всё получится на практике. Когда пытаются состыковать два масштабных мира (вне зависимости от того, каких именно), стык вечно где-то оказывается неровным. Тут можно вспомнить Wine, например. Хмм, подождите, а можно будет сам Wine запустить через WSL 2, чтобы открыть портал в ад?
Почитали комментарии по этому поводу, больше всех запомнился такой:
Помимо этого, в WSL придёт поддержка GUI/CUDA, что «было самым популярным фичреквестом ещё с нашей первой версии». Для тех, кому тут хочется забраться поглубже, в Microsoft написали отдельный подробный пост. Под ним комментарии в основном благодарные и восторженные.
Ну и по мелочи: люди жаловались, что устанавливать WSL неудобно, и это станет можно делать одной консольной командой wsl.exe —install. Хмм, но вы же только что советовали нам устанавливать всё командой winget install?
Устранение неполадок при открытии файлов GUI
Общие проблемы с открытием файлов GUI
Dr.Explain не установлен
Дважды щелкнув по файлу GUI вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Dr.Explain для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.
Совет: Если вам извстна другая программа, которая может открыть файл GUI, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.
Установлена неправильная версия Dr.Explain
В некоторых случаях у вас может быть более новая (или более старая) версия файла Dr.Explain Project File, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Dr.Explain (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.
Совет: Иногда вы можете получить общее представление о версии файла GUI, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).
Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов GUI, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.
Даже если на вашем компьютере уже установлено Dr.Explain или другое программное обеспечение, связанное с GUI, вы все равно можете столкнуться с проблемами во время открытия файлов Dr.Explain Project File. Если проблемы открытия файлов GUI до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):
Акции
Пример работы на микроконтроллере
Так же был написан пример библиотеки для STM32 микроконтроллеров. Был использован МК STM32f437VGT6 с тактовой частотой 180МГц и 2.2″ дисплей 230х320 пикселей на контроллере ILI9341. Управления с компьютерной клавиатуры по UART.
Код примера: https://github.com/SL-RU/MakiseILI9341Test
Видео примера:
Есть много моментов которые нужно совершенствовать в библиотеки и есть много путей развития. Но на данный момент библиотека является совершенно рабочей и стабильной.
Лицензия проекта — MIT. Вы можете использовать библиотеку и исходный код как хотите и где хотите, даже использовать без проблем в коммерческих проектах, но в то же время я не даю никаких гарантий по работе библиотеки — всё как есть.
Если вы что-то хотите поменять в коде, исправить найденный баг или ошибку, то пишите в issue в репозитории или даже кидайте пуллреквесты.
Буду рад вопросам и пожеланиям!
Взаимодействие
Устройства с человеческим интерфейсом для эффективного взаимодействия с графическим интерфейсом включают клавиатуру компьютера , особенно используемую вместе с сочетаниями клавиш , указывающие устройства для управления курсором (или, скорее, указателем ): мышь , указательный джойстик , тачпад , трекбол , джойстик , виртуальные клавиатуры и проекционные дисплеи (полупрозрачные информационные устройства на уровне глаз).
Есть также действия, выполняемые программами, влияющими на графический интерфейс. Например, есть такие компоненты, как inotify или D-Bus, для облегчения связи между компьютерными программами.
Основы пользовательского интерфейса
Задачи пользователя компьютерной программы заключаются в манипуляции с объектом и его свойствами – данными. В отличие от операторов, пользователи выполняют профессиональную задачу с иной психологической структурой действий, другими целями, объектом труда и операциями, ресурсами, иной социальной средой взаимодействия. Разнообразие ситуаций, в которых могут работать интерактивные программные системы, затрудняет для разработчика выбор целей, которым необходимо следовать для создания удачного интерфейса. Различные исследователи и организации-разработчики программного обеспечения приводят разные рекомендации, но основные из них следующие:
Простота Эта рекомендация восходит к правилу бритвы Оккама: лучшее объяснение – самое простое. Действительно, простой интерфейс позволяет пользователю быстрее адаптироваться, уменьшает вероятность его ошибок, да и разработчику проще отладить такой интерфейс. Интерактивная система хороша, если интерфейс интуитивно понятен, то есть соответствует предметной области и стилю мышления пользователя. Интерфейс должен быть легким для освоения и не создавать перед пользователем преграду, которую он должен будет преодолеть, чтобы приступить к работе.
Дружественность( юзабилити) Интерфейс дружественный, если пользователь, работая с ним, не испытывает дискомфорта. У пользователя должно складываться впечатление, что он управляет процессом. Кроме того, графический интерфейс должен быть построен в соответствии с эргономическими требованиями: цвета экрана и элементов, их размер, композиция. Важен темп выполнения операций, который должен соответствовать естественному темпу человека, среднее время отклика и его дисперсия. Сообщения должны быть корректными по форме, точными и информативными, совершенно недопустимы безграмотные тексты. Пользователь должен всегда знать, на какой стадии процесса он находится.
Естественность интерфейса Естественный интерфейс — такой, который не вынуждает пользователя суще¬ственно изменять привычные для него способы решения задачи. Это, в частности, означает, что сообщения и результаты, выдаваемые приложением, не должны требовать дополнительных пояснений.
Функциональность Хотя вычислительная система и бывает в некоторых организациях в роли большой игрушки, но чаще её пытаются использовать для дела, особенно в том случае, когда выполнение работы иными средствами менее эффективно. Функциональность системы обозначает наличие значительной эффективности в выполнении операций, что делает её использование рентабельным. Интерфейс должен отражать ее функциональность и давать возможность успешной работы пользователям различной квалификации.
Умеренная цена Речь идет о производственных системах. Понятно, что система, имеющая слишком дорогостоящий интерфейс, но недостаточную функциональность, будет, возможно, куплена, но пользователь останется ею недоволен: срок окупаемости системы во многом зависит от функциональности. С другой стороны, экономия на интерфейсе – очень недальновидная политика. Некачественный интерфейс создаёт у пользователей плохое мнение о системе и может вообще привести к отказу от её использования.
Стадии проектирования
Стадии проектирования, как и вообще весь процесс создания интерфейса, очень похожи на стадии в процессе разработки информационной системы в целом.
1. Анализ деятельности пользователей. Это предпроектная стадия, на которой определяются задачи, процедуры, уточняется характер производства, контингент пользователей и т.п.
2. Формализация результатов анализа в виде схем и диаграмм бизнес-процессов и сценариев выполнения каждой задачи.
3. Проектирование интерфейса для обеспечения каждого сценария и процесса. Синтез решения в виде прототипа интерфейса.
4. Тестирование с пользователями прототипа или готового интерфейса.
Синтез решения (рисование экранных форм) часто занимает гораздо меньшее время, нежели этап анализа. Прототип интерфейса – это результат синтеза полученных знаний о требованиях, ограничениях, среде, задачах и пользователях.
Можно встретить и другой, но похожий, подход, где процесс проектирования разбивается на 6 этапов. На каждом из них используются свои методы, а результаты их становятся отправной точкой для других методов. Этапы следующие:
- планирование и оценка;
- составление требований к проекту;
- дизайн и проектирование;
- реализация и программирование;
- тестирование и оценка;
- выпуск.
Difference Between Character User Interface and Graphical User Interface
Character user interface, also known as command-line user interface or non graphical user interface, refers to the use of text commands, managed by a command-line interpreter, in order to communicate with a computer program. Typically software developers and system administrators rely on command-line interfaces to configure machines, manage computer files, and access program features that are otherwise unavailable on a graphical user interface.
Character user interfaces support automation and scripting and tend to provide greater granular control and a higher level of functionality than graphical user interfaces. While the character user interface was the primary method of operating computers through the 1980s, most modern electronic devices are equipped with intuitive graphical user interfaces and the average user will rarely if ever have cause to access a computer terminal.
Основные десктопные accessibility технологии
Старый добрый Win32 API
Большинство Windows приложений, написанных до выхода WPF и затем Windows Store, построены так или иначе на Win32 API. А именно, MFC, WTL, C++ Builder, Delphi, VB6 — все эти инструменты используют Win32 API. Даже Windows Forms — в значительной степени Win32 API совместимые.
Инструменты: AutoIt (похож на VB) и Python обертка pyautoit, AutoHotkey (собственный язык, есть IDispatch COM интерфейс), pywinauto (Python), RAutomation (Ruby), win32-autogui (Ruby).
Microsoft UI Automation
Главный плюс: технология MS UI Automation поддерживает подавляющее большинство GUI приложений на Windows за редкими исключениями. Проблема: она не сильно легче в изучении, чем Win32 API. Иначе никто бы не делал оберток над ней.
Фактически это набор custom COM интерфейсов (в основном, UIAutomationCore.dll), а также имеет .NET оболочку в виде . Она, кстати, имеет привнесенный баг, из-за которого некоторые UI элементы могут быть пропущены. Поэтому лучше использовать UIAutomationCore.dll напрямую (если слышали про UiaComWrapper на C#, то это оно).
Разновидности COM интерфейсов:
(1) Базовый IUknown — «the root of all evil». Самый низкоуровневый, ни разу не user-friendly.
(2) IDispatch и производные (например, ), которые можно использовать в Python с помощью пакета win32com.client (входит в pyWin32). Самый удобный и красивый вариант.
(3) Custom интерфейсы, с которыми умеет работать сторонний Python пакет comtypes.
Инструменты: TestStack.White на C#, pywinauto 0.6.0+, Winium.Desktop на C#, Python-UIAutomation-for-Windows (у них исходный код сишных оберток над UIAutomationCore.dll не раскрыт), RAutomation на Ruby.
AT-SPI
Несмотря на то, что почти все оси семейства Linux построены на X Window System (в Fedora 25 «иксы» поменяли на Wayland), «иксы» позволяют оперировать только окнами верхнего уровня и мышью/клавиатурой. Для детального разбора по кнопкам, лист боксам и так далее — существует технология AT-SPI. У самых популярных оконных менеджеров есть так называемый AT-SPI registry демон, который и обеспечивает для приложений автоматизируемый GUI (как минимум поддерживаются Qt и GTK).
Инструменты: pyatspi2.
pyatspi2, на мой взгляд, содержит слишком много зависимостей типа того же PyGObject. Сама технология доступна в виде обычной динамической библиотеки . К ней имеется Reference Manual. Для библиотеки pywinauto планируем реализовать поддержку AT-SPI имеено так: через загрузку libatspi.so и модуль ctypes. Есть небольшая проблема только в использовании нужной версии, ведь для GTK+ и Qt приложений они немного разные. Вероятный выпуск pywinauto 0.7.0 с полноценной поддержкой Linux можно ожидать в первой половине 2018-го.
Apple Accessibility API
На MacOS есть собственный язык автоматизации AppleScript. Для реализации чего-то подобного на Python, разумеется, нужно использовать функции из ObjectiveC. Начиная, кажется, еще с MacOS 10.6 в предустановленный питон включается пакет pyobjc. Это также облегчит список зависимостей для будущей поддержки в pywinauto.
Инструменты: Кроме языка Apple Script, стоит обратить внимание на ATOMac, он же pyatom. Он совместим по интерфейсу с LDTP, но также является самостоятельной библиотекой
На нем есть пример автоматизации iTunes на macOs, написанный моим студентом. Есть известная проблема: не работают гибкие тайминги (методы ). Но, в целом, неплохая вещь.
Интерфейсы в вычислительной технике
Термин «интерфейс» применяется в информатике, поскольку имеется в виду совокупность унифицированных технических и программных средств и правил (описаний, соглашений, протоколов), обеспечивающих одновременное взаимодействие устройств и/или программ в вычислительной системе или обеспечение соответствия систем.
В вычислительной системе взаимодействие может осуществляться на пользовательском, программном и аппаратном уровнях.
Способ взаимодействия физических устройств
См. также: Протокол передачи данных и Список пропускных способностей интерфейсов передачи данных
Физический (аппаратный интерфейс) — способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах (разъёмах).
- Сетевой интерфейс
- Сетевой шлюз — устройство, соединяющее локальную сеть с более крупной, например, Интернетом
- Шина (компьютер)
Стандартный интерфейс — совокупность унифицированных технических, программных и конструктивных средств, основанных на стандарте, реализующих взаимодействие различных функциональных элементов в информационной системе, обеспечивающих информационную, электрическую и конструктивную совместимость этих элементов. Стык (используется редко) — место соединения устройств сети передачи данных. Связь между понятиями протокол и интерфейс не всегда однозначна: интерфейс может содержать элементы протокола, а протокол, в свою очередь, может охватывать несколько интерфейсов (стыков). Основная идея использования стандартных интерфейсов и протоколов — унификация меж- и внутрисистемных и меж- и внутрисетевых связей для повышения эффективности проектирования вычислительных систем.
Способ взаимодействия программных компонентов
Основная статья: Программный интерфейс
- Интерфейс программирования приложений (API) — набор стандартных библиотечных методов, которые программист может использовать для доступа к функциональности другой программы.
- Удалённый вызов процедур
- COM-интерфейс
- Интерфейс объектно-ориентированного программирования — описание методов взаимодействия объектов приложения на уровне исходного кода
Способ взаимодействия человека и техники
Основные статьи: Человеко-машинный интерфейс и Человеко-компьютерное взаимодействие
Интерфейс пользователя: совокупность средств, при помощи которых пользователь взаимодействует с различными программами и устройствами:
- Интерфейс командной строки: инструкции компьютеру даются путём ввода с клавиатуры текстовых строк (команд).
- Графический интерфейс пользователя: программные функции представляются графическими элементами экрана, WIMP
- SILK-интерфейс (от speech — речь, image — образ, language — язык, knowledge — знание): взаимодействие с компьютером посредством речи.
- Жестовый интерфейс: сенсорный экран, руль, джойстик и т. д.
- Нейрокомпьютерный интерфейс: отвечает за обмен между нейронами и электронным устройством при помощи специальных имплантированных электродов.
2.1 Командный интерфейс
Пакетная технология. Исторически этот
вид технологии появился первым. Она
существовала уже на релейных машинах
Зюса и Цюзе (Германия, 1937 год). Идея ее
проста: на вход компьютера подается
последовательность символов, в которых
по определенным правилам указывается
последовательность запущенных на
выполнение программ. После выполнения
очередной программы запускается
следующая и т.д. Машина по определенным
правилам находит для себя команды и
данные. В качестве этой последовательности
может выступать, например, перфолента,
стопка перфокарт, последовательность
нажатия клавиш электрической пишущей
машинки (типа CONSUL). Машина также выдает
свои сообщения на перфоратор,
алфавитно-цифровое печатающее устройство
(АЦПУ), ленту пишущей машинки. Такая
машина представляет собой «черный
ящик» (точнее «белый шкаф»), в
который постоянно подается информация
и которая также постоянно «информирует»
мир о своем состоянии (см. рисунок 1)
Человек здесь имеет малое влияние на
работу машины — он может лишь приостановить
работу машины, сменить программу и вновь
запустить ЭВМ. Впоследствии, когда
машины стали помощнее и могли обслуживать
сразу нескольких пользователей, вечное
ожидание пользователей типа: «Я послал
данные машине. Жду, что она ответит. И
ответит ли вообще? » — стало, мягко
говоря, надоедать. К тому же вычислительные
центры, вслед за газетами, стали вторым
крупным «производителем» макулатуры.
Поэтому с появлением алфавитно-цифровых
дисплеев началась эра по-настоящему
пользовательской технологии — командной
строки.
Рис.2. Вид большой ЭВМ серии ЕС ЭВМ
Технология командной строки. При этой
технологии в качестве единственного
способа ввода информации от человека
к компьютеру служит клавиатура, а
компьютер выводит информацию человеку
с помощью алфавитно-цифрового дисплея
(монитора). Эту комбинацию (монитор +
клавиатура) стали называть терминалом,
или консолью. Команды набираются в
командной строке. Командная строка
представляет собой символ приглашения
и мигающий прямоугольник — курсор. При
нажатии клавиши на месте курсора
появляются символы, а сам курсор смещается
вправо. Это очень похоже на набор команды
на пишущей машинке. Однако, в отличие
от нее, буквы отображаются на дисплее,
а не на бумаге, и неправильно набранный
символ можно стереть. Команда заканчивается
нажатием клавиши Enter (или Return) После
этого осуществляется переход в начало
следующей строки. Именно с этой позиции
компьютер выдает на монитор результаты
своей работы. Затем процесс повторяется.
Технология командной строки уже работала
на монохромных алфавитно-цифровых
дисплеях. Поскольку вводить позволялось
только буквы, цифры и знаки препинания,
то технические характеристики дисплея
были не существенны. В качестве монитора
можно было использовать телевизионный
приемник и даже трубку осциллографа.
Обе эти технологии реализуются в виде
командного интерфейса — машине подаются
на вход команды, а она как бы «отвечает»
на них.
Преобладающим видом файлов при работе
с командным интерфейсом стали текстовые
файлы — их и только их можно было создать
при помощи клавиатуры. На время наиболее
широкого использования интерфейса
командной строки приходится появление
операционной системы UNIX и появление
первых восьмиразрядных персональных
компьютеров с многоплатформенной
операционной системой CP / M.
Виды стабилизаторов для холодильника
Все защитные электрические устройства делятся на несколько категорий, каждая из которых обладает своими особенностями. В процессе изготовления всех моделей задействуют безопасные материалы, они полностью соответствуют нормам качества.
В процессе изготовления всех моделей задействуют безопасные материалы, они полностью соответствуют нормам качества.
Для комфорта и безопасности потребителя качественный аппарат дополняется защитой от перегрева, то есть разработчики оснащают устройство специальным термодатчиком. Также следует вспомнить, что конструкция во время превышения предела тока дает сигнал электронике, а она отключает оборудование полностью. Это необходимо, чтобы избежать замыкания и возгорания агрегата.
Также следует вспомнить, что конструкция во время превышения предела тока дает сигнал электронике, а она отключает оборудование полностью.
Чтобы понимать особенности каждого типа, предлагаем познакомиться более детально с каждой разновидностью.
Приборы электромеханического типа
Содержит электронную плату, которая отвечает за контроль напряжения и управляет специальным мотором. Он способствует движению токосъемника, который перемещается по катушке и регулирует исходящий уровень напряжения.
Достоинство таких стабилизаторов – высокая точность. Но при этом характеризуется небольшой скоростью функционирования, из-за инерционности.
Содержит электронную плату, которая отвечает за контроль напряжения и управляет специальным мотором. Он способствует движению токосъемника, который перемещается по катушке и регулирует исходящий уровень напряжения.
Стабилизатор релейного вида
Используя этот сложный вид устройств, в процессе переключения трансформаторных обмоток придется задействовать силовое реле. Достоинство релейного типа – быстрая скорость реакции на изменения сети.
Если вы отдадите предпочтение такой разновидности, следует рассчитывать на возможное подгорание контактов, множество этапов функционирования перед достижением необходимого результата и шум в процессе от переключения.
Достоинство релейного типа – быстрая скорость реакции на изменения сети.
Системные модели приборов
Процедура переключения происходит благодаря силовым ключам. При этом отсутствуют классические реле, потому все процессы проходят бесшумно. К сильным сторонам относятся – скорость реакции, регулярные переключения при изменениях в напряжении.
Значительным недостатком можно назвать высокую стоимость и требования по качеству изготовления компонентов.
К сильным сторонам относятся – скорость реакции, регулярные переключения при изменениях в напряжении.
Основные функции GUI
Ниже представлены основные функции, которые вам нужны для создания GUI. Это только основные, хотя, есть на много больше функций, для момента когда вы будете готовы создать более улучшенный GUI.
Функция | Описание |
---|---|
GUICreate | Создание окна. |
GUICtrlCreate… | Создание различных элементов управления в окне. |
GUISetState | Отображает или скрывает окно. |
GUIGetMsg | Опрос GUI, чтобы обнаружить, если событие произошло (Только в режиме цикла) |
GUICtrlRead | Чтение данных из элемента управления. |
GUICtrlSetData | Установить/изменить данные в элементе управления. |
GUICtrlUpdate… | Изменение различных параметров элементов управления (цвет, стиль и т.д.) |
Необходимо в скрипт добавить строку #include <GUIConstantsEx.au3> для подключения основных констант связанных с созданием GUI. Есть другие файлы, содержащие константы, связанные с различными элементами управления для создания их в GUI.
Сначала давайте создадим окно, назовем его «Привет Мир» и сделаем его размером 200 на 100 пиксель. При создании нового окна, оно скрыто, поэтому мы должны отобразить его.
#include <GUIConstantsEx.au3>
GUICreate(«Привет Мир», 200, 100)
GUISetState()
Sleep(2000)
Если выполнить приведённый выше пример, вы увидите открытие окна и закрытие через 2 секунды. Это не очень интересно … давайте добавим немного текста и кнопку ОК. Текст будет добавлен в координаты x=30, y=10 и кнопка в координаты x=70, y=50 и шириной 60 пикселей.
#include <GUIConstantsEx.au3>
GUICreate(«Привет Мир», 200, 100)
GUICtrlCreateLabel(«Привет Мир! Как дела?», 30, 10)
GUICtrlCreateButton(«OK», 70, 50, 60)
GUISetState()
Sleep(2000)
Теперь на много лучше, но как сделать реакцию GUI на нажатие кнопки? Здесь мы должны принять решение, как обрабатывать события — через MessageLoop (цикл опроса GUI) или через функции OnEvent (по событию).
Узнайте больше о наборе текста на Android
Как создать видео с веб-камеры в онлайн режиме
PARC
The next wave of GUI innovation occurred at the Xerox Corporation’s Palo Alto (California) Research Center (PARC), to which several of Engelbart’s team moved in the 1970s. The new interface ideas found their way to a computer workstation called the Xerox Star, which was introduced in 1981. Though the process was expensive, the Star (and its prototype predecessor, the Alto) used a technique called “bit mapping” in which everything on the computer screen was, in effect, a picture. Bit mapping not only welcomed the use of graphics but allowed the computer screen to display exactly what would be output from a printer—a feature that became known as “what you see is what you get,” or WYSIWYG. The computer scientists at PARC, notably Alan Kay, also designed the Star interface to embody a metaphor: a set of small pictures, or “icons,” were arranged on the screen, which was to be thought of as a virtual desktop. The icons represented officelike activities such as retrieving files from folders and printing documents. By using the mouse to position the computer’s cursor over an icon and then clicking a button on the mouse, a command would be instantly implemented—an intuitively simpler, and generally quicker, process than typing commands.
«Великие инвесторы. Практические уроки от Джорджа Сороса, Уоррена Баффета, Джона Темплтона, Бенджамин Грэхема, Энтони Болтона, Чарльза Мангера, Питера Линча, Филипа Фишера, Джона Неффа», Глен Арнольд
Пользовательский интерфейс и дизайн взаимодействия
Графический интерфейс пользователя представлен (отображается) на экране компьютера. Это результат обработанного пользовательского ввода и обычно является основным интерфейсом для взаимодействия человека с машиной. На сенсорных пользовательском интерфейсе популярного на небольших мобильных устройствах наложения визуального вывода на визуальную информацию.
Разработка визуальной композиции и временного поведения графического интерфейса пользователя — важная часть программирования приложений в области взаимодействия человека с компьютером . Его цель — повысить эффективность и простоту использования основного логического дизайна хранимой программы , дисциплины проектирования, называемой удобством использования . Методы дизайна, ориентированного на пользователя , используются для обеспечения того, чтобы визуальный язык, представленный в дизайне, был хорошо адаптирован к задачам.
Видимые функции графического интерфейса приложения иногда называют хром или GUI (произносится как gooey ). Обычно пользователи взаимодействуют с информацией, манипулируя визуальными виджетами, которые позволяют осуществлять взаимодействия, соответствующие типу данных, которые они хранят. Виджеты хорошо продуманного интерфейса выбраны для поддержки действий, необходимых для достижения целей пользователей. Модель-представление-контроллер обеспечивает гибкие структуры , в которой интерфейс не зависит от и косвенно связаны с функциями приложений, так что графический интерфейс может быть настроен легко. Это позволяет пользователям выбирать или создавать другую оболочку по своему усмотрению и облегчает работу дизайнера по изменению интерфейса по мере развития потребностей пользователя. Хороший дизайн пользовательского интерфейса больше относится к пользователям, а к архитектуре системы — меньше. Большие виджеты, такие как окна , обычно предоставляют фрейм или контейнер для основного содержимого презентации, такого как веб-страница, сообщение электронной почты или рисунок. Меньшие обычно действуют как инструмент ввода данных пользователем.
Графический интерфейс пользователя может быть разработан для требований вертикального рынка в виде графических пользовательских интерфейсов для конкретных приложений. Примеры включают в себя банкоматы (банкоматы), сенсорные экраны точек продаж (POS) в ресторанах, кассы самообслуживания, используемые в розничных магазинах, самовывоз и регистрацию в авиакомпаниях, информационные киоски в общественных местах, таких как вокзал или музей, а также мониторы или управляющие экраны во встроенном промышленном приложении, в котором используется операционная система реального времени (RTOS).
К 1980-м годам в мобильных телефонах и портативных игровых системах также использовался графический интерфейс пользователя с сенсорным экраном для конкретных приложений. Новые автомобили используют графические интерфейсы пользователя в своих навигационных системах и мультимедийных центрах или в комбинациях навигационных мультимедийных центров.
Составляющие
Средства
- вывода информации из устройства – весь спектр доступных воздействий на пользователя (зрительных, слуховых, тактильных, обонятельных и т.п.) – экран, колонки и т.п.;
- ввода информации в устройство – манипуляторы, кнопки, переключатели, датчики и т.п.
При использовании определенных средств ввода интерфейсы разделяются на следующие типы – жестовый, голосовой, брэйн и т.д., а также комбинированные.
Методы – набор правил, которые заложены разработчиком устройства, по которым совокупность действий пользователя должна привести к необходимой реакции устройства и выполнения требуемой задачи (так называемый логический интерфейс).
Пользовательский интерфейс включает три основных компонента:
- взаимодействие приложения с пользователем;
- взаимодействие пользователя с приложением;
- язык общения – определяет разработчик программного обеспечения.