Friday, December 13, 2013

"Холостые" разработчики

Получил недавно в LinkedIn вот такое сообщение. Все-таки не только для рекрутинга эту соц.сеть можно использовать :)


Sunday, October 20, 2013

Car Rentals Market

Разрабатывали долго и упорно, полностью полагаясь на труд команды фрилансеров. И вот наконец релизнулись: Car Rentals Market. Сервис для аренды автомобилей. Я с товарищами девелопил версию для Android, есть еще вариант для iOS и веб-приложение.

Самой сложной проблемой считаю нестабильность в работе фрилансеров, точнее, той их части, которая фриланс совмещает с «основным» местом работы. Тогда до фриланса руки до ходят по остаточному принципу, как результат – срывы сроков и (кто бы сомневался!) баги.

В процессе набора людей и собственно работе с ними мне пришлось ревьювить код примерно 10 разработчиков. Создалось субъективное впечатление, что у ребят, кто не работал с «большой» Java (JavaEE/JavaWeb), а начал ее освоение именно в Android – качество кода частенько хромало. 

Friday, October 11, 2013

Открытые ключи в криптографии: смешиваем краски

Случайно наткнулся в сети на отличный ролик, иллюстрирующий схему работы с закрытыми и открытыми ключами на примере смешения красок.

Sunday, September 29, 2013

Разгребая чужой ФП-код

Некоторые товарищи ищут экзотику в функциональном программировании (ФП), осваивают Haskell и Erlang. Тем временем столкнулся на работе с проектом, изящно написанным на уже почти мейнстримном Scala. Не хватает в наших краях желающих саппортить такое счастье. Создаётся впечатление, что вся прелесть "синтаксического сахара", лямбд и скорости разработки сходит на нет, когда необходимо разгребать чужой код.

Thursday, March 28, 2013

Превращаем Android-смартфон в автомобильный видеорегистратор


В начале марта запустил, наконец, на Play Store видеорегистратор, который вместе с партнерами разрабатывали еще с осени. В общем, никакой магии: работа с камерой, GPS, карты, медиаплеер, графопостроитель для статистики скорости. Ну и кастомный UI, который готовил профессиональный художник.

Технически наибольшую сложность представляет работа с камерой и сопровождающим ее MediaRecorder – Android SDK выдвигает своеобразные требования к их настройке, и, судя по всему, некоторые производители смартфонов трактуют их по-своему. Стабильности во включении записи видео на некоторых особо «чувствительных» аппаратах удалось добиться только экспериментальным путем, переставляя порядок установки свойств в MediaRecorder. Хотя и это не гарантирует 100% результат, в креш-репортах, которые мы собираем с помощью ACRA, иногда все еще проскакивают невразумительные коды ошибок инициализации.

Другая технически интересная деталь в этом приложении – запись видео в фоновом режиме. Формально запись видео в фоне ставит под угрозу приватность пользователя, и на странице поддержки Android даже голосуют за нее как за отдельную фичу – ввести соответствующий <uses-permission>. Пока же приходится делать костыль путем «сворачивания» SurfaceView с предпросмотром с камеры (что, вероятно, должно гарантировать осведомленность пользователя о ведущейся видеозаписи) в 1 точку на экране, помещенную в WindowManager . Такой трюк работает на Android 2.*, но в Android 4 он крешится без веских объяснений, потому здесь эту возможность мы пока отключили. 

Thursday, February 28, 2013

Дополненная реальность для смартфонов


Пару месяцев назад понадобилось разработать экспериментальное приложение для Android, которое проецировало бы на картинку с камеры маркеры или другие объекты. Потому хорошо познакомился с существующими фреймворками дополненной реальности (Augmented Reality, AR), ниже приведу краткую информацию о некоторых из них.


1) Metaio
Платформы:  Android, iOS, Windows PC
Лицензия/стоимость: Платный SDK
Примечания: Полный спектр AR-технологий

2) Junaio
Платформы:  Android, iOS
Лицензия/стоимость: Якобы бесплатный, но есть скрытая система монетизации
Примечания: Является надстройкой над Metaio; сложность в настройке; нацелен на использование LLA маркеров

3) ArLab
Платформы:  Android, iOS
Лицензия/стоимость: Платная, даже за доступ к tutorials
Примечания: Полный спектр AR-технологий

4) Satch
Платформы:  Android, iOS, Mac OS, Windows PC, Adobe Flash Player
Лицензия/стоимость: Бесплатно
Примечания: Хорошо проработана документация; используется Lua scripting language

5) Wikitude
Платформы:  Android, iOS,  BlackBerry 10, PhoneGap
Лицензия/стоимость: платная
Примечания: Полный спектр AR-технологий; встраивается как HTML5/CCS3 элемент, потому код легко переносится между платформами

6) AndAr
Платформы:  Android
Лицензия/стоимость: GPLv3
Примечания: Проект 15-летнего индуса по имени Raghav Sood, который он позже развил в книгу Pro Android Augmented Reality; слабая поддержка; работает медленно

7) DroidAR
Платформы:  Android
Лицензия/стоимость: GPLv3
Примечания: слабая поддержка и видеозаписи вместо документации

8) Mixare
Платформы:  Android, iOS
Лицензия/стоимость: GPLv3
Примечания: Geodata-based; слабая документация

Sunday, January 20, 2013

DOU: Старт ИТ-карьеры


Наткнулся на DOU.ua на статью, интервью для которой вместе с товарищами – джуниор разработчиками я давал пару месяцев назад. Темой было начало карьеры в IT, журналист опрашивал молодых специалистов и стажеров в нескольких крупных киевских компаниях, сводя все в один обобщенный материал. Ссылка: http://dou.ua/lenta/articles/how-to-start-it-career/