Найти в Дзене

Мобильное приложение Ватерпас: DewDrop. Как появилась идея..

Бывало ли у кого-нибудь так, что начинаете реализовывать одну идею, а она плавно преобразовывается в другую, а затем ещё в одну, и вот, у вас "на выходе" уже совершенно свежая история, только лишь отдалённо напоминающая начальную задумку. Думаю, наверняка, бывало!
Этим особенно хороши свои собственные проекты, когда нет чётко прописанных ТЗ, и начальник не стоит за вашей спиной, одёргивая при любом отклонении. А также этим особенно славится "магия программирования", ведь код - потрясающе гибкая магическая субстанция, которая в соединении с железом современных смартфонов, может творить настоящие чудеса. Вот и на этот раз, была идея сначала попробовать реализовать простейшую игру, на подобие "крестиков-ноликов", только с более расширенным сюжетом (о ней как-нибудь тоже обязательно расскажем). Но в какой то момент, совершенно неожиданно, в разгар разработки пропали наработки программы, которые были написаны на промежуточном этапе, и "со скрипом" пришлось возвращаться к самому началу напи

Бывало ли у кого-нибудь так, что начинаете реализовывать одну идею, а она плавно преобразовывается в другую, а затем ещё в одну, и вот, у вас "на выходе" уже совершенно свежая история, только лишь отдалённо напоминающая начальную задумку. Думаю, наверняка, бывало!

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

Мобильное приложение Ватерпас: DewDrop
Мобильное приложение Ватерпас: DewDrop

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

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

Вот уж, правильно сказал в свое время Гераклит Эфесский: "Нельзя войти в одну и ту же реку дважды...". Но с другой стороны, это и не плохо, тем более, что предыдущая мысль у вас также останется, и может быть, даже преобразуется со временем к более интересному виду. Но ведь именно рождение и преобразование мыслей очень важны в творческой жизни, ведь получается, даже на таком простом примере мы отчётливо видим рождение-ветвление - раздвоение одной мысли на старую и новую.

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

При реализации данной задачи использовался 3-х осевой акселерометр, встроенный в практически любой смартфон. В качестве софта для написания логики мы теперь в своей работе используем IDE DroidScript, т.к. эта IDE позволяет отрабатывать программу прямо на смартфоне без эмуляторов, а это особенно важно, когда мы пишем код с использованием датчиков, т.к. можно сразу же "в живую" увидеть, как "материализуется" и живёт наша система.

IDE DroidScript: редактор на компьютере через WebBrowser
IDE DroidScript: редактор на компьютере через WebBrowser

Для начала мы сделали поле, по которому перемещается наша капелька размером 11x11 ячеек . По нажатию на любую из этих ячеек на поверхности смартфона появляется росинка. Нужно отметить, что с написанием программы в среде DroidScript, и пониманием основ JavaScript, очень помог студент из Бразилии Espirito Embriagado, разработчики DroidScript Alan Handry, Dave Smart, а также сам DroidScript, который имеет множество встроенных примеров с открытыми кодами в своем составе.

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

Приложение мы разместили в RuStore, написали обучающую статью на Habr с кодом самой программы. Но было понятно, что Росинка является просто обучающим проектом, ио не претендует на звание самостоятельного мобильного приложения, а хотелось, чтобы данный проект всё-таки нашёл своих пользователей :))

Тогда было принято решение немножечко расширить функциональность: сначала был добавлен собственно Ватерпас (измеритель углов наклона поверхности по отношению к Земле), затем были добавлены индикатор освещённости, например, помещений, и компас. Таким образом, мобильное приложение Ватерпас: DewDrop (или Росинка) стало вторым полноценным мобильным приложением нашей студии. Теперь оно работает и с акселерометром, и с датчиком освещённости (фотодиодом), а также с внутренним магнетометром для функции компаса.

Ватерпас: DewDrop можно бесплатно скачать в AppGallery. А если вы захотите поддержать наши проекты, то Ватерпас можно скачать с оплатой в RuStore.

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

Всем добрейший Мяу и Гав :))