The current behavior of Skip Back in Rockbox is to jump to the beginning of the track if the playback position is more than 4 seconds or so in, otherwise go to the beginning of the previous track. This sounds reasonable, but unfortunately, there are several cases in which this behavior drives me nuts.
1. If I pause a track near the very beginning, leave for a while and come back, and want to restart the track from the beginning, I don't usually keep mental track of where I am. Thus I hit Skip Back, expecting to go to the beginning, but it jumps to the *previous* track.
2. If I'm at the first track of the playlist in shuffle mode when 1) happens, it jumps to the end of the list and *reshuffles* it, which I don't want (and there doesn't appear to be a way to restore the original order).
It gets weirder with some of the more “exotic” codecs like MOD, NSF, etc.:
3. Some of these don't seek by min:sec, but by something else. With MOD, it causes Skip Back to go back a track during the first five orders—and depending on the song, that could last anywhere from a fraction of a second to a minute or more of real time (or infinity, if the file contains fewer than five patterns). Worse, MODs loop, so even if a module has been playing for 3 hours straight, a single press of Skip Back can still end up skipping to the previous track, rather than to the beginning of the current track like one might expect.
4. NSF files have the effect that Skip Back jumps to the last track if playing one of the first five subtracks within the NSF file, otherwise jumps back to the beginning of the current NSF. The time interval involved here could be anywhere from seconds to infinity (if single-track looping is on).
The effect of all this is that it makes the behavior of the Skip Back button seem inconsistent and even unpredictable at times, unless you're completely familiar with the content you're listening to, or you always look at the display (assuming it works and you're a sighted user) before using it. I find this quite frustrating.
On the other hand, I think if the button worked more like on many CD players, it'd be less confusing: If pressed the first time, playback always goes to the beginning of the current track regardless of position; then, if it's pressed again within a few seconds or so of last time, and no other buttons were pressed in the meantime, then—and only then—would it go to the previous track (subsequent repeated presses within the interval would then continue to jump back through tracks like it currently does). In other words, the behavior would be similar to what it already is, but based on real-time time intervals rather than the current playback position. This would eliminate the apparent unpredictability in these cases.
Just a thought. Anyone agree/disagree?