Интерфейс в другую сторону (
Вот к этому)
Сейчас обычно под словом "интерфейс" понимается нечто, обеспечивающее
пользователю возможность работы с
программой. Посредством интерфейса пользователь добивается (или не добивается) чего-то от программы.
А ведь слово "интерфейс" по самому смыслу означает нечто обоюдонаправленное. И можно посмотреть на него с другой стороны. Вот так:
Интерфейс -- это нечто, позволяющее
программе работать с
пользователем. Посредством интерфейса программа получает от пользователя нужную ей информацию и управляет действиями пользователя. Хороший интерфейс позволяет программе получать нужную информацию быстро и без ошибок, плохой -- вынуждает программу много раз обращаться к пользователю и может давать ей неправильные данные, заставляющие её работать неправильно. Короче говоря, неправильное обращение с пользователем нарушает работу программы.
При таком подходе получается, что интерфейс должны разрабатывать люди, разбирающиеся не в программах, а в пользователях.
Пара примеров (некомпьютерных) интерфейсов. Пожарная кнопка, закрытая стеклом -- хороший интерфейс: он позволяет получить информацию, что пользователь не просто разгильдяйски тычет куда попало, а взвинчен настолько, что готов бить стекло. Указание "проверьте, хорошо ли подключён кабель" -- плохой интерфейс: средний человек на него ответит: "конечно же, хорошо". Правильным здесь будет указание "отключите кабель и подключите его заново".