Since this just coincidentally came up a month ago, I'll discuss it here:
There is a point coming up in Synthesia 11's development where we'll be improving the display and interactivity of the sheet music so that it can stand on its own without the falling notes. In particular, the next preview will be adding a feature where you'll be able to hide the falling notes completely and rely on full-screen, multi-line sheet music. So being able to do things like adjust loops or create bookmarks will need to be possible from the sheet view.
This presents a challenge for the "Move Them Inside My Keyboard's Range" option. Today that feature is only communicated in the falling note area. To do the same in the sheet music would mean moving those note heads around to match your keyboard's range. If the range couldn't be changed, that would be fine, but you can press Z or X at any time to adjust your input octave. Needing to regenerate sheet music based on user input is something I'd like to avoid. In this instance (purely vertical moves), it can't break anything too horribly (like pushing a measure onto the next line). But, regenerating/redrawing is what I would describe as a "heavy" operation in Synthesia 11: running across several frames and forcing a fade-in-from-white of the new line once it's complete.
This leaves a couple choices:
- Leave the option alone, shimmy note heads around in the sheet based on your keyboard range (which requires even more finesse for songs in the MusicXML format), and force a full sheet redraw each time Z or X is pressed: Lots of work and a poor user experience.
- Leave the option alone, continue to have misleading ("correct") sheet shown at all times regardless of your input range which will confuse full-screen sheet users: No work and a poor user experience.
- Remove the option (always "Play Them For Me" instead), sheet music is always correct: Negative work (see below) and only the users that actually used "Move them inside my keyboard's range" are negatively affected.
Decisions like these are very challenging! Removing anything (options/compatibility/etc.) always makes someone angry. The only good reason I ever have for removing something is when it becomes too large a burden for our tiny/lean development team. Removing the option actually saves
work in the long run. This particular one has always been a source of bugs and weird behavior over the years. Each time a new feature is added someone always seems to find that it doesn't work with "Move them inside..." and we have to go back and fix it. (Looking at the code just now, that option is referenced in 20+ different places which is a little creepy.)
In summary: #3 prevents a bunch of new work, saves ongoing maintenance work, reduces option/config/menu complexity, keeps the user experience for sheet-only users as good as it's going to get, and only impacts the small subset of users that were actually using it. Add the complete lack of any real pedagogical basis for the option existing in the first place and it starts to feel like a pretty strong case. Despite my reservations, it seems like #3 is the best of the three choices. Unfortunately, that means making people unhappy.
What do you think?
(Incidentally, for a same sheet regeneration/drawing reason, I think I'm going to keep finger hint assignments a falling-note only interface. Not only are note heads a lot harder to click/tap, but each time you change a hint the actual music you're interacting with will be changing under your mouse/finger as the hint numbers are added/removed from the sheet music! Adding a message along the lines of "enable falling notes to edit finger hints" feels like a small concession for that case.)