Connect with us

Статьи

Умная вещь – в каждый дом

По оценкам экспертов, 99% объектов физического мира к Интернету еще не подключены. Так что впереди у нас с вами большая работа.

INWION

Опубликовано

/

     
     

Зарождение популярного тренда Интернета вещей можно отнести к 1990 году, когда один из основателей протокола TCP/IP мистер Ромки подключил к Сети свой тостер. Конечно, сейчас такими новостями никого не удивишь. Множество вещей, окружающие нас, наделены интеллектом: часы, которые подскажут короткий путь без пробок; напульсники круглосуточно мониторят ваше физиологические показатели здоровья, свет знает, когда нужно включаться. В каких сферах умные вещи прочно обосновались, и в какую сторону пойдет дальнейшее развитие концепции Интернета вещей – в колонке руководителя проекта Умный дом INWION Сергея Пирогова.

1

Привычная вещь+интернет

Чуть-чуть теории. Интернет вещей (англ. Internet of Things, IoT) — это концепция, которая рассматривает объединенные в единую сеть физические объекты («вещи») как единое явление. Оно влияет на общественную жизнь, отчасти исключает необходимость участия человека в различных действиях. При этом объединенные “вещи” способны общаться друг с другом или внешней средой и минимизируют участие человека в принятии решений.

“Интернет вещей” от существующего Интернета отличает несколько тенденций: фокус на машинах, а не на человеке; существенно большее число объектов, при этом меньшего размера и с невысокой скоростью передачи данных, а также необходимость создания новой инфраструктуры и альтернативных стандартов.

Отдельные разработки, как например холодильник, заказывающий еду через интернет, были доступны и ранее, но существовали как технологический эксперимент, либо как баснословно дорогая вещь. Доступность и совместимость, пожалуй, именно так можно охарактеризовать тренд IoT.

Снижение цен на устройства при возрастающей мощности; рост популярности смартфонов и планшетов, развитие высокоскоростного беспроводного и мобильного интернета — все это факторы, способствующие быстрому росту Интернета вещей.

Ожидается, что к 2020 году на 1 человека в мире будет приходиться 6.6 умных устройств. Кроме физического роста пользователей Интернет вещей будет наращивать свое присутствие в различных отраслей экономики и бытовой жизни. Сегодня сегментация в IoT по сферам применения выглядит так: городская среда и общественная безопасность (интеллектуальные города, “умные” счетчики в ЖКХ, “умный” транспорт и технологии геолокации); розничная торговля и банковские услуги (RFID-метки, электронные платежные системы и устройства); электроэнергетика; здравоохранение. И, наконец, частная жизнь с “умными” домами, “умными” автомобилями и потребительской телематикой.

Умные вещи уже здесь

Интернет вещей уже присутствует в жизни человека. Пока в основном это «умные дома». Например, в США более 20% экономии энергоресурсов происходит благодаря автоматизации домов и офисов. Интеллектуальные системы анализируют количество человек в комнате, чтобы включить кондиционер на ту или иную мощность, верно определить уровень освещенности комнаты или включить подогрев пола.

Мобильные приложения и современные технологии ощутимо меняют окружающие человека вещи, делают их не только умными, но и удобными.

Например, IBM для анализа погоды использует подключенные к интернету датчики Weather Company. Устройства собирают показатели температуры, давления, влажности и выдают пользователям порядка 700 тысяч прогнозов в секунду. Такой подробный анализ данных о погоде позволяет экономить. По данным IBM, ежегодно в США страховщики выплачивают порядка миллиарда долларов только тем водителям, чьи машины пострадали от града. А в Техас приводят такую статистику – повышение температуры с 32 до 35 градусов Цельсия увеличивает общие расходы на электроэнергию на 24 миллиона долларов в день.

В странах, где автоматизация стала вполне привычным явлением, между понятиями «умный дом» и «экономия» ставят знак равенства.

Датчики протечки воды отправят вам SMS – сообщение, если затопило подвал, гараж или квартиру, а чаще всего – сами перекроют трубу и существенно сократят ущерб. Контроль освещения, термостатов, геолокационный сервис, оценивающий метеоусловия, управление из любой точки мира; оповещения о не выключенном утюге или непрошеных гостях – большинство этих функций сегодня доступно и российским пользователям, например, в отечественной системе INWION.

3

Работать на человека

Нас окружает все больше сложных вещей. А как говорил Шерлок Холмс, вещи могут рассказать о человеке больше, чем он сам. Поэтому не случайно IoT набирает популярность в медицине, где новые технологии позволяют раньше и точнее ставить диагнозы и чуть ли не в режиме онлайн отслеживать течение болезни.

