Makes things astoundingly over complex if you ask me.
If we are talking a very simple FE with just a gamelist and maybe a snapshot you can do that in any programming language in an afternoon. All you need is the ability to read text, load images and then render said images and text. Of course launching mame might be nice as well, but nearly every language has an equivalent of "shell"
On the other had a web interface means you have to deal with html/flash/java and god know what else which are NOT easy to program for... no drag-n-drop there. Then of course you need to setup both a client and server side app to make the games launch able.
In what way is that simpler?
well web browsers are ubiquitous, very common. client is done.
web page can be just as simple as you like. start with just mame & mess, you can get all the supported games from -listxml and with .NET you can rather easily filter that XML out by any information contained in the XML (orientation, resolution, year, manufacturer, .. anything) and render a drop-down in probably 15 lines of code. (the .net feature linq is
very powerful for that sort of thing.)
spawning the process to run mame is a bit more complex, but is done so often that MS has working example code on MSDN for just this use case. So, I don't have to write that.
killing an existing mame instance can be done one of two ways, by getting a handle on the fullscreen mame UI and sending the ESC key, or by keeping track of the process ID and killing it via P/Invoke. Both are about the same level of complexity and are maybe 15 lines each.
This just plays very well into my no-frills nature. utilitarian. whether or not i live with this "front-end" is another matter entirely, but i'm going to write it this weekend and try it. if i like it, i'll expand the code greatly, do some fancy multi-select listboxes so I can refine the resulting game list, and probably toss up a ton of icons/buttons for single-click launching of the emulator.
I just hate the thought of a visible front-end on my cabinet. I know that no one agrees with me, but to me it's 100% tacky.
My ultimate goal, which I achieved quite easily 10 years ago via DOS & autoexec.bat, and is more or less impossible now, is to
quickly boot directly into mame without a front-end at all. boot into a single game that this cabinet will run for a long period of time. when I wanted to switch games, I just switched floppies & pressed the reset button on the PC. Ten seconds later the new game was running. That's my ideal; modern operating systems make ten second boots effectively impossible. I used to be able to do this with computers I found at yard sales for $0.50. Now I have to do it with a pile of JAMMA boards.
This no front-end front-end will certainly not speed up the boot process, but it will hide a UI from anyone playing.
Look, I'm weird about this. I get that. you all hate it. I get that. I'm doing it anyway.