Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-31 Thread Rocker
XavierGr wrote:
And, as a point of interest, we're already using ~20-25% of the available 
RAM on the Cowon Coldfire-based players as it stands, binsize is not only 
important to the Archos players. We're also looking at players that only 
have 384kb of RAM, which makes binsize an even more significant hurdle for 
those (which will probably need a specially toned down build of Rockbox 
anyway).

**Darn tooten dude!

My newX5l will soon be here and I don't want to see battery performance 
decreased due to excessive disk spinning.

You guys rule...rocker



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Roy Wallace
On Wed, Oct 29, 2008 at 12:58 PM, Paul Louden [EMAIL PROTECTED] wrote:

 This again is a false comparison. The WWW doesn't have resource
 restrictions in the same manner as Rockbox. Assume the internet became
 slower for everyone, the instant any website was put up. Were this the case
 there would immediately be a concern on the value of having more information
 available versus the ability for people to access this information in a
 reasonable time frame. Assuming there were a controlling authority, any
 website put up would be looked at in terms of how many people will this
 help versus how much current, and potentially future, cost will this have
 to users who will, and especially who won't, use this feature.


I'm sorry you feel that I made a false comparison - sounds a bit
oxymoronic to me. Anyway, we seem to agree that the issue is: how much
current, and potentially future, cost will [the inclusion of a feature] have
to users?.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Linus Nielsen Feltzing

Paul Louden wrote:

That means less useful features should be considered critically even
if they have small binsize costs, just because they're useful to only
an exceptionally small group. They're a dilution of the total
usefulness density.


Let me chime in with my $0.02. I think that the binsize isn't *that* 
important for the battery life. If a feature adds 10Kbytes to the 
binary, it means 10Kbytes less buffering memory. That is hardly 
measurable at all, only a few frames of an MP3 file.


Yes, the binary size would matter if Rockbox would grow out of control, 
but we all know that won't happen.


I also tend to get the feeling that the binary size card gets played a 
little too often. Especially when it comes to GUI features, or eye candy.


Linus



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Paul Louden

Linus Nielsen Feltzing wrote:


Let me chime in with my $0.02. I think that the binsize isn't *that* 
important for the battery life. If a feature adds 10Kbytes to the 
binary, it means 10Kbytes less buffering memory. That is hardly 
measurable at all, only a few frames of an MP3 file.


Remember that even now we're looking at at least one upcoming target 
with a total 2.3 MB of RAM. Even assuming we dropped the plugin buffer, 
and read audio directly from flash, this presents a real binary 
constraint while preserving speech support, even if we ignored a desire 
to continue supporting the Archos targets.


I'd also like to challenge anyone here to find three features that were 
actually rejected with binary size being the cause. I'm sure many 
people have spoken up saying I don't think it's worth the binary cost 
but I'm sure no feature's ever been reverted for it, and I doubt many, 
if any, flyspray tasks have been closed with that as the sole (or 
deciding) cause.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Daniel Stenberg

On Wed, 29 Oct 2008, Paul Louden wrote:

I'd also like to challenge anyone here to find three features that were 
actually rejected with binary size being the cause.


And I also would like to remind you all that:

it doesn't matter

Each feature is taken on case by case so just shouting to the general crowd 
that we do X too often is not a very good way to make the crowd do less X.


This is also true if X is 'call the binsize card too often'.

Thus, it doesn't matter if we agree on this X or not...

--

 / daniel.haxx.se


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Roy Wallace
On Wed, Oct 29, 2008 at 6:35 PM, Daniel Stenberg [EMAIL PROTECTED] wrote:

 This is also true if X is 'call the binsize card too often'.

 Thus, it doesn't matter if we agree on this X or not...


I agree, but I think the goal of this thread is to clarify for some people
exactly how important binary size is, by coming to a compromise, a
consensus, so as to avoid having the same argument repeatedly on a case by
case basis.

One way to reach this compromise is with a formal set of guidelines, which
take into account the figures and the situation, e.g. the 2.3 MB RAM target
that Paul points out. I personally do not know enough to draft these
guidelines, but I'm sure many of you are. Is it possible to quantify the
effects of binsize?


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-29 Thread Paul Louden

Roy Wallace wrote:


I agree, but I think the goal of this thread is to clarify for some 
people exactly how important binary size is, by coming to a 
compromise, a consensus, so as to avoid having the same argument 
repeatedly on a case by case basis. 

Since the original message in this wasn't explicitly, or solely, about 
binsize, I don't think this is the point at all.
One way to reach this compromise is with a formal set of guidelines, 
which take into account the figures and the situation, e.g. the 2.3 MB 
RAM target that Paul points out. I personally do not know enough to 
draft these guidelines, but I'm sure many of you are. Is it possible 
to quantify the effects of binsize? 
Not really, since it varies on target-to-target basis. For example, 
binsize is exceedingly important on any target where we could 
potentially run out of RAM entirely. Binsize bears almost no value at 
all on 64MB targets where we could probably grow the core binary to 4MB 
and see only a barely measurable loss in battery life.


But it has to be discussed on a case-by-case basis, for the very reason 
that not every feature uses binsize well. For example, a two features 
may each use 5k of binsize. One helps a small group of users, but is 
actually necessary for that small group of users to be able to use 
Rockbox effectively at all. The other one makes life very slightly 
better for all users. Clearly each one should be discussed independently 
as their value, and why they are valuable, is debatable despite their 
equal binsize costs.


There is no objective way to value how much it helps those it helps 
and we have no metric to by which to determine how many it will help 
so we can only go on our own opinions of the value of the feature, to us 
and our own guesses as to the user base.


Even if we set a 2.3MB maximum, that wouldn't allow us to say okay, no 
debating features as long as someone wants them, until we reach the 
cap. Instead we'd be saying Look, when we reach 2.3MB used RAM, we 
can't add any more features at all without removing features. What we 
need to do, now, is look at this feature and say 'do we think it's 
likely we'd be willing to remove it in the future?' and if the answer to 
that is yes, we may as well just go ahead and scratch it now, because we 
should strive to get features that really increase the overall value of 
the software, rather than 'filler' features that allow it to do more, 
but we're readily willing to cut later.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Daniel Stenberg

On Mon, 27 Oct 2008, Jonathan Gordon wrote:


I think its time to have a proper discussion about adding settings


Interesting discussion. Since I was gone during the better part of it, I'll 
just add my sparks to the flames:


 o I think referring to or assuming that discussions on IRC are good to
   conclude consensus or agreements from is bad. If a discussion, idea or
   feature truly is to be discussed it NEEDS to be taken to this very mailing
   list. Not even the patch tracker is good enough to attract the necessary
   attention.

 o No matter how much some people blame some other people for being
   feature-phobic it doesn't help even a tiny bit. What we would rather need
   is ideas or suggestions on how to work on these issues so that the
   apply-everything group and the never-increase-binsize group can get
   together and still make Rockbox develop. I could very well imagine that we
   use the Steering Board for voting on the hardest issues to avoid deadlocks.

 o We MUST still take each issue in a case-by-case approach and weigh in
   the added feature, options, coolness, beauty against the bloat, binsize,
   code complexity, support amount etc. Even if we would change in how much
   binsize we want, we still need a case-by-case decision process. And we're
   still hundreds of hackers, all with our own personal preferences to what
   way we'd like Rockbox to evolve.

