If you want your FE to be the best (which secretly you do want) and you want people to say Dang, "This IS" the best dang piece uh of dang software I ever saw man!!!, then write the best and make it easy to use. There are probably more complaints about difficulty of use than about anything else in this hobby. You are busy humming along building this cab, then bam! You hit a wall when it comes time to make it work with the FE.
Aight I am done </rant>
I think this is a major misconception of users out there. The cabinet part is
supposed to be the easy part and the software should take you a lot more time to setup. Let's put it this way. When you buy a new pc which is harder, taking it out of the box and plugging in all the cables or spending the next 8 hours installing all the programs you need and getting the settings just the way you like it? It's the same thing for mame cabs, just multiply the time by about a thousand. Computers are complicated, computer software is compliacted, emulators are infinately more complicated than regular software and a program that is supposed to manage/launch an emulator... holy crap, that thing is complicated.
None of use expect for everyone to bow at our feet at how great our stuff is, but what would be nice is if users would be appreciative of how easy we've made it for them instead of constantly complaining when they have trouble getting one thing or another configured the way they would like. People get on my case a lot because I am negative, I'm realistic. I would rather point out hurdles that devs are going to run into rather then tell them how great it is going to be. I do this because the users that say "yeah that'd be cool you should do it" are the exact same ones to complain un-endingly when you are finished with it and it isn't exactly as they wanted it.
You learn real quick that you should please yourself first and the user second or else you go crazy trying to make everyone happy.
I'm not talking about you in particular, you haven't really been guilty of this I'm just saying in general.
I understand the bit about being willing to pay for a fe that just works. The thing is that would take an incredible amount of time to do, so much so that I don't know if anyone of us could afford to spend the time building, even if we charged.
People in this thread keep throwing words around like "just work" but if you truely want to give the user the freedom to set things up the way they want, this isn't easily possible. Let me give you an example with the easiest one to deal with MAME:
Ok first off where is it? You can ask the user, but it would require them to actually know where they put mame and probably the use of a mouse. Well that probably isn't going to work on the cab itself. You could do it over the network, but what about the cabs without nics? Parallel port connection? Floppy?
Let's assume we figured that much out. Now for mame itself. Mame has around 60 options and they seem to change every week. There is absolutely no way to set them up optimally for every pc in an automatic fashion. You can write a fe that allows you to access these options internally but that in of itself could be a fulltime job. Let's skip over that part and assume the user can figure out how to setup mame on their own. Now for roms. Some people have multiple rom directories, some just have one. Some are one different drives, some are on network shares, some are on cd rom. You can have the program search for roms across the whole computer but even with a super fast algorythm that could take hours on larger harddrives. You can let users manually browse but if they have a lot of paths to add it could take forever. Manually typing paths leaves it open to user error. Now we have the artwork paths, the same issue applies. Also the user has to actually find and download the artwork themselves. Finally it's time to generate a gamelist. You can do that automatically, but there are three distinct case scenarios you have to check for as depending upon the mame version, there are three different calls to choose from to generate the list. Once you get that mess sorted out, you have to deal with catvers and how the fe is going to display the list. Just a big list of all the games? How about clones? Lists by cats? Different users are going to want it different ways, sometimes in very custom ways. Those are a lof of questions to ask and a lot of places where things can go wrong. Oh and before you get some grand idea like "what about a drop in module that has the emu, roms and artwork" I'm not even going to begin to explain how illegal that is and how that violates mame's useage agreement.
I don't think anyone in their right mind would expect a developer to take care of all of this automatically, but the way some of you guys talk, we might think so.
And remember, I listed the easy one, mame, which has built in tools to help us devs. There are far more complicated ones like daphne and zinc, in which we can either write a slew of custom utilites, depend upon clrmamepro dats for data or other crazy means. Then of course there's the custom launching.
I'm not ranting back, or anything I just wanted to share the devs likely point of view.