Previous Entry Share Next Entry
photo25

Единственная надежная кнопка (репост)

Оригинал взят у tonsky в Единственная надежная кнопка
Одна из причин, почему смартфон — прибор для гораздо более широкой аудитории, чем традиционный ПК — надежно работающие кнопки. Что бы ни происходило, в каком бы состоянии ни находились телефон, приложение, соединение с интернетом, блютусом и USB, в одно нажатие вы всегда можете выключить телефон, и вы всегда можете «вернуться на базу» — некое хорошо знакомое стартовое состояние, домашний экран. Ключевые слова «надежно» и «в любой момент». Что бы ни происходило, как бы плохо ни было написано приложение, в какую бы непридвиденную комбинацию внешних условий оно ни попало, телефон гарантирует вам работу двух этих кнопок.

В то же время на ПК даже самая надежная кнопка, даже в идеальных тепличных условиях, нет-нет да и выдаст что-то неожиданное. Иногда запускает приложение, а иногда (как известно, в самый неподходящий момент) показывает окно с обновлениями, подсказками, скажет, что потеряло каталог, не хватает прав или еще что-то. Иногда закрывает приложение, а иногда просит сохранить файлы, согласиться с потерей табов, ответить, надо ли перезапускать при старте. _Внутри_ компьютера нет ни одной надежно работающей кнопки. Единственно надежно работающая кнопка на компьютере — это Reset. Возможно, именно сквозная ненадежность всего и вся разработала у людей страх компьютеров.

Естественно, если спросить ПК-программиста, то ничего странного в этой ситуации нет, для него это более чем нормально. Подозреваю, эта культура идет от старых представлений об искусственном интеллекте, диалоге человека и машины как равных. Предполагается, что человек спокойно сидит, сосредоточен только на диалоге и полностостью вложил все свои ресурсы на извлечение из беседы результата. Это очень удобно, потому что спокойно можно свалить на человека часть работы, а ошибки и сложности списать на его недостаточную тренированность или вовлеченность (пресловутое «юзеры тупые!»). Мы, как программисты, глубоко впитали эту модель взаимодействия, и, на мой взгляд, недостаточно часто пытаемся ее отрефлексировать.

Однако на пути превращения ПК в предмет быта, такой же, как кухонный нож, спички, телевизор, эту модель пришлось и еще много раз придется пересмотреть. Предмет быта это по определению что-то, вокруг чего не вращается жизнь, что-то, что используется в редкие моменты, строго для решения сиюминутных задач. И в этой ситуации как раз нужна надежность. Нельзя вырывать человека из его текущего контекста и создавать ему новый контекст диалога с компьютером, с какими-то компьютерными желаниями, требованиями и жаждой общения. Включение должно включать компьютер. Выключение — выключать. Приложение — прилагать. И никаких соплей.

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

И тем не менее, пришли смартфоны, и внезапно оказалось, что программисты вполне могут решить все эти проблемы сами: приложение гарантировано закрывается, ничего никогда не спрашивает, все всегда сохраняет и открывает _само_, да еще и само обновляет нужные себе ресурсы, включая код. Оказалось, дело было не в тупых пользователях, а в ленивых программистах. Дальше будет больше.

Мораль очень простая: всегда ставьте человека на первое место, а компьютер на второе, третье, четвертое. Человек нажал «Выход» — надо выходить, как бы ни хотелось с ним именно в данный момент поговорить.


  • 1
kosenko_danila September 2nd, 2015
Смартфон - то, что в старой литературе называлось "дружелюбным компьютером".

sassa_nf September 2nd, 2015
ерунда. Фаерфокс не переспрашивает у меня, закрывать ли табы, когда я закрываю его, а эксел помнит, что файл не был сохранён, даже если он упал до того, как я нажал кнопку "сохранить". Умолчательное поведение, а не многословность.

Наоборот, в телефоне все завязано на небольшой набор умолчательных поведений, а попытаться сделать не по умолчанию настолько непросто, что все сдаются (а "просто" пользователи даже не подозревают, что как-то ещё бывает). Чего стОит, например, невозможность установить приложения на Андроиде не во внутреннюю память, а на SD. А на компе он бы меня переспросил, куда я хочу установить - по умолчанию или нет.

Или браузер. Встроенный браузер всегда открывает старую страницу. А как открыть пустое окно - я не в курсе, и найти не представляю возможным.

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

Успешность "телефонов" не в том, что "все работает", а в том, что от них многого и не ожидают - когда не работает, просто пожимаешь плечами и гасишь экран.

tonsky September 2nd, 2015
> ерунда. Фаерфокс не переспрашивает у меня, закрывать ли табы, когда я закрываю его, а эксел помнит, что файл не был сохранён, даже если он упал до того, как я нажал кнопку "сохранить". Умолчательное поведение, а не многословность.

Потихоньку идем туда, да

> Чего стОит, например, невозможность установить приложения на Андроиде не во внутреннюю память, а на SD. А на компе он бы меня переспросил, куда я хочу установить - по умолчанию или нет.

Это вообще-то тоже ненужно. Воткнул флешку — стало 64 Гб свободно вместо 32 Гб. Не надо никого ни о чем спрашивать, че, куда. Если я купил телефон, я купил его целиком, конечно я ожидаю, что он как-то там местом распоряжается, но это он, а не я.

> Или браузер. Встроенный браузер всегда открывает старую страницу. А как открыть пустое окно - я не в курсе, и найти не представляю возможным.

Очень просто, если нужна пустая страница — надо открыть новый таб. Нет желания «всегда открывать с пустой страницы». Есть желание «сейчас мне нужна новая страница».

max630 September 3rd, 2015
> Успешность "телефонов" не в том, что "все работает", а в том, что от них многого и не ожидают - когда не работает, просто пожимаешь плечами и гасишь экран.

вот это вот. какие там вообще данные у "фейсбучной персоны" могут быть, позоция скроллинга во френдленте?

amarao_san September 2nd, 2015
Не работает. Когда телефон обновляется, то он просит "не перезагружать и выключать".

Алсо, часто оказывается так, что ради человека на первом месте надо жертвовать критическим функционалом. Например, терять документ, потому что памяти нет, а надо "пойти и выйти (показать ланчер)". В песочнице телефона это всех устраивает, на компьютере - вопрос открытый.

tonsky September 2nd, 2015
> Не работает. Когда телефон обновляется, то он просит "не перезагружать и выключать".

Эту часть недоделали еще. Когда-нибудь новые мажорные версии операционки будут ставиться в фоне и без перезагрузки.

wizzard0 September 2nd, 2015
пойти и выйти: autosave действий пользователя и replay после восстановления проги с последнего чекпоинта? как один из простых реализуемых на уровне ОС вариантов

sergey_cheban September 2nd, 2015
Не надо превращать ПК в предмет быта (такой, например, как смартфон или телевизор). ПК, в отличие от предметов быта, заточены под творчество, под создание нового. И потерять это новое (ну, например, всю работу за день) одним неловким нажатием кнопки - было бы чертовски обидно.

wizzard0 September 2nd, 2015
autosave действий пользователя и replay после восстановления проги с последнего чекпоинта? как один из простых реализуемых на уровне ОС вариантов

sish September 2nd, 2015
Нет ни единой кнопки на смарте, которая работает так же гарантированно, как три кнопки на ПК: ресет, пауэр и железный выключатель.
Не реже раза в месяц с телефона нужно выдирать батарею, чтоб он таки отреагировал хоть на что-нибудь. Либо тупо ждать, если батарея несъемная.
" _Внутри_ компьютера нет ни одной надежно работающей кнопки. Единственно надежно работающая кнопка на компьютере — это Reset."
Три надежно работающих железных, плюс всегда, вообще всегда, даже без ОС работающих блокировочных: капс, нам и скролл локах. И пауза.
"приложение гарантировано закрывается"
Чаще-нет и проверить нельзя.
"ничего никогда не спрашивает"
Факт. Программист считает себя умнее покупателя.

"все всегда сохраняет"
Иногда. Примерно в половине случаев.
"открывает _само_"
Посмотреть ПДФ из сети. Угу. Спросить сохранить или нет, потом спросит чем открыть. На галочки-наплевать, ведь это же с нового сайта предложение!
"да еще и само обновляет нужные себе ресурсы, включая код"
Привет микрософту образца 90-ых. Качество именно такое.







wizzard0 September 2nd, 2015
> Три надежно работающих железных, плюс всегда, вообще всегда, даже без ОС работающих блокировочных: капс, нам и скролл локах. И пауза.
Хахаха. Я уже столько перевидал клавиатур, у которых без драйверов не работают эти лампочки... И клавиатур, которые не видно в биосе - тоже.

> Не реже раза в месяц с телефона нужно выдирать батарею, чтоб он таки отреагировал хоть на что-нибудь.
Прикольно. А что за телефон?
(Lumia 920, Xperia Z1, iPhone 5S - такой потребности не испытываю. да, девелоперские девайсы, но вообще на всех установлен вагон и маленькая тележка всего)

tonsky September 3rd, 2015
Правда, поделитесь, что за телефон? Буду избегать. Сам я в худших случаях перегружал штатным способом.

nponeccop September 4th, 2015
> капс, нам и скролл локах. И пауза.

Это шутка какая-то, да? Это далеко не так уже очень давно, под Win&Lin.

sab123 September 2nd, 2015
Нету в телефоне таких кнопок. Оно все такое, что хочет - работает, не хочет - не работает. А за обновления - да, повбывав бы. Обновлений мне не нужно.

nponeccop September 4th, 2015
> Обновлений мне не нужно

Муахаха, ещё один непуганный. Обновления станут не нужны, когда прекратится выпуск CVE и скриптов для школьников под них. То есть, никогда.

max630 September 2nd, 2015
очередная порция упоротого раскиноидного бреда. Даже нет смысла комментировать, практически любая фраза это фейспалм, начиная с самой первой. Это всё пережевали и высрали уже лет 10 как, и только отдельные энтузиасры продолжают набрасывать.

_winnie September 2nd, 2015
Автоматизация повторяющихся действий и снятие ограничений что когда можно нажимать - оно не противоречит логически возможности сделать всё наиболее подходящим пользователю образом, и не отвлекать интерактивными настройками.

По ресурсам разработки - противоречит, а логически - нет.

Да, на вынутую флешку файл не запишешь, но не корраптить существующий файл и файловую систему при вынимании - вполне возможно.

Запрашивать по какому-то API у провайдера данных, сколько сейчас стоит интернет по такому-то интерфейсу и лимиты денег по нему - вполне возможно.

Или может интернет станет таким же дешёвым, как электричество. Ты же сейчас не следишь, сколько электричесва сжирает программа (вполне тоже небесплатного).

Не парить мозг "когда надо нажать на save" и иметь полную историю изменений документа - вполне возможно.

Сделать возможность запустить старую версию программы после апдейта (если что-то отломалось в интерфейсе) - вполне возможно.

Всё возможно, просто баги автоматизации - видны только после первой версии автоматизации. А после этого их можно и исправлять.


Edited at 2015-09-02 08:32 pm (UTC)

max630 September 2nd, 2015
во-первых, для большого числа фс обеспечить всегда корректное состояние на флешке _невозможно_. во-вторых, частая запись быстрее её изнашивает. так что надо выбирать частоту записи.

стандартного апи для определения цены интернета не существует и едва ли он когда будет

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

вообще возникающие вопросы они не про "ресурсы разработки", а про ресурсы плануривания, прочём возрастающие экспоненциально - если мы отказываемся от наличия у программы логики, надо проработать каждый вариант отдельно.

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

max630 September 2nd, 2015
как я понял с позиции пользователя в ios и андроиде процесс могут либо запаузить/засунуть в background, и это действительно сохраняет его состояние, либо (вероятно, при нехватке памяти) убить, и тут уже никто ничего не гарантирует

vinslivins September 2nd, 2015
реально, у мсье нет телефона?

там можно нажать кнопку (содранную с айфона) и всё работает как описано в посте, да.

(кроме "всегда всё сохраняет". но тут дело эволюции. где не сохраняет - там пользователь не покупает, а удаляет.)

Edited at 2015-09-02 08:04 pm (UTC)

livejournal September 3rd, 2015
Здравствуйте! Ваша запись попала в топ-25 популярных записей LiveJournal для Украины. Подробнее о рейтинге читайте в Справке.

max630 September 3rd, 2015
кстати, в айфоне the кнопка далеко не всегда возвращает. иногда оно показывает 4 программы внизу, типа для быстрого перехода.

thedeemon September 3rd, 2015
Тут андроид опять впереди - показывает целых 6. :)
Три года не знал про эту фичу, пока годовалая дочка не показала.

всегда ставьте человека на первое место

pupsikk September 4th, 2015
Ерунда.
На первое место надо ставить не человека, а решение его конкретных задач.
А уж как это решение будет декорировано - зависит от собственного чувства прекрасного и готовности клиента платить.

Единственная надежная кнопка

livejournal September 4th, 2015
Пользователь masterden сослался на вашу запись в своей записи «Единственная надежная кнопка» в контексте: [...] в данный момент поговорить. P.S. в комменты пришел тот самый «ленивый программист» [...]

  • 1
?

Log in

No account? Create an account