--

 / daniel.haxx.se


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Rafaël Carré
On Mon, Oct 27, 2008, Paul Louden wrote:
 XavierGr wrote:
 Sorry but my memory doesn't help me much. Which are these 384kb of RAM  
 targets? (I hope that you don't mean the iFP).

 Sansa Clip. The iFP has 1MB of RAM.

The Sansa Clip has 2MB of RAM.

I think an audio player (especially if it has to support more than MP3)
can hardly fit with less than 1MB of RAM.
It must be simpler for manufacturers to spend their money on hardware
rather than on software optimizations.

-- 
Rafaël Carré


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Thomas Martitz

Jonathan Gordon schrieb:

none of these have a working patch yet, and yes there will be argument
if/when they ever are ready.
  
Depends on you define as working. They all have a working patch, but if 
their committability is another question (and I quite like how my custom 
list patch works).


I pretty much agree with XavierGr in this discussion. Devs tend to 
evaluate new features only on their own using habbits. More then often 
binsize seems (to me) just to be brought up as a reason since it's the 
standard reason and sounds very much better than I won't use the 
feature, so it won't get in, especially not if I'd have to look at an 
option more in the setting.


I don't say binsize isn't a valid reason. But it's kinda stressed very 
much lately, even for quite small additions. In fact, it helps stalling 
the developement. Why should one contribute if he doesn't have any hope 
to get behind the binsize wall. And the more features are rejected (or 
just rotting further) for binsize reasons the higher the wall seems to be.


I do however say that we should evaluate settings before they get in. 
Unlike to the features (I like new features very much) I'm very 
sensitive to settings bloat. I'm really in favor of picking sane 
defaults most people can live with (this goes for FS#9455 as well). And 
with sane defaults, new features one doesn't want to use are not 
noticable if unwanted, i.e. let the user focus on the features he likes 
while being perfectly able to ignore the ones he doesn't like.


We then could possibly just have a features setting menu, where you can 
chose from several features to be enabled or disabled. This way, unused 
features could free most of the RAM they waste reducing the ram usage 
impact. And once you have set those features, you've hardly visit the 
feature setting again and doesn't have to fea the settings bloat.




Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Paul Louden

Thomas Martitz wrote:
 More then often binsize seems (to me) just to be brought up as a 
reason since it's the standard reason and sounds very much better than 
I won't use the feature, so it won't get in, especially not if I'd 
have to look at an option more in the setting.
This sounds to me an awful lot like you saying I won't use the feature, 
so it's not important to me about binsize. Just because you don't see 
it as important as other people, you're suggesting they're hiding behind 
it and inflating its value to themselves.


Please, for the sake of this discussion, let's assume people are being 
honest about their reasons for objecting to things, rather than saying 
People are lying about why they're against the idea and claiming it's 
binsize rather than them just not planning to use it. If we go around 
accusing people of being liars we'll never get anywhere, because 
nobody's statements would mean anything, all of them potentially being 
such lies.


It doesn't serve the community or this discussion to assume dishonesty 
in advance, and without any proof other than your personal feelings on 
the matter.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Dominik Riebeling
On Tue, Oct 28, 2008 at 6:40 PM, Thomas Martitz [EMAIL PROTECTED] wrote:
 I pretty much agree with XavierGr in this discussion. Devs tend to evaluate
 new features only on their own using habbits. More then often binsize seems

and people doing patches aren't doing them based on their habits? Do
users judging patches don't do this based on their taste and possibly
usage habits from other areas? Isn't in reality anyone kinda bound by
its habits?

 I don't say binsize isn't a valid reason. But it's kinda stressed very much

Maybe it's stressed much lately. But as already has been said, Rockbox
is much more feature complete than it was like two years ago, and we
need to decide how much bells and whistles we really want and what
(and especially how much space) we're willing to sacrifice for this. I
haven't seen much of a discussion about this here though.

 We then could possibly just have a features setting menu, where you can
 chose from several features to be enabled or disabled. This way, unused
 features could free most of the RAM they waste reducing the ram usage

Rockbox uses almost exclusively static buffers. How should disabling
features change the required RAM? Features that can free memory if
unused already do this (at the cost of requiring a reboot after
changing). Perhaps there are settings that don't do this yet but could
easily be adapted. Of course it needs to get decided if the possible
issues such a change might bring up is worth it. Still, for most cases
this is not possible. Otherwise we would need to make Rockbox use
real dynamic memory, and this is something that is definitely not
wanted.


 - Dominik


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Paul Louden

Dominik Riebeling wrote:



I don't say binsize isn't a valid reason. But it's kinda stressed very much



Maybe it's stressed much lately. But as already has been said, Rockbox
is much more feature complete than it was like two years ago, and we
need to decide how much bells and whistles we really want and what
(and especially how much space) we're willing to sacrifice for this. I
haven't seen much of a discussion about this here though.
  
Just a small followup on this point: Rockbox is also bigger than it's 
ever been. I think it should be obvious that binsize will become more 
and more of a concern, the larger Rockbox grows.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Dominik Riebeling
On Tue, Oct 28, 2008 at 3:15 AM, Jonathan Gordon [EMAIL PROTECTED] wrote:
 We have a very high level of patch rot which is the same thing (some

but why do we have this high level of patch rot? Because all patches
in the tracker are crap or mediocre features? I don't think so. From
my impression the main problem with patches rotting is that (a) there
are quite some patches that aren't good enough to get included and the
author isn't willing to work for inclusion. We should consider closing
such tasks (yep, that's rejecting them too. But one needs to separate
between rejected because author didn't work on getting it ready and
nobody else picked it up and rejected because it's unwanted for
whatever reason). (b) It also seems (at least I kinda have the
impression) that quite a lot of devs like it better working on their
own stuff instead of checking the tracker and picking up existing
patches. This doesn't surprise me at all and kinda goes back to (a) as
this usually means the one picking up a patch needs to get it into
shape -- I haven't seen much patches that got in unchanged (except
ones done by devs). Of course there is also (c) mediocre features that
are likely to be cause of a larger discussion. It doesn't seem there
is much will upon devs to adopt such a patch and actually start a
discussion about it. Heck, I haven't seen actual *discussions* about
*patches* on this list!

There are some general directions we do agree about without taking it
to this list separately as those are big issues that have been
addressed on IRC several times (like: we do want multifont). But those
are not the problematic issues, especially as you already said as
there are currently no patches about those so no need to discuss them
in detail (yet).

Besides, if there are objections in IRC after a commit this pretty
much smells like the actual pre-commit discussion wasn't done at all.
Arguing around with the people that are currently around is nice, but
(as I already said) due to timezone and RL issues you will always cut
those people that don't have time *the moment the debate is going on*,
not giving those people a change to raise their voice. Are you really
surprised if they do afterwards (as they hadn't a real chance before
the commit)?


 - Dominik


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Dominik Riebeling
On Tue, Oct 28, 2008 at 3:01 AM, alex wallis
[EMAIL PROTECTED] wrote:
 Sorry but I really have to disagree with you on this one, I wouldn't
 describe study mode or whatever it has been renamed to as mediocre or a
 useless feature.

There will always be people that call a feature you consider essential
as useless. The main problem with track skip (or study mode, as it was
confusingly called initially) is that there was *no* previous
discussion, *not even on IRC* -- something that was called
drive-by-commit earlier. If there had been a discussion before the
commit I bet most devs would have agreed upon adding the feature after
bringing it into shape -- i.e. after cleaning up the naming and usage
mess it had been initially. In such a discussion you would still have
found someone disliking the feature though ...


 - Dominik


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Thomas Martitz

Paul Louden schrieb:
It doesn't serve the community or this discussion to assume dishonesty 
in advance, and without any proof other than your personal feelings on 
the matter.


Sorry if it sounded like that. I didn't wan to say you lie at all about 
binsize. And I wouldn't think you're not honest. It's just that I 
sometimes get the feeling that the binsize response is exaggerated some 
times on particular discussions on propsed features/settings. 
Exaggerated by the means that one would agree to sacrify some (k)bytes 
it if the feature would fit his needs and habbits, but not if one 
doesn't intend to use the feature (and then rejected for binsize reasons).


Don't get me wrong. Binsize (and Ram usage even more imho) is very 
important and you should always take it into account before committing 
something, but the more the binsize is used as a rejection reason, the 
less believable it sounds at times.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-28 Thread Paul Louden

Thomas Martitz wrote:
Don't get me wrong. Binsize (and Ram usage even more imho) is very 
important and you should always take it into account before committing 
something, but the more the binsize is used as a rejection reason, the 
less believable it sounds at times.
Well, which is it. Do you believe we're exaggerating (which is a form of 
lying, since we're being untruthful about its actual value to us) or do 
you believe it's your own perception of the believability that's off?


Binsize affects all users. Tiny features that do very little affect a 
very select group. I think it's perfectly reasonable for someone to say 
in my opinion this feature isn't worth the binsize if they honestly 
think that the number of users it will benefit is outweighed by the 
overall increase in Rockbox size. The goal should be to strive for a 
maximum density of usefulness for any given size we reach. That means 
less useful features should be considered critically even if they have 
small binsize costs, just because they're useful to only an 
exceptionally small group. They're a dilution of the total usefulness 
density.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/27 Paul Louden [EMAIL PROTECTED]:
 Jonathan Gordon wrote:
 And you've heard dozens of times it's not *just* bin increase that's a
 problem, but whether a feature's bin increase is worth the functionality it
 adds. There's a finite limit on how much can and should be added (though
 we've not set a target maximum binsize there's lowmem targets already
 showing up anyway) if every feature that shows up is added, we're eventually
 going to have a binary that nearly everyone will agree is too big, and have
 to decide if we want to remove existing features. Better to keep mediocre
 features out in the first place, rather than having to remove features
 later.

bin size is the single biggest objection always. Sure there will
always be the people that feel a feature isnt worth the addition,
and there is people who feel it is.. why is it ALWAYS the first group
who win? worrying about low mem targets is silly. We already have a
mechanism to disable features if they just wont fit, and considering
there is 5 (6?) targets which are considered lowmem, and 20+ which are
not, why should it be harder for the vast majority to have features
they want? the answer to both groups is to build your own version. Its
easier to keep a #if BLAA disabling patch in sync than a feature
addition patch, and more people would be using the 2nd.

As for mediocre features... of course they are the only ones being
argued. Amazing features go in once every blue moon (going by
MajorChanges, I can count  5 which would be considered for this group
in the last 12 months). Shit features are usually rejected without
any objection. Mediocre ones are the only ones where there is any
contention... But if everyone is happy with adding a feature every 2
months, well

 There's a difference between having a powerful set of options and having
 the ability to configure everything you could imagine wanting to configure,
 plus some.

Tomato, tomato... a setting you consider excessive I consider
required, and vice versa.

 3. code maintainability
 It's not usually about the setting itself, but whatever functional code it
 activates. Many suggested settings where this is objected are things like
 additional playback modes, etc, where there is a real maintainability
 problem. I'd be surprised if anyone's objecting to the maintainability of
 the struct itself.

no no, I'm talking about where the actual setting is the reason for
this argument. I'm not talking about a setting which causes
maintenance issues in code which has few people are activly looking
after (like playback)


 But we can know how many people in the past have requested such a setting,
 or felt the lack of that setting is a legitimate problem.


Again, that only shows people who have the idea and care enough to ask
for it (or happen to ask in a place where it gets seen), that doesn't
give any indication to how many would use the setting once it was in
place.


 and we need to make sure ever feature tries to use as
 little as possible,
Which many of the vocal objectors deem to be 0.

 and ever feature that does get in is one we valuable
 enough that it we won't be considering removing it later for something
 else. That, generally, means a feature needs to do something that can't be
 achieved another way.

who is to say another way wont be worse? Would a version which is
written in assembly and uses half the bin/ram size be better than a C
version which anyone can maintain be better? When there are more than
one legitimate way to do something, and someone provides a patch doing
it one way, why should it be rejected by someone who isn't going to
put in the effort to do it the other way?

 For example, there's a legitimate argument that we
 could just compromise on the spacing value rather than making it accept a
 configurable string.

Actually no, A simple strcat would be about as simple as it could be.
strcat()-ing a static string is just as bad/wasteful as strcat()-ing
a user string. The adding of the setting is meaningless when it comes
to the delta.

 Whether you agree that that's an acceptable way or not,
 it would mean a lesser bin increase, no added menu option, and no setting
 someone will debate removing later if we do run into binsize maximums.
 Now, at some point a decision needs to be made about every feature, but the
 idea that every single one should at least be challenged and justified
 shouldn't be thrown out.


Challenged? OK, justified? No, I don't think so. Unless you loosen
your definition of justify to include the sentence I and others
want it, we have put in the effort, it conforms to code standards and
yes, I believe this will benefit the project.

I don't want to get personal, but 80+ people have been given the
privilege/right to change the code as they see fit, sure there is a
level of trust going both ways that it wont be abused and that commits
will benefit the community, but really, there has never been
discussion about changing the authoritative structure to 

Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread pondlife
Hi Jonathan,

 1. bin increase

We're obviously going to have to agree to disagree here.  You seem to think 
that a 32MB buffer is lots of memory; I think of it as the most important 
resource we have to keep battery life up.  I don't know which device/setup 
you use normally, but perhaps it's because I use a HDD player, not a flash 
one?  And I run off battery 90% of the time.  And I've seen the buffer size 
drop by about 3MB in the past 2 years...

[ Maybe mediocre features should only be added to flash players... ;-) ]

 2. settings bloat (i.e we have too many settings already)

