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

Девелоп глазами программиста. Какой должна быть современная программа?

Программа никогда не зависает и не падает


Мне плевать, что я хочу загрузить картинку размером 10 Гб в Photoshop на компьютере, где установлено лишь 256 Мб оперативки.

Девелоп глазами программиста. Какой должна быть современная программа?

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

Девелоп глазами программиста. Какой должна быть современная программа?

Безопасность


Бабушка не должна иметь ученую степень по Информатике, чтобы защитить ее компьютер от вирусов и программ-шпионов. Программа не должна отсылать данные подобно шпионам.

Девелоп глазами программиста. Какой должна быть современная программа?

Одна из причин того, что Мак и Линукс имеют гораздо меньше вирусов не в том, что у них мало пользователей, а в том, что у них высокий уровень безопасности и саморазмножающимся программам очень сложно спрятаться от системы. Firefox - другой хороший пример ПО, которое безопасно и в случае опасности (например, при входе на phishing-сайт) предупреждает об этом пользователя.

Девелоп глазами программиста. Какой должна быть современная программа?

Любой ценой защищайте данные


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

Девелоп глазами программиста. Какой должна быть современная программа?

Утром он как обычно включил компьютер, заглянул в последнии документы, открыл и с ужасом прочитал сообщение Файл не найден. Просто документ был распакован и открыт в TEMP-директории, которая и была очищена после перезагрузки компьютера.

Девелоп глазами программиста. Какой должна быть современная программа?

Такого не должно было случится! Операционная система таке должна хранить резервные копии документов в случае, если пользователь захочет откатить изменения. Как это можно было бы сделать в Машине времени.

Девелоп глазами программиста. Какой должна быть современная программа?

Интеграция с Интернетом


Сейчас много разговоров о Web 2.0 и многие люди считают, что все программы должны работать через браузер. Я считаю, что это глупо.

Девелоп глазами программиста. Какой должна быть современная программа?

Гугловский офис никогда не переплюнет


Microsoft Office или любой другой хороший офисный пакет, установленный в системе. Причина тут и в низкой скорости и в интеграции программ в систему, и в их работе оффлайн.

Девелоп глазами программиста. Какой должна быть современная программа?

Однако я верю, что устанавливаемые программы могут лучше использовать возможности Интернетаю. Например, в OpenOffice можно сохранять документы как на диск, так и в сети Интернет и для этого не нужно открывать веб-браузер. Мой видеоплеер может сам подгружать тексты для музыки и скачивать другую информацию о фильме, когда я смотрю DVD.

Девелоп глазами программиста. Какой должна быть современная программа?

Философия Просто работает


Я подключаю мой принтер и он работает. Пользователь никогда не должен слышать страшных слов вроде драйвер и установка. Идеальный пример - сервис YouTube.

Девелоп глазами программиста. Какой должна быть современная программа?

Десять лет назад мне нужен был Windows Media Player, RealPlayer, Quicktime-плагины, установить все это и перегрузиться только для того, чтобы посмотреть один ролик через браузер в Интеренете.

Девелоп глазами программиста. Какой должна быть современная программа?

Куча раличных кодеков и форматов. YouTube упростил этот процесс: я захожу на сайт, жму кнопку Play и видео играет. Если нет флеша, появляется ссылка Нажмите для установки флеш я жму и все работает.