Ранее для сбора данных работы сердца, частоты пульса и дыхания необходимо было прицеплять к пациенту массу датчиков и приборов, сегодня же достаточно надеть майку со встроенными сенсорами. Медицинские работники просматривают полученную медицинскую информацию в удаленном доступе с помощью любого устройства с установленным приложением. Микросхемы, прикрепленные к таблетке, передают данные из желудка; ингаляторы для астматиков сверяются с данными о погоде; «умная» зубная щетка сообщает зубному врачу, когда ты чистил зубы; офисное кресло анализируют положение вашей осанки и передает данные о вашем позвоночнике – умные гаджеты уже сегодня работают на человека.

4

По оценкам экспертов, 99% объектов физического мира к Интернету еще не подключены. Так что впереди у нас с вами большая работа.

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Рекламные сети

Хотите увеличить CPM на 200%? Используйте гендерные данные!

Платформа монетизации Mobfox за счет использования гендерных данных может в разы увеличить доход вашего приложения.

Ларри Забрянский (Mobfox)

Опубликовано

/

Недавно мы начали использовать в наших рекламных таргетингах информацию о поле пользователей. И в результате мы получили потрясающие результаты! В среднем, CPM увеличился на 86%! А некоторые из наших издателей отметили увеличение CPM на 200%, когда их запросы на рекламу были обогащены гендерными данными. Другими словами, наши DSP готовы платить значительно больше за таргетированный трафик, несущий информацией о поле пользователя.

Лучший способ использовать гендерные данные Mobfox

Даже если у вас нет библиотеки SDK Mobfox, вы все равно можете воспользоваться расширенными данными, правда только для 10-15% своего трафика. Однако, как только SDK будет интегрирован, мы можем легко проанализировать данные мобильного приложения, и обогатить его запросы на рекламу данными о поле пользователя с точностью до 90%, тем самым существенно повысить доход от показов рекламы.

Излишне говорить, что чем больше рекламодатели знают о пользователях, тем более эффективными могут быть их рекламные кампании. Для Mobfox пол – это только начало пути, но это важный шаг в правильном направлении для точного сегментированного таргетинга аудитории, который приносит пользу как рекламодателям, так и владельцам приложений.

Какие еще преимущества даст SDK Mobfox?

Обогащение запросов на рекламу данными о пользователе для точного таргетинга, не единственная причина интегрировать SDK Mobfox. В целом, издатели использующие нашу SDK имеют лучшие показатели по заполняемости Fill Rate, к ним больше интерес со стороны рекламодателей, они получают возможность использовать практически любые форматы рекламных объявлений включая HQ видео, у них лучше показатели по прозрачности и минимальная задержка показа (Latency).

Более того, мы заметили еще одну положительную тенденцию – у ряда наших издателей произошел скачок на более чем 30% по количеству показов (Render Rate)! Учитывая, что с SDK запросы на показ рекламы идут напрямую из приложения, а не через медиатор, это не просто хорошая статистика, но и существенный материальный доход для приложения.

Кейс Mobfox: увеличение дохода в Musi на 31%

Комментарии
Продолжить чтение

Статьи

Понимание и освоение тестирования Android-приложений: часть 1

Сегодня мы подробно обсудим тестирование на Android, поможем вам его понять и освоить. Да, я знаю, что опыт тестирования на Android никогда не был простым. Очень трудно понять его общую концепцию, соединяя разные части головоломки между собой. Но после прочтения этой и последующих статей, я уверен, вам станет намного легче.

AppTractor

Опубликовано

/

Автор:

Представляем вашему вниманию статью Аритры Роя, инженера-проектировщика и Full-stack разработчика.

Сегодня мы подробно обсудим тестирование на Android, поможем вам его понять и освоить. Да, я знаю, что опыт тестирования на Android никогда не был простым. Очень трудно понять его общую концепцию, соединяя разные части головоломки между собой. Но после прочтения этой и последующих статей, я уверен, вам станет намного легче.

Основная мотивация написания этой серии статей — дать вам четкое представление о всем разнообразии тестирования на Android и сделать его простым и понятным. Даже если раньше у вас не было опыта тестирования, эта серия станет отличным началом в вашем путешествии.

Но даже если вы уже давно проводите тестирование на Android, но хотите повысить свой уровень, чтобы получить более глубокое понимание различных типов тестирования, получить понимание инструментов и фреймворков, то вы в нужном месте.

Зачем беспокоиться о тестировании?

Перед тем, как глубоко погрузиться в различные типы тестирования и доступные фреймворки, вы должны иметь четкое представление о том, почему должны заботиться об автоматическом тестировании.