Personally, I have no objection here (aside from binsize) - however, I do 
little support work on Rockbox.  At my day job, we know well that every 
added option (potentially) gives another dimension to the test matrix.   But 
I guess it's sensible to tell people with problems to reset their settings 
anyway, hence my position.

I don't like the simple/advanced menus option; if a setting is worth having, 
it's worth putting in the correct place and won't be an annoyance per se.

I do think that every setting should be accessible from the menus (where 
reasonable).  If a feature is so unwanted or mediocre that it's implemented 
as a second-class citizen then I'd question its inclusion at all.

 3. code maintainability

This really shouldn't be a problem at all.  The code we've got needs to be 
more modular, and I'd hope that as features go in (and people work on the 
code), the structure would naturally improve.  Maybe I'm being optimistic 
again!

 4. The majority of users won't use the setting.

No argument for or against here - we don't have any way to measure how many 
users use a setting, heck we don't really know how many users there are.  Of 
course, as Paul pointed out, later removal of a feature is likely to result 
in a response...


Ultimately, I don't think that a general statement can be made here - it 
needs to be considered on a feature-by-feature basis.  But IMHO the focus of 
the project should be more on stability, reliability and 
usability/consistency, not just on how many features we can pack in.

pondlife





Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Nils
On Mon, Oct 27, 2008 at 4:58 AM, Jonathan Gordon [EMAIL PROTECTED] wrote:

 2. Settings bloat.
 Yes, we have lots of settings (168 in the e200 sim) but why is this
 bad? If you don't change a setting and are happy with the default then
 good for you, your config.cfg will be a lot smaller than someone who
 does change a lot more settings. When was a decision made to make
 rockbox only for the common person? The whole point of rockbox is for
 people who want to customise and use their DAP the way *they* want to,
 not the way someone else wants to impose on them.

 Now there is a very valid argument here that the menu is crap, and yes
 that's true, but then that should be the focus of our attention. Fact
 of the matter is that we use less energy arguing about it than
 actually fixing it. Yes there is a wiki discussion about fixing it,
 but I wonder if we should talk about splitting up the settings menu in
 such a way that infrequently used settings are placed differently in
 the menu (hidden if you don't want to see advanced settings maybe? Or
 moved to a plugin even?)

 I'm actually willing to bet that if we hid advanced settings in the
 menu, most people would show them, change the setting then hide them
 again to unclutter the menu.

 Last point on this, at least half the bin/ram usage associated with
 adding settings is in the code to add it to a menu. If some of the
 less used settings were pushed out of the core there would be plenty
 of bin savings to be had.


The more settings we add the more difficult it is going to be to make the
menu
easy to navigate and to find your way in. So while i agree that a lot can be
done by
improving menu structure adding more settings invariably makes the settings
menu worse IMHO.
One common complaint from new users is exactly that this settings jungle is
hard to navigate
so i feel this is an argument against adding more settings.
That said i don't think we can stop adding _any_ settings but we need to
seriously consider
if the setting is useful.
I do personally change about 10 settings from the default but i don't think
everything I don't use
should be dropped but what if we get a (good) patch adding a setting maybe
only the patch author will use, should we include it in svn?
I'm with pondlife on the advanced settings menu btw, hiding stuff just makes
the whole issue worse IMHO.

Nils


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/27 Nils [EMAIL PROTECTED]:
 I'm with pondlife on the advanced settings menu btw, hiding stuff just makes
 the whole issue worse IMHO.

I didn't say it was a good idea... its just one (of hopefully many) idea.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Matthias Mohr

Hi everybody,

in general I agree to Jonathan, I personally really like to configure 
everything what's possible ;-)
BUT: I usually only do it until I'm happy with the settings; from then on I 
only change a few ones.
So we could consider about having an external tool (either a plugin or even only on PC) to 
configure _everything_ and to keep only the common settings in the normal menu structure.


The problem here is to define which settings are common and which are only 
seldom used..


4. The majority of users won't use the setting.

I like your idea on letting the user upload their configurations and to create 
a statistic on it.
With this input the default settings could be tuned and therefore keep the 
common config.cfg
as empty as possible - but this wouldn't help to define which settings will be 
changed often and
which only once...

... my two cents!

with regards,
Matthias (aka Massa)



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/27 pondlife [EMAIL PROTECTED]:
 Hi Jonathan,

 1. bin increase

 We're obviously going to have to agree to disagree here.  You seem to think
 that a 32MB buffer is lots of memory; I think of it as the most important
 resource we have to keep battery life up.  I don't know which device/setup
 you use normally, but perhaps it's because I use a HDD player, not a flash
 one?  And I run off battery 90% of the time.  And I've seen the buffer size
 drop by about 3MB in the past 2 years...

 [ Maybe mediocre features should only be added to flash players... ;-) ]

gigabeast and e200 are my main players atm. and even if they were only
added for flash targets that would be fine for me, they could easily
be added in custom builds with little work

 2. settings bloat (i.e we have too many settings already)

 Personally, I have no objection here (aside from binsize) - however, I do
 little support work on Rockbox.  At my day job, we know well that every
 added option (potentially) gives another dimension to the test matrix.   But
 I guess it's sensible to tell people with problems to reset their settings
 anyway, hence my position.

 I don't like the simple/advanced menus option; if a setting is worth having,
 it's worth putting in the correct place and won't be an annoyance per se.

 I do think that every setting should be accessible from the menus (where
 reasonable).  If a feature is so unwanted or mediocre that it's implemented
 as a second-class citizen then I'd question its inclusion at all.

off the top of my head, settings which should stay but dont need to be
so high up are things like directory/playlist limits, show the title
in the browser, disk and battery options, most of the display
options... bassically anything which are set once options


 Ultimately, I don't think that a general statement can be made here - it
 needs to be considered on a feature-by-feature basis.  But IMHO the focus of
 the project should be more on stability, reliability and
 usability/consistency, not just on how many features we can pack in.

I'm not asking for a add everything or add nothing option, I'm
asking for more flexibility so it turn from implicit prove why
something should go in to convince me something shouldn't, and
usability is all about features...


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/27 Matthias Mohr [EMAIL PROTECTED]:
 Hi everybody,

 in general I agree to Jonathan, I personally really like to configure
 everything what's possible ;-)
 BUT: I usually only do it until I'm happy with the settings; from then on I
 only change a few ones.
 So we could consider about having an external tool (either a plugin or even
 only on PC) to configure _everything_ and to keep only the common settings
 in the normal menu structure.

I'm with the people who are against having settings which are not
(easily) configurable on the DAP itself. The furthest away from the
core I would suggest is as a plugin.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis

I'm with the people who are against having settings which are not
(easily) configurable on the DAP itself. The furthest away from the
core I would suggest is as a plugin.


Hi. I'm afraid that this will probably look like i'm complaining hear.
However, again as i've said before in other posts on other topics, with your 
above comment, if we have settings as a plugin, we run into the good old 
brick wall that plugins are as yet not accessible with the speech interface. 
However if they were accessible with the speech interface, I would have no 
objection at all to settings being turned into plugins.

Does anyone no what happened to that particular gsoc project?
As for stripping out useless features, if we want to save bin size or just 
in general cut down on compile time, why don't we strip out doom? I mean 
doom is a bit of an old game now, takes ages to compile and I seriously 
can't imagine a majority of people play doom on there mp3 players, and the 
same goes for the other emulators.
I mean I can imagine people playing other games such as chess, but doom is a 
completely different matter. 



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/28 alex wallis [EMAIL PROTECTED]:
 I'm with the people who are against having settings which are not
 (easily) configurable on the DAP itself. The furthest away from the
 core I would suggest is as a plugin.

 Hi. I'm afraid that this will probably look like i'm complaining hear.
 However, again as i've said before in other posts on other topics, with your
 above comment, if we have settings as a plugin, we run into the good old
 brick wall that plugins are as yet not accessible with the speech interface.
 However if they were accessible with the speech interface, I would have no
 objection at all to settings being turned into plugins.
