Как стать автором
Обновить

Компания Touch Instinct временно не ведёт блог на Хабре

Сначала показывать

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов

Время на прочтение12 мин
Количество просмотров31K
image

Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сцены Bill Graham Civic Auditorium Apple выпустила в открытое плавание SiriKit. Фактически, появляется новая отрасль разработки, где должны быть свои проектировщики, архитекторы и разработчики. Идеальный момент, чтобы поговорить про голосовые помощники и api для них.

В этой статье не будет подробных туториалов. Это статья об идеях и интересных технических деталях, на которых построены инструменты для сторонних разработчиков основных игроков рынка: Apple Siri, Google Assistant и Алисы от Яндекса.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии11

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter?

Время на прочтение9 мин
Количество просмотров11K

(*одно из значений слова flutter — порхать)


Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться.


Дисклеймеры:


  • для понимания нужно иметь стартовые знания о Flutter;
  • рассуждаю с точки зрения Android, про iOS — это не ко мне;
  • не являюсь специалистом по Flutter/Dart, подхожу с позиции новичка;
  • в некоторых местах опускаю второстепенные моменты (например, реализации вспомогательных функций), найти недостающее можно в полном коде проекта.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии12

Дизайн в условиях хакатона

Время на прочтение5 мин
Количество просмотров11K


Меня зовут Алиса, я старший дизайнер в Touch Instinct. Мы — аутсорс-компания. Скорость — один из важнейших критериев оценки нашей работы, наравне с качеством. Иногда для подготовки предложения для нового клиента нужно изучить, придумать и воплотить в жизнь концепцию приложения всего за пару дней. В таких ситуациях нет права на ошибку.

В марте я выступала на хакатоне, который мы организовали вместе с Партией еды. Рассказала участникам, как сделать хорошо за короткий срок. По мотивам лекции подготовила статью-памятку. Она будет полезна участникам команд, которые планируют участвовать в хакатонах, а также начинающим дизайнерам.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии4

Android Support Library 28. Что нового?

Время на прочтение10 мин
Количество просмотров24K


По давней традиции вместе с новой версией Android выходит обновление Support Library. Пока библиотека вышла в стадии альфа, но список изменений уже намного интереснее, чем такой же список у Android P. Google несправедливо мало рассказал и написал об основных нововведениях главной библиотеки для Android. Приходится читать исходники и разбираться, в чем особенности новых фич и зачем они нужны. Восстановлю справедливость и расскажу, чем нас порадовал Google:

  • RecyclerView selection — выбор элементов теперь из коробки;
  • Slices — новый способ отображать контент другого приложения;
  • новые элементы дизайна: BottomAppBar, ChipGroup и другие;
  • мелкие изменения одной строкой.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии22

Выиграй 100к на хакатоне Партии еды и Touch Instinct в Петербурге

Время на прочтение2 мин
Количество просмотров3.7K


3-4 марта в Санкт-Петербурге Партия еды делает свой первый большой хакатон. И, кажется, первый в России на тему Фудтеха. Touch Instinct помогает.

Лендинг про хакатон получился знатным, но вопросов от участников все равно много. Мы ответили на все, даже про цыган с первого канала.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии4

Анимация в мобильных приложениях. Тестируем Kite compositor

Время на прочтение6 мин
Количество просмотров10K


В 2017 году для MacOS вышла программа Kite compositor, которая может стать посредником между дизайнерами и разработчиками. Основная идея — быстрое создание анимации и прототипирование с последующей генерацией кода для платформы iOS. На структуре программы мы останавливаться не будем, на эту тему уже есть подробный материал. Цель нашей статьи — эксперимент. Дизайнер попробует создать анимацию с помощью программы, а разработчики проверят код и дадут обратную связь.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии8

Выкладываем приложение в App Store. Даже если вы не разработчик

Время на прочтение4 мин
Количество просмотров117K


Ранее писали про этап подготовки к релизу. Сейчас расскажем про публикацию приложения в AppStore. Пошаговый гайд будет полезен новичкам, которые до этого не сталкивались с полицией нравов из Купертино.

Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии4

Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

Время на прочтение5 мин
Количество просмотров78K


Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии4

Как получить D-U-N-S number бесплатно

Время на прочтение2 мин
Количество просмотров123K


D-U-N-S number — международный идентификатор юридических лиц. В России добровольно его добывают в одном случае: когда в AppStore нужно зарегистрировать компанию-разработчика.

Расскажем, как добыть этот номер бесплатно и сэкономить 12 240.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии11

«Коллеги, все нравится, но...» или как построить работу с заказчиком

Время на прочтение11 мин
Количество просмотров19K


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

