Rockbox Development > Feature Ideas

Overhauling Search Function

(1/2) > >>


I have been using the Fiio M3K for a while and I have an idea on how to make text entry for search really easy. Here are my ideas, each with an increasing amount of complexity and computation needed.

Here are my assumptions:
On most devices it Is easier to move up and down than left and right because most devices use some kind of scroll wheel for up and down and other buttons for left and right.

Simplest system:
Look up data on the most commonly used characters in the English and other supported languages, and arrange the characters in an order where the most common characters are on the  center column, next most common on the columns either side, so that you only need to use the wheel for the most common, and only need one button click to get to the second and third most common character sets.

Second simplest:
Same idea as before, but instead of just looking up a table of the most used characters, count how often each character appears in the database and organize based on each person’s personal database. That way we won’t run into issues of different languages being stuck with English layouts and such, because each layout will be made specifically for each person.

Medium difficulty:
Run the same count as before, but do it for each place in the name. So see what’s the most common first letter, second letter, ect and each time you choose a letter it changes the layout to be the most common for the place you are currently looking for. As an example with my library, I have tons of bands starting with “The” so the first center letter would probably be t, then the second letter the center would probably be H, and so on

Definitely overkill system:
For each letter, find the most likely letter to follow that letter, then most likely to follow that letter, ect so as you are typing it is always putting the most likely letter to follow the string you have typed in so far at the center.

Let me know what you all think, and if the layout not being alphabetical would be too confusing for People, i was just getting frustrated by how long it takes to type something in sometimes. Either way I’ll probably develop some version of this for myself, but I’d love to hear your input!


I am sceptical if anyone is ever going to put in the work needed to implement such a system.  But I do agree that the present text-entry method is cumbersome and non-intuitive to use (whenever I've had to enter text I find I can't remember how it works).

  With your first suggestion (which I think is the most practical of them) the arrangement of characters would presumably have to be set in a configuration file somewhere, so it could be different for different languages, as it would need to be.  I think trying to work out a 'personal' database of letter-order sounds seriously over-complicated, and I don't know many people would be doing enough text-entry on their device to generate such a thing.

Fair, I found the file for organizing the text entry page, so with about 10-20 min work I could back the first one together as a proof of concept, but your right, having it as a config file would be the  long term solution.

As a middle ground, I was able to easily find both the most common first letter, and then most common letter in general. Thoughts on it changing for only the first letter of each word because those two stats are pretty different from each other?

Here is my first pass at organizing them, and I found how to change th code to start your cursor in the middle, so on T for the first and E for the rest. I am going to make this change on my device and try it out for a little while then report back

First Letter   
     H   G
X   B   N
J   W   R
V   I   D
U   T   F
K   O   M
Y   S   E
Q   C   L
Z   P   A
Rest of letters   
     R   Y
Q   S   F
J   I   M
V   A   C
P   E   D
B   T   L
K   O   U
X   N   W
Z   H   G


[0] Message Index

[#] Next page

Go to full version