В течение долгого времени мне было непонятно, почему я должен тратить время на автоматические тесты вместо того, чтобы делать это вручную обычным способом. Я знал так называемые «теоретические» причины, но не были ясны фактические последствия написания и не написания тестов.

Уверенность в вашем коде

Я несколько раз видел, как разработчик сделал определенную функцию и поделился сборкой с командой QA только для того, чтобы увидеть ошибку уже на первом раунде тестирования. Даже самые простые тесты давали сбои.

Этого никогда бы не случилось, если бы разработчик решил писать тесты при разработке приложения. Определение каждого случая успеха и неудачи и написание тестов для них гарантируют, что вы уверены в коде, который пишете и поставляете.

Избавление от ошибок регрессии

Предположим, вы много работали над новой функцией и выпустили ее в релиз, но уже в течение первого дня обнаружили, что какая-то старая и уже работающая функция ломается на ровном месте. Вы абсолютно не знаете, что на самом деле пошло не так, и, вероятно, потратите много времени на выявление этих «ошибок регрессии» и их исправление.

Этого бы никогда не случилось, если бы у вас были тесты, написанные для ваших старых функций. Вы можете часто запускать эти тесты во время работы над своей новой функцией и мгновенно понимать ошибку на основе неудачного теста и определять, что на самом деле пошло не так.

Написание минималистичного кода

После того, как вы начнете писать тесты для своего кода, вы, в конечном итоге, будете писать намного меньше продашн кода, чем бы писали без тестов.

Предположим, что вы следуете Test-Driven Development (TDD), и написали тест. Теперь вашей основной целью будет написание только нужного кода, чтобы пройти этот конкретный тест. Вы не будете писать лишний или ложный код, который вы написали бы в противном случае.

В конечном итоге вы будете экономить время и быстрее выпускать безупречные и надежные функции.

Пирамида тестирования

Теперь давайте выделим время, чтобы понять пирамиду тестирования. Это, по сути, даст вам очень четкое представление о различных типах тестов, которые вам нужно написать, и о том, как они отличаются друг от друга.

Юнит-тестирование

Это основной блок тестов, которые вы будете писать в своем приложении – около 70% ваших общих тестов. Это небольшие, сфокусированные тесты, которые могут запускаться прямо на вашей локальной машине, и, поскольку они работают непосредственно в вашей локальной среде, они очень быстрые, а время их выполнения очень мало.

Вы должны писать эти типы тестов для разной бизнес-логики. Каждый тест должен быть небольшим и целевым, и предназначен только для конкретного сценария и не более того. Вероятно, у вас будут сотни (или даже тысячи) этих тестов при разработке приложения.

Единственным недостатком этих тестов является то, что они не работают на реальном устройстве, и их точность меньше по сравнению с другими типами тестов. Вы будете использовать различные методы, чтобы эмулировать разные состояния и поведение, и не всегда будете уверены, действительно ли они будут работать на реальном устройстве.

Интеграционные тесты

Это тесты, которые будут фактически выполняться на реальном устройстве, а не на локальной машине, и предназначены для проверки интеграции между различными модулями, работающими вместе.

Эти тесты обычно проверяют, работают ли два разных модуля или компонента вместе так, как должны. Это сильно отличается от тестирования бизнес-логики, о котором мы говорили ранее. Как правило, эти тесты являются средними по размеру (больше, чем юнит-тесты, но короче, чем end-to-end тесты) и должны составлять около 20% от общего количества тестов, написанных для вашего приложения.

Простым примером интеграционного теста будет проверка того, что нажатие на определенную кнопку в Activity приведет вас к другому действию. Это не тест единицы логики, находящейся в определенной Activity, а скорее проверка интеграции между двумя отдельными действиями, работающими вместе.

Поскольку эти тесты выполняются на реальном устройстве или эмуляторе, они, как правило, намного медленнее, чем юнит-тесты, и вы, скорее всего, захотите запускать их намного реже. Но точность этих тестов намного выше, чем у предыдущих, поскольку эти тесты работают на реальном устройстве с реальной ОС и проверяют подлинное взаимодействие между различными компонентами вашего приложения.

End-to-end тестирование

Предположительно, вы будете использовать лишь несколько таких тестов. В идеале вы должны постараться сделать так, чтобы около 10% ваших тестов были end-to-end вариантами. Как следует из названия, вы будете использовать эти тесты для полного тестирования потока – с начала и до конца.

Предположим, ваше приложение имеет регистрацию, состоящую из нескольких шагов, и вы хотите протестировать весь поток – тогда вам помогут именно end-to-end тесты. Они также будут выполняться на реальном устройстве или эмуляторе, как и тесты интеграции, и, следовательно, будут довольно медленными в исполнении.

