?

Log in

No account? Create an account
Sprint #1 review - В Северном Ледовитом
April 11th, 2014
09:00

[Link]

Previous Entry Share Next Entry
Sprint #1 review
Как могли заметить самые проницательные из наших читателей, мы вплотную приступили к процессу создания нотной программы. Мы поняли, что накопили достаточно идей, которые пора воплощать. Мы поняли, что большинство этих идей неинтересны производителям существующих нотных программ, в основе которых зачастую лежат тупиковые концепции, и мы поняли, что пытаться донести до них эти идеи — это нерациональное использование ресурса.

Да, в прошлом мы уже несколько раз предпринимали попытки построения своей нотной программы, однако потом понимали, что ещё не готовы к этому процессу. Теперь мы готовы.

Мы переболели детской болезнью MusicXML, как основы для внутреннего представления нотации. Мы отказались от идеи использования чужого открытого кода и от идеи вкладывать свои ресурсы в чужие коммерческие проекты.

Теперь у нас свой проект, и у нас всё по-взрослому. У нас scrum, TDD, continuous integration.

А где скрам, там и спринт-ревю. Первый спринт получился довольно длинный, четыре недели (за это время потрачено 89 чистых часов). Будем считать, что его продолжительность вызвана тем, что он был пилотным. Следующие спринты будут длиться по две недели, и поэтому каждую вторую пятницу в 9:00 по московскому времени здесь, в этом ЖЖ, будет проходить спринт-ревю. (Напомним для неискушённых в скраме, что спринт-ревю это встреча, на которой всем заинтересованным в продукте рассказывается о его новых функциях, появившихся с момента предыдущего спринт-ревю.)

Понятно, что у нас есть масса идей, которые будут отличать нашу программу от всех существующих. Однако нужно принять один простой факт: в ней должны присутствовать и те вещи, которые есть во всех остальных программах. То есть мы должны уметь делать всё то, что умеет Sibelius, плюс много другого. Для поддержания мотивации мы решили над обычными и над эксклюзивными функциями работать параллельно. Единственное, что оставлено на потом, это брендинг. У программы сейчас ещё даже нет названия. Мы будем называть её нашей программой-нотатором или прототипом.

Вот так выглядит наш нынешний прототип.



Он пока умеет не многое. Но нам нужно было перво-наперво соорудить испытательный полигон.

Это стандартный многодокументный интерфейс.
В документах работает постраничная навигация и масштабирование.
Масштабирование умеет пристраиваться к высоте и ширине страницы (и менять масштаб пропорционально с изменениями размера окна).

Что касается собственно нот, то нам удалось продумать структуру документа — как осуществляется нарезка нотоносцев и систем.
Мы умеем собирать системы из любого количества нотных станов любого количества разных раштров.
Умеем объединять станы в группы при помощи акколад.
Нотные станы и их системы умеют автоматически равномерно размещаться на странице, соблюдая одинаковое нижнее и верхнее поля страниц.
При этом уплотняются или растягиваются расстояния между системами, между группами и между отдельными станами.

Мы ввели понятие разделов документа, которое облегчит хранение в одном документе партитур с разным составом, создание мультипьесных файлов, манипуляции с пагинацией, настройками и др.

Программа умеет отображать традиционную для нотной штамповки или аппликации второй половины XX века вспомогательную сетку.
Мы умеем рисовать сплошную сетку на всю страницу, на каждую систему или на каждый нотный стан. Это существенно, поскольку расстояния между станами и системами могут иметь дробный шаг, при котором сплошная страничная сетка оказывается бесполезной. Да и в системах с разным раштром нотоносцев для каждого из них нужна своя сетка:



Шаг сетки в любом случае равен расстоянию между линейками нотоносца и позволяет откладывать расстояния при ранжире квадратами (спейсами).

Внутренние расчёты производятся при помощи специальной универсальной единицы измерения, Smart measurement unit, которая поддерживает расстояния в метрической системе или в долях спейсов, привязанных к какому-либо нотоносцу или системе. Здесь мы уже заложили концептуальное отличие от одной известной программы на букву ф, где миллиметры и спейсы абсолютно взаимозаменяемы и конвертируются друг в друга при помощи простого умножения на постоянный коэффициент, в результате чего в этой программе становится возможным установить раштр нотоносца в спейсах. Это примерно такой же нонсенс, как, скажем индивидуальная настройка количества сантиметров в дюйме. При том, что любой школьник знает, что как в дюйме всегда 2,54 сантиметра, так и любой раштр нотоносца всегда равен 4 спейсам (иными словами, между пятью нотными линейками всегда четыре промежутка).

