Девелоп глазами программиста. Какой должна быть современная программа?
Как пользователи оценивают программы? Что нужно, чтобы они могли назвать ее идеальной? Почитав блог одного из пользователей, Криса Пирилло, я наткнулся на интересную статью, которая будет полезно почитать большинству разработчиков.
Мне плевать, что я хочу загрузить картинку размером 10 Гб в Photoshop на компьютере, где установлено лишь 256 Мб оперативки.
Пусть программа сама проанализирует ситуацию и уравновесит ресурсы так, чтобы не повесить всю систему. Пользователь не должен иметь возможность заставить программу зависнуть.
Бабушка не должна иметь ученую степень по Информатике, чтобы защитить ее компьютер от вирусов и программ-шпионов. Программа не должна отсылать данные подобно шпионам.
Одна из причин того, что Мак и Линукс имеют гораздо меньше вирусов не в том, что у них мало пользователей, а в том, что у них высокий уровень безопасности и саморазмножающимся программам очень сложно спрятаться от системы. Firefox - другой хороший пример ПО, которое безопасно и в случае опасности (например, при входе на phishing-сайт) предупреждает об этом пользователя.
Приходит на ум ужасная история, в которой пользователь скачал документ из почты, но выбрал Открыть вместо Сохранить. После подтверждения документ открылся в программе и он лишь сохранял его с помощью комбинации CTRL-S, даже не думая о том, куда он сохраняется. Он весь день работал с ним, а вечером нажал Сохранить и отправился спать.
Утром он как обычно включил компьютер, заглянул в последнии документы, открыл и с ужасом прочитал сообщение Файл не найден. Просто документ был распакован и открыт в TEMP-директории, которая и была очищена после перезагрузки компьютера.
Такого не должно было случится! Операционная система таке должна хранить резервные копии документов в случае, если пользователь захочет откатить изменения. Как это можно было бы сделать в Машине времени.
Сейчас много разговоров о Web 2.0 и многие люди считают, что все программы должны работать через браузер. Я считаю, что это глупо.
Microsoft Office или любой другой хороший офисный пакет, установленный в системе. Причина тут и в низкой скорости и в интеграции программ в систему, и в их работе оффлайн.
Однако я верю, что устанавливаемые программы могут лучше использовать возможности Интернетаю. Например, в OpenOffice можно сохранять документы как на диск, так и в сети Интернет и для этого не нужно открывать веб-браузер. Мой видеоплеер может сам подгружать тексты для музыки и скачивать другую информацию о фильме, когда я смотрю DVD.
Я подключаю мой принтер и он работает. Пользователь никогда не должен слышать страшных слов вроде драйвер и установка. Идеальный пример - сервис YouTube.
Десять лет назад мне нужен был Windows Media Player, RealPlayer, Quicktime-плагины, установить все это и перегрузиться только для того, чтобы посмотреть один ролик через браузер в Интеренете.
Куча раличных кодеков и форматов. YouTube упростил этот процесс: я захожу на сайт, жму кнопку Play и видео играет. Если нет флеша, появляется ссылка Нажмите для установки флеш я жму и все работает.
Программа никогда не зависает и не падает
Мне плевать, что я хочу загрузить картинку размером 10 Гб в Photoshop на компьютере, где установлено лишь 256 Мб оперативки.
Пусть программа сама проанализирует ситуацию и уравновесит ресурсы так, чтобы не повесить всю систему. Пользователь не должен иметь возможность заставить программу зависнуть.
Безопасность
Бабушка не должна иметь ученую степень по Информатике, чтобы защитить ее компьютер от вирусов и программ-шпионов. Программа не должна отсылать данные подобно шпионам.
Одна из причин того, что Мак и Линукс имеют гораздо меньше вирусов не в том, что у них мало пользователей, а в том, что у них высокий уровень безопасности и саморазмножающимся программам очень сложно спрятаться от системы. Firefox - другой хороший пример ПО, которое безопасно и в случае опасности (например, при входе на phishing-сайт) предупреждает об этом пользователя.
Любой ценой защищайте данные
Приходит на ум ужасная история, в которой пользователь скачал документ из почты, но выбрал Открыть вместо Сохранить. После подтверждения документ открылся в программе и он лишь сохранял его с помощью комбинации CTRL-S, даже не думая о том, куда он сохраняется. Он весь день работал с ним, а вечером нажал Сохранить и отправился спать.
Утром он как обычно включил компьютер, заглянул в последнии документы, открыл и с ужасом прочитал сообщение Файл не найден. Просто документ был распакован и открыт в TEMP-директории, которая и была очищена после перезагрузки компьютера.
Такого не должно было случится! Операционная система таке должна хранить резервные копии документов в случае, если пользователь захочет откатить изменения. Как это можно было бы сделать в Машине времени.
Интеграция с Интернетом
Сейчас много разговоров о Web 2.0 и многие люди считают, что все программы должны работать через браузер. Я считаю, что это глупо.
Гугловский офис никогда не переплюнет
Microsoft Office или любой другой хороший офисный пакет, установленный в системе. Причина тут и в низкой скорости и в интеграции программ в систему, и в их работе оффлайн.
Однако я верю, что устанавливаемые программы могут лучше использовать возможности Интернетаю. Например, в OpenOffice можно сохранять документы как на диск, так и в сети Интернет и для этого не нужно открывать веб-браузер. Мой видеоплеер может сам подгружать тексты для музыки и скачивать другую информацию о фильме, когда я смотрю DVD.
Философия Просто работает
Я подключаю мой принтер и он работает. Пользователь никогда не должен слышать страшных слов вроде драйвер и установка. Идеальный пример - сервис YouTube.
Десять лет назад мне нужен был Windows Media Player, RealPlayer, Quicktime-плагины, установить все это и перегрузиться только для того, чтобы посмотреть один ролик через браузер в Интеренете.
Куча раличных кодеков и форматов. YouTube упростил этот процесс: я захожу на сайт, жму кнопку Play и видео играет. Если нет флеша, появляется ссылка Нажмите для установки флеш я жму и все работает.
Как зарегистрироваться в Вконтакте без телефона?
Как открыть файл rar (рар) на Windows, Андройд, в Linux и MAC
Что это такое # Хэштег, как сделать правильный