I've been developing a webMIDI app myself for the past couple of years [0] and adding a multiplayer feature is something I've been eyeing for a while. May I ask how good the latency is?
Some feedback on the landing page:
- As others already pointed out, a video example showing the app would be really helpful.
- I think allowing visitors to try out the piano and only prompting to login when trying to access the remote features would work best
- All those buttons that are clickable/selectable but don't do anything when clicked were a little confusing.
On the app: - Connecting the keyboard worked flawlessly (and without any permission prompt). But I'd add some indication that a MIDI device is connected
- Pressing the keys using my mouse doesn't produce any sounds
- Pressing keys on my MIDI keyboard (Yamaha P120) will cause the keys to be selected indefinitely, so I can only ever press them once. Somehow the noteOff events don't seem to be getting registered. Make sure you also register noteOn events with velocity = 0 as a noteOff event (although I don't believe that that's the issue here) and I would suggest calling noteOff yourself if you register a noteOn event for a note that's already playing. That way you can prevent keys from getting stuck.
- I wouldn't hide keys automatically based on screen size. It does look better but imagine someone trying to play this on a tablet/phone where they can't change the scaling
Again, really cool concept and good luck with further development! Feel free to reach out if you want any help :-)
[0] app.midiano.com