Google Sheets тоже дизайнер


Сразу к делу. Найдите пять отличий
Доброго всем!
Табличные редакторы используются,как правило, чисто как базы данных/калькуляторы/прото-срм. На Экселе как-то запускали DOOM (кто бы сомневался), но в целом графические возможности подобных платформ почти никто не использует. А что, если именно графические возможности сделать центральной темой проекта, который заменит рутинный труд дизайнера и будет экономить время на рисование, вёрстку и публикацию в 30-50-200 раз? Да ещё и без скриптов, а чисто формулами? Что ж, именно такой проект я и собрал, а результат вы уже увидели в карусели в начале поста. Одну картинку нарисовал мой генератор расписания, вторую - человеческий мясной человек. Совпадение не абсолютное, но достаточно убедительное и не стыдное для сравнения. По крайней мере, за пять месяцев использования проекта никто не жаловался :)
Здесь я сперва расскажу, почему вообще родилась такая идея, какие проблемы она решала. Описание кода и архитектуры в один пост не влезет (там правда МНОГО, а не потому, что я кармадрочер), так что этот пост исключительно о причинах и результатах.
Работал я на ресепшене в одном фитнес-клубе, клепал таблички (часть наших процессов была в 1с, а часть, по старой памяти, в Google Sheets). И все два года, что я клепал на ресепшене таблички, мы регулярно сталкивались с одной и той же проблемой:
расписание групповых тренировок для соцсетей.
Дело в том, что своего личного дизайнера у нас не было. Был договор с смм-агентством, и они (по нашим инструкциям) обновляли/перерисовывали расписание групповых тренировок и публиковали. Только вот беда: информация доходила от нашего начальства до их дизайнера доходила через четырех человек (не в соседнюю же дверь передаём, а другой компании).
Так что ошибки при таком "глухом телефоне" возникали часто, на исправления уходило время, и в итоге публикация изменений в расписании занимала от пары часов до 2 рабочих дней. Смм не обвиняю, они умнички, просто работал закон Мерфи. А мне по должности необходимо, чтобы клиенты были сразу в курсе всего, были довольны сервисом, кайфовали от тренировок и приходили вовремя и куда надо. Два дня задержки в публикации это очень, очень нехорошо. Вот я и задумался:
А можно ли это автоматизировать через таблички?
У нас,конечно, был 1С, была интеграция расписания в 1С с мобильным приложением и с сайтом. Так что, технически, на некоторых площадках мы публиковали все вовремя за счёт возможностей срм. Но вот соцсети - ох, соцсети так просто не интегрируешь. Там нужна картинка для поста, а 1с картинки рисует так себе, и скриншот сделать не поможет - то шрифт мелковат, то верстка убийственная, то цвета всратые. Вот я и решил сделать сам на знакомом мне инструменте: Google Sheets.
Что же было достигнуто?
1) Система с характером медоеда: максимальная гибкость и пофигизм на сложности. Создать сетку времени на два дня? Не вопрос. На год? Нафига, конечно, но окей, готово. Занятия проходят в одном зале? Нарисуем для одного зала. Забронировали целую школу с десятками кабинетов и лекторий? Каждую лекторию запишем в отдельную колонку под единой шапкой дня недели, нам без разницы. Одно занятие идёт час, другое шесть часов, а третье пятнадцать минут? Нарисуем размер тренировок пропорционально их длительности и отцентруем заголовки по высоте. Этот генератор тупо медоед, ему пофиг на все, it just works. Никаких растягиваний формул по ячейкам, никаких стертых по ошибке формул - я вообще, как закончил, ничего в коде не менял, только добавлял. It. Just. Works.
2) Однокнопочность. Все, что я перечислил выше, обрабатывается автоматически, и не требует настройки и переопределения параметров. Вы скормили системе актуальное расписание, а что, куда, на сколько столбцов и строк, каким цветом рисовать и тд. и тд. система решает сама. Вы только даёте ей расписание и стартовую точку, а получаете готовый продукт.
3) Синхронность версий. Мы публиковали расписания и для ВК, и нельзяграма. У этих версий разный формат, верстка, пропорции и ориентация сторон. Человек рисует их по отдельности и иногда ошибается. Мой генератор рисует их одновременно из одного набора данных, поэтому обе версии идентичны в наполнении.
4) Время на создание - пять минут на заполнение данных, передачу смм на публикацию и печать. Напомню, раньше было до двух рабочих дней.
5) Приятный бонус - за счёт архитектуры, построенной на уже существовавшей у нас таблице по учету посещаемости занятий, стало возможным проводить любую аналитику. Какое направление популярно? Кто на него ходит? Кому предложить новое направление? Кто перестал ходить? Какая конверсия и жизненный цикл клиента? Все это - бонус к самой генерации картинки.
6) Ещё по фану добавил текстовый генератор, который перечисляет собственно изменения ("понедельник: отменили тренировку х, вместо нее пройдет у"). Так что можно сразу увидеть актуальные новости,а не сравнивать картинку за эту и прошлую неделю.
Конечно, сделать вышло не все. Например, пропорции сторон все же делает скрипт (каюсь, грешен, соврал, что скриптов не использовал, но это финальный этап генерации, а не сама генерация). Не удалось сделать градиентный фон, как делали дизайнеры. Границы столбцов и рамка вокруг тоже сама не на рисуется, ее только ручками (может, это можно сделать автоматикой, но я не парился). Также скрипт выгружает результат в пдф, но трансформировать пдф в пнг опять же ручками. Но на все это тратится в разы меньше сил и времени, чем на передачу информации от директора до дизайнера.
В общем, это было о самом проекте. Клуб его активно использует уже пять месяцев (месяц без меня), дизайнер больше расписания не рисует, так что концепт рабочий. Если заинтересовало - задавайте вопросы, я мог что-то пропустить. Возможно, запилю пару постов об архитектуре и формулах проекта, но на это уйдет время (там пять страниц с разными этапами обработки данных, Карл, и формулы на каждом длиной в руку аааааа).
За сим прощаюсь, с вами был ЛососьЕршович ;)