which is why noone has done anything in this direction.

 Does anyone no what happened to that particular gsoc project?
 As for stripping out useless features, if we want to save bin size or just
 in general cut down on compile time, why don't we strip out doom? I mean
 doom is a bit of an old game now, takes ages to compile and I seriously
 can't imagine a majority of people play doom on there mp3 players, and the
 same goes for the other emulators.
 I mean I can imagine people playing other games such as chess, but doom is a
 completely different matter.

doom adds 0 to the bin/ram problem, the only reason we have it is
because its a plugin and doesnt waste any ram if its not used.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread pondlife
Hi Jonathan,

 off the top of my head, settings which should stay but dont need to be
 so high up are things like directory/playlist limits, show the title
 in the browser, disk and battery options, most of the display
 options... bassically anything which are set once options

set once for you maybe - battery capacity and maybe time/date might be the 
only ones we could all agree on not changing too often, but I change some 
display options quite often.

 I'm not asking for a add everything or add nothing option, I'm
 asking for more flexibility so it turn from implicit prove why
 something should go in to convince me something shouldn't,

I largely agree - but of course it's a feature-by-feature decision and 
ultimately depends on whether *I* think the feature is useful.

 usability is all about features...

By usability, I primarily meant simplicity (particularly of the UI). 
Features might help, but I'd personally put my Rockbox time (if I ever get 
any) into tidying up what we have...but that's a whole other discussion!

pondlife





Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread T.J. Ross
However if they were accessible with the speech interface, I would have no
 objection at all to settings being turned into plugins.
 Does anyone no what happened to that particular gsoc project?


I'm still alive :). School and interviews have been kicking my ass for the
past month or so and I've had zero time for Rockbox related work. The patch
on the tracker is horribly out of date too. I sent my most recent work to
Daniel and Stephane but even that is not ready for commit. I'm going to try
and sync the patch for some review some time this week assuming I can find
time. As a nice side-note, voicing does work in plugins after applying my
patch,


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Simon M.
On Mon, Oct 27, 2008 at 2:27 PM, alex wallis
[EMAIL PROTECTED] wrote:
 Hi. I'm afraid that this will probably look like i'm complaining hear.
 However, again as i've said before in other posts on other topics, with your
 above comment, if we have settings as a plugin, we run into the good old
 brick wall that plugins are as yet not accessible with the speech interface.
 However if they were accessible with the speech interface, I would have no
 objection at all to settings being turned into plugins.

I think that almost all settings are mostly set once. They could be
loaded from an extra config file (user editable with comments
explaining possible values for every setting) which is also editable
through a settings plugin. The main menu then has mostly on/off
settings to enable features. This has the advantage that adding
configurability doesn't add to binsize, the main menu is not
cluttered, a disk spin up isn't needed very ofthen, changing settings
on target is possible with a plugin and if you want to configure
everything at once without navigating on the player you can change the
config file (and this helps blind users, too).

The decision what an 'advanced' setting is still remains, I would even
go so far and say that everything that isn't on/off is advanced.

example from the playback menu (only with an asterisk would stay in the menu):
* shuffle
* repeat
play selected first
ff rw
fade on stop
* party mode
(*) crossfade (enable stays, everything else not)
(*)  replaygain (the same)
* beep
auto change dir
(*) last fm (I never changed this, so I would remove it)
cuesheet
(*) skip length (don't know the point of this at all)

From a user experience it doesn't change very much, most people won't
even realise that they set a setting in a plugin.


RE: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Mark Ganson

For what it's worth, and probably not very much, I think a settings plugin is a 
great idea if that will reduce binsize and free up buffer memory.  A settings 
plugin could be used for all settings options, not just the less commonly used 
ones.  Selecting Settings in the main menu brings up the settings plugin.  
Users won't even notice the difference because the UI would remain the same.  

In my view, the more features and settings options, the better -- up to the 
point where you begin trading bin/ram for that feature, whereupon the 
discussion needs to be whether the feature is worth the cost.  Even then, if 
the new feature only costs bin/ram for those users who actually use that 
feature, then adding the feature becomes a no-brainer.  I like Jonathan's test 
for a new feature: the burden should be upon those who don't want it to show 
why it shouldn't be added rather than upon the ones who want it to justify why 
it should be added.

I'm not in favor of hiding advanced settings.  That's just adding more 
complexity to the code by having a setting related to the settings.  It's like 
having a meeting to discuss another meeting.


 Date: Mon, 27 Oct 2008 13:58:53 +1000
 From: [EMAIL PROTECTED]
 To: rockbox-dev@cool.haxx.se
 Subject: discussion regarding adding settings (PLEASE add your 2 cents)
 
 I think its time to have a proper discussion about adding settings
 (and to a lesser extent, adding features which may not be used by the
 vocal majority.) I'd like to keep the two topics separate but I don't
 think it's really possible.
 
 This is being prompted by XavieGr's email and patch (FS#9455) but I'd
 rather not discuss that patch here and just keep things general
 because while this is the latest patch to bring up the topic, it's
 definitely not the first or last.
 
 So what are the arguments against adding settings?
 As far as I can remember, these are the only arguments which have come
 up (or that I can think of).
 1.bin increase
 2.settings bloat (i.e we have too many settings already)
 3.code maintainability
 4.The majority of users won't use the setting.
 
 1. bin increase
 Well, As civil as I'd like to be, I think everyone knows my views on
 this argument… Its nonsense. What's the point of the project if every
 time a red delta happens everyone complains? May as well close up shop
 here.
 
 2. Settings bloat.
 Yes, we have lots of settings (168 in the e200 sim) but why is this
 bad? If you don't change a setting and are happy with the default then
 good for you, your config.cfg will be a lot smaller than someone who
 does change a lot more settings. When was a decision made to make
 rockbox only for the common person? The whole point of rockbox is for
 people who want to customise and use their DAP the way *they* want to,
 not the way someone else wants to impose on them.
 
 Now there is a very valid argument here that the menu is crap, and yes
 that's true, but then that should be the focus of our attention. Fact
 of the matter is that we use less energy arguing about it than
 actually fixing it. Yes there is a wiki discussion about fixing it,
 but I wonder if we should talk about splitting up the settings menu in
 such a way that infrequently used settings are placed differently in
 the menu (hidden if you don't want to see advanced settings maybe? Or
 moved to a plugin even?)
 
 I'm actually willing to bet that if we hid advanced settings in the
 menu, most people would show them, change the setting then hide them
 again to unclutter the menu.
 
 Last point on this, at least half the bin/ram usage associated with
 adding settings is in the code to add it to a menu. If some of the
 less used settings were pushed out of the core there would be plenty
 of bin savings to be had.
 
 3. code maintainability
 Meh, a non-argument. You can't argue that adding a setting will make
 global_settings or settings_list.c any *worse* than it already is. And
 I would argue that blaa = global_settings.my_setting_value is easier
 to maintain/understand than blaa = 15 especially if that happens in
 a few places. Besides, I'd like to think that the guys who are adding
 assembly to the code are smart enough to handle a struct access…
 
 4. The majority of users won't use the setting.
 Well, this is sort of the same as point 2, but I thing that should be
 added is that until we add the setting AND setup a website so people
 can submit their config.cfg files for statistics, we will never know
 how many people use what.
 
 
 I mentioned about adding features which may not be used by everyone
 (particularly the loud people who the feature is obviously not
 targeted at) and I think it's the same argument as above. The only
 difference is its ram usage which is fair enough if it's huge (unless
 it's allocated at boot time), but then remember AA uses static
 buffers, as does the WPS and both of those add absolutely nothing to
 the usability of the DAP, only its appearance.
 
 So that is my argument. 

Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

Mark Ganson wrote:
I like Jonathan's test for a new feature: the burden should be upon 
those who don't want it to show why it shouldn't be added rather than 
upon the ones who want it to justify why it should be added.


But the binsize question will ALWAYS come up, so those who think it 
shouldn't be added just say Oh, binsize then it's back to the people 
who say it should be adding having to justify its binsize cost anyway. 
So why not just start out with them justifying the binsize cost in the 
first place? It's as simple as saying the largest binsize increase for 
this patch is on X target and is Y kilobytes. Considering this feature 
allows Z to be done, which was impossible before but necessary when 
using the player in this common situation, I feel it's easily worth the 
tiny increase after which everyone can look at the numbers, and whether 
they feel it's that commonly usable. Then the person justifying it could 
say well if we hard code it without a setting, and pick a small value 
so minimal bin is used, it only decreases the total bin use by X bytes, 
so if we have the feature at all it may as well be a setting because not 
having it as a setting doesn't offer a realistic savings. Or, y'know, a 
similar thing. Trying to make sure to present any negatives with the 
positives up front, instead of complaining every time people DO mention 
negatives, or dismissing those negatives by saying I think binsize 
doesn't matter, so quite complaining to me about it.


As a note, Mark, you may not be aware but you're top posting which is 
something we ask users not to do on our lists.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread pondlife
I suggested moving  the settings to a plugin a while ago on IRC, the major 
objections were:
a) Voice isn't (yet) supported
b) Requires a disk spinup (to load the plugin) each time you want to change 
a setting.

Tom's work should resolve (a).