Я руковожу отделом дизайна и хочу поделиться нашим подходом к работе. В этой статье расскажу, как построить работу с клиентом так, чтобы она была эффективной и комфортной для обеих сторон.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии12

Тестовая документация. Превращаем таблицы в деревья

Время на прочтение9 мин
Количество просмотров90K


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

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

Вид тестовой документации также зависит от ситуации на проекте и ожиданий заказчика.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии12

Android Architecture Components в связке с Data Binding

Время на прочтение12 мин
Количество просмотров23K


Не так давно для андроид-разработчиков Google представил новую библиотеку — Android Architecture Components. Она помогает реализовать в приложении архитектуру на основе паттернов MVx (MVP, MVVM etc.). Кроме того, уже давно выпущена другая библиотека от Google — Data Binding Library. Она позволяет прямо в разметке связывать отображение UI-контролов со значениями, содержащимися в объектах. Это важная особенность паттерна MVVM — связывать слой View со слоем ViewModel.


Обе библиотеки направлены на построение архитектуры Android-приложений в MVVM стиле.
Я расскажу, как можно использовать их вместе для создания проекта с архитектурой на основе MVVM.


Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Определяем номера с помощью CallKit

Время на прочтение7 мин
Количество просмотров20K


Когда в CRM 57000 контактов, людям совсем не хочется записывать их в айфон вручную. Надо найти решение поизящней, которое позволит не просто искать контакты в отдельном приложении, но и отображать имя человека при входящем звонке. Мы долго гуглили, а потом вспомнили про анонс фреймворка CallKit с WWDC. Информации по этой теме оказалось не так много: немногословная документация, статья на Хабре и ни одного пошагового руководства. Хочу восполнить этот пробел. На примере создания простого приложения покажу, как научить CallKit определять тысячи номеров.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Libdispatch. Как сделать приложение отзывчивым

Время на прочтение11 мин
Количество просмотров13K

image



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


  • Pthreads, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться тут.
  • Background selectors. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием performSelector и различными параметрами (например, performSelectorOnMainThread:withObject:waitUntilDone:). Документация
  • NSThread. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным документом по работе с потоками и документацией.
  • Grand Central Dispatch. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — libdispatch.
  • NSOperation. Построен на основе GCD. Стоит заметить, что сама операция является абстрактной сущностью и на практике стоит использовать NSInvocationOperation и NSBlockOperation.

В этой статье поговорим о вопросах GCD.

Читать дальше →
Всего голосов 45: ↑29 и ↓16+13
Комментарии7

Как стать тимлидом и не взорваться

Время на прочтение12 мин
Количество просмотров70K


Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


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

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

Читать дальше →
Всего голосов 92: ↑89 и ↓3+86
Комментарии24

Как сделать статический анализ кода в Swift

Время на прочтение4 мин
Количество просмотров4.1K


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

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Тестируем возможности ARKit. Создаем игру с дополненной реальностью

Время на прочтение9 мин
Количество просмотров38K

image


На WWDC 2017 Apple анонсировала ARKit — SDK для работы с дополненной реальностью. Благодаря ему порог вхождения в эту технологию стал значительно ниже. Можно ожидать появления большого количества качественных игр и приложений.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Утечки памяти в Android и способы их локализации

Время на прочтение4 мин
Количество просмотров19K


На одном из проектов столкнулась с утечками памяти. Воспользовалась первым правилом разработчиков — загуглила. К моему глубокому разочарованию нашла много статей для программистов и совсем чуточку для тестировщиков. Большинство публикаций датированы 2011-2014 годом.

Ниже информация об утечках памяти, которая пригодится в 2017 году. Расскажу, чем их наличие грозит приложению, и перечислю несколько подходов к локализации.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии4

WWDC 2017. Пошумим немножечко

Время на прочтение3 мин
Количество просмотров14K


В этом году с нетерпением ждал WWDC. Хоть Apple и сидит на самой большой горе кэша в истории, конкуренты подпирают со всех сторон. Гугл с телефонами, Амазон с Алексой, Майкрософт с AR — в какой-то момент даже показалось, что Apple начинает догонять, а не лидировать. Но сегодняшний keynote вернул все на свои места.
Читать дальше →
Всего голосов 35: ↑23 и ↓12+11
Комментарии53

VoiceOver на iOS. Как сделать приложение удобнее для людей с нарушением зрения

Время на прочтение10 мин
Количество просмотров7.2K


Доброго времени суток! Меня зовут Иван Смолин. Я iOS разработчик в Touch Instinct.


Сегодня я хочу рассказать, что из себя представляет технология VoiceOver в iOS. И как мы сделали футбольное приложение более удобным для людей, у которых есть нарушения зрения.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1