I got my MC6 today (bought used off Reverb) and, so far, it's great! I'm replacing my current rig (Kemper + RJM Mastermind GT/22) with a Line 6 Helix and an MC6, which allows me to remove the rack altogether from my setup, as well as having less wiring altogether. The Kemper's going to live in my home studio.
Suggestion 1
The first is an MC6 extension (which I'll call the MC6X). Yes, using buttons is an option, but you lose the capability for displays - the whole reason people buy the MC6 in the first place! Someone suggested something similar a while back, but it would be really cool to have an MC6 extension with a display and 6 buttons. There would be no need for a chip like the MC6 has to handle all the processing - you'd just need a simple chip that handles, perhaps via the USB connection, pulling the names of those presets and displaying them appropriately on the screen.
I could see this working in one of two ways:
1. Have a simple USB connection between the two devices (the MC6 and the MC6X). The MC6X would need a second USB port that would work as a passthrough back to the MC6. This would make things really clean, but USB connectors are not tiny, and would, perhaps, need to be sold with an included 1ft/0.5m right-angle USB connector.
2. Have all the connections, like the MC6, on the back of the MC6X, EXCEPT the front side would have all the connections of the MC6, so you kind of just "plug in" the MC6X on top of the MC6. All the ports would act as pass-throughs to those on the MC6X. The only downside of this approach is it would require the MC6X to always sit above the MC6 - you couldn't put it beside it.
I think this would be a great way to add additional functionality and usability to those that want to use more buttons without the need for memorizing what everything does.
Suggestion 2
A device database. The RJM Mastermind GT allows you to program PC and CC messages easily, but, if you have the same devices, it allows you to add it to the unit's memory, giving you a much easier way to program things. Say, for example, I have a Strymon Timeline on Channel 9. I can set that up, and, instead of selecting Channel 9 every time I set up something for the Timeline, I select "Timeline" from the list, and I'm good. If I ever need to change the channel on the Timeline for some reason, I only have to change it in the connected device settings, instead of on every button.
RJM goes much further and actually imports common features into their database, so you don't even need to know the CC codes. I don't think this is a necessary addition, but it would be cool to at least have somewhere to point to the MIDI reference guides for popular devices.
Suggestion 3
If you select something, sure, you can use the # notation to show something different on the display, but an inverted (white background, black text) to truly highlight what's going on would be much more legible. In addition to this, you're already keeping track of active and inactive states when using toggles, so a simple "invert" option would go a long way for understanding where you are.
In addition, 2.5 has PC array functionality, which is great, but it would be nice to implement a more comprehensive system. For example, I've set up my MC6 to have 3 pages of individual PC messages to my BigSky, and 4 pages of individual PC messages to my Timeline. I know much of the code for the MC6 is bank-based, but a more global "this one is selected in the array, highlight it" (using the invert from Suggestion 3) functionality would help a lot. This way, if I select something from one of those pages, it could automatically un-highlight something from another page. Scrolling through while playing could show me exactly where I am at any given time, especially since the MC6, in my case, will also be receiving commands from the Helix. Or, if I use a PC toggle, the proper button(s) could be automatically highlighted for the off value when turned off.
Suggestion 4
This one ties in a little bit with Suggestion 3, but, using the array functionality, callback functionality would be awesome when an array's value is changed. For instance, I find the Timeline and BigSky don't play nice when the "freeze" or "infinite hold" functionality is on, and a new PC message is sent. It would be great to have a callback that, when a patch is changed, it sends the proper CC message to these devices to turn that off.
Suggestion 5
A more comprehensive UI for programming. Yes, the online app does the job and does it well. However, if I program something, especially something complex, in button D, but I decide later I want it in button A (and to swap those), or even on a different bank altogether, that basically means reprogramming both buttons all over again. A simple "copy" and "paste" option in the UI could handle this quite well, where "paste" would ask if you'd like to overwrite or swap.
---
So, I know that's a lot, and none of it is essential (my MC6 is here to stay), but I think some of these features would really help enhance the product as a whole.