Летчик, создавший ProNebo


В авиации, пожалуй, нет ни одного военлета, который бы не использовал программу ProNebo или хотя бы не слышал о ней. Для ProNebo не жалко самых хвалебных эпитетов, так как программа действительно является не просто полезной, но и уникальной, на мой взгляд. Она не хуже, а в каких-то моментах намного лучше, чем самый современный прицельно-навигационный комплекс самолета в плане решения навигационных задач и отображения графической информации. В общем, сегодня у меня в гостях великий и ужасный Алексей Головин, создатель программы ProNebo.

- Я тебя представил подписчикам как создателя ProNebo, но понятно, что программа - не единственное твое занятие… Вот скажи, чем ты занимаешься в свободное от работы над ней время?

- Скорее наоборот. Я программой занимаюсь в свободное от службы и семьи время. ☺ Поэтому иногда в обновлениях программы случаются довольно долгие промежутки.

- Мы можем сказать, где и кем ты служишь?

- В настоящее время моя должность имеет очень длинное название, если вкратце, я военный летчик-испытатель.

- Давно ли ты летаешь и на чем уже успел?

(Скрин из программы ProNebo)

- Да, летаю давно, со школы. Первый полет в качестве непассажира я совершил 17 мая 1991 года в Брянском аэроклубе ДОСААФ на самолете Як-52. Скоро уже будет 30 лет оному событию. После школы поступил в Сасово, закончил его в середине лихих 90-х, поэтому в ГВФе, можно сказать, совсем не успел полетать. Через военкомат пошел в военную авиацию, пересидеть трудные времена, и так там и остался. Летал я в основном на самолетах военно-транспортной и специальной авиации.

- Но все же тебя знают именно как создателя супер-программы, которую не могут повторить никакие американские аналоги и российские конструкторы. Когда и как тебе пришла в голову идея запилить ProNebo, как ты ее создавал и долго ли пришлось над ней работать, прежде чем получился некий вполне рабочий первый вариант?

- ProNebo, это только одна из программ. Шел к ней не только я, к ней шла вся эволюция  вычислительных и мобильных устройств. Еще в школе я участвовал в олимпиадах. И если по физике-математике выше города не выходил, то по информатике занял 4-е место по области.

Поэтому, имея способности и главное — желание, первые программы для некоторых авиационных расчетов я начал делать еще на школьных БК-0010. Также у меня был программируемый калькулятор МК-61, который я обучил считать угол сноса и путевую для ШБЖ на Як-52 в аэроклубе. Но уровень удобства использования сих устройств был не выше НЛ-10, т.е. проще и быстрее было делать расчет на деревянном компьютере ☺.

Так продолжалось до начала 2000-х годов. Я делал различные программы, на компах в штабе полка, своего у меня еще не было. Помню, программу-расчетчик ШБЖ по маршруту я загрузил на комп в метео и забегал туда перед предполетными указаниями, чтобы ввести данные и переписать с экрана результаты расчетов.

Потом, в районе 2001-2002 года, начали появляться первые сотовые телефоны, которые через 2-3 года неожиданно научились петь песни и играть в игрушки на цветном экране. Именно играя в игру, мне пришла в голову мысль использовать телефон для навигационных расчетов. Ведь телефон в игре принимал данные от пользователя и как-то рассчитывал координаты игровых спрайтов! То что надо! Только расчеты будут уже наши, авиационные.

Я изучил примеры кода простейших игр в интернете и попробовал переделать его под наши навигационные задачи. Для этого, пришлось выучить новый язык программирования Java. Так, в 2004-м году появилась программа Navigation на Java. Информативность, удобство и быстрота расчетов с ее помощью, превзошла НЛ-10, и все в полку постепенно начали переходить на мою программу.

Где-то через год я выложил ее в интернет для соседнего полка, и она пошла в народ, обрастая новыми расчетами и возможностями. Когда появился андроид, я уже по накатанной дороге изучил примеры кода на нем и сделал аналогичный расчетчик, назвав его ProNebo, ибо название Navigation было широко распространено на маркете, что приводило к трудностям поиска.

(Код программы ProNebo)

21 сентября 2012 года первая версия ProNebo была выложена в свободный доступ. Надо сказать, что до версии 3.0 это был обычный расчетчик навигационных задач, а летали мы по программе NavGPSPro  на мобильном Windows. В 2013 году разработчики NavGPSPro отказались переносить свою программу на операционную систему андроид, а телефоны с Windows быстро исчезали с прилавков. Поэтому я начал задумываться о собственной GPS навигации в ProNebo.

