View Full Version : Should XBMC's "Advanced Feature Settings" be hidden from the GUI as they are today?
We were discussing this issue in the following trac:
http://www.xbmc.org/trac/ticket/5969
I added a feature which allows users to execute actions while system was idle. It turned that it was too advanced of a feature and it should not to be availiable to the normal user as a GUI option
We usually place advanced settings in the advancedsettings.xml file.
What do you all think ? Should these Advanced Options being shown on the GUI ?
I think if XBMC is going to become more widespread (which I hope it does) then an 'Advanced Settings' menu would be a good idea as it's more user friendly than creating and editing your own advancedsettings.xml.
TeknoJnky
2009-02-26, 21:59
GUI for advanced settings would be great, but IMO the biggest thing that would help facilitate mid-level use, would be a gui for remote control programming.
Instead of trying to re-program remotes for existing maps or messing with keymappings manually, it should be made trivial (from a user perspective) to assign functions to remote keys directly from within xbmc.
ie like how pretty much any modern game allows you to remap keyboard (select event/command, then press the key or remote button you want assigned to it) directly from the options.
Rand Al Thor
2009-02-26, 22:18
I think that the advanced settings should be accessible from the gui. However, I think that it should be up to the "master user" to lock the settings so that less experienced users don't mess up these advanced settings. People need to make different users accounts for the wife and kids and lock all the important stuff up. Just my 2 pence. Cheers.
There are far too many entries to list them in an advanced screen.
Ideally, i'd like to see an advanced configuration editor, like with firefox or thunderbird (about:config). Everything could be accessed here, and it could read from/write to the existing xml. Could be accessed from xbmc itself with a keyboard, via the web interface, or by editing the xml directly. A dinky config editor could even be written to allow access in xbmc w/o keyboard if it became popular enough.
See here: http://kb.mozillazine.org/About%3Aconfig
TheUni
I think if XBMC is going to become more widespread (which I hope it does) then an 'Advanced Settings' menu would be a good idea as it's more user friendly than creating and editing your own advancedsettings.xml.
I would like to see this. It would also limit the number of issues where someone has place invalid values for certain parameters.
chrisdaniels
2009-02-26, 22:37
The more you take away from having to edit files manually, the more user friendly :)
There is always room for a warning message and a reset button lol
jmarshall
2009-02-27, 01:27
advancedsettings.xml will NEVER be editable from within XBMC.
Separate app, I have no problem with (but I won't write it). The reason is simple: Advancedsettings is for advanced users! We don't want people touching it, and you shouldn't have to! I don't touch it unless I absolutely have to, which is usually when I'm testing something in it.
If something HAS to be altered by a user, then it should be in the GUI. Anything else should not be available, as I can guarantee that many users WILL play with them and then freak out when stuff goes wrong.
We have way too many GUI-settable items already - hopefully a whole bunch can be scraped for the next release.
Cheers,
Jonathan
jmarshall what about things like to enable remote to work with onscreen keyboard shouldn't that not be in advanced settings but in the GUI settings?
jmarshall
2009-02-27, 01:53
Ideally, the setting should not be needed - XBMC should function. I suspect, however, that this is impossible to achieve in general, at least in the short term, for things such as SMS based input into edit controls.
Any option that can justify itself as being in the UI obviously will be there. I will be conducting a review of all gui and advanced settings prior to the release of 9.04.
Cheers,
Jonathan
TeknoJnky
2009-02-27, 16:33
Anything that suggests a 'one size fits all' state, then xbmc will be poorer for it.
One of the greatest things about xbmc is it's flexibility.
Flexibility comes from options.
While I can agree that a careful balance should be maintained, if one is to err, it should be on the side of flexibility.
althekiller
2009-02-27, 17:29
Someone could rather easily write a script to config as.xml. That would give you the appearance of it being built in, yet the average user would never see it since they likely wouldn't install it.
chrisdaniels
2009-02-27, 20:10
Is it just me or do other people think its all the options that make xbmc so great?
The fact that you can alter many different settings straight from inside xbmc itself means that you can customise it to your individual needs and see the result instantly.
I dont want to have to edit an xml file from my computer to do it, i dont want to touch the computer. Sure, i know what i am doing, but i want instant interaction.
Take mobile phones as an example. How many options do we have on those these days? More and more with every new generation.
The average joey doesnt know what they all do, but they are there for the people that do. At least you have the option, and you can change it in an easy fashion.
Sure some people will mess up, thats just what people do though.
Maybe a global setting for a Basic or Advanced user would cover that, with the default obviously set to Basic.
Or how about protecting that "section" with a pin number?
There are quite a few ways other than the above to have these options available to the GUI but hidden from the fiddling kids :;):
I do like althekiller's suggestion of a script to give the impression of them being built in, but then wouldnt it need a re-write with every new setting addition?
Just my 2cents, not out to cause any arguments or anything so dont bite my head off lol :grin:
Well, since they're going to re-evaluate the options that are available in the GUI before the next point release, I'll wait for that time. I look forward to it because there are probably a lot of options I'm not aware of but could take advantage of.
We need to really define what an advanced user for XBMC is ?
Is it someone who can build from SVN ? Is it someone who knows their way around the OS ?
Windows is a much easier OS than Linux, so does that mean anyone who is able to configure and run Linux is an advanced user for XBMC ?
jmarshall
2009-02-28, 05:45
An advanced user is someone who comes here and posts regularly on the forum. Every single one of you in this thread I would consider an advanced user. That's why you all like the options. My question to you is: Do you ever change any of them? If you do, then either there's a bad default, or we need to do things in a better way to eliminate this.
We have 4000 "active" forum posters. We have had over 700,000 downloads of XBMC Atlantis, just on Windows and OS X. This does not include the myriad of Linux and Xbox users.
We have far too many options already. They'll never be taken away (unless they make no sense whatsoever, ofcourse) but the settings that are available from within the application interface will be reduced to a minimum.
I don't expect you to agree with me, indeed I expect you to completely disagree!
Cheers,
Jonathan
rwparris2
2009-02-28, 06:52
There are far too many entries to list them in an advanced screen.
Ideally, i'd like to see an advanced configuration editor, like with firefox or thunderbird (about:config). Everything could be accessed here, and it could read from/write to the existing xml. Could be accessed from xbmc itself with a keyboard, via the web interface, or by editing the xml directly. A dinky config editor could even be written to allow access in xbmc w/o keyboard if it became popular enough.
See here: http://kb.mozillazine.org/About%3Aconfig
TheUni
Aside from 'leave it how it is', an about:config clone available from the web interface is the idea I like best of all.
If the people on this forum are advanced users, shouldn't they be used to determine what should be considered as advanced feature afterall alot of bugs and fixes come from within the forum themselves ?
Why care about people that aren't contributing into XBMC itself ? Yes I am aware that 4000 users will become 400,000 user all complaning they played around with some of the advanced options and screwed up XBMC. But eventually over time, they will become advanced users themselfves with the knowledge they learned from the forums.
The reason I like XBMC so much is that it is open source. We can always fix the bug ourselfes if we needed too.
TomJensen
2009-02-28, 22:14
I think the relevant question to ask is: Who is XBMC targetted toward?
Is XBMC a techie toy only for peeps who frequent this forum, or does it cater for the common peeps who are only going to interface with it through the clicker and the boob tube?
Hey, if it's only for "advanced users" (read: peeps who like to manually edit config files) then why do Windows at all? Surely all "advanced" users would be running Linux already? May be we should kick out all the XBox peeps as well, not to mention the Mac peeps.
The XBMC interface is horribly user-hostile. If you want to understand how bad it is, then get a normal "apps user" to configure it. Good luck.
jmarshall
2009-02-28, 23:25
@TomJenson: Perhaps you could then suggest improvements (in a different thread)?
TomJensen
2009-03-01, 14:22
@jmarshall
Truth be known, I'm not sure where XBMC ends and the skin begins, so perhaps much of the UI ickiness referred to isn't XBMC's at all. I've already made a number of UI suggestions a few months ago in the skin's forum (forget even the name of it now). I do agree that there is way too many "advanced" options available in the popup menus as they are. I also agree that if a default needs to be frequently changed, it's a bad default.
XBMC is a media center, which means that its audience is media consumers. I shouldn't need an IT college degree to watch movies. Since XBMC is geared for the remote as its primary use interface, all install/config options should be relegated to the PC (mouse/keyboard) interface, and the remote should be limited to mainly in-use options. This makes sense, given the average user who use the clicker would not likely be a tech who understands configuration parameters.
Yes, there are people who use XBMC who don't frequent this forum (like my mom, whom I set up the box for). "For advanced users" and "flexibility==more options" are often excuses for crappy UI. It's an argument made in the early years of Linux, but not so much today.
I chose XBMC with the understanding that it was the most mature open-format media center available for the PC. That proved to be relative, as the experience of configuring it was a major chore. To be fair, XBMC is new to Windows, so hopefully it will get better.
I'll post a general suggestion here, as it is relevant to the thread: Some basic features are broken in the official Atlantis build, such as idx/sub subtitle support and UTF-8 support for the default skin fonts. Perhaps they are fixed in the newer SVN builds. If so, please backport these specific fixes to the official build and post a minor update. Per above, not everybody who uses XBMC reads these forums, nor do they know how what the heck SVN stands for, and for them, XBMC is broken in a lot of places. Make the fixes available to normal users, not just for techies.
And as slicemaster had mentioned in a previous post, the majority of the plugins (linked from within XBMC) are broke, at least in Windows. This confuses the new user, since it's hard to know whether the problem is the plugins or a bad XBMC config. Please either remove the link--which make the plugins "official"--or include a caveat to let the user know that many of the plugins no longer work.
As far as I am concerned, I believe it's fine to reduce the available options to a minimum, for a default configuration.
On the other hand, I would strongly suggest to have a single setting, probably inside System configuration, that gives all the other options back.
I hate "going out" from XBMC to configure stuff. Especially when years of use have amply demonstrated that there is A LOT one can do from "inside".
I agree with Rand Al Thor when he says:I think that the advanced settings should be accessible from the gui. However, I think that it should be up to the "master user" to lock the settings so that less experienced users don't mess up these advanced settings. People need to make different users accounts for the wife and kids and lock all the important stuff up.
The way I see it ( Correct me if I wrong ) is that Developer should just keep adding as much features as they can, it is up to the Skinners to worry about how to display it to the user.
I would love to see different view based on skill level of user ( basic, intermidiate, advancced ). When the gui setings are added to the windows, we set the which view it would belong in. Skiners can take this information to create the view.
I do agree XBMC has way to much information for media consumer who just want to watch a movie.
jmarshall
2009-03-01, 22:59
If there's an "Advanced Settings" button in the UI, people WILL click on it, whether or not they need to. It also leads to laziness - "Ah, who cares, just put it advanced and users can choose it if they want", instead of thinking things through and really justifying whether a new setting is needed.
I believe a script that will handle reading and writing advancedsettings.xml will be written anyway, making all this a moot point. Clearly such a script will NOT be included in XBMC by default.
I suspect in a couple of weeks I'll start the settings cleanup exercise, and at that point I'll post a new thread with proposed changes for comments.
Cheers,
Jonathan
"Decide the little details so your customers don't have to. You're faced with a tough decision: how many messages do we include on each page? Your first inclination may be to say, "Let's just make it a preference where people can choose 25, 50, or 100." That's the easy way out though. Just make a decision.
Preferences are a way to avoid making tough decisions
[...]
Preferences are also evil because they create more software. More options require more code. And there's all the extra testing and designing you need to do too. You'll also wind up with preference permutations and interface screens that you never even see. That means bugs that you don't know about: broken layouts, busted tables, strange pagination issues, etc.
Make the call
[...]
Yes, you might make a bad call. But so what. If you do, people will complain and tell you about it. As always, you can adjust. Getting Real is all about being able to change on the fly."
Source: http://gettingreal.37signals.com/ch06_Avoid_Preferences.php
Note: I'm am NOT affiliated to these people, I just read the book.
I think it also applies to the advanced settings. It should not be in the interface as far as I'm concerned. To take it a step further, less options = better. To create a large userbase, XBMC should be as easy to setup as possible.
rwparris2
2009-03-02, 01:00
The way I see it ( Correct me if I wrong ) is that Developer should just keep adding as much features as they can, it is up to the Skinners to worry about how to display it to the user.
http://en.wikipedia.org/wiki/Feature_creep
It should be up to the skinners how to display the features that are there, not which features to display.
TomJensen
2009-03-02, 05:40
Chewing on this a little more, I think both sides are right, that XBMC does need to have a better way to configure options using a GUI, and XBMC already has too many options in its GUI.
To config XBMC right now, you have two options: doing it while XBMC is running, meaning having to deal with a UI that is geared primarily for a remote control (read: clunky), or manually edit one of several xml files. Neither is appealing.
XBMC needs to have a GUI outside of the program for configuration, not so much for the graphical stuff, but to have all the options in one location, with context help for what all the settable parameters mean. Ideally, it would have tabbed panes similar to Firefox config or the umpteenth other apps. Then you can have advanced options alongside basic ones, w/o worry that an "apps user" is going to muck it up while running the program. Lack of a config GUI outside XBMC is what leads to the cramming of all the options inside it.
The XBMC interface is horribly user-hostile. If you want to understand how bad it is, then get a normal "apps user" to configure it. Good luck.That's funny since the XBMC interface is a recurring theme when people who like XBMC talk about it.
Each to his own I guess.
Aside from 'leave it how it is', an about:config clone available from the web interface is the idea I like best of all.This is an excellent idea.
Advancedsetting editor available only through the webserver. It would in turn generate the xml file.
althekiller
2009-03-03, 02:36
Advancedsetting editor available only through the webserver. It would in turn generate the xml file.
Except it would add even more settings as something of this nature obviously needs its own auth.
rwparris2
2009-03-03, 02:49
Except it would add even more settings as something of this nature obviously needs its own auth.
Maybe only require auth if the profile is password protected (ie profiles).
It is still pretty insecure, as I'm guessing most users don't know they can have separate profiles, let alone lock them down. Maybe a default password of 'xbmc' making just as (in)secure as ftp on xbox?
I vote for a web interface with FULL settings config... not just AdvancedSettings.
This would be fantastic as many of the settings, like ones where you need to "browse", are a PITA via a remote.
TomJensen
2009-03-03, 04:47
@sho
"That's funny since the XBMC interface is a recurring theme when people who like XBMC talk about it."
If the motivation is to improve XBMC, then the people you should pay attention to are those who tried it and dislike it, or those who tried it and couldn't get it to work.
The problem, of course, is that they aren't likely to bother making an account on here and post their tales of woe. However, you can gauge something by its absence as well. The stark disparity of 700,000 downloads to 4,000 registered posters (and a tiny minority of active posters) should tell you something. Also, the makeup of posters on here, most of whom are techies, should give you another hint.
For those "advanced users uber alles," here's a quote of the XBMC mission statement. May be it's just empty rhetoric?
"The major ongoing goal of Team-XBMC has always been to make XBMC and its user interface feel even more intuitive and user-friendly for its end-users, based on the KISS (Keep It Simple Stupid) principle of simplicity."
For those "advanced users uber alles," here's a quote of the XBMC mission statement. May be it's just empty rhetoric?
"The major ongoing goal of Team-XBMC has always been to make XBMC and its user interface feel even more intuitive and user-friendly for its end-users, based on the KISS (Keep It Simple Stupid) principle of simplicity."You have to consider what you set out to do when judging simplicity and ease of use. XBMC gives users a lot of control. For that kind of control, I still think it's rather simple.
You have to consider what you set out to do when judging simplicity and ease of use. XBMC gives users a lot of control. For that kind of control, I still think it's rather simple.
I have to agree with previous comments XBMC at this point in time seems to be very much in love with the advanced user community and without going on to the forums the posibilities to make this system into a nice and easy to use Media Center (like dear I say it Windows Media Center) are only present in the heads of the developers and forum regulars.
One of the main reasons is there are to many options in XBMC at the moment, the number of settings menu's sub menu's and other ways to get to the settings screen are huge and rather confusing. (talking just about the default HD skin) The menu option titles are not always clear as to what exactly they affect and in the application there seems to be on way to figure that out trying or reading the manual are the only options left to many new users.
Any user that wants to do more then just the basics has to go into a "scarry" advancedsettings.xml file and edit things there with all the risks of typo's and the like. This causes a lot of confusion and worries for many certainly beginning users as they are forced to use a search function on the forums or in the wiki and then make sure they preform the incantations and secret rites exactly as described within the bowls of the source of infinite human knowledge called the internet. Not very user friendly, if you ask me
I know that all developers and experienced users will likely disagree but look at the number of xxx for dummies books have been sold. These are the kinds of people that make for the large user numbers and that make a product a household name for the masses. If that is what XBMC wants to become then less settings is better. But that would kill the current userbase...
It might not...
Lets say one where to create a startup argument for XBMC, which provides access to the advanced settings configuration but prevents any playback from happening. This means that advanced users will only go into this mode if needed and only to change a setting not for normal usage. It would prevent typo's and the need to search the interwebs for how what and with what spelling etc. Even a "dummy" user that does end up starting XBMC in this mode will not be able to mess up the advancedsettings.xml file, just change it.
This bings me to one last thing as stated before the current settings are not always clear even though the names are as descriptive as possible, the good thing is that one is unlikely to completely destroy their current XBMC setup by just changing one of the settings. This does not mean that a help dialog per setting would not be helpful for may certainly beginning users. Adding a function like this to XBMC will help the "dummy" audience greatly while at the same time assisting the advanced users make more educated guesses about what settings are safe to change in the advancedsettings mode.
Just imagine if some ingenious user decided to make a standalone advancedsetting app, instead of the umpteenth nfo generator (for Windows).
jmarshall
2009-05-05, 23:22
rcoops: The whole point of advancedsettings.xml is:
NORMAL USERS SHOULD NOT HAVE TO TOUCH IT.
Did I make that clear enough? If you have to alter something in there, then you are doing something that the vast majority of people should not have to do. If not, then whatever setting that's there needs to be in the UI.
If there's problems with the settings in the UI, as you mention, then please file a report on trac with what it was you were confused about, with some suggestions as to why you were confused and/or what could be done to improve the situation.
If there's things in advancedsettings.xml that you feel lots of people need to change, then please let us know what it is so that we can consider it for inclusion in the UI.
Cheers,
Jonathan
nekrosoft13
2009-05-06, 05:26
I think if XBMC is going to become more widespread (which I hope it does) then an 'Advanced Settings' menu would be a good idea as it's more user friendly than creating and editing your own advancedsettings.xml.
agreed, should be easier to access.
TomJensen
2009-05-06, 19:47
>The whole point of advancedsettings.xml is:
>NORMAL USERS SHOULD NOT HAVE TO TOUCH IT.
>If you have to alter something in there, then you are doing
>something that the vast majority of people should not have
>to do. If not, then whatever setting that's there needs to be
>in the UI.
The problem with this (all user config in the UI) is that the UI is not suited for text-dense output, given its relatively large font size. That means you can only fit so many settings per screen, necessitating large number of screens for a full user config. That's one definition of user unfriendliness. Another problem is that any explanation for settings has to be brief (again, because of low text density).
A second problem is that the UI is geared toward use of a remote, so navigation is awkward. You can of course use a keyboard/mouse in the UI, but the "look-and-feel" of a remote-control UI is different from a mouse-driven UI, making navigation unintuitive. This is all the more true when some of the keys are mapped to different XBMC commands, obviating their normal use per desktop UI convention.
Frankly, I'm a little surprised that for one who espouses usability as his role, that you would think that the in-program UI can be used for full customization. And the thought that the advancedsettings file can be made to that it satisfies most every situation is a bit presumptuous, given the wide diversity of circumstances and needs. If you were to give serious thought about usability, a suggestion is to sit down with someone who is an "apps user" that has no experience with XBMC, and let the person try to configure the program. That's what usability is all about, learning how normal users use a program.
What sho and some others said makes perfect sense: XBMC needs an external (PC-based) configuration module. It doesn't have to be just for "advanced settings."
rwparris2
2009-05-06, 23:16
>The whole point of advancedsettings.xml is:
>NORMAL USERS SHOULD NOT HAVE TO TOUCH IT.
>If you have to alter something in there, then you are doing
>something that the vast majority of people should not have
>to do. If not, then whatever setting that's there needs to be
>in the UI.
The problem with this (all user config in the UI) is that the UI is not suited for text-dense output, given its relatively large font size. That means you can only fit so many settings per screen, necessitating large number of screens for a full user config. That's one definition of user unfriendliness. Another problem is that any explanation for settings has to be brief (again, because of low text density).
A second problem is that the UI is geared toward use of a remote, so navigation is awkward. You can of course use a keyboard/mouse in the UI, but the "look-and-feel" of a remote-control UI is different from a mouse-driven UI, making navigation unintuitive. This is all the more true when some of the keys are mapped to different XBMC commands, obviating their normal use per desktop UI convention.
Frankly, I'm a little surprised that for one who espouses usability as his role, that you would think that the in-program UI can be used for full customization. And the thought that the advancedsettings file can be made to that it satisfies most every situation is a bit presumptuous, given the wide diversity of circumstances and needs. If you were to give serious thought about usability, a suggestion is to sit down with someone who is an "apps user" that has no experience with XBMC, and let the person try to configure the program. That's what usability is all about, learning how normal users use a program.
What sho and some others said makes perfect sense: XBMC needs an external (PC-based) configuration module. It doesn't have to be just for "advanced settings."
Try reading what JM wrote again, I think you missed his meaning.
jmarshall
2009-05-07, 02:50
Indeed "full customisation" is ridiculous from the UI. Those who need full customisation are those who will be quite happy with editing some settings outside of XBMC. Whether this be an advancedsettings.xml file directly (this is easy enough to do if we make a template available for instance) or via some advanced settings editor (that just pretties up this process) is irrelevant to the discussion at hand.
What I think we all agree on is that any settings in the UI need to be thoroughly thought through, and that they really have to cover sufficiently different usage requirements in order to justify being there.
Many of our current settings don't belong in the UI as most users shouldn't have to touch them. Some of our currently "advanced" settings possibly do belong in the UI.
The key is identifying which ones are needed by "basic" users, and ensure that those are available and are well described so as to be very clear. Anything else doesn't really need to be there.
We've got a couple of lists internally on thoughts on some of the settings we have in the UI that don't need to be there. I'll see if I can move that to a separate forum thread for a wider discussion if you wish to take part.
Cheers,
Jonathan
Yup, I would be really interested. In the beginning I was against this but there's definitely a point behind your reasoning.
A template xml with all the advanced settings already spelled out (dreaming... maybe REMed with description?) would already be a step in a good direction.
The separate application... wish I was able to create it. I'll see if I can convince a friend of mine, programmer and XBMC user to devote some time. :)
Gamester17
2009-05-07, 23:03
What I think we all agree on is that any settings in the UI need to be thoroughly thought through, and that they really have to cover sufficiently different usage requirements in order to justify being there.
Many of our current settings don't belong in the UI as most users shouldn't have to touch them. Some of our currently "advanced" settings possibly do belong in the UI.
The key is identifying which ones are needed by "basic" users, and ensure that those are available and are well described so as to be very clear. Anything else doesn't really need to be there.FYI; I know that Plex's dveelopers have spend a lot of time on this part, removing many things from the GUI settings, yet added others, ...and they do include a filled in advancedsettings.xml file by default. They agree with us that XBMC should preferably work stright out-of-the-box for 99% of the users without any of them having to change any of the settings, ...other than language, location, clock and time-zone, remote-type, keyboard-layout, and point out their sources of course.
Makes me thing that is what Apple and Mac developers spend most of their time on, targeting a very large and broad audience then making their apps fool-proof to fit most peoples need via forced compromises that are hard coded in the UI, ...but on the other hand that is why many people turn away from closed source applications and go for open source alternatives, because they give choices and can be customized if the user want to do that.
/ My 2 cents
TomJensen
2009-05-08, 16:49
>What I think we all agree on is that any settings in the UI
>need to be thoroughly thought through, and that they really
>have to cover sufficiently different usage requirements >inorder to justify being there.
I agree in part, but I would not use the basic/advanced metric to judge for inclusion. The TV UI (also known as the 10' UI) is inferior in most every way to the PC UI when it comes to textual information display and interaction. My suggested rule of thumb is simple: Anything that can be configured outside of the program, should be.
There are two components to usability: the mental effort (figuring out how to change a setting), and the physical effort (the amount of motions needed to effect that change). Making things intuitive lessens the mental effort. Minimizing the number of button/mouse clicks and hand movements lessens the physical effort.
In my opinion, the entire array of settings under the System Config option belong outside the program. The majority of these settings are static and don't need to be changed on-the-fly. I can change them with less physical effort, and gain a better understanding of what I'm changing (with inclusion of contextual help and by seeing all the related settings in one screen) on a PC desktop than from the XBMC UI. Also, consolidating all the settings in one location, rather than have them be scattered throughout the XBMC UI, make things easier to manage and understand.
As an example, folder sort setting is now per folder, and I need to navigate into each one to change it. (Count the number of clicks required.) This would be easier on a PC config, where changing the default sort of a folder (on a graphical tree) only requires two clicks and two mouse movement of probably ~1cm distance each, with zero display lag. Compare and contrast.
So what settings should go into the program UI? Anything that requires ad hoc flexibility. Folder sort, to use the above example, would also be in the program UI. It's not an either-or situation; certain settings should be mirrored in both inside and outside configurators.
This resolves the dilemma Gamester17 raised, how to make a program plug&play, but also allow extensive customization. The answer is that you let the "installer" do the major customization outside of the program, and let the "user" do only minor changes within the program.
To sum, I suggest forgoing the basic/advanced paradigm, and instead use the static/ad hoc (or frequency of change) metric as the gauge. If an advanced setting needs to be changed frequently, then it would need to be within the program.
Anyway, this whole issue involves the "what", as in, what settings should be included in XBMC. My main beef with XBMC's usability is actually with the "how," as in, how those settings are implemented. To give you one of many: .. to denote a parent folder. This is a PC'ism that dates back to the 8.3 DOS days. And what's a "parent folder" anyway? Yes, I had to explain that to my mom, who has no PC experience. But I'll leave this beef to another time. I need to get current and install the new release.
I must agree with jmarshall on that point even if i like to customize everything.
Having too much direct available options is a pain. You'd have to spend hours to pass through and understand them all (if one day you want to change a detail, and you don't remember where exactly the option is or what its name is, you'll regret having this lot of options).
Gamester17
2009-05-08, 21:51
@TomJensen, you are missing the situation when XBMC comes pre-installed in an appliance-type set-top-box, you can not change anything outside the main GUI then.
My point is that you should not have have to use a computer with keyboard mouse to configure or setup XBMC. If someone gave you a XBMC Live CD then you should with it be able to fully be able to install, use, and enjoy XBMC with only a remote control as the only input device on to a preconfigured HTPC, ...they should not have to edit any XML files or run separate configuration software to setup XBMC to be usable. The default settings should meet 99% of the needs of 99% of the users out-of-the-box, at least that is the vision http://xbmc.org/about/vision/
XBMC should be the perfect ready to use out-of-the-box media center for Joe Average who know nothing about computers, a media center for the majority. However it should still try to accommodate those like to customize and personalize via skinning, custom artwork and metadata.
TeknoJnky
2009-05-08, 21:55
What I would like to see, is one settings file with all settings in it pre-populated with applicable defaults. The UI would then pair down the visible options, while the settings file would still be available for any advance configuration needs.
The whole concept of a separate advanced configuration file is not only confusing but a hassle to begin with since it isn't there by default and relies on the user who may or may not be an xml genius to format it correctly.
What I would like to see, is one settings file with all settings in it pre-populated with applicable defaults. The UI would then pair down the visible options, while the settings file would still be available for any advance configuration needs.
The whole concept of a separate advanced configuration file is not only confusing but a hassle to begin with since it isn't there by default and relies on the user who may or may not be an xml genius to format it correctly.
That's the whole point behind advancedsettings.xml. It should NOT be required for most users and is only required to solve specific issues that involve less than 1 percent of XBMC users.
I for one, am totally against a GUI interface for advancedsettings.xml, it will even further complicate the user interface and lead to more tech support issues as novice users WILL misconfigure any setting they can click on.
And remember that every setting in the GUI also need language translations for the N languages that XBMC supports.
EDIT: If there's a setting in advancedsettings.xml that needs to be exposed, then make a trac ticket and request such an exposure with details on what, why and where a setting needs to be exposed in the GUI. Asking for everything in advancedsettings.xml to be exposed in a GUI is just not going to happen.
TeknoJnky
2009-05-09, 01:50
I didn't say, nor do I think that all options should be in the ui.
I think all options should be in a single configuration file, and that file should be populated with appropriate defaults for each of the settings.
What I am saying, is that there should not be any 'hidden' settings that are not in the one single config file. But what is shown in the UI can be only the very needed options as determined by whatever means.
So, ui = top 20% most important settings.
config file = 100% all settings. Go in with notepad or some other external 'advanced option configurator' program and adjust what you need.
no separate 'advanced' config should be necessary.
jmarshall
2009-05-09, 02:34
@Tom Jensen: Indeed, I think we agree more than we don't :)
We certainly aren't against having the settings available elsewhere (eg the web interface).
We're simply against:
1. Removing all UI settings altogether, forcing an "average" user to use something else. Thus, anything the "average" user should need to be able to change should be in the UI.
2. Adding all settings to the UI, thus overwhelming the "average" user.
The sweet spot is somewhere between 1 and 2. We're currently too close to number 2. The metric isn't just advanced and basic, though that is a big part of it (anything that is too hard to explain within the UI needs rethinking for instance).
This is completely independent of having some extra source available to configure other options (such as via the webinterface) though to be clear, we WANT advanced settings to be hard to change. Sometimes hiding the matches to stop people burning themselves is the best course of action.
Cheers,
Jonathan
I didn't say, nor do I think that all options should be in the ui.
I think all options should be in a single configuration file, and that file should be populated with appropriate defaults for each of the settings.
What I am saying, is that there should not be any 'hidden' settings that are not in the one single config file. But what is shown in the UI can be only the very needed options as determined by whatever means.
So, ui = top 20% most important settings.
config file = 100% all settings. Go in with notepad or some other external 'advanced option configurator' program and adjust what you need.
no separate 'advanced' config should be necessary.
Looks like a good idea to have all the available settings in the same xml file.
Or a least, can we (or do we) have a wiki page listing all the advancedsettings.xml available variables ? (could be enough for everyone in fact, if you want to tweak something specific, take a look in the wiki).
joebrady
2009-05-09, 07:19
We already have that.
http://xbmc.org/wiki/?title=Advancedsettings.xml
We already have that.
http://xbmc.org/wiki/?title=Advancedsettings.xml
AFAIK Advancedsettings.xml does not have all GUI settings, so no.
This could definitely be part of the web interface, ie the ability to change all settings, GUI plus advancedsettings.
The more I think about it, the more I like it.
Gamester17
2009-05-09, 14:42
We certainly aren't against having the settings available elsewhere (eg the web interface).Being able to edit all the advanced settings (meaning all the settings in advancedsettings.xml) from the web interface would be a great solution in my opinion, ...that way the user would not have to install and use a separate application to change the advanced settings and since the web interface can be used with keyboard and mouse on a desktop computer monitor you could have much more information on the screen (such as explanations what each and every advanced settings really does exactly).
Great idea! :nod:
jmarshall
2009-05-10, 01:43
Note that, while I'd welcome a patch to do this, I suspect it will take quite a substantial amount of work to make it fool proof.
Hence I'd recommend making it NOT fool proof. i.e. something like firefox's about:config thing, where you have a list of variables and you can set pretty much what you like for each one. Don't try and restrict what the user can set, as this will almost certainly lead to failure where changes in XBMC mean changes in the interface, something we definitely want to minimize.
Cheers,
Jonathan
needtotest
2009-05-12, 20:41
IMO settings that should not be available in the GUI should not be there. If these are settings that for some reason are needed then they should be accessable from the GUI. If the problem is that it is not fully testet or "insecure" then they should be available to play around with in svn but on every release settings that have been testet and are working as they should - should be available or needs to be set automatically by xbmc.
...IMO
/needtotest
SebaSOFT
2009-05-29, 21:57
I'm seeing that a lot of the community members that know how to program, inmediately they want to contribute with THE ULTIMATE MEDIA SCRAPPER, and that is a common concern among XBMC users. But what about another concern of some users that can leverage the user-friendlyness of the application?
What about a friendly, simple, as intuitive as possible ADVANCE SETTINGS (xml) EDITOR.
A tool that would let you select or detect the location of the advancesettings.xml file and let you edit it using the current advance settings specification.:sniffle:
Who is up to it?:confused2:
for x in http://xbmc.org/forum/*
do sed -i 's/scrapper/scraper/gI' $x
done
TheUni
althekiller
2009-05-29, 23:01
for x in http://xbmc.org/forum/*
do sed -i 's/scrapper/scraper/gI' $x
done
TheUni
You need a ';' after the for declaration and it would be wise to quote $x. ;)
I think he has a point. Every coder thinks everybody else thinks regex and xml. That's pretty elitist.
It's worthwhile considering, especially since it is really only a few days to do...
I'm seeing that a lot of the community members that know how to program, inmediately they want to contribute with THE ULTIMATE MEDIA SCRAPPER, and that is a common concern among XBMC users. But what about another concern of some users that can leverage the user-friendlyness of the application?
What about a friendly, simple, as intuitive as possible ADVANCE SETTINGS (xml) EDITOR.
A tool that would let you select or detect the location of the advancesettings.xml file and let you edit it using the current advance settings specification.:sniffle:
Who is up to it?:confused2:
I wanted to point out quickly that much of the XBMC code uses a stripped down version of regular expression matching (I think it doesn't support lazy quantifiers but am not sure). Regular expressios can be pretty straightforward but to fully grasp what they can do is exceedingly difficult.
Do not believe when some snotty programmer tells you it is a piece of cake - It is not. I have found that using a program like RegExBuddy (http://www.regexbuddy.com/) can be very helpful i constructing and understanding these things is. I am in no way affiliated with them but use this prog a lot. You might give it a shot if you are in a bind of constructing these things (or learning about them). I have books several hundred pages long just explaining regular expressions, so they are not trivial. To use XBMC to its fullest it is a good idead to have at least a basic grasp of it.
To write an ope source replacement for RegExBuddy isn't all that straightforward, the author put a lot of thought into it. If that is your main hurdle, try looking into this. If all the options in this file overwhelm you, you might be better served waiting for someone to really code something like it up.
rwparris2
2009-05-30, 14:19
I think he has a point. Every coder thinks everybody else thinks regex and xml. That's pretty elitist.
Even if an advanced settings editor were to be made, I don't think any sort of regex helper would be involved. That goes far beyond managing any settings.
It's worthwhile considering, especially since it is really only a few days to do...
If you think you can write up an app that can make regex easier for the layperson to understand in just a few days, please do. I'm sure it would be greatly appreciated by the community.
Not the regex part. That simply requires some understanding, even with software help. But there are dozens of settings and only a few use regular expressions.
What about a friendly, simple, as intuitive as possible ADVANCE SETTINGS (xml) EDITOR.
It would be easy if you dont consider you always have to update it. Settings.cpp keep changing. I just took a look at the revision. since rev 8638 the file as been revised 224 times lol
It would be easy if you dont consider you always have to update it. Settings.cpp keep changing. I just took a look at the revision. since rev 8638 the file as been revised 224 times lol
Color me confused.
The OP didn't mention Regex at all, so why is everyone talking about it?
Did he edit the post or something?
All he wants is an Advancedsettings.xml editor/locator.
I do appreciate the difficulty in maintaining a settings editor when the available settings change so often, though.
-Wes
It would be easy if you dont consider you always have to update it. Settings.cpp keep changing. I just took a look at the revision. since rev 8638 the file as been revised 224 times lol
That is what I understood. And that is a piece of cake to code.
something that would be nice is a keymap editor. Which can detect also detect gamepad name from sdl and insert it directly in the keymap.xml
SebaSOFT
2009-06-01, 16:12
First, thanks for all the replies. To all those that started talking about Regexes Let me tell you, you can always have a combo with commonly used expressions and then a (Advanced user mode) to write your own.
This screenshot is for a game I play, but the concept is the same...
http://cleandesperado.googlepages.com/Tweaker01.JPG
A Wizard like interface would be good for new users too
i just started a fast keymap.xml editor here a preview
http://i719.photobucket.com/albums/ww198/tiben20/keymapeditorsample.jpg
and your also able to download the source of this
http://www.mediafire.com/?sharekey=ce5b32c73c2e00ab75a4fc82078ae6c87ac10c92 a0924b855621d66e282a0ee8
SebaSOFT
2009-06-10, 19:25
What about other settings?
Not all involve regex
Not all means keymap editor
There are cool features to enable by editing this file...
Is anyone going to step up? Or there are going to be more and more Media info Managers?
Gamester17
2009-06-10, 19:43
Again, IMHO editors for advanced settings (advancedsettings.xml (http://xbmc.org/wiki/index.php?title=Advancedsettings.xml)), keymappings (keymap.xml (http://xbmc.org/wiki/?title=Keymap.xml)) and other non-GUI features really belong in a separate section of the web interface:
http://xbmc.org/wiki/?title=The_Web_Interface
Please feel free to code this up yourself in PHP, AJAX, or JavaScript and submit a patch, ...similar to:
http://xbmc.org/forum/showthread.php?t=51596
I do not think that there should be a need of standalone apps for this if we could support it via the XBMC's own web interface :;):
Mmmh,
this is what the doc says:
The GoAhead Webserver that XBMC uses does not support ASP, PHP nor JavaScript. The current GoAhead Webserver only support standrad HTTP (and AJAX without JavaScript), and also PSP. PSP (Python Server Pages), a.k.a. SPYCE) is an unexplored alternative for adding server-side code to the XBMC web-site. (sic)
What's the deal with coding it in PHP? Python Server Pages?!?
Are you talking about a web server front-ending the web server?
I don't know, I am working on an advancedsettings editor, very basic stuff. I hope to have it done this week.
althekiller
2009-06-10, 21:45
Again, IMHO editors for advanced settings (advancedsettings.xml (http://xbmc.org/wiki/index.php?title=Advancedsettings.xml)), keymappings (keymap.xml (http://xbmc.org/wiki/?title=Keymap.xml)) and other non-GUI features really belong in a separate section of the web interface:
http://xbmc.org/wiki/?title=The_Web_Interface
IMO adding this stuff to the web interface poses a HUGE security problem. Also, there's no reason someone should need the web interface enabled to edit these things. Nor should they need to connect to multiple instances of XBMC to change settings. Yes, I realize they could just as easily edit the setting on one instance then copy the files around. But this would be far more intuitive if the user didn't have to go hunting through their FS to get at the file and could merely save it to their desktop instead.
Gamester17
2009-06-11, 14:24
The GoAhead Webserver that XBMC uses does not support ASP, PHP nor JavaScript.The plan is to (hopefully soon) replace the embedded GoAhead WebServer library with AppWeb WebServer library in XBMC:
http://www.appwebserver.org/ (also see http://www.ejscript.org and http://www.embedthis.com)
Replacing GoAhead WebServer with AppWeb WebServer will make developing the XBMC web interface much more flexible.
IMO adding this stuff to the web interface poses a HUGE security problem.I am sure that could be solved with HTTPS/SSL and password protection or something similar. Again, it should only give access to edit specific files (such as advancedsettings.xml (http://xbmc.org/wiki/index.php?title=Advancedsettings.xml) and keymap.xml (http://xbmc.org/wiki/?title=Keymap.xml)), however not manually editing capabilities, but w web form editing with drop-down-boxes, fields, and similar formats, so that it will hard for a user to type in something wrong that would cause XBMC to fail completely.
Also, there's no reason someone should need the web interface enabled to edit these things.Well it would make it much more easier then manually editing different XML files with a text editor.
think it would be better of then having a script for the purpose..
Not that I want to be smart but Media Reader can edit Advancedsettings.
@Kabooga, could anything be learned or copied from this project/code?:
http://code.google.com/p/mp-web-interface/
???
By the way, would be nice to have a few screenshots on http://code.google.com/p/xbmcontrol-web/ :grin:
PS! Off-topic but something related that is highly request and a hot discussion topic is also the possibility of being able to edit advanced settings (advancedsettings.xml (http://xbmc.org/wiki/index.php?title=Advancedsettings.xml)) and keymappings (keymap.xml (http://xbmc.org/wiki/?title=Keymap.xml)) non-GUI features via the a separate section in the web interface:
http://xbmc.org/forum/showthread.php?t=46100
:;):