вторник, 19 февраля 2013 г.

Практические рекомендации по написанию мобильных приложений

Не так давно App Quality Alliance (AQuA) предоставил на своем сайте детальную подборку рекомендаций по разработке приложений для мобильных устройств. При этом AQuA не делает акцент на какой-либо конкретной платформе, будь то – iOS, Android или Windows Phone, рекомендации будут применимы в равной степени для всех современных мобильных операционных систем.
Документ покрывает большое количество вопросов и ньюансов, таких, как использование сети, рекомендации относительно повышения производительности и увеличения срока жизни батареи. Разумеется, данный список носит исключительно рекомендательный характер, однако, соблюдение его пунктов позволит создавать более надежные и удобные в использовании приложения. Ниже приведена краткая выборка ключевых моментов, рассмотренных в руководстве.

Общие рекомендации

  • Приложение должно запрашивать только те права у системы, которые необходимы для работы основного функционала. Особенно это касается критических для пользовательской безопасности прав, например, на чтение контактов или на выполнение платных операций. Если для реализации небольших дополнительных улучшений нужны такие права – правильнее отказаться от их реализации.
  • Приложение должно уведомлять пользователя о всех действиях, которые отнимают время более чем на 5 секунд (показ прогресс-бара, splash-screen и т. п.)
  • Если приложение сохраняет данные в памяти смартфона – позаботьтесь про мониторинг и оповещения пользователя о нехватке свободного места в памяти.
  • В случае использования внешней памяти – следите за событиями извлечения (подключения) SD-карты.
  • Если приложение использует аппаратные средства (акселерометр, камеру, GPS и т. д.) – позаботьтесь об их своевременном выключении. Постарайтесь минимизировать время использования датчиков. По возможности используйте сторонние источники координат (напр. Passive provider для Android).
  • Если приложение собирает или отправляет какие-либо персональные данные – обязательно уведомляйте пользователя, какие именно данные используются и куда отправляются. Позаботьтесь о безопасности хранения и передачи таких данных (например, используйте шифрование).

Рекомендации по разработке UI

  • Если платформа поддерживает отдельные кнопки для навигации (Back, Home, Menu и т. д.) – используйте их. Не переопределяйте поведение стандартных органов управления.
  • Не затачивайте приложение под параметры конкретного устройства: размер или разрешение экрана, ориентацию, средства ввода. Приложение должно быть готово к корректной работе на всех устройствах, которые входят в целевую аудиторию.
  • Агрегируйте уведомления, если это позволяет используемая мобильная платформа. Уведомления должны показывать только ту информацию, которая относится к основному функционалу приложения. Не используйте временные уведомления для входящих событий (например: телефонный вызов, SMS-сообщение).
  • Используйте альтернативные наборы ресурсов для получения лучшего интерфейса на устройствах с различными параметрами экрана (размер, разрешение, ориентация).
  • На устройствах с большой диагональю и dpi, списки и меню не должны занимать всю ширину экрана. При отображении текста показывайте не более 100 (оптимально – 50 - 75) символов в строке.
  • При использовании виджетов домашнего экрана, убедитесь в корректности его отображения на устройствах с различной конфигурацией экрана.
  • При использовании сенсорных экранов без поддержки стилуса, позаботьтесь о соблюдении требований, указанных в гайдлайнах для соответствующей платформы (размер иконок, элементов управления и т. д.)
  • Задержки более 110 – 200 мс заметны пользователю. Старайтесь проектировать приложение так, чтобы минимизировать это значение.
  • Показывайте контент столько времени, сколько необходимо для целостного его восприятия (например, при использовании слайд-шоу).

Работа с сетью

  • Все операции с сетью не должны блокировать интерфейс пользователя. Выполняйте их в отдельном потоке.
  • Рекомендуется использовать HTTP 1.1 с конвейеризацией запросов.
  • Избегайте периодических обращений приложения к сети. Группируйте данные для отправки в пакеты, и отправляйте их, по возможности, реже.
  • Избегайте создания дополнительных и одновременных сетевых соединений. По возможности используйте уже открытое соединение для передачи как можно большего количества данных. После передачи обязательно закрывайте соединение.
  • Используйте кэширование данных, при необходимости подгружая требуемый контент из сети. При этом, обязательно позаботьтесь о времени жизни кэша, по его истечении обновляйте или удаляйте сохраненные данные.
  • По возможности используйте Wi-Fi соединение вместо GPRS/3G.
  • Контролируйте соединение с сетью, сообщайте пользователю о разрыве соединения.