Честно говоря, я сначала не верил, что моих способностей хватит для реализации оного у себя. Мне казалось, что такого уровня программы - это удел серьезных контор со штатом профессиональных программистов. Но, как говорится, глаза бояться, а руки делают. Решил попробовать сделать хотя бы 30 процентов, ну максимум 50, от функционала NavGPSPro. Т.е. изначально я вдохновлялся и старался сделать подобие именно этой программы. Ну и постепенно, от простого к сложному, начал совершенствоваться и улучшать GPS функции в ProNebo. То, что у нас получилось в результате, можно наблюдать в актуальных версиях программы. 

- Ты говоришь «мы», то есть сейчас уже тебе кто-то помогает, есть своя команда?

- Нет, это просто слова-профессионализмы. Люди, которые долго летали в многочленных экипажах, обычно говорят — мы про свою летную деятельность. Истребитель, например, скажет: «Я вчера прилетел на Ваш аэродром» ВТА, ДА и аналогичные, скажут так: «Мы вчера прилетели на Ваш аэродром» Ну а командой я считаю всех пользователей, именно их пожеланиями был в основном и направлен вектор развития программы.

- Много ли падает просьб по изменению программы? Какие самые странные или интересные?

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

- Для внедрения улучшений и изменений насколько ты полагаешься на отзывы и просьбы пользователей программы, или тебе больше пригождается свой собственный опыт ее использования?

- Основа программы — это, конечно, свой собственный опыт авиационной навигации и боевого применения. Все реализованные пожелания пользователей лепятся на эту основу. Их пожелания – это в основном различные упрощения и добавление данных - расчетов по использованию ProNebo с их конкретным типом ЛА. Из-за этого программа, само собой, усложняется, в нее добавляются настройки под каждую хотелку. Но с другой стороны, одновременно она становится гибче в использовании, и каждый может настроить ее под себя. Вот к примеру, совсем недавно сделал улучшение работы функции выхода на ППМ в заданное время. Для парадов штука незаменимая. С этой обновленной функцией наша программа уделала программное обеспечение ПНК самолета Су-57 и нового Ил-76МД-90А. Ибо применительно к парадам, там это реализовано немного неудобно.

- Чего еще ты бы в ней улучшил, что пользователям от нее ждать?

- Улучшения идут постоянно, всегда стараюсь что-то прочитать в интернете на форумах программистов про оптимизацию кода. Сильно многого, наверное, пользователям ждать не стоит. Ибо как программист я все-таки дерьмовый и к тому же один. Допустим, в плане визуализации карты я безоговорочно проигрываю профессионалам, которые херачат сие на OpenGL и прочих DirectX библиотеках. Чтобы отобразить карты, я взял готовый бесплатный движок ОСМ карт на Java и начал переделывать его под наши задачи. У профессиональных навигационных программ имеется собственный движок, и возможностей, конечно, побольше. Иногда мне приходится жертвовать удобством пользователя, ибо я просто не знаю, как сделать по-другому. Поэтому постоянно балансирую на компромиссе: сделать по-быстрому и через задницу, но зато это уже будет. Или зависнуть надолго, делая как положено, но пользователям придется долго ждать нужной функции. Как правило, делаю быстро, но потом возвращаюсь к этому быстрому коду и стараюсь его оптимизировать или исправить.

(Скрин из ProNebo)

- Очень интересно знать, почему она бесплатная, хотя аналоги стоят достаточно приличных денег?

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

- Поступали ли тебе какие-то предложения от российских конструкторских бюро, которые занимаются программным обеспечением самолетов, насчет реализации твоих идей на самолётах?

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

- А что на твой взгляд не хватает разработчикам софта для самолётов, чтобы самим создать что-то, настолько же удобное разным категориям лётчиков, как твое приложение?

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

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

Иногда, даже я, когда просят присобачить что-нибудь в ProNebo, не в курсе, как это лучше сделать. Например, вертолетчики часто летают на поиск и спасение, я реально летал на это дело всего 2 раза. Те упражнения в КБП не в счет, именно реально по этой задаче. В результате я поиск сделал по своему разумению, появились неудобства и недовольные. Что-то народ не устроило. Я выслушал, вник в проблему, переделывал раз 5, сейчас все радуются и хлопают в ладоши. Поэтому самое главное - это обратная связь, желание разобраться в проблеме и решить ее.

- Знаешь ли ты, что твоей программой запрещали пользоваться под всяческими угрозами в некоторых частях еще до запрещения использования средств с расширенными мультимедийными возможностями, так как она была обозначена практически как программа, созданная чуть ли не ЦРУ? Как ты к этому относишься?

