As I use MIDI Designer and see requests for layouts, labels, and other things, I can’t help but be reminded of my experience with iRule (www.iruleathome.com/), which is used to turn your iOS or Android device into a universal remote for your AV and home-automation gear. You use a PC or Mac to design your GUI using iRule’s “Builder” software; you upload the GUI specification to an iRule website; and then you download an executable GUI to your run-time device (e.g. an iPad).
Builder allows you to design a multi-page GUI and to associate its GUI buttons with the remote control codes that your gear understands (e.g. the Volume Up code for a particular Denon receiver). You use Builder’s database of thousands of AV products to get the manufacturer and model-specific remote-control codes that you require.
Typically, a third-party piece of networked HW converts the codes into IR signals for your kit, but that part of the process isn't really relevant here.
I think it would be great if MIDI Designer used a similar approach to iRule's. On the plus side:
-
A PC or Mac has much more screen space available for designing GUIs. Many windows could be open to support the design process (e.g. a GUI in progress, views of GUI templates under consideration, a database of codes, etc.)
-
Over time, a large database of MIDI implementations for different equipment (and software) could be collected and used forever. This could have a huge impact on GUI design; just imagine the convenience of accessing a database that had every patch label and the matching MIDI code for your effects and sound sets.
-
The GUI design process would be separated from its conversion into a run-time version. Thus, with appropriate website support, a single design could be implemented on multiple target platforms (iOS, Android, Window 8…), just in case you wanted to change sides someday or share your design with someone running a different OS.
-
It would probably facilitate the addition of a programming language of some sort, which would enable users to handle complex actions such as generating multiple MIDI messages or reacting to different combinations of control settings. (I mentioned something along this line in my "classic" radio button comment, which was posted elsewhere.)
On the negative side, the convenience of designing and then immediately running a GUI on a target platform would be lost.
I vote for the new approach. I think it would enable users to focus on GUI design, enable more platforms to be supported, and shield users to some degree from equipment-specific MIDI implementation details, which I think most would agree are painful to deal with.
Just a thought…
Audios