Каждое приложение ценится за свои функции, то есть за то, что оно может дать пользователю. Бывают универсальные приложения, имеющие много функций, а есть приложения, выполняющие только несколько. Не стоит думать, что чем больше функций у приложения, тем оно лучше. Реализовать качественное выполнение каждой – весьма сложное дело. И когда этих функций много, сложно связать их все между собой в одну программу, чтобы она работала без ошибок и была удобной. Чем меньше функций у приложения, тем более удобным оно является с точки зрения пользователя и тем проще и дешевле его создать.
Множество функций раздражает пользователей из-за сложности найти нужную, поэтому многие разработчики пошли путем упрощения и уменьшения их количества. Существует огромное число приложений, выполняющих всего несколько функций, и каждый, кто всерьез использует возможности смартфона, имеет на нем много разных приложений. Вам также стоит сосредоточиться на выборе самых важных функций, которые стоит реализовать в первую очередь. Не пытайтесь сделать все и сразу – реализуйте вначале самые часто используемые и только затем добавляйте те, которые используются редко. Когда мы пришли делать приложение Аэроэкспресса, то нас попросили добавить в него поиск и покупку билетов, бронирование отелей, табло аэропортов и игру змейка, которая бы работала в офлайн-режиме, пока пользователь летит в самолете. Мы очень долго отговаривали заказчика от этой идеи, объясняя, что это приложение, дающее возможность быстро купить билеты, в результате чего можно получить большее количество довольных пользователей за меньшие деньги.
Самой простой пример приложения с одной функцией – всем известное приложение-калькулятор. Вы вводите данные, приложение по заранее заданным алгоритмам обрабатывает информацию и выдает результат обработки. Более сложным может быть калькулятор курсов валют или калькуляторы стоимости металлопластиковых окон на основе заданных параметров (такие приложения также существуют).
Приложение должно учитывать возможности смартфона. iPhone 6s распознает силу нажатия на экран, что позволяет сделать интерфейс удобнее и даже превратить экран в весы для миниатюрных изделий или специй. Но любое приложение, созданное на основе этой технологии, будет доступно только владельцам iPhone 6s. Технология 3D Touch, лежащая в основе экрана, чувствительного к нажатию, очень перспективна и быстро развивается, но пока массово не используется в производстве смартфонов, что ограничивает разработчиков, которые создают приложения для массового потребителя, а не только для пользователей премиальных смартфонов.
Далее мы рассмотрим функции, предоставляемые непосредственно аппаратной частью мобильного устройства и программным обеспечением. Это то, что выполняется автоматически, без участия человека. Вместе с работой людей, то есть сервисом, мобильные приложения могут расширять свои возможности до бесконечности.
В первую очередь каждое мобильное приложение – это программное обеспечение, созданное для обработки определенной информации. Если у программы не будет информации, ей нечего будет обрабатывать и ее существование будет лишено смысла. Информацию для программы кто-то должен дать: или вы, или разработчик. Строго говоря, часть данных дает разработчик, часть – пользователь, а еще часть данных программа может сама брать из интернета или карты памяти.
Получив информацию, приложение начинает ее обработку в соответствии с заложенными в нее инструкциями. Важно заметить, что каждое приложение может выполнять только те задания, которые в него заложили разработчики, в такой последовательности и так, как они задумали. Выполнение заложенных алгоритмов выражается в разном виде, например часть данных выводится на экран и приносит пользу для пользователя, информируя его о чем-либо. Если разработчики сделают ошибку, программа не будет работать так, как того ожидает пользователь. Если пользователь сделает ошибку, то дальше все зависит от того, какую реакцию на нее заложили в приложение разработчики. Если вы введете слово с ошибкой в поисковую строку Google, она исправится автоматически. Похожие решения можно предусмотреть и в мобильном приложении.
Полученную информацию приложение может сохранить для дальнейшего использования. Самый простой пример – приложение для фотокамеры. Перед сохранением информации, приложение может ее изменить в соответствии с существующими инструкциями, например, превратив цветную фотографию в черно-белую через изменение настроек фотокамеры. Более сложный пример – шифрование информации с помощью популярного криптографического алгоритма AES256.