Сенсорные киоски городского планетария снова показывают карту неба, Солнечную систему и виртуальный тур, а те же экспонаты открываются в разделе «звёздное небо» на сайте, в том числе с телефона. Работа включала создание сайта и перенос экспонатов с Flash и Silverlight на HTML5. Работу сделал Евгений Росляков. Сайты и интерактивные страницы он делает с 2016 года, оформлен как самозанятый, работает по договору и передаёт организациям закрывающие документы. Заказы берёт в Москве и удалённо.
В фойе планетария стоят киоски, которые поставили в 2010-х. На них крутят карту неба, разглядывают устройство Солнечной системы и ходят по залам в виртуальном туре.
Экспонаты написаны на Flash, на языке ActionScript 3. Тур по залам собран на Microsoft Silverlight. Современные браузеры не открывают ни то, ни другое. Киоски держались на старом компьютере со старыми программами, который боялись обновлять: тронешь — экспонат погаснет.
На сайте было хуже. Раздел «звёздное небо» показывал пустые прямоугольники. Анимированные баннеры выставок, тоже сделанные во Flash, не показывались, и анонсы шли без картинок.
Исходники нашлись в архиве планетария, но без описаний. Человек, который делал экспонаты, давно ушёл.
Хотелось сохранить то, что нравится посетителям, избавиться от мёртвых плагинов и дать людям открыть то же самое дома на телефоне.
Начал с разбора исходников: FLA-файлы, классы ActionScript, шрифты, звуки, графика. Flash программирование — знакомая мне область: я знаю, как во Flash устроены временная шкала, символы и события, поэтому логику экспонатов удалось прочитать, а не угадывать по поведению. На каждый экспонат составил короткую карту: что показывает, какие у него состояния, что происходит по касанию.
Анимации перенёс в Adobe Animate. Он открывает старые FLA и экспортирует проект в HTML5 Canvas. Графика, символы и временная шкала сохранились. Устаревшие эффекты, которые в Canvas не работают, пришлось перерисовать.
Код на ActionScript переписал на JavaScript вручную. Автоматический перевод даёт код, который работает, но который никто не станет читать. Теперь каждый экспонат — обычная веб-страница, понятная любому веб-разработчику.
Тур на Microsoft Silverlight пересобрал как страницу с панорамами залов. Переходы и подписи сделал по схеме старого тура, чтобы посетители не терялись.
Флеш баннеры выставок превратил в лёгкие HTML5-анимации. Они весят немного и показываются в любом браузере, включая телефонный.
Киоски теперь запускают обычный браузер в режиме киоска, без адресной строки и лишних кнопок. Систему можно обновлять. Раздел «звёздное небо» на сайте использует те же страницы, поэтому экспонат поддерживается в одном месте.
Экспонаты, которые казались потерянными, снова работают. Посетитель в фойе касается экрана, как и раньше, а дома то же самое открывается на телефоне. Анонсы выставок опять выходят с анимированными баннерами.
Для сотрудников планетария главное изменение — киоски перестали быть чёрным ящиком. Компьютер обновляется как обычный, браузер стартует сам после включения, а если экспонат завис, хватает перезагрузки. Тексты и подписи вынесены в отдельные файлы, и править их можно без разработчика.
Не всё удалось сохранить в точности. Несколько редких эффектов и наложений звука во Flash вели себя по-своему, я сделал их похожими, но не одинаковыми. Панорамы залов когда-то сняты в небольшом разрешении, и на больших экранах это видно. Перефотографировать залы планетарий хочет отдельно.
Дальше можно добавлять на сайт новые разделы, например календарь небесных событий. Раньше всё лежало внутри плагинов, и такая правка была бы слишком дорогой.
Если у вас остались экспонаты, ролики или баннеры на Flash и Silverlight, которые жалко терять, напишите мне в личку на freelance.ru, что сохранилось: исходники, готовые файлы или только записи экрана. По этому набору станет ясно, что можно вернуть.