Но точность этих тестов намного выше, поскольку они также выполняются на реальном устройстве, и их объем намного больше, так как они полностью тестируют полную функцию или поток полностью от начала и до конца.

Поскольку объем этих тестов может быть довольно большим, может оказаться довольно сложным понять то, что на самом деле пошло не так, если конкретный тест не удается.

Android Dev Подкаст. Выпуск 17. Droidcon Moscow, Multi-window, тестирование и профилирование

Типы тестирования на Android

Теперь, когда у вас есть четкое представление о различных типах тестов, которые вы можете написать, давайте попробуем разобраться в типах тестов, доступных на платформе Android.

Не волнуйтесь, они не очень отличаются от того, что мы обсуждали ранее, но в Android мы склонны классифицировать тесты на основе того, работают ли они на локальном компьютере или на реальном устройстве/эмуляторе.

Локальные unit-тесты

Это те тесты, которые могут выполняться локально на вашей девелоперской машине. Эти тесты находятся в module/src/test/java и не имеют никакого доступа к любым API-интерфейсам Android.

Предположим, что у вас есть метод с именем validateEmailAddress(String), и вы хотите проверить его работоспособность. Вы могли бы написать очень маленькие и целенаправленные тесты для каждого сценария этой функции, например, когда электронное письмо является нулевым, пустым или недействительным.

Для модульного тестирования мы используем JUnit, который является очень популярным фреймворком юнит-тестирования, помогая нам писать четкие и понятные тесты. Мы также можем использовать Robolectric, который является еще одной популярной платформой тестирования, позволяющей нам также тестировать зависимости Android.

Инструментальные тесты

Это те тесты, которые относятся к категории тестов «Integration» и «End-to-End». Все эти тесты находятся в module /src/androidTest/java.

Обратите внимание на добавление префикса «android» перед «тестом», означающим, что эти тесты должны запускаться на устройстве Android или эмуляторе и иметь доступ к зависимостям Android. Они в основном известны как «source sets», если вам интересно.

Эти тесты довольно медленны в исполнении, так как каждый раз тест создает новый APK и запускает его вместе с тестируемым исходным приложением. Оба этих приложения работают в одном процессе, что позволяет тестовому приложению получать доступ к методам и полям в реальном приложении и автоматизировать взаимодействие с пользователем.
Вы можете использовать эти типы тестов для автоматизации нажатия на любую кнопку, ввода текста, просмотра некоторых Views, прокрутки списков и выполнения различных действий в приложении, которые только пользователь может выполнить вручную.

Теперь у вас может возникнуть вопрос, почему эти тесты называются «инструментальными»? Это связано с тем, что они используют Android Instrumentation API через InstrumentationRegistry для управления компонентами Android и их жизненными циклами вручную, вместо того, чтобы позволять системе их контролировать.

Наиболее популярным фреймворком, который мы используем для написания инструментальных тестов, является Espresso. Но мы также можем использовать другие фреймворки, такие как UIAutomator, для написания тестов, которые охватывают несколько приложений одновременно, на что Espresso не способен.

Например, предположим, что вы хотите проверить, можете ли поделиться определенной фотографией из своего приложения с другим сторонним приложением. Здесь мы хотим проверить взаимодействие нашего приложения с другими сторонними приложениями, в которых UIAutomator может вступить в игру.

Выводы

Итак, к настоящему времени у вас должна быть довольно хорошее понимание того, почему вам нужно писать тесты для своего приложения. А также понимание различных типов тестов, которые нужно писать.

Мы только поверхностно обозрели тестирование Android-приложений и в следующей статье разберем некоторые мифы о тестировании, еще расскажем о различных инструментах тестирования и доступных фреймворках и многом другом. Так что оставайтесь с нами

Комментарии
Продолжить чтение

Маркетинг и монетизация

Оптимизация, защита данных и интерактив: тренды 2018 года в индустрии мобильного маркетинга

18 января в Москве состоялся TargetSummit Meetup. Одним из спикеров мероприятия стал менеджер по User Acquisition в ZeptoLab Павел Бабуров, который рассказал о главных трендах 2018 года, которые повлияют на рекламную индустрию. Мы записали основные моменты его выступления, посвященного тенденциям в техническом развитии платформ, правовом регулировании и в выявлении фальшивого трафика.

Анна Гуляева

Опубликовано

/