- Я еще больше скажу — даже мне запрещали ей пользоваться! ☺ Правда это было один раз и человек не знал, кто я такой. Эти запреты начали появляться сразу, когда удобство мобильных устройств начало превосходить штатные средства расчетов. Помнишь, я рассказывал про расчетчик, который мы установили на комп в метео? Когда его там увидел командир полка — он приказал все стереть и удалить. Когда появилась Navigation на Java, т.е. это еще до эпохи GPS и мобильного интернета, то в нашем полку лейтенантам запрещали устанавливать эту программу на телефон, чтобы не тупели и помнили НЛ-10.

GPS, конечно, расслабляет людей и очень злит командование, которое любит лицезреть замученные в хлам лица личного состава. Мое отношение к этому такое: человек должен знать и грамотно использовать все возможности штатного оборудования на своем рабочем месте. Это не обсуждается. Но если некоторые задачи проще решаются с помощью определенных дополнительных приблуд, то зачем корчить из себя садомазохиста? Тем более в ФАП ШС в статье 53, это разрешено.

- Считаешь ли ты эту программу своим достижением, неким знаменательным событием в своей жизни?

- Нет. Попробую объяснить, почему. Например, ты видишь, что человек сделал нечто, что его профессии несвойственно. Поэтому сие в его профессиональной среде считается как бы достижением и выдающимся событием. Но на самом деле я этим занимался всегда, со школы, обыденность как бы размазывает знаменательность событий. Например, если программист прыгнет с парашютом 1 раз, то для него это будет очень знаменательное достижение. А если у него это хобби, и он прыгает каждые выходные, то каждый его прыжок становится уже обычным. Хотя в глазах коллег этого программиста любой его прыжок — это, конечно, знаменательное достижение. Я постоянно делал программы себе в помощь. Кто играл в игру Ил-2, наверное, помнят мою программу «Штурман», с которой можно было попасть бомбой в люк танку с высоты 9 км. Я всегда  создавал программы-помощники для себя, ProNebo – это лишь одна из них. Просто ей пользуются много людей, и она довольно известна в летной среде.

- Кроме ProNebо какие-то еще есть программные продукты твоего производства? И не планируешь ли ты запилить что-то новое, когда уйдешь со службы, у тебя, возможно,  будет много времени?

- Для ОС андроид еще есть программа ProNalet. Это, по сути, электронная летная книжка для военных летчиков. Количество пользователей около 3 тыс. человек. В этом приложении очень гибкие настройки граф, поэтому им пользуются и гражданские. Также там встроены контроль уровня летной подготовки и прохождение программ по упражнениям из курса подготовки. Ну и статистика конечно, вплоть до того, что можно за 0.0001с, посчитать к примеру: тренировочный налет с боевым применением в СМУ, ночью за любой промежуток времени.

Еще на андроид есть программа - эмулятор НЛ-10, но она уже не поддерживается. Я в 2010 году женился, и это резко уменьшило количество свободного время. Поэтому сейчас только 2 программы веду, ProNebo и ProNalet. Но в прошлом я делал еще ряд полезных вещей.

(Cкрин из ProNebo)

Например, расчет солнца на аэродроме. Курсанты не могли летать, когда солнце находилось в створе 30° от створа ВПП. Методики расчетов не было нигде. Поэтому штурман полка попросил меня сделать эту программу. Формулы я выводил сам.

Еще были плановые таблицы. Практически, это был виализуатор создателя таблицы. Очень много возможностей по редактированию и автоматизации процесса создания плановой и ее распечатки на листах А3 и копий на А4. В народе программа не прижилась, ибо посадить лейтенантов с карандашами за стол, оказалось проще, чем один раз разобраться в программе. К тому же в то время еще не было цветных принтеров в полках…

Программа ведения хронометража полетов, где можно было просто тыкать в кнопку «Взлет-Посадка» и время автоматически прописывалось в графы. Но это далеко не весь список, было много программ тестов для курсантов. Программа демонстратор противодействия военно-транспортного самолета атакам истребителя и комплексам ПВО стран НАТО, кстати, мне рассказали недавно, что она до сих пор используется в монинской академии, которая теперь в Воронеже. И еще много всего...

Что касается планов создать что-то новое после ухода службы на пенсию… Я всегда делал программы себе в помощь, поэтому, это, наверное, будет какой-нибудь калькулятор пенсионера. ☺ У меня еще есть время подумать))

Фото из архива Алексея Головина

P.S. Кстати, в ВК есть группа поддержки программы ProNebo.

Ниже в "карусели" можно посмотреть скриншоты старых программ