I led the design of a new system for applying system objects in MuseScore.
Until now, MuseScore has not supported system objects (the placement of duplicate objects, such as tempo marks and rehearsal numbers, above multiple staves in a score).
My research began by studying a wide range of published scores to learn how system objects usually appear.
I discovered there were some general cases that would service the need of a majority of users, and then a number of more specialised edge cases that MuseScore would need to be able to accommodate in order to cater for professional users.
I made numerous early sketches, and authored an extensive document on the company's wiki, to determine the specific design problems for this project.
The clear solution for a majority of users was to establish a standard default behaviour for system objects, which would apply to template scores in MuseScore.
The biggest challenge was what to do with the edge cases. A dedicated dialog was required, which would allow users to specify which objects would appear above which staves.
I designed a dialog that recognised logical instrument groups in the score, with a premise that all system objects would appear above all groups by default. I then gave users the option to toggle on/off instances of system objects they didn't want. This would ensure that both a consistent engraving standard as well as full user customisability.