Более детально с рекомендациями можно ознакомиться в официальном документе. Дополнительные подборки рекомендаций можно найти на сайтах AT&T и GSMA.

Автор: Сергей Макаренко

пятница, 8 февраля 2013 г.

Kharkiv tour at Akvelon

Легко любить Париж! И Лондон, и Венецию, и величественный Рим, и даже колоритный национальный Львов. Города-легенды с притаившейся в закоулках историей.
А вот Харьков... Наш будничный город, в котором живем и работаем каждый день, и, казалось бы, все о нем знаем. Приезжают иногородние гости – показываем Зеркальную струю, площадь Свободы и еще что-нибудь общеизвестное. И, к большому сожалению, на этом для многих харковчан все и заканчивается. Суета городской жизни поглощает, и откуда уж тут взяться любви к родному городу?
Так думали и мы. Пока не встретили Макса Розенфельда. Вот тут и началось.
Вкратце – Максим Розенфельд архитектор, художник, дизайнер, и просто хороший человек :) Вы наверняка видели у галереи АВЭК «Глобус Харькова». Так вот, это творение Макса Розенфельда. С Глобуса, собственно, все и началось. Создавая его Макс узнал о городе столько всего, что дальше просто не мог держать эти знания в себе. Так родился проект «Экскурсии по Харькову с Максом Розенфельдом». С апреля по ноябрь, а то и декабрь, все желающие могут знакомиться с неизвестными сторонами Харькова буквально «ногами» и глазами.
А когда на улице метель или гололед, ноги не особо стремятся к познанию родного города, зато сидя на диване это отлично получается.
В прошедшее воскресенье «экскурсию на диване» вместе с самим Максом и его слушателями мы пригласили к нам в гости. Как всегда – масса эмоций, сюрпризов, неожиданные факты о людях, зданиях, самолетах и танках, Летатлине и куртках Коламбия. В этот раз речь шла о том, какие проекты в Харькове могли бы реализоваться и о том, что может быть визиткой города, кроме всем известных Зеркальной струи, Госпрома, памятника Шевченко.
Оказывается, изобретать летающее судно в конце ХІХ века довелось не только авиаконструкторам, но и известному харьковскому врачу Данилевскому. Его махолет был похож на задумки Леонардо да Винчи, прошел испытания в воздухе, но потом был забыт... Владимир Татлин – легендарная и скандальная личность в истории мирового авангарда и конструктивизма. И что вы думаете? Да, он родился и жил до 13 лет в Харькове, а уже потом учился у Пикассо, прославился на весь мир и стал одним из главных классиков ХХ века.
Еще Макс посвятил нас в секреты украинского кинотворчества и того, как за 3 дня можно почти из ничего сделать летающую махину с размахом крыльев 8 метров. И в историю об уникальном «сухопутном линкоре» -Т-35. И, кстати, один из них стоял примерно до 50-х годов прямо на Московском проспекте возле гостиницы Турист. А на месте Дворца Спорта в 30-х годах мог быть построен стадион, самый большой в Советском Союзе. Вырытый под него котлован до сих пор есть – на пустыре за Дворцом (можно сходить проверить :)). А про самолет К-7 конструктора Калинина  – отдельная трагичная, но тоже родная, харьковская история.
И это всего лишь за одну «экскурсию»...

После экскурсий с Максом Розенфельдом не любить Харьков невозможно. И все потому, что появляется жгучий и неуталенный интерес. Хочется продолжать слушать и раскапывать самому про дома, улицы, людей... Кстати, а Вы знаете, что сейчас находится в губернаторском дворце Бахтина? И кто жил в Вашем доме раньше? А почему Московский проспект ведет вовсе не на Москву, а на Ростов?