For (b), I proposed that we allow the last-loaded plugin to remain resident 
(i.e. cached) so that unless you used another plugin, the settings menu 
would remain in the plugin buffer.  We could even load it as the default 
plugin while the disk is still spinning at startup maybe - thus you'd never 
see an extra spinup until you ran another plugin.

To do this would need a change to all existing plugins which have statically 
initialised variables; they would need to explicitly reset values on entry 
(or in some cases maybe choose to make better use of the cached model).

Any takers?

pondlife





Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis
Does anyone no what happened to that particular gsoc project?

  I'm still alive :). School and interviews have been kicking my ass for the 
past month or so and I've had zero time for Rockbox related work. The patch on 
the tracker is horribly out of date too. I sent my most recent work to Daniel 
and Stephane but even that is not ready for commit. I'm going to try and sync 
the patch for some review some time this week assuming I can find time. As a 
nice side-note, voicing does work in plugins after applying my patch,

  Ahh great to hear your still alive lol. I must say i'm really looking forward 
to your work being committed. 
  It will be so good to be able to access dialogs such as properties and also 
play a few of the games such as chess or solitaire etc.
  Also, guess it will mean that maybe sdoyon can convert his patch to give 
playing time information for a play list into a plugin like he suggested he 
might a while back, and then it could get committed.

Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis

there is a

solution.

I'd propose this: battery bench doesn't use the plugin buffer at all, but 
steals his 512bytes from the main ram. So, stop playback - start battery 
bench - start playback again. There's also other plugins doing this.


HI. I see, so am I following you right, your proposing that battery bench 
should be altered so that it doesn't use the plugin buffer at all?
is that right? or is that how it now works? sorry I just found your english 
slightly hard to follow.
Also, when you talk about stopping and starting playback isn't that 
something the user has to do already when there going to start the battery 
bench plugin.
I no a blind user would have to at least, because at the moment of course, 
in order to use speech effectively you have to stop playback as its hard to 
hear speech when an audio file is playing, and you can't use speech when a 
file is paused.
Sorry if i'm asking a really obvious question hear. 



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Thomas Martitz

alex wallis schrieb:
HI. I see, so am I following you right, your proposing that battery 
bench should be altered so that it doesn't use the plugin buffer at all?
is that right? or is that how it now works? sorry I just found your 
english slightly hard to follow.
Also, when you talk about stopping and starting playback isn't that 
something the user has to do already when there going to start the 
battery bench plugin.
I no a blind user would have to at least, because at the moment of 
course, in order to use speech effectively you have to stop playback 
as its hard to hear speech when an audio file is playing, and you 
can't use speech when a file is paused.
As of now it uses the plugin buffer. Using the main ram would remove the 
limitation to be not able to run other plugins.


As for the playback: No, in it's current form it starts with active 
playback and it doesn't stop it.
In my proposal you would need to stop the playback (in order to steal 
main ram safely). That's something that can be done automatically on 
starting though (mpegplayer and doom do it).


I'm not sure what speech has to do with it.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis
As of now it uses the plugin buffer. Using the main ram would remove the 
limitation to be not able to run other plugins.


As for the playback: No, in it's current form it starts with active 
playback and it doesn't stop it.
In my proposal you would need to stop the playback (in order to steal main 
ram safely). That's something that can be done automatically on starting 
though (mpegplayer and doom do it).


I'm not sure what speech has to do with it.

Sorry, i'm probably mixing 2 issues up hear.
I was thinking a user could start the plugin when playback was running, 
which would be hard for a speech user as you can only really use speech when 
a file is not running.
forget my comment lol I think i'm mixing 2 issues which should be kept 
separate. 



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread XavierGr

 I'd propose this: battery bench doesn't use the plugin buffer at all, but
 steals his 512bytes from the main ram. So, stop playback - start battery
 bench - start playback again. There's also other plugins doing this.
 I assume those 512 shouldn't have a huge impact on the battery life. But
 this way, you couldn't only change settings while running a battery test
 (given that the settings menu is a plugin), but also could messure plugins
 impact on the battery life.


The battery_bench callback mechanism works already quite nice and simple, if
settings move to a plugin and tries to change a setting while battery_bench
is running, the user will get notified. Why alter current behaviour and
steal from audio buffer when the plugin itself is supposed to keep track
of battery runtime without touching anything (most of the times at least)?


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis
I'd propose this: battery bench doesn't use the plugin buffer at all, but 
steals his 512bytes from the main ram. So, stop playback - start battery bench 
- start playback again. There's also other plugins doing this.
I assume those 512 shouldn't have a huge impact on the battery life. But this 
way, you couldn't only change settings while running a battery test (given that 
the settings menu is a plugin), but also could messure plugins impact on the 
battery life.

  The battery_bench callback mechanism works already quite nice and simple, if 
settings move to a plugin and tries to change a setting while battery_bench is 
running, the user will get notified. Why alter current behaviour and steal 
from audio buffer when the plugin itself is supposed to keep track of battery 
runtime without touching anything (most of the times at least)?

  Hi. because, what happens if a user wants to change a setting that impacts on 
how music is played back they wouldn't be able to do it if settings was turned 
into a plugin and battery bench was left in its current state.
  They would therefor have to disable battery bench, change the setting, run 
battery bench again and restart playback, you must admit that would be a very 
annoying situation.

Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

alex wallis wrote:


Hi. because, what happens if a user wants to change a setting that
impacts on how music is played back they wouldn't be able to do it
if settings was turned into a plugin and battery bench was left in
its current state.
They would therefor have to disable battery bench, change the
setting, run battery bench again and restart playback, you must
admit that would be a very annoying situation.



The entire point of battery bench is that you should NOT be doing 
anything to trigger the backlight, change what's on the screen, spin the 
disk, or otherwise tax the player above and beyond basic playback 
preferably with the default WPS once you start the plugin. That would 
include changing settings. Taking a plugin's size from the audio buffer 
is exactly the opposite of trying to get an accurate benchmark (by the 
way, I doubt it's 512 bytes, it may not use the whole 512 kilobytes of 
the plugin buffer but that sounds extremely small). I mean all you'd be 
doing by moving the battery bench into the audio buffer would be making 
it even easier to create inaccurate battery benches, because they start 
of biased slightly toward a worse time than you'll normally see.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Dominik Riebeling
On Mon, Oct 27, 2008 at 7:00 PM, Thomas Martitz [EMAIL PROTECTED] wrote:
 I'd propose this: battery bench doesn't use the plugin buffer at all, but
 steals his 512bytes from the main ram. So, stop playback - start battery
 bench - start playback again. There's also other plugins doing this.

I don't like this idea. This would mean:
- execute code from outside a .text area. While this is possible I
quite dislike the idea. Separating between code and data is something
CPU manufacturers are trying to add (this no-execute thingy comes into
my mind) to improve security. And for the mentioned plugins stealing
the audio buffer: those plugins don't put their own code there but use
it for buffering purposes (like doom putting the wad data in the audio
buffer). Having plugins executing from outside the plugin buffer gives
a bad taste.

- stopping playback just for starting a plugin that didn't require
that before? This simply sounds stupid to me as its quite a step
backwards.

Also, I don't like settings being a plugin -- Rockbox core should be
self-contained, which implies that it shouldn't rely on any extra
files. For the codecs this is not possible but all other parts should
avoid this as much as possible. All functionality that currently is a
plugin (properties and credits IIRC) isn't needed to use Rockbox.
Changing settings is something I consider core functionality.


 - Dominik


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis

alex wallis wrote:


Hi. because, what happens if a user wants to change a setting that
impacts on how music is played back they wouldn't be able to do it
if settings was turned into a plugin and battery bench was left in
its current state.
They would therefor have to disable battery bench, change the
setting, run battery bench again and restart playback, you must
admit that would be a very annoying situation.



The entire point of battery bench is that you should NOT be doing anything 
to trigger the backlight, change what's on the screen, spin the disk, or 
otherwise tax the player above and beyond basic playback preferably with 
the default WPS once you start the plugin. That would include changing 
settings. Taking a plugin's size from the audio buffer is exactly the 
opposite of trying to get an accurate benchmark (by the way, I doubt it's 
512 bytes, it may not use the whole 512 kilobytes of the plugin buffer but 
that sounds extremely small). I mean all you'd be doing by moving the 
battery bench into the audio buffer would be making it even easier to 
create inaccurate battery benches, because they start of biased slightly 
toward a worse time than you'll normally see.



But you can almost certainly guarantee there wil be at least one person who 
say decides they want to change an album so it gets shuffled for example. 
Yes I no that would lead to an inaccurate battery test, but i'm sure you 
will find there is at least one person out there who does that.
Besides I like thomas's idea of being able to see what affect the use of 
other plugins has on battery life, it could make for some very interesting 
intertarget comparisons. 



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

alex wallis wrote:
But you can almost certainly guarantee there wil be at least one 
person who say decides they want to change an album so it gets 
shuffled for example. Yes I no that would lead to an inaccurate 
battery test, but i'm sure you will find there is at least one person 
out there who does that.
Besides I like thomas's idea of being able to see what affect the use 
of other plugins has on battery life, it could make for some very 
interesting intertarget comparisons.
So you're proposing make the Battery_Bench plugin less useful for its 
original purpose, by allowing it to be used for other things too.


We need the battery bench as a decent means of comparing the battery 
life with the original firmware's, and for getting logged information on 
the discharge curves. It's not really something that needs to be 
expanded for other purposes at the cost of its core duty.


