Введение
Американский ученый-компьютерщик Бен Шнайдерман (родился 21 августа 1947 года) — американский ученый-компьютерщик, выдающийся профессор Университета Мэриленда, профессор кафедры компьютерных наук, входящей в состав Колледжа компьютерных, математических и естественных наук Университета Мэриленда в Колледж-Парке, и основатель (1983–2000) Лаборатории взаимодействия человека и компьютера при Университете Мэриленда. Он провел основополагающие исследования в области взаимодействия человека и компьютера, разработав новые идеи, методы и инструменты, такие как интерфейс непосредственного манипулирования и его восемь правил проектирования.
Ben Shneiderman (born August 21, 1947) is an American computer scientist, a Distinguished University Professor in the University of Maryland Department of Computer Science, which is part of the University of Maryland College of Computer, Mathematical, and Natural Sciences at the University of Maryland, College Park, and the founding director (1983 2000) of the University of Maryland Human Computer Interaction Lab. He conducted fundamental research in the field of human–computer interaction, developing new ideas, methods, and tools such as the direct manipulation interface, and his eight rules of design.
Ранние годы и образование
Родился в Нью-Йорке, Шнайдерман учился в Бронксской научной средней школе и получил степень бакалавра математики и физики в Городском колледже Нью-Йорка в 1968 году. Затем он продолжил обучение в Государственном университете Нью-Йорка в Стоуни-Бруке, где получил степень магистра компьютерных наук в 1972 году и защитил докторскую диссертацию в 1973 году.
Карьера
Шнайдерман начал свою академическую карьеру в Государственном университете Нью-Йорка в Фармингдейле в 1968 году в качестве преподавателя в Департаменте обработки данных. В последний год обучения он преподавал в Департаменте компьютерных наук Университета Стоуни Брук (тогда называвшегося Государственным университетом Нью-Йорка в Стоуни Брук). В 1973 году он был назначен ассистентом профессора в Университете Индианы, Департамент компьютерных наук. В 1976 году он перешел в Университет Мэриленда, где начал работу в качестве ассистента профессора в Департаменте управления информационными системами, а в 1979 году стал доцентом. В 1983 году он перешел в Департамент компьютерных наук в качестве доцента и в 1989 году был повышен до профессора. В 1983 году он стал директором-основателем Лаборатории взаимодействия человека и компьютера, которой руководил до 2000 года. В 2002 году его книга «Лаптоп Леонардо: потребности человека и новые вычислительные технологии» удостоилась премии IEEE USA за выдающийся вклад в популяризацию профессии. Его книга 2016 года «Новые ABC исследований: достижение прорывного сотрудничества» призывает к объединению прикладных и фундаментальных исследований. В 2019 году он опубликовал «Встречи с пионерами HCI: личная история и фотожурнал», а в 2022 году – «Искусственный интеллект, ориентированный на человека».
Награды и почести
Шнайдерман был удостоен звания члена Ассоциации вычислительной техники (ACM) в 1997 году, члена Американской ассоциации содействия развитию науки в 2001 году, члена Национальной инженерной академии в 2010 году, члена IEEE в 2012 году и члена Национальной академии изобретателей в 2015 году. Он является членом Академии ACM CHI и получил их награду за вклад за всю жизнь в 2001 году. В 2012 году он получил награду IEEE Visualization Career Award и был принят в Академию IEEE VIS в 2019 году. В 2021 году он получил награду InfoVis Conference Test of Time Award совместно с соавторами Беном Бедерсоном и Мартином М. Уоттенбергом. Он получил почетные докторские степени Университета Гвельфа (Канада) в 1995 году, Университета Кастилии-Ла-Манча (Испания) в 2010 году, Университета Стоуни-Брук в 2015 году, Университета Мельбурна в 2017 году, Университета Суонси (Уэльс, Великобритания) в 2018 году и Университета Претории (Южная Африка) в 2018 году.
Личная жизнь
Шнайдерман проживает в Бетесде, штат Мэриленд. Он племянник фотографа Дэвида Сеймура.
Исследование графиков потоков
В 1970-х годах Шнайдерман продолжил изучать программистов и использование блок-схем. В статье 1977 года «Экспериментальные исследования полезности детальных блок-схем в программировании» Шнайдерман и др. обобщили происхождение и современное состояние блок-схем в компьютерном программировании: блок-схемы были частью компьютерного программирования с момента появления компьютеров в 1940-х годах. В 1947 году Гольдштейн и фон Нейман [7] представили систему описания процессов с использованием блоков операций, утверждений и альтернатив. Они считали, что «кодирование начинается с построения блок-схемы». До начала кодирования алгоритм был определен и понят. Блок-схема представляла собой высокоуровневое определение решения, которое должно быть реализовано на машине. Хотя они работали только с численными алгоритмами, они предложили методологию программирования, которая впоследствии стала стандартной практикой в области компьютерного программирования. Более того, Шнайдерман провел эксперименты, которые показали, что блок-схемы не способствуют написанию, пониманию или модификации компьютерных программ. В заключении своей статьи 1977 года Шнайдерман и др. отметили:
Flowcharts have been a part of computer programming since the introduction of computers in the 1940s. In 1947 Goldstein and von Neumann [7] presented a system of describing processes using operation, assertion, and alternative boxes. They felt that "coding begins with the drawing of flow diagram." Prior to coding, the algorithm had been identified and understood. The flowchart represented a high level definition of the solution to be implemented on a machine. Although they were working only with numerical algorithms, they proposed a programming methodology which has since become standard practice in the computer programming field. Furthermore, Shneiderman had conducted experiments which suggested that flowcharts were not helpful for writing, understanding, or modifying computer programs. At the end of their 1977 paper, Shneiderman et al. concluded:
Although our original intention was to ascertain under which conditions detailed flowcharts were most helpful, our repeated negative results have led us to a more skeptical opinion of the utility of detailed flowcharts under modern programming conditions. We repeatedly selected problems and tried to create test conditions which would favor the flowchart groups, but found no statistically significant differences between the flowchart and non flowchart groups. In some cases the mean scores for the non flowchart groups even surpassed the means for the flowchart groups. We conjecture that detailed flowcharts are merely a redundant presentation of the information contained in the programming language statements. The flowcharts may even be at a disadvantage because they are not as complete (omitting declarations, statement labels, and input/output formats) and require many more pages than do the concise programming language statements.
Хотя изначально мы намеревались выяснить, при каких условиях детальные блок-схемы наиболее полезны, наши неоднократные отрицательные результаты привели нас к более скептическому мнению относительно полезности детальных блок-схем в современных условиях программирования. Мы неоднократно выбирали задачи и пытались создать тестовые условия, которые бы благоприятствовали группам, использующим блок-схемы, но не обнаружили статистически значимых различий между группами, использующими блок-схемы, и группами, не использующими их. В некоторых случаях средние баллы для групп, не использующих блок-схемы, даже превышали средние баллы для групп, использующих блок-схемы. Мы предполагаем, что детальные блок-схемы являются лишь избыточным представлением информации, содержащейся в операторах языка программирования. Блок-схемы могут оказаться даже менее выгодными, поскольку они не так полны (отсутствуют объявления, метки операторов и форматы ввода/вывода) и требуют гораздо больше страниц, чем лаконичные операторы языка программирования.
Flowcharts have been a part of computer programming since the introduction of computers in the 1940s. In 1947 Goldstein and von Neumann [7] presented a system of describing processes using operation, assertion, and alternative boxes. They felt that "coding begins with the drawing of flow diagram." Prior to coding, the algorithm had been identified and understood. The flowchart represented a high level definition of the solution to be implemented on a machine. Although they were working only with numerical algorithms, they proposed a programming methodology which has since become standard practice in the computer programming field. Furthermore, Shneiderman had conducted experiments which suggested that flowcharts were not helpful for writing, understanding, or modifying computer programs. At the end of their 1977 paper, Shneiderman et al. concluded:
Although our original intention was to ascertain under which conditions detailed flowcharts were most helpful, our repeated negative results have led us to a more skeptical opinion of the utility of detailed flowcharts under modern programming conditions. We repeatedly selected problems and tried to create test conditions which would favor the flowchart groups, but found no statistically significant differences between the flowchart and non flowchart groups. In some cases the mean scores for the non flowchart groups even surpassed the means for the flowchart groups. We conjecture that detailed flowcharts are merely a redundant presentation of the information contained in the programming language statements. The flowcharts may even be at a disadvantage because they are not as complete (omitting declarations, statement labels, and input/output formats) and require many more pages than do the concise programming language statements.
Дизайн пользовательского интерфейса
В 1986 году он опубликовал первое издание (в настоящее время шестое издание) своей книги «Проектирование пользовательского интерфейса: стратегии эффективного взаимодействия человека и компьютера». В этой книге представлен его самый известный список «Восемь золотых правил проектирования интерфейса», который формулируется следующим образом:
Стремитесь к последовательности. В аналогичных ситуациях должны использоваться последовательные цепочки действий.
Предоставляйте быстрым пользователям возможность использовать сокращения. По мере увеличения частоты использования растет и желание пользователя уменьшить количество взаимодействий.
Обеспечивайте информативную обратную связь. На каждое действие пользователя система должна реагировать.
Проектируйте диалоги с завершенностью. Цепочки действий должны быть организованы в группы с началом, серединой и концом.
Обеспечьте простое восстановление после ошибок. По возможности, проектируйте систему так, чтобы пользователь не мог допустить серьезную ошибку.
Предоставляйте возможность легкой отмены действий. Эта функция снижает тревожность, поскольку пользователь знает, что ошибки можно исправить.
Поддерживайте ощущение контроля со стороны пользователя. Опытные пользователи стремятся чувствовать, что они управляют системой и что система реагирует на их действия. Проектируйте систему так, чтобы пользователи были инициаторами действий, а не реагировали на запросы системы.
Снижайте нагрузку на кратковременную память. Ограниченность человеческой обработки информации в кратковременной памяти требует, чтобы интерфейс был простым, многостраничные дисплеи были объединены, частота движения окон была уменьшена и было выделено достаточно времени для обучения кодам, мнемоническим приемам и последовательностям действий. Эти принципы часто преподаются на курсах по взаимодействию человека и компьютера.
Enable frequent users to use shortcuts. As the frequency of use increases, so do the user's desires to reduce the number of interactions
Offer informative feedback. For every operator action, there should be some system feedback
Design dialog to yield closure. Sequences of actions should be organized into groups with a beginning, middle, and end
Offer simple error handling. As much as possible, design the system so the user cannot make a serious error
Permit easy reversal of actions. This feature relieves anxiety, since the user knows that errors can be undone
Support internal locus of control. Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders. Reduce short term memory load. The limitation of human information processing in short term memory requires that displays be kept simple, multiple page displays be consolidated, window motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions. These guidelines are frequently taught in courses on Human Computer Interaction.
Визуализация информации
Его основная работа в последние годы была посвящена визуализации информации, и он является автором концепции древовидных карт (treemap) для иерархических данных. Древовидные карты реализованы в большинстве инструментов визуализации информации, включая Spotfire, Tableau Software, QlikView, SAS, JMP и Microsoft Excel. Они используются в инструментах для исследования жестких дисков, анализа данных фондового рынка, системах переписи населения, данных о выборах, анализе экспрессии генов и в журналистике данных. Художественные аспекты древовидных карт представлены в проекте Treemap Art Project. Он также разработал динамические ползунки запросов с несколькими скоординированными отображениями, являющиеся ключевым компонентом Spotfire, приобретенного компанией TIBCO в 2007 году. Его работа продолжилась в разработке инструментов визуального анализа данных временных рядов (TimeSearcher), многомерных данных (Hierarchical Clustering Explorer) и данных социальных сетей (SocialAction). Шнайдерман внес вклад в разработку широко используемого инструмента анализа и визуализации социальных сетей NodeXL. В настоящее время он занимается визуализацией последовательностей временных событий, например, в электронных медицинских картах, используя системы LifeLines2 и EventFlow. Эти инструменты визуализируют категориальные данные, составляющие историю болезни пациента, и предоставляют агрегированный обзор, позволяющий аналитикам выявлять закономерности в больших базах данных историй болезни.
Таксономия интерактивной динамики для визуального анализа, 2012
В 2012 году Джеффри Хир и Шнайдерман совместно опубликовали статью "Интерактивная динамика для визуального анализа" в журнале Association for Computing Machinery Queue, том 10, № 2. В этой статье представлена таксономия интерактивной динамики, призванная помочь исследователям, дизайнерам, аналитикам, преподавателям и студентам в оценке и разработке инструментов визуального анализа. Таксономия состоит из 12 типов задач, сгруппированных в три основные категории, как показано ниже. Спецификация данных и представления: визуализация данных путем выбора визуальных кодировок; фильтрация данных для фокусировки на релевантных элементах; сортировка элементов для выявления закономерностей; получение значений или моделей из исходных данных. Манипулирование представлением: выбор элементов для выделения, фильтрации или изменения; навигация для изучения общих закономерностей и деталей; координация представлений для взаимосвязанного многомерного исследования; организация нескольких окон и рабочих областей. Процесс и отслеживание: запись истории анализа для повторного изучения, проверки и обмена; аннотирование закономерностей для документирования результатов; обмен представлениями и аннотациями для обеспечения совместной работы; помощь пользователям в выполнении задач или построении аналитических сценариев.
Универсальная применимость
Он также определил область исследований универсальной применимости, чтобы привлечь больше внимания к разнообразным пользователям, языкам, культурам, размерам экранов, скорости сетевого соединения и технологическим платформам.