Первой значимой тенденцией является стремление крупных платформ к большей оптимизации рекламных кампаний. В прошлом году Facebook запустил value-оптимизацию рекламных кампаний. Она заключается в получении от рекламодателя данных о том, сколько дохода принес каждый пользователь, пришедший с Facebook. На основе этой информации платформа может сделать следующую кампанию более точно нацеленной на людей, приносящих максимальный доход рекламодателю. Похожий инструмент сделал и Google. Эта тенденция продолжит развиваться в этом году среди менее крупных компаний, которым сейчас проще посмотреть, куда будут двигаться гиганты индустрии, чтобы потом дополнить собственные инструменты на основе этих функций.

Другим трендом в области оптимизации рекламных кампаний становится автоматизация таргетинга. Сейчас существуют тысячи параметров, по которым можно настроить кампанию, и тысячи источников трафика. Поэтому человеческий фактор играет все более важную роль, и автоматизация таргетинга может значительно сократить сумму упущенной прибыли. В этом плане 2018 год будет менее прорывным, но, вероятно, в 2019 и 2020 такие функции станут более массовыми, и паблишеры, не имеющие таких возможностей, не будут востребованы.

Важным событием в 2018 году станет закон «Общие положения о защите данных», или GDPR, который вступит в силу в Евросоюзе 25 мая. Цель GDPR — усилить защиту пользовательских данных компаниями. Во-первых, все данные с устройства пользователя будут считаться персональными и должны будут храниться в зашифрованном виде. Во-вторых, пользователь будет иметь право получить все эти данные и потребовать от компании удалить их. Этот закон затронет практически всю индустрию: рекламные сети, решения для трекинга и аналитики и так далее. За невыполнение закона компания будет оштрафована на 20 миллионов евро или на 4% от годового мирового оборота компании за предыдущий финансовый год, в зависимости от того, что будет больше.

В области креативов с 2016 года все большее значение приобретает использование интерактивных элементов в рекламе. В случае с играми это может быть небольшое демо в начале, середине или конце рекламного ролика, в которое можно сыграть и принять решение, стоит скачивать игру или нет.

Продолжат развиваться и форматы, связанные с технологиями VR, например, статичные баннеры на 360 градусов или видео. Такие решения уже поддерживаются несколькими платформами.

С развитием рекламных сетей развивается и фрод. В 2016 и 2017 году появилась проблема атрибуционного фрода, которая связана с тем, что паблишеры пытаются реатрибуцировать на себя конечных пользователей, то есть, в этой ситуации вы платите за собственных пользователей, которые у вас уже были. Эта разновидность фрода является одной из самых сложных для обнаружения. Решение этой проблемы можно найти только совместно с App Store и Google Play. Активно работать в этом направлении начали, например, Adjust. Компания начала получать информацию о поведении пользователей. Например, фрод можно выявить, если после клика на установку сессия составила 0,0 секунд или требуемый клик был сделан после клика на установку. В 2018 году подобное сотрудничество будет продолжаться.

Руководство Adjust “Основы атрибуции мобильных приложений”

Комментарии
Продолжить чтение

Разработка

Интересные материалы для разработчика мобильных приложений #197 (15-21 января)

В новом дайджесте мы рассказываем про особую магию HQ Trivia, самую необычную головоломку в Google Play, мгновенную локализацию, итоги 2017 года и перспективы 2018.

Леонид Боголюбов

Опубликовано

/

Пожалуй, самая необычная головоломка на Google Play

Я недавно подсчитал, что уже 5 лет занимаюсь созданием игр в свободное от основной работы время. За этот период я сделал несколько игр, которые можно назвать успешными, если судить по количеству загрузок. Но по настоящему, я горжусь только последней, она изображена на картинке выше. Нет, это не игра про лутбоксы. Это набор головоломок, основная идея которого в том, чтобы объединить разноплановые головоломки одним сюжетом.

Распознавание жестов движений на Android используя Tensorflow

В сегодняшние дни есть много разных способов взаимодействия со смартфонами: тач-скрин, аппаратные кнопки, сканер отпечатков пальцев, видео камера (например система распознавания лиц), D-PAD, кнопки на гарнитуре, и так далее. Но что насчет использования жестов движений?

Реверс-инжинеринг iPhone 2G

Для проведения опытов нам понадобится сам телефон порвергнутый Jajebreak’у, программа IFunBox для просмотра и модификации системных файлов, дизассемблер IDA, HEX редактор. На моем телефоне установлена IOS 3.1.3, но данные модификации будут работать и на других версиях(может быть).

 iOS

 Android

 Разработка

 Аналитика, маркетинг и монетизация

 Устройства, IoT, AI

Комментарии
Продолжить чтение

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X

Спасибо!

Теперь редакторы в курсе.