Руководство по проектированию для действий
Как с другими частями интерфейса пользователя в OS X, действия должны иметь непротиворечивый стиль так, чтобы пользователи могли легко использовать их. Следующие инструкции помогут Вам достигнуть того непротиворечивого стили.
Для конкретных примеров хорошо разработанных действий смотрите на примеры проекта действия, установленные в /Developer/Examples/Automator
.
Что делает хорошее действие?
Возможно, самая важная инструкция должна сохранить Ваше действие максимально простым и фокусируемым. Действие не должно пытаться сделать слишком много; путем выполнения, таким образом, это рискует слишком специализироваться, чтобы быть полезным в различных контекстах. Действие должно выполнить узко определенную задачу хорошо. Если действие, Вы продолжаете работать, кажется, что является громоздким, как будто это пытается сделать слишком много, рассмотрите повреждение его в два или больше действия. Маленькие, дискретные действия лучше, чем большие и сложные действия, комбинирующие несколько различных элементов.
Действие должно сообщить пользователю, что продолжается, и если оно встречается с ошибками, оно должно сказать пользователям о любых корректирующих шагах, что они могли бы взять. Если действие занимает особенно длительный период для завершения, рассмотрите отображение определенного индикатора хода выполнения. (Automator выводит на экран круговой неопределенный индикатор хода выполнения, когда работает действие.)
Необходимо обеспечить действие в как можно большем количестве локализаций. Посмотрите Разработку Действия для получения дополнительной информации об интернационализации действий.
Ввод и вывод действия
Функциональная совместимость критически важна в реализациях действий. Полноценность действия ограничивается типами данных, которые она может принять от других действий и дать другим действиям в потоке операций. Вы указываете эти типы данных в AMAccepts
и AMProvides
свойства действий с помощью Универсальных Идентификаторов типов (UTIs). Следующие инструкции применяются к вводу и выводу действия.
Сделайте типы данных, которые действие предоставляет и принимает максимально определенный. Например, если изображение прибывает из iPhoto, использовать
com.apple.iphoto.photo-object
как идентификатор UTI вместоpublic.image
.Укажите многократные принятые и предоставленные типы, если это не подходяще для действия.
Идеально, действие должно принять и обеспечить список (или массив) указанных типов.
Если Ваше действие не требует ввода и не обеспечивает вывод (такой как действие Паузы), это не должно перечислять типы ввода или вывода. Платформа тогда направит поток данных вокруг действия.
Даже если Ваше действие требует, вводит его, должен все еще быть подготовлен обработать корректно случай, где это не становится введенным.
Для больше на AMAccepts
и AMProvides
свойства и поддерживаемый UTIs, см. Ссылку Свойства Действия Automator.
Именование действия
Следующие инструкции применяются к именам действий:
Используйте долго, полностью описательные имена (например, Добавьте Присоединения к Переднему Сообщению электронной почты).
Запустите имя с глагола, указывающего то, что делает действие.
Используйте множественные объекты на имя — действия должны быть в состоянии обработать многократные элементы, возражает ли это быть URLs или NSImage.
Однако можно использовать форму единственного числа, если действие принимает только отдельный объект (например, Добавляют Дату к Именам файлов, где может быть только одна дата).
Не используйте “(s)” для указания одного или более объектов (например, Добавьте Присоединение (я). Используйте форму множественного числа.
Пользовательский интерфейс действия
Пользовательский интерфейс действия должен придерживаться следующих инструкций:
Сохраните его простым:
Рефрен от использования полей.
Минимизируйте использование вертикального пространства; в частности используйте всплывающие меню вместо переключателей, даже если существует только два выбора.
Избегите представлений вкладки; вместо этого, используйте скрытые представления вкладки для свопинга альтернативных наборов средств управления, когда пользователи выберут выбор верхнего уровня.
Не имейте повторения меток, что находится в заголовке действия или описании.
Сохраните его маленьким и непротиворечивым:
Используйте поля на 10 пикселей.
Используйте маленькие средства управления и метки.
Дайте кнопкам стандартный стиль «Кнопки» Воды.
Следуйте инструкциям по Воде (как предложено в Интерфейсном Разработчике).
Поведение реализации, ожидаемое в пользовательском интерфейсе — например, снабжая вкладками между многократными текстовыми полями.
Обеспечьте обратную связь и информацию пользователям:
Используйте определенные индикаторы хода выполнения, когда элементу пользовательского интерфейса будет требоваться время для загрузки его содержания; например, действию, представляющему список текущих календарей iCal, возможно, понадобились бы много секунд для загрузки их.
Существующие примеры того, что действие сделает, если это возможно. Например, Делать Последовательное действие Имен файлов имеет область представления маркированный «Пример», показывающий эффект опций действия; примеры имеют тот же размер шрифта и цвет как остальная часть пользовательского интерфейса действия. Рисунок 1 показывает действие, что использование отображает для его примера.
Оптимальный файл и выбор папки и дисплей:
Вставьте всплывающее меню, включающее стандартные расположения файловой системы, такой как Домой, Загрузочный диск, Документы, Рабочий стол, и т.д.
Палитра Cocoa-Automator включает предварительно сконфигурированные всплывающие меню для выбора приложений, каталогов и файлов; используйте эти объекты, где это необходимо. Посмотрите Используя Палитру Какао-Automator для подробных данных.