Со стороны может показаться, что мы в Drum Pads 24 делаем простые приложения, в которых пользователи нажимают на кнопочки, слышат звуки и записывают их. Действительно, мы делаем приложения так, чтобы пользователям было просто ими пользоваться, но при этом техническая реализация не всегда самая простая и кроме воспроизведения звуков, которое есть в каждом из наших приложений, так как мы выпускаем только музыкальные приложения, мы делаем много разных вещей. Например, раньше мы предлагали пользователям только те саундпаки, которые делали мы сами. А сейчас пользователи могут создать саундпак сами, при этом поделиться им в нашем же фиде и обсудить этот саундпак в чате прямо внутри приложения. Таких пользовательских саундпаков у нас уже около 50 тысяч. Чтобы сделать эту фичу в приложении, понадобилось:
1) разработать интерфейс редактора саундпаков так, чтобы пользователи могли менять все параметры звуков и загружать любые звуки извне, включая очень удобную штуку загрузки звуков в приложение прямо с компьютера через AirDrop
2) сделать API для загрузки саундпаков пользователями на сервера и CMS для управления этими саундпаками
3) спроектировать ленту саундпаков, где пользователи могут делиться своими работами, лайкать и скачивать работы других пользователей, при этом, конечно, пользователи могут делиться этими постами с помощью deep links
4) создать чат, сделанный с помощью Firebase, чтобы пользователи могли обсуждать паки и коллаборировать друг с другом
5) реализовать возможность редактирования звуков, чтобы он звучал так, как надо пользователю.
Еще наши пользователи могут подключать свои физические MIDI контроллеры к приложению и играть прямо с контроллера. При этом наше приложение будет воспроизводить звук и показывать лайтшоу, которое эффектно смотрится на лайвах и в видео.
А при реализации плеера саундпака - одной из основных вещей в нашем приложении, - нам пришлось хорошо разобраться с работой со звуком и реализовать алгоритмы, которые позволили сделать плавное затухание звука, избежать кликов при наложении разных звуков и питчить весь массив фреймов звука в момент нажатия кнопки с помощью векторных функций, при условии, что очень важно минимизировать задержку воспроизведения звука в этот самый момент нажатия.
Еще мы работаем с AR масками и видеофильтрами, которые применяются в режиме реального времени, для нашего недавно выпущенного приложения Go Rap - можно записать свой рэп под классные биты, примерив тату и очки, ну или скрыться за 3D головой персонажа, если рэп вы читаете классный, но показывать свое лицо не хотите 😉
Мне нравится создавать аккуратный и красивый код, поэтому кроме разработки новых фич мы уделяем время рефакторингу, ведь наш код должен не только приносить пользу куче людей по всему миру, но и быть таким, чтобы с ним приятно было работать и поддерживать. При этом я считаю, что важно релизить регулярно, чтобы чаще слышать обратную связь от наших пользователей и делать небольшие, но постоянные улучшения, а не только делать красивый код ради красивого кода.
Сейчас я ищу в нашу команду Android и iOS разработчиков, чтобы развивать наши продукты: создавать качественный код, с которым хочется работать, и делать новые интересные фичи. Если вы один из них, или знаете тех, кому было бы интересно работать с музыкальными mobile продуктами, напишите мне или на почту join@drumpads24.com
На самом деле у нас есть и другие вакансии, например, дизайнера и маркетолога, так что если вы хотите создавать хороший и стильный интерфейс для приложений, которыми пользуются люди по всему миру, или развивать комьюнити для фингердраммеров, тоже буду рада пообщаться. Чуть подробнее о вакансиях здесь: www.drumpads24.com/join