Кіріспе
Американдық компьютерлік ғалым Бен Шнайдерман (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 жылы Нью-Йорк мемлекеттік университетінде Farmingdale-де, Деректерді өңдеу кафедрасының оқытушысы ретінде бастады. Бітіру алдындағы соңғы жылы ол Стони Брук университетінің (кейіннен Нью-Йорк штатының Стони Брук университетінің) компьютерлік ғылымдар кафедрасында оқытушы болды. 1973 жылы Индиана университетінің компьютерлік ғылым кафедрасының ассистент-профессоры болып тағайындалды. 1976 жылы Мэриленд университетіне көшті. Ол ақпараттық жүйелерді басқару кафедрасында ассистент-профессор болып жұмыс істей бастады, ал 1979 жылы доцент болды. 1983 жылы ол компьютерлік ғылым кафедрасына доцент болып ауысты, 1989 жылы профессорлық дәрежесіне көтерілді. 1983 жылы ол Адам-компьютерлік өзара әрекеттесу зертханасының негізін қалаушы директоры болды және оны 2000 жылға дейін басқарды. 2002 жылы оның «Леонардоның ноутбугі: Адамның қажеттіліктері және жаңа есептеу технологиялары» кітабы мамандықтың қоғамдық түсінігін арттыруға қосқан үлесі үшін IEEE USA сыйлығына ие болды. Оның 2016 жылы жарық көрген «The New ABCs of Research: Achieving Breakthrough Collaborations» кітабы қолданбалы және негізгі зерттеулерді біріктіруге шақырады. 2019 жылы ол «HCI пионерлерімен кездесулер: Жеке тарих және фотожурнал» және 2022 жылы «Адамға бағытталған жасанды интеллект» кітаптарын жариялады.
Марапаттар мен құрметтер
Шнайдерман 1997 жылы Компьютерлік машиналар қауымдастығының мүшесі, 2001 жылы Америка ғылымды дамыту қауымдастығының мүшесі, 2010 жылы Ұлттық инженерлік академиясының мүшесі, 2012 жылы IEEE мүшесі және 2015 жылы Ұлттық өнертапқыштар академиясының мүшесі ретінде қабылдалды. Ол ACM CHI Академиясының мүшесі және 2001 жылы өмірлік жетістіктері үшін сыйлық алды. 2012 жылы IEEE Визуализация мансабы сыйлығымен марапатталды және 2019 жылы IEEE VIS академиясына қабылданды. 2021 жылы ол InfoVis конференциясының «Уақыт сынағы» сыйлығын Бен Бедерсон мен Мартин М. Уоттенбергпен бірге алды. 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 жылы ол өзінің "Designing the User Interface: Strategies for Effective Human Computer Interaction" атты кітабының бірінші басылымын (қазіргі кезде алтыншы басылымында) жариялады. Осы кітапта оның ең танымал "Интерфейс дизайнының сегіз алтын ережесі" тізімі келтірілген, олар былай делінеді:
Тұрақтылыққа ұмтылыңыз. Ұқсас жағдайларда бірдей әрекеттер тізбегі талап етілуі керек.
Жүйеге жиі қолданатындарға қысқа жолдарды пайдалануға мүмкіндік беріңіз. Пайдалану жиілігі артаған сайын, пайдаланушылар өзара әрекеттесу санын азайтуға тырысады.
Ақпараттық кері байланыс ұсыныңыз. Оператордың әрбір әрекетіне жүйеден кері байланыс болуы керек.
Әрекеттерді аяқтауға бағытталған диалогты жобалаңыз. Әрекеттер тізбегі бастауы, ортасы және соңы бар топтарға бөлінуі керек.
Жай ғана қателерді жоюды ұсыныңыз. Мүмкіндігінше, жүйені пайдаланушының қате жіберуін қиындатыңыз.
Әрекеттерді оңай кері қайтаруға рұқсат беріңіз. Бұл мүмкіндік алаңдаушылықты азайтады, себебі пайдаланушы қателерді түзетуге болатынын біледі.
Ішкі бақылау ортасын қолдаңыз. Тәжірибелі операторлар жүйеге өздері басшылық ететінін және жүйенің олардың әрекеттеріне жауап беретінін сезінуді қалайды. Сондықтан жүйені пайдаланушылардың әрекеттердің бастамашылары болуын қамтамасыз етіңіз, жауап берушілер емес.
Қысқа мерзімді есте сақтау жүктемесін азайтыңыз. Адамның қысқа мерзімді есте сақтау қабілетінің шектеулі болуына байланысты, дисплейлерді қарапайым ұстаңыз, көп беттік дисплейлерді біріктіріңіз, терезелердің қозғалыс жиілігін азайтыңыз және кодтарды, мнемоникалық ережелерді және әрекеттер тізбегін меңгеру үшін жеткілікті оқу уақыты бөліңіз. Бұл ережелер Адам мен компьютердің өзара әрекеттесуі курстарында жиі оқытылады.
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) тұжырымдамасын жасады. Treemap-тар Spotfire, Tableau Software, QlikView, SAS, JMP және Microsoft Excel сияқты көптеген ақпаратты визуализациялау құралдарында қолданылады. Ағаш карталары қатты дискілерді зерттеу құралдарында, қор нарығы деректерін талдауда, халық санақ жүйелерінде, сайлау деректерінде, гендік экспрессияда және дерек журналистикасында қолданылады. Treemap-тардың көркемдік жағы Treemap Art Project жобасында көрініс береді. Ол сондай-ақ 2007 жылы TIBCO компаниясы сатып алған Spotfire құралының маңызды бөлігі болып табылатын, бірнеше үйлестірілген дисплейі бар динамикалық сұранымдар слайдерлерін әзірледі. Оның жұмысы уақыт қатарларының деректері, TimeSearcher, жоғары өлшемді деректер, Иерархиялық кластерлеу Explorer және әлеуметтік желі деректері, SocialAction үшін визуальды талдау құралдарымен жалғасты. Шнайдерман кеңінен қолданылатын әлеуметтік желілерді талдау және визуализациялау құралы NodeXL-ге үлес қосты. Қазіргі жұмысы LifeLines2 және EventFlow сияқты жүйелерде электрондық денсаулық сақтау жазбаларында кездесетін уақытша оқиғалар тізбегін визуализациялауға бағытталған. Бұл құралдар бір науқастың тарихын құрайтын санатты деректерді бейнелейді және талдаушыларға үлкен науқастар тарихының деректер базасындағы үлгілерді табуға көмектесетін жиынтық көрініс ұсынады.
Визуалды талдау үшін интерактивті динамиканың таксономиясы, 2012
2012 жылы Джеффри Хир мен Шнайдерман "Визуалды талдау үшін интерактивті динамика" мақаласын бірлесіп жазды, ол Association for Computing Machinery Queue журналының 10-шы томының 2-ші нөмірінде жарияланды. Бұл мақалада зерттеушілерге, дизайнерлерге, сарапшыларға, оқытушыларға және студенттерге визуалды талдау құралдарын бағалауға және жасауға көмектесетін интерактивті динамиканың таксономиясы келтірілген. Таксономия төменде көрсетілгендей үш жоғары деңгейлі санатқа топтастырылған 12 түрлі тапсырмадан тұрады. Деректер мен көрініс сипаттамалары Визуалды кодтауды таңдау арқылы деректерді визуализациялау. Маңызды элементтерге назар аудару үшін деректерді сүзу. Үлгілерді анықтау үшін элементтерді сұрыптау. Бастапқы деректерден шамалар немесе модельдер тудыру. Көрініспен жұмыс істеу Таңдау, сүзу немесе өңдеу үшін элементтерді таңдау. Жоғары деңгейдегі үлгілер мен төмен деңгейдегі егжей-тегжейлі зерттеу үшін навигациялау. Байланысты, көп өлшемді зерттеу үшін көріністерді координациялау. Бірнеше терезелер мен жұмыс кеңістіктерін ұйымдастыру. Процесс және деректердің тегі Талдау тарихын қайта қарау, шолу және бөлісу үшін сақтау. Табылған нәтижелерді құжаттау үшін үлгілерге түсініктемелер қосу. Бірлескен жұмыс үшін көріністер мен түсініктемелерді бөлісу. Пайдаланушыларды талдау тапсырмалары немесе сценарийлер арқылы бағыттау.
Жалпыға бірдей қолдану
Ол сонымен қатар, әртүрлі пайдаланушылар, тілдер, мәдениеттер, экран өлшемдері, желі жылдамдықтары және технологиялық платформаларға көбірек назар аудару мақсатында, әмбебап қолданушылықты зерттеу саласын анықтады.