Yes, people will misuse it by skipping tracks, but frankly we don't care 
what they do in their own private space since their misuse of it doesn't 
prevent or decrease the ability of the people using it properly to use 
it properly. Making it less accurate overall DOES decrease the ability 
of people who want to use it properly to do so.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Dominik Riebeling
On Mon, Oct 27, 2008 at 7:04 AM, Jonathan Gordon [EMAIL PROTECTED] wrote:
 2008/10/27 Paul Louden [EMAIL PROTECTED]:
 For example, there's a legitimate argument that we
 could just compromise on the spacing value rather than making it accept a
 configurable string.

 Actually no, A simple strcat would be about as simple as it could be.

Why does this make the argument unlegitimate?

 I don't want to get personal, but 80+ people have been given the
 privilege/right to change the code as they see fit, sure there is a
 level of trust going both ways that it wont be abused and that commits
 will benefit the community, but really, there has never been
 discussion about changing the authoritative structure to something
 less democratic, so in reality, commit discussions are a courtesy. The

Why is it less democratic to require changes getting discussed before?
IMO that's even more democratic as no single individual can simply do
changes according to his / her liking but has to go through a somewhat
democratic process first. While it wouldn't be helpful or a good idea
to require all committers to do this on every single commit it isn't a
bad idea on questionable commits, larger features and the like.

 but there is a line. I guess now is as good a time as any to bring up
 the usual problem where people will ignore discussion and then
 complain after commit. But anyway, This is not the topic...

Well, I noticed some of these occasions got pointed to it was sitting
on the tracker for x weeks afterwards. I always find this quite
cheap, as the main discussion channels are IRC and the mailing list,
not the tracker. Also, and this is something that in fact could be
improved, the most discussions happen on IRC which is somewhat
problematic due to different time zones and the discussions being
mixed up with support and other talking, which makes it less
convenient and more time-consuming to follow. At least I don't find
the time to read through all logs, and I don't find the time to follow
all discussions even when I'm online. A less synchrounous medium like
email would improve that situation when it comes to questionable
things, at least from my point of view.


 - Dominik


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread XavierGr
Unfortunately Rockbox has become quite feature-phobic recenlty. This
wasn't the case a couple of years ago, where if the new feature in question
was implemented correctly, it was mostly accepted without any thorough
debate. The result was many and sometimes unneeded settings. Do I have
second thoughts about them even if I (or a large userbase) don't use them?
Hell No! For me that is the definition of Rockbox, Configurability. That
is what is missing from OFs of other devices and that is the purpose of the
project (to my view), to give more options(plugins/codecs etc) to the user
(without of course lacking robustness, stability and usability).

The way I see it is that for the sake of rombox on archos (and their low
ram) most targets are drugged down. There is no real issue except those
targets (which is indeed a problem). I've yet to see a benchmark that
signifies lack of battery time resulted by settings overbloat (on high mem
targets) and while there is a tiny decrease it is insignificant. The major
increase in RAM usage came with dircache and Database (tagcache) which I
think nearly all of us find them as the most valuable features (and luckily
can be disabled to ensure less RAM usage).

On the other side I am glad that we are nitpicky, that way we ensure that
the best implementation is coded for inclusion. This though, is sometimes
exaggerated and some new features are ostracized. In current situation even
for the slightest settings addition you need at least 200-300 bytes even for
a simple integer setting. Most of it comes from the settings-mechanism
overhead and not the feature itself. The solution to this overhead could be
separating the settings to a plugin, an idea which I dislike but if it
allows us more settings I will happily welcome it.

About performance and complexity there is not much to be said. Performance
wise a new setting is responsible for another index on the settings
structure (loading/saving no performance lost on that) and of course
accountable for the changes or additions it introduces. Some settings can be
a resource hog (mostly playback settings), while others are quite innocent
with minor additions/changes to the core. Of course the setting in question
should be refined and be as optimized as possible. New settings can make
code more complex (not always though), but rejecting a new setting because
is complex is like saying I don't want it because it is too difficult for
me. I am lazy and afraid of touching that part of code because it might
break it. In any case very complex settings are rare and all new ones
should be included after making sure that they are less complex as possible.

On the user side of things I haven't EVER heard of a user to complain about
too many settings. That's in fact the grand attraction of Rockbox. The
user that doesn't want or care about more options can just use the default
firmware.  I can understand frustration of not being able to customize
something, but I will never understand why someone will complain of
over-customization, it doesn't make sense. Yes, the settings menu could be
more user-friendly but I don't find it too bad at all. It is logically
separated in categories and the only problem more settings add to it, is
that you might need to press more buttons to do what you want. Some
setting-bloat haters could be pleased with a hidden advanced settings
menu, which I don't understand at all (save for the fewer button presses),
but again if that makes people happy I am all for it.

Basically Rockbox development (again the way I see it), consists of 3 major
parts:
1.New ports
2.Iron out bugs and optimization
3.New features or altering existing ones

My opinion is that some developers would be very glad to strike out number 3
entirely or to limit it as possible. Based on their usage patterns they miss
entirely why a new feature or setting could be needed. A feature almost
always will introduce at least one new setting. Rejecting settings limits
feature usage and without new features is like having an eternal feature
freeze. Surely this is not something the project needs. It must evolve and
get better. We all remember that some feature freezes in the past were
introduced with lack of interest by contributors.

In the end of course, developers decide what's best for Rockbox (and I hope
they are right). I understand that it is impossible and impractical to have
everything turned into a setting, but Rockbox is far away from that
situation. I only resent what I might miss from future settings/features
that will be rejected on the shrine of binsize and the doctrine of
settings-bloat. :P  For me that was the key feature, over-customization.
That was the part that made Rockbox appealing and tempted me to add my own
minor contributions. Most new contributors just like to make the project
better by adding the content they thing is missing.


P.S: This of course has nothing to do with FS#9455. It is understandable if
it is deemed unneeded 

Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

XavierGr wrote:
will be rejected on the shrine of binsize and the doctrine of 
settings-bloat.


Can we please try to have this discussion without resorting to rhetoric 
and terms like this?


And, as a point of interest, we're already using ~20-25% of the 
available RAM on the Cowon Coldfire-based players as it stands, binsize 
is not *only* important to the Archos players. We're also looking at 
players that only have 384kb of RAM, which makes binsize an even more 
significant hurdle for those (which will probably need a specially toned 
down build of Rockbox anyway).


But the idea that we should accept *every* feature if it's coded well 
is, honestly, way over the top.


Yes, feature acceptance has slowed down. So what? We can't always accept 
features at the same rate. Over time the biggest, most interesting 
features will be done. Our choice then, is slow down feature acceptance 
because the remaining features really aren't that worth accepting or 
begin accepting less worthy features in the name of simply being able 
to say we're still adding features at the same rate.


Honestly, in my opinion, complaining that we're accepting features too 
slow is ignoring the fact that the project is quite mature now. We need 
to be picky about features. Yes, sometimes we're too picky, but the 
*rate* at which features are accepted is irrelevant since it's a 
function of the number of good features available rather than the 
height of the bar of acceptance. If we lowered the bar, we'd eventually 
slow down again as we run out of medium features. So while we're 
discussing this, let's keep it on what is the barrier of entry rather 
than talking about the rate of feature addition, which is a false metric.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonas Häggqvist
Jonathan Gordon wrote:
 

Put simply, my take on this issue is that I want more GNOME, and less KDE
mentality. I may use 30 out of 200 settings. Now if we say that was cut in
half, to 100 available settings, I might lose 10 settings. Would I miss
them? Probably at first, but in my experience (from using GNOME through
the slimming down of options), I'd quickly forget that I ever needed it,
and frankly, taking away some choices from has made me focus less on the
environment, and more on doing actual work.

It seems, though that Rockbox developers, on average have more of a
KDE-style mindset.

-- 
Jonas Häggqvist
rasher(at)rasher(dot)dk


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Karl Kurbjun
On Mon, Oct 27, 2008 at 6:47 PM, Jonas Häggqvist [EMAIL PROTECTED] wrote:

 Jonathan Gordon wrote:
 

 Put simply, my take on this issue is that I want more GNOME, and less KDE
 mentality. I may use 30 out of 200 settings. Now if we say that was cut in
 half, to 100 available settings, I might lose 10 settings. Would I miss
 them? Probably at first, but in my experience (from using GNOME through
 the slimming down of options), I'd quickly forget that I ever needed it,
 and frankly, taking away some choices from has made me focus less on the
 environment, and more on doing actual work.

 It seems, though that Rockbox developers, on average have more of a
 KDE-style mindset.

 --
 Jonas Häggqvist
 rasher(at)rasher(dot)dk


I completely agree with Jonas.  I think that there is too much focus on what
can be customized rather than basic usability.  Making /sane/ defaults for
users is not such a bad thing.

I do think though that gnome does a good job of having quite a bit of
flexibility for power users that want to dive into gconf which leads to
cause for having a separate plugin or application for advanced settings
beyond the basic options.  I think it is an excellent compromise between
simplicity and power.

The biggest complaint that I hear on Rockbox from non-techies is the
usability; adding more settings does not solve the problem.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread XavierGr
Can we please try to have this discussion without resorting to rhetoric and
 terms like this?


The phrase was a tongue in cheek, that's what the smiley was about in case
someone was offended by it. I don't get where the problem is with that.


 And, as a point of interest, we're already using ~20-25% of the available
 RAM on the Cowon Coldfire-based players as it stands, binsize is not *only*
 important to the Archos players. We're also looking at players that only
 have 384kb of RAM, which makes binsize an even more significant hurdle for
 those (which will probably need a specially toned down build of Rockbox
 anyway).


