Специалисты отдела разработки ПО «СофтЭксперт» доработали приложение для очков дополненной реальности Nreal Air, которые могут подключаться к смартфону, ноутбуку или приставке. Приложение выполнено для частного лица, занимающегося разработкой патентоспособных изобретений для дальнейшего коммерческого продвижения с привлечением инвесторов.
В этом проекте заказчиком выступило частное лицо, изобретатель, который разрабатывает технические новшества, получает на них патент и тиражирует с целью получения прибыли.
У заказчика было программное обеспечение для AR очков, которое позволяет прицеливаться при игре на бильярде. Разработка была выполнена другим подрядчиком, и к нам попала, когда потребовалось сделать доработку ПО.
Цель проекта — оптимизация исходного кода и доработка функционала приложения для очков дополненной реальности Nreal Air.
Задачи:
В первую очередь, мы решили переделать интерфейс программы и оптимизировать код, чтобы обеспечить условия для поддержки и доработки ПО. Без рефакторинга кода процесс разработки мог затянуться на несколько месяцев, что противоречило договоренностям с клиентом. После оптимизации количество строк кода уменьшилось практически вдвое.
Завершив этап с оптимизацией кода приступили к доработкам. Взяв за основу функционал уже существующего и оптимизированного кода добавили необходимые прицельные сетки (точка и Т-линия).
После изучения особенностей работы NSDK стало понятно, что исходный код и дописанный нами требует огромных доработок для возможности включения и отключения стабилизации изображения.
Внутри данной SDK существует своя виртуальная камера для дополненной реальности имеющая несколько режимов работы: два из них поддерживают стабилизацию изображения, а один — для работы на плоскости. В предоставленной заказчиком версии программы был активен единственный режим без возможности стабилизации изображения.
Особенность работы камеры внутри NSDK заключается в том, что режим работы камеры определяется в момент запуска программы. Для переключения режима необходимо выйти из программы, включить другой режим камеры и заново запустить программу. В момент работы стабилизации меняется и режим взаимодействия с прицельной сеткой, поэтому нами было принято решение дописать новые методы для взаимодействия в разных режимах работы программы.
После того, как все работы по задачам были выполнены, заказчик получил несколько версий программы:
Заказчик остался доволен организацией взаимодействия с командой в процессе доработки ПО и качеством выполненной работы. В дальнейшем заказчиком планируется добавление новых прицельных сеток, что благодаря оптимизированному коду займет минимум времени.
В разработке приложений для инновационных устройств важно внимательно изучить технические особенности и возможные ограничения, чтобы учитывать их при написании кода. Опытные разработчики изучат внутреннюю систему и напишут код, который будет проще и быстрее дорабатывать.
Для самописных продуктов оптимизация кода может стать обязательным подготовительным этапом, который решит сразу несколько задач: улучшит скорость загрузки, скорость ответа сервера или скорость работы с кодом, повысит стабильность, уменьшит объем кода.