Естественный интерфейс
Нет, безусловно нет. Конечно, переход на естественный интерфейс обычно улучшает внешний вид приложения, но это улучшение почти всегда является побочным эффектом. В реальном мире мы постоянно делаем какие-то предположения относительно того, как следует взаимодействовать с различными предметами. Например, за рукоятку обычно тянут, а вращающуюся дверь обычно толкают. Как правило, мы предполагаем, что поворот дискового регулятора по часовой стрелке увеличит регулируемую величину, а поворот против часовой стрелки уменьшит ее. Более крупный и качественный экран iPad позволяет внедрить эти концепции в ваши приложения. Если вы пишете календарное приложение, не пытайтесь заново изобрести способ просмотра календаря (да и скорее всего, вам это не удастся). Пользуйтесь проверенными «пользовательскими интерфейсами» настенных и ежедневников, они существуют уже давно, и у них было достаточно времени для выработки оптимальных способов взаимодействия.
Понимаю, я должен внедрять то, к чему люди привыкли. Но разве выбор не зависит от того, кто эти люди?
Безусловно! Это весьма тонкий, но очень важный момент. Использование знакомых интерфейсов и их аналогов из реального мира позволяет использовать существующие знания пользователей, но успех зависит от того, имеются ли у пользователей эти знания в той или иной степени. Если приложение рассчитано на международную аудиторию, вы должны учесть специфику всех национальных групп. Если одна часть пользователей привыкла, что неделя начинается с понедельника, а другая — с воскресенья, неправильный выбор может вызвать крайнее раздражение пользователей (и нарушить то самое «ощущение близости», которое вы пытаетесь сформировать).
Хранения фотографий в базе данных. Хорошо ли это?
Для нашего случая сойдет, потому что такое решение упрощает реализацию, но в общем случае предпочтительнее использовать решения, которые лучше масштабируются. Один из возможных вариантов — «упаковка» изображения в отдельной сущности Core Data с отложенной загрузкой (вместо загрузки в составе основной сущности Fugitive). Лучше хранить изображение в файловой системе, и включить в сущность Core Data URL-адрес (путь) к нему. Оба решения не требуют значительных изменений в готовом коде, но обеспечивают гораздо лучшую масштабируемость при увеличении количества (и размера) изображений.
Мы возвращаемся к пользовательскому интерфейсу после реализации функциональности — это нормально?
- Дата: 11-01-2015, 23:39