It would be interesting to see the effect on battery performance now and
when the targets where newly ported and/or how much the binsize increased.

Sorry but my memory doesn't help me much. Which are these 384kb of RAM
targets? (I hope that you don't mean the iFP).



 But the idea that we should accept *every* feature if it's coded well is,
 honestly, way over the top.


I never said that, my whole point was not to be so rejecting at new
settings; not to instantly accept all of them. It is the consensus that
appears here that I try to avoid, that consensus later will be backed up on
IRC discussions and finally a rejecting policy might be considered de-facto.


 Honestly, in my opinion, complaining that we're accepting features too slow
 is ignoring the fact that the project is quite mature now. We need to be
 picky about features. Yes, sometimes we're too picky, but the *rate* at
 which features are accepted is irrelevant since it's a function of the
 number of good features available rather than the height of the bar of
 acceptance. If we lowered the bar, we'd eventually slow down again as we
 run out of medium features. So while we're discussing this, let's keep it on
 what is the barrier of entry rather than talking about the rate of feature
 addition, which is a false metric.


I wouldn't of course, expect the rate to be the same. As you say the
project has matured enough so it is rather logical to have less and less
features on the tracker.\
Again I must say that the point was not the rate, but the factor of
acceptance. If it gets too negative it will be a major drawback for rockbox
development.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/28 Paul Louden [EMAIL PROTECTED]:
 XavierGr wrote:

 will be rejected on the shrine of binsize and the doctrine of
 settings-bloat.

 Can we please try to have this discussion without resorting to rhetoric and
 terms like this?

apparently not... 3 messages back from you agreed that it ALWAYS comes
back to this.


 And, as a point of interest, we're already using ~20-25% of the available
 RAM on the Cowon Coldfire-based players as it stands, binsize is not *only*
 important to the Archos players. We're also looking at players that only
 have 384kb of RAM, which makes binsize an even more significant hurdle for
 those (which will probably need a specially toned down build of Rockbox
 anyway).

RAM size to target count:
2MB - currently 0, 2 in the works
2- 8MB - 7
16MB - 4
32+ - 16

The old targets are holding us back. Most big features are #ifdefable
out, and those that arntt, could be.

To the people that really claim they want battery performace above
everything, mind posting your config? I assume you have the file and
playlist max size right down? last.fm, dircache, ramcache, cuesheet
(unless you actually have any) all disabled? Thats an easy way to
reclaim 2MB (Tried it on my beast). Using your own custom build with
unused features disabled?


 Honestly, in my opinion, complaining that we're accepting features too slow
 is ignoring the fact that the project is quite mature now. We need to be
 picky about features.

Why? since when should mature projects call it quits? the Linux kernel
has been going for over 10 years now and its still adding lots of
features.. are you saying its not mature yet? bringing in yesterdays
IRC conversation about TV... CRT's could be considered very mature why
bother upgrading the tech to LCD/Plasma? surely old outdated stuff is
better?
Besides, the only reason to use the maturity argument is to say that
you want to consolidate the current feature set and get ready to
package and sell it, who are we selling to? its always been about
rockbox for the devs not the users.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

XavierGr wrote:



The phrase was a tongue in cheek, that's what the smiley was about 
in case someone was offended by it. I don't get where the problem is 
with that. 
Tongue in cheek or not, it creates a tone different from reasoned 
discussion. That's my point: Let's keep this without the jokes or asides.
 
It would be interesting to see the effect on battery performance now 
and when the targets where newly ported and/or how much the binsize 
increased.


A more reasonable test would be battery life now vs battery life now 
with RAM-eating functions removed (a build without several features 
compiled in at all). In many cases battery life has gone up, or not 
changed much, simply due to optimization despite increased RAM use. This 
doesn't mean that the increased RAM use wasn't harmful, just that we've 
compensated for it in those specific cases.
Sorry but my memory doesn't help me much. Which are these 384kb of RAM 
targets? (I hope that you don't mean the iFP).



Sansa Clip. The iFP has 1MB of RAM.
I never said that, my whole point was not to be so rejecting at new 
settings; not to instantly accept all of them. It is the consensus 
that appears here that I try to avoid, that consensus later will be 
backed up on IRC discussions and finally a rejecting policy might be 
considered de-facto.
You said all new ones should be included after making sure that they 
are less complex as possible with ones quite clearly being settings. 
This sounds, to me, like you're advocating inclusion of all proposed 
ones. But even if you're not, your proposal seems to be if we can't 
agree to reject them, we should accept them which basically just means 
you need a few vocal holdouts to include a feature that will negatively 
affect the silent majority. In the case of *not* adding features, it 
doesn't make Rockbox *worse* if a feature ends up getting turned down. 
Adding too many mediocre features, though, undeniably makes it worse in 
the general sense.


I wouldn't of course, expect the rate to be the same. As you say the 
project has matured enough so it is rather logical to have less and 
less features on the tracker.\
Again I must say that the point was not the rate, but the factor of 
acceptance. If it gets too negative it will be a major drawback for 
rockbox development.


Your first paragraph in the message I responded to was about a 
comparison of the *rate* of acceptance when you joined vs now. I assumed 
then that you felt rate was actually relevant since you made no mention 
of the ration of quality features accepted vs rejected. You even went so 
far to suggest that you were happy that unneeded settings were accepted. 
So, frankly, I felt you were talking about rate since that was what the 
introduction of your email was about.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/28 Jonas Häggqvist [EMAIL PROTECTED]:
 Jonathan Gordon wrote:


 Put simply, my take on this issue is that I want more GNOME, and less KDE
 mentality. I may use 30 out of 200 settings. Now if we say that was cut in
 half, to 100 available settings, I might lose 10 settings. Would I miss
 them? Probably at first, but in my experience (from using GNOME through
 the slimming down of options), I'd quickly forget that I ever needed it,
 and frankly, taking away some choices from has made me focus less on the
 environment, and more on doing actual work.

 It seems, though that Rockbox developers, on average have more of a
 KDE-style mindset.

 --
 Jonas Häggqvist
 rasher(at)rasher(dot)dk


That mentality doesnt even make sense... how are you at all
disadvantaged by something you wont use? sure you might only lose 10
settings you use, but someone else might might lose 90.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread XavierGr
 I completely agree with Jonas.  I think that there is too much focus on
 what can be customized rather than basic usability.  Making /sane/ defaults
 for users is not such a bad thing.


Having the option of customizing something doesn't hinder focusing on
usability.
Sane defaults are good but when hard-coded they can be very limiting.


 I do think though that gnome does a good job of having quite a bit of
 flexibility for power users that want to dive into gconf which leads to
 cause for having a separate plugin or application for advanced settings
 beyond the basic options.  I think it is an excellent compromise between
 simplicity and power.


With the paradigm of KDE vs GNOME things get more clear. While rasher likes
GNOME better others find KDE more close to their usage patters. The matter
of preference is very hard to resolve.

The gconf analogy might be a conciliatory approach in the end.



 The biggest complaint that I hear on Rockbox from non-techies is the
 usability; adding more settings does not solve the problem.


I think that's irrelevant. Usability will remain as it is in both cases
unless someone starts improving it. (that was a project idea for GSoC 2008
BTW).


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonas Häggqvist
XavierGr wrote:
 Sane defaults are good but when hard-coded they can be very limiting. 

Sane, hardcoded defaults can also let you get on with your life, rather
than waste your life configuring everything, and having unimportant
configuration options get in the way of the actually important ones.

-- 
Jonas Häggqvist
rasher(at)rasher(dot)dk


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

Jonathan Gordon wrote:

2008/10/28 Paul Louden [EMAIL PROTECTED]:
  

XavierGr wrote:


will be rejected on the shrine of binsize and the doctrine of
settings-bloat.
  

Can we please try to have this discussion without resorting to rhetoric and
terms like this?



apparently not... 3 messages back from you agreed that it ALWAYS comes
back to this.

  
You seem confused, as I was referring to the terms on the shrine and 
the doctrine of, trying to frame the ideas in ridicule and humor 
rather than trying to hold a serious discussion.


RAM size to target count:
2MB - currently 0, 2 in the works
2- 8MB - 7
16MB - 4
32+ - 16

The old targets are holding us back. Most big features are #ifdefable
out, and those that arntt, could be.

  
So we have 11 existing targets where RAM is, percentage wise, 
significantly decreased and 16 where it's not. That's not an 
overwhelming ratio.

To the people that really claim they want battery performace above
everything, mind posting your config? I assume you have the file and
playlist max size right down? last.fm, dircache, ramcache, cuesheet
(unless you actually have any) all disabled? Thats an easy way to
reclaim 2MB (Tried it on my beast). Using your own custom build with
unused features disabled?

  
Yes to everything but a custom build. If you want to talk custom builds, 
add features to your custom build, but if I said I was using a custom 
build you'd just say well then you can ifdef out the new features 
anyway and you already know this is about the official Rockbox build, 
anyway.


Why? since when should mature projects call it quits?
Where did I say call it quits. I'm not saying we should be EXTRA 
picky. I think it was VERY clear from what I said that I'm suggesting we 
not LOWER our standards to increase the rate of feature inclusion. 
Please don't try to re-frame my statements to your own end.

CRT's could be considered very mature why
bother upgrading the tech to LCD/Plasma? 
This is a ridiculous argument. Tell how creating LCD TVs reduces the 
ability of someone with a CRT TV to use their TV. You're talking about 
telling people we're upgrading Rockbox to lower your battery life. 
Nobody's going into peoples' homes and shutting off features on their 
CRT TVs so that other people have more electricity for their LCD TVs.


Honestly, if you're going to disagree with me, I'd appreciate you not go 
off on silly tangents. The question of maturity was, again, in terms of 
not *lowering* standards for the sake of an increased rate. Which is 
what this whole discussion is about. You're saying we're too demanding 
of new features. That our barrier of entry is too high.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread alex wallis

how about bringing them back to a sane level like they used to be?
another thing that adds nothing. study mode only got in because it was
a drive-by-commit... oh and its still there...


Sorry but I really have to disagree with you on this one, I wouldn't 
describe study mode or whatever it has been renamed to as mediocre or a 
useless feature.
i really like the feature, its particularly useful for moving around in 
large audio books especially if whoever rips them doesn't rip them in 
sensible chunks but either leaves a file in one huge lump or has several 
hours in one file.
yes yes I no you could edit the file if you wanted on the computer, but its 
extra work.
Also for me at least as a blind user, it means i have a measure of control 
over fast forward and rewind, which is not that easy without study mode due 
to the fact that fast forward and rewind are not audible. at least this way 
i have a degree of control over movement within a file. Without study mode 
its very time consuming to fast forward and rewind through a very long file 
as you have to keep stopping and starting to find out where you are, at 
least you can be certain the time unit your moving by with study mode.
Anyone else agree with me? 



Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread David Hall
alex wallis wrote:
 But you can almost certainly guarantee there will be at least one person
 who say decides they want to ...
Making decisions based on the at least one (hypothetical) person
criteria is a recipe for extremes.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread XavierGr

 Sorry but I really have to disagree with you on this one, I wouldn't
 describe study mode or whatever it has been renamed to as mediocre or a
 useless feature.i really like the feature, its particularly useful for
 moving around in large audio books especially if whoever rips them doesn't
 rip them in sensible chunks but either leaves a file in one huge lump or has
 several hours in one file.


That's the point. You seem to find the setting very useful while someone
else considers it as mediocre. I could find 10 other settings that you find
mediocre while I would like the and think they are helpful. So, instead of
going by my habits solely I accept a setting that will not change neither
your nor my preference.

The whole discussion is summed up to: How to resolve preference conflicts
and how aggressive should the rejection policy be.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Jonathan Gordon
2008/10/28 Paul Louden [EMAIL PROTECTED]:
 If they wouldn't make the cut, why are we even considering multifont? Why
 did we add conditional viewports? Why are we interested in positional list
 viewports and skinnable progress bar?

none of these have a working patch yet, and yes there will be argument
if/when they ever are ready.


 Clearly, some features that don't add functionality are still in the area
 of things we want. Since this isn't about any specific feature, I'd say
 these alone prove we're willing to consider features that aren't purely
 functional.

So these are the only 3 features which will be considered in the next
timeframe? why are they better than say XavierGr's patch?


 And as a note, study mode offers a very much improved ability to seek both
 quickly long distances, and finely afterward, in very large files. Something
 Rockbox didn't really have before. It was very easy to overshoot
 significantly with the previous seek method, if your target point was in the
 middle of a file.

yes I know, I'm just saying that had it come up for discussion it
would have been blocked, it didn't so it wasn't.


 So, claiming their insane is a bit much. It's clear we don't reject every
 feature out of hand, and in fact, if you look at recently rejected patches
 in the tracker I think you'll find there aren't too many you'd argue for
 inclusion of.

you're putting words in my mouth... and well thats another point,
patches arent outright rejected untill they come up for discussion,
there are left to rot in the tracker.


 Is this about the actual barrier for entry, or is this just a complaint
 about the fact that people *will* debate (and possibly complain) about
 features that do enter, but they don't like.

If we want to be democratic how can they be separate issues? Debate is
fine (fun even), what we have in IRC after a contentious commit is not
debate. what we have before a commit is not debate.

 Because honestly, you're not
 going to get people to agree to stop objecting to them, period. Meanwhile,
 evidence clearly shows we don't have that high a percentage of rejections,
 and very very very few reversions.
We have a very high level of patch rot which is the same thing (some
of the time), and yes reversions are something which is almost never
done which is a very nice thing.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

XavierGr wrote:



The whole discussion is summed up to: How to resolve preference 
conflicts and how aggressive should the rejection policy be.
Well, in the case of skip length it solves the fact that, prior to its 
existence, it was physically impossible to accurately seek in files 
blindly. So, in that sense, there was no workaround at all for users 
negatively affected (our entire blind userbase, I assume).


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-27 Thread Paul Louden

Jonathan Gordon wrote:


you're putting words in my mouth... and well thats another point,
patches arent outright rejected untill they come up for discussion,
there are left to rot in the tracker.

  
Which word? You said we need to bring them back to sane standards. By 
definition of the words themselves, that means the current standards 
must be insane. And plenty of patches get rejected without discussion. 
It's only patches in the mid-range that really get discussed. Patches 
that are good enough tend to have someone confident enough that it's 
done well, done right, and doesn't break existing behaviour that they 
sure it improves the user experience *for everyone* and so they commit 
it, and weather a few complaints. You're never gonna get everyone to 
agree, so it will *always* be an issue of your confidence. If the fact 
that a lot of people are complaining about it discourages you, you're 
probably not sure enough of the feature in the first place, I think.


If we want to be democratic how can they be separate issues? Debate is
fine (fun even), what we have in IRC after a contentious commit is not
debate. what we have before a commit is not debate.

  
Does what we have, before or after, stop you from committing? It's not a 
democracy, otherwise we'd vote on each feature and be done with it. So I 
don't get where this if we want to be democratic point even comes in. 
People complain. You listen to them. You try to decide if they have 
valid complaints or not. If there are valid issues, you attempt to fix 
or resolve as many as possible. You decide then if the feature is 
something you think honestly betters the project and then you move 
forward with it, or drop it. The weight is still on you as the feature 
author to make the decision, and to accept any consequences of the decision.

We have a very high level of patch rot which is the same thing (some
of the time), and yes reversions are something which is almost never
done which is a very nice thing.
  
We have a high level of patch rot because people put together half-assed 
patches and as soon as they work for unsupported builds, they don't try 
to address the problems. Even WANTED features usually rot because the 
author doesn't care enough to fix the problems with it. So it's not the 
same thing as rejection if we don't immediately snatch up buggy patches 
and commit them.


Re: discussion regarding adding settings (PLEASE add your 2 cents)

2008-10-26 Thread Paul Louden

Jonathan Gordon wrote:

1. bin increase
Well, As civil as I'd like to be, I think everyone knows my views on
this argument… Its nonsense. What's the point of the project if every
time a red delta happens everyone complains? May as well close up shop
here.

  
And you've heard dozens of times it's not *just* bin increase that's a 
problem, but whether a feature's bin increase is worth the functionality 
it adds. There's a finite limit on how much can and should be added 
(though we've not set a target maximum binsize there's lowmem targets 
already showing up anyway) if every feature that shows up is added, 
we're eventually going to have a binary that nearly everyone will agree 
is too big, and have to decide if we want to remove existing features. 
Better to keep mediocre features out in the first place, rather than 
having to remove features later.

2. Settings bloat.
Yes, we have lots of settings (168 in the e200 sim) but why is this
bad? If you don't change a setting and are happy with the default then
good for you, your config.cfg will be a lot smaller than someone who
does change a lot more settings. When was a decision made to make
rockbox only for the common person? The whole point of rockbox is for
people who want to customise and use their DAP the way *they* want to,
not the way someone else wants to impose on them.

  
There's a difference between having a powerful set of options and 
having the ability to configure everything you could imagine wanting to 
configure, plus some.



3. code maintainability
Meh, a non-argument. You can't argue that adding a setting will make
global_settings or settings_list.c any *worse* than it already is. And
I would argue that blaa = global_settings.my_setting_value is easier
to maintain/understand than blaa = 15 especially if that happens in
a few places. Besides, I'd like to think that the guys who are adding
assembly to the code are smart enough to handle a struct access…

  
It's not usually about the setting itself, but whatever functional code 
it activates. Many suggested settings where this is objected are things 
like additional playback modes, etc, where there is a real 
maintainability problem. I'd be surprised if anyone's objecting to the 
maintainability of the struct itself.

4. The majority of users won't use the setting.
Well, this is sort of the same as point 2, but I thing that should be
added is that until we add the setting AND setup a website so people
can submit their config.cfg files for statistics, we will never know
how many people use what.

  
But we can know how many people in the past have requested such a 
setting, or felt the lack of that setting is a legitimate problem.



The problem seems to be distinguishing between bloat and legitimate 
bin increase. In my experience, your opinion is if someone wants it, 
it's not bloat and I think that's far too liberal. I think that every 
suggestion of a new feature needs justification. One shouldn't see 
people demand that I justify the binary usage as no feature should 
ever go in but simply binary IS valuable, and we need to make sure 
ever feature tries to use as little as possible, and ever feature that 
does get in is one we valuable enough that it we won't be considering 
removing it later for something else. That, generally, means a feature 
needs to do something that can't be achieved another way. For example, 
there's a legitimate argument that we could just compromise on the 
spacing value rather than making it accept a configurable string. 
Whether you agree that that's an acceptable way or not, it would mean a 
lesser bin increase, no added menu option, and no setting someone will 
debate removing later if we do run into binsize maximums.


Now, at some point a decision needs to be made about every feature, but 
the idea that every single one should at least be challenged and 
justified shouldn't be thrown out.