Вы даже можете добавить приложение с единственной функцией, которая будет полезна для пользователей Apple. Единственное, что вы должны убедиться, что ваше приложение не соответствует всем рекомендациям по обзору приложений, и при подготовке приложения для отправки в магазин приложений, в В метаданных конкретно упоминается, что ваше приложение предназначено для личного использования вашей организацией
Руководство по обзору приложений Apple вы найдете по следующему URL: https://developer.apple.com/app-store/review/ рекомендации /
Все может быть отменено. Не стирайтесь - деактивируются. Создайте резервную копию перед каждой разрушительной операцией и дайте пользователю способ восстановить.
Это - путь. Трудно следовать за всем этим путь, но это - то, к чему Вы стремитесь.
Позвольте отменить опасные действия.
Если это - довольно большое приложение или система, потребуйте отдельного доступа администратора для опасных операций также.
Никогда не полагайтесь ни на что, что говорит, что "Вы уверены?" Пользователь ВСЕГДА уверен, и это - то, если они даже потрудились читать его перед отклонением.
И Вы можете, на самом деле необходимо объяснить все, что они могли бы сделать. Поскольку Вы (как разработчик) как тот, который дает им способность сделать все те вещи.
Прежде, чем поместить КАКОЙ-ЛИБО объект на gui как самостоятельно "Это может неправильно использоваться?" и если это может, Вы могли бы хотеть пойти с более низким уровнем настраиваемости. Иерархия в качестве примера
В основном, если пользователю не нужны дополнительные опции, то не давайте им дополнительные опции. Вы только смутите их.
Разделите своих пользователей и имейте мелкомодульные полномочия.
Определите некоторые полномочия продвинутого пользователя, которые включают "более опасные" операции.
Разрешение продвинутого пользователя не выделено слегка - только пользователям фактической мощности - и отменено с готовностью.
Я имею философскую школу, что, в случае inclarities или ambiguousity, пользователь редко неправ, и UI всегда виноват. Так, когда Вы говорите "перфорацию пользователь в поверхности", отметил с "pebkac", я думаю, что Вы делали бы хорошее с ударом в поверхность.
К сожалению, я не могу дать любой хороший UX-совет, так как я - простой программист, и поэтому более или менее по определению дисквалифицируйте как хороший разработчик UI. Я хотел бы только указать на возможность, что Вы на самом деле могли быть тем, который должен получить подсказку и попытаться быть более скромным к пользователям.
Редактирование для Adam:
Мало я знаю о UX, то, как мало я знаю об этом. Это - вся карьера. Я знаю для того, что существует очень мало, любой может учиться путем задавания единственного make-me-good-at-this вопроса при Переполнении стека. Это похоже на меня спрашивающий "помочь мне написать лучший код", с основным текстом, сформулированным как история того, как мои коллеги высмеивают меня моего кода.
Мы, программисты, являемся инженерами. Нам нравятся порядок и причина и логические решения. Но средний пользователь не является программистом, не инженером и, во многих случаях, не заинтересованный самими компьютерами очень наименьшее количество бита.
Я рад, что люди дают Вам самородки хорошего совета, и я рад, что Вы, вопреки моему первому впечатлению (я сожалею о том), стремитесь взять те биты и понять потребности пользователя.
Но точка остается: необходимо купить книги (Не Заставляйте Меня Думать, великолепное место для запуска, как уже рекомендуется). Необходимо смотреть, как люди используют программное обеспечение. Необходимо наблюдать, где они спотыкаются, и вещи зажимного приспособления вокруг, пока UIs не кажутся естественными.
Я сожалею, что все еще не могу дать Вам ответ. Поскольку у меня нет его. И даже если бы у меня был бы он, я должен был бы, вероятно, заряжать Вас 50EUR час, в течение многих лет в будущее.
Сделайте результаты из действия пользователя видимыми и предложите способ отменить те изменения.
Когда изменения видимы, затем пользователь получает обратную связь того, были ли результаты тем, что он намеревался сделать, и если они не, затем возможность отменить позволит пользователю, чтобы попробовать еще раз достигать его цели. Если возможно, сделайте результаты из действия видимыми, прежде чем пользователь вызовет действие (например, перетаскивая некоторый элемент, покажите то, что произошло бы, если пользователь будет отпускать кнопку мыши, например, визуализировать добавление элемента, куда это будет перемещено в и визуализировать удаление элемента от того, откуда это было перемещено).
Существует несколько типов отмены. Самой простой является одноэтапная отмена (как в Блокноте), но это достаточно часто. Лучше многоступенчатая отмена (как в Word), который покрывает большинство случаев, но не позволяет отменять определенное действие, не отменяя все действия, которые были сделаны после него. Это может быть решено определенной для объекта отменой, например, в форме со многими полями (или ячейки в сетке как в Excel), щелкание правой кнопкой по полю показало бы список предыдущих значений в том поле. Для удаленных данных у Вас могло быть хранилище удаленных данных, от того, где пользователь может восстановить вещи после удаления их (например, если пользователь удаляет слайд в Powerpoint). И наконец у Вас могла быть история полной версии каждого изменения, например, поскольку Локальная История работает в ИДЕЕ IntelliJ - делают запись истории каждым разом, когда файл сохранен (и сохраните все автоматически после пары секунд неактивности).
Диалоговые окна подтверждения не помогают. Пользователь мог бы считать его в первый раз, но вскоре после того, как то нажатие "OK" в диалоговом окне становится автоматизированным процессом, и пользователь нажмет Enter, прежде чем диалоговое окно даже обнаружится. Затем диалоговое окно подтверждения стало просто источником ненужного механизированного труда. Пользователь всегда уверен в выполнении некоторого действия, даже когда он неправ - иначе он не сделал бы того действия.
Две вещи сразу приходят на ум.
Первым является понятие прогрессивного раскрытия, т.е. только покажите пользователям, в чем они нуждаются для выполнения задачи под рукой. Сколько UIs мы видели, что имеют сотни средств управления на единственном диалоговом окне? Разделите средства управления на их соответствующие задачи и только позвольте пользователю делать единственную задачу за один раз. Кнопка Advanced на диалоговом окне является одним способом реализовать это, и это понятие обладает дополнительным преимуществом разделения продвинутых пользователей от заурядных пользователей. Заурядные пользователи, менее вероятно, попробуют выполнить задачу, которая, вероятно, будет вне их уровня квалификации.
Второе должно усилить понятие мастера для сложных задач. Я знаю, что мастера упали из стиля, но если задача является действительно сложной, пользователи обычно ценят содержание их рук первые несколько раз. Хорошим примером этого является интерфейс мастера WinZip. Если Вы никогда не архивировали файл прежде, этот мастер использует логическую прогрессию для обхода Вас посредством процесса. И затем, после того как Вы стали довольными им, можно переключиться на классический интерфейс к zip-файлам более быстро.
Конечно, сделать все это требует поддержки не только разработчиками, но и управлением. И это, к сожалению, то, где многие из этих сражений удобства использования проиграны.
Хорошо существует несколько различных способов, которыми я могу / движение об этих типах вещей.
Это всего несколько идей, что я имею.