На этом нынешняя функциональность прототипа исчерпывается.

Ах, ну да, довесок. Мы придерживаемся мнения, что интерфейс компьютерной программы должен быть обязательно на английском языке. Однако ради развлечения мы добавили возможность моментального переключения языка интерфейса на русский:



[Кстати, не исключено, что мы вынуждены будем с какого-то момента проводить наши спринт-ревю на английском. (Да-да, на нашем чудовищном доморощенном кондовом английском.) Этому есть две причины: во-первых, нам приходится употреблять массу слов и выражений, которых в русском языке и не существует. Само слово скрам чего стоит. Прямо стыд и срам. А во-вторых, мы, хотя и ставим себе задачу воплотить все тонкости отечественного нотопечатания (мимо которых обычно спокойно проходят западные коллеги), но всё-таки не хотим ограничивать нашу аудиторию лишь одной шестой частью суши.]

Спасибо за внимание, следующее спринт-ревю состоится ровно через две недели, 25 апреля в 9:00 по московскому времени.

Tags: , ,

(16 comments | Leave a comment)

Comments
 
[User Picture]
From:rashpeel
Date:April 11th, 2014 07:01 am (UTC)

Желаю успеха!

(Link)
Как интересно-то. Сколько незнакомых слов :)
Судя по внешнему виду прототипа это Windows? Или вы замахнулись-таки на многоплатформенность?
[User Picture]
From:ptrue
Date:April 11th, 2014 07:04 am (UTC)

Re: Желаю успеха!

(Link)
СпасибО!
Да, мы используем Windows, однако ни в коде, ни в нашем инструментарии пока нет ничего, что не могло бы работать на других платформах.
[User Picture]
From:niclaus
Date:April 12th, 2014 03:34 am (UTC)
(Link)
Андроид!!!
[User Picture]
From:ptrue
Date:April 12th, 2014 05:37 am (UTC)
(Link)
Нееее, без мобильных.
[User Picture]
From:orientpress
Date:April 11th, 2014 08:25 am (UTC)
(Link)
Ого! Вот это дело! Желаю успеха и подписываюсь на первую версию.
[User Picture]
From:ptrue
Date:April 11th, 2014 09:00 am (UTC)
(Link)
Спасибо! Будем держать в курсе.
[User Picture]
From:kivagant
Date:April 11th, 2014 08:29 am (UTC)
(Link)
Удачи! И не забывайте про Minimal Viable Product.
[User Picture]
From:ptrue
Date:April 11th, 2014 09:00 am (UTC)
(Link)
Спасибо! Как только, так сразу.
Кстати, есть ли устоявшаяся практика, в какой момент MVP уже должен появляться?
[User Picture]
From:kaganer
Date:April 11th, 2014 12:55 pm (UTC)
(Link)
С почином! Желаю удачи!
[User Picture]
From:ptrue
Date:April 11th, 2014 01:42 pm (UTC)
(Link)
Спасибо! Будем стараться.
From:mila_ya
Date:April 11th, 2014 07:11 pm (UTC)
(Link)
Ух ты! Тоже хочу потыкать палочкой, когда будет что. У меня хорошо баги ловятся. :) А «мы» — это сколько?
From:ptrue
Date:April 11th, 2014 08:39 pm (UTC)
(Link)
Хорошо, записываю :)
Нас — мало. Но мы молодцы.
[User Picture]
From:niclaus
Date:April 12th, 2014 03:33 am (UTC)
(Link)
Ну ты даёшь!
Записываюсь в тестеры.
[User Picture]
From:ptrue
Date:April 12th, 2014 05:36 am (UTC)
(Link)
Записываю :)
[User Picture]
From:alex_ash
Date:April 13th, 2014 10:58 am (UTC)
(Link)
По последним постам в ЖЖ догадывался, что к чему-то подобному дело идёт у вас. Поздравляю с почином, и желаю успеха. Жаль, что никоим боком помочь не могу.
А кто в творческом коллективе? Ты и Юля? Или больше народу?
[User Picture]
From:ptrue
Date:April 14th, 2014 07:12 am (UTC)
(Link)
Ну, видишь. Оно к чему-то подобному шло уже пятнадцать лет, и непонятно было, когда собственно уже пора.

Юля -- всенепременно. Главный моральный вдохновитель.
Powered by LiveJournal.com