[PATCH] Live Filter (Live Search) - Build for Win32 Users to test + comment on.
#31
I'll see if I can get something working over the next few days. bripeace has done a great job with getting things going thus far, and I think just some minor polish is needed to get it working really well.

As I see it it'll work (for ALL input methods) as follows:

1. Invoke filter mode (action to do this, so it can be a UI button or a keypress, or both.)

2. Filter mode causes an edit control to pop up (and be focused) wherever the skinner cares to put it - if skinner doesn't have one then my current thinking is to create one on the fly and put it offscreen, ensuring navigation from it returns to the list. I'm not sure yet what we'll show for numeric input users. The simple option is just numbers, but that's a little too "hacky" for my liking. It may be that for remote users we don't bother showing an edit control. Gamepad users would get the full virtual keyboard - no point having an edit control there for them. One thing I'm concious of is allowing skinners to put more than just an editcontrol there if they like (eg separate "dialog" looking thing).

3. Said mode uses a specific section in the keymap, dropping through to global actions as applicable (i.e. to turn off filter mode or to navigate away from the edit control).

4. Filter is always cleared when a new directory is accessed, so no hanging filters confusing folk.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#32
jmarshall Wrote:I'll see if I can get something working over the next few days. bripeace has done a great job with getting things going thus far, and I think just some minor polish is needed to get it working really well.

As I see it it'll work (for ALL input methods) as follows:

1. Invoke filter mode (action to do this, so it can be a UI button or a keypress, or both.)

2. Filter mode causes an edit control to pop up (and be focused) wherever the skinner cares to put it - if skinner doesn't have one then my current thinking is to create one on the fly and put it offscreen, ensuring navigation from it returns to the list. I'm not sure yet what we'll show for numeric input users. The simple option is just numbers, but that's a little too "hacky" for my liking. It may be that for remote users we don't bother showing an edit control. Gamepad users would get the full virtual keyboard - no point having an edit control there for them. One thing I'm concious of is allowing skinners to put more than just an editcontrol there if they like (eg separate "dialog" looking thing).

3. Said mode uses a specific section in the keymap, dropping through to global actions as applicable (i.e. to turn off filter mode or to navigate away from the edit control).

4. Filter is always cleared when a new directory is accessed, so no hanging filters confusing folk.

Cheers,
Jonathan

Just so you know in my lastest patch 1, 3 and 4 already work. ToggleFilter is bound to a key, remote button, or whatever really and it goes into filter mode. Filter is always cleared, and the mode turned off on directory change (see the end of the GetDirectory code in videonav). And as you know there is now a new specific section of the key map and anything not defined in there uses the default window action or global action associated with the key, remote button, or whatever. Honestly even live filter would work in the various http or "mobile" remotes. Or should at least.
Reply
#33
Indeed - was just making it clear for others Wink
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#34
hehe alright then Smile all good
Reply
#35
not sure if this already was brought up or that i was looking over this nice feature. But the filter feature would also work nice in all the other screens where you can search for files/pictures/videos and not limiting it just to the library mode.
Reply
#36
I've been using this (and playing around with other stuff) all weekend, and I've come to the following conclusions of my personal usage patterns:

1. Filter is only useful in long lists. We're talking more than about 100 items (i.e. around 10 screen fulls of information. Reason is simple - it's quicker to simply scroll through to find what you want otherwise, unless you are after something specific, whereby you go to step 2.

2. Search (at least the music library search) is far more useful for actually finding a specific item - we can search on more information than is shown in the list and can search outside of the current listing.

3. Given that search takes care of the specific use-case "I want to find <this>", it may be worth testing the usefulness of replacing the filter concept with a "jump through the list" concept. There's two methods we could use, described for a remote user:

Method 1:

Press 5 (JKL) and it will jump through the listing to the first item starting with J. Repeating 5 will go to K, then L, then J and so on. Assuming we're ignoring articles (The, A etc.) then I think this would function quite well, but it only searches on first letter.

Method 2:

Press TITLE to switch to filter mode. You then hit the first letter, and it highlights + jumps to the first match. Subsequent presses of TITLE jump through the matches. Subsequent letter pushes refine the search (jumping to the next match as applicable).

Thoughts?

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#37
Personally, I find matching on the beginning letter of the label/filename more useful than matching arbitrarily in label/filename. This is how my mobile phone lets me search for contacts and it works nicely. In conjunction with this, a keymap action of "nextletter", "previousletter" might be a nice addition. It would provide pseudo-scrolling by first letter. I would actually map my "page up" and "page down" buttons to this instead of the "pageup" and "pagedown" actions. (Would this work for non latin characters?)

And your method #2 for allowing a more refined jump would great. Press some button, like TITLE in your example, and then you can search for a word or partial word, instead of a just the beginning letter.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#38
Quote:Press 5 (JKL) and it will jump through the listing to the first item starting with J. Repeating 5 will go to K, then L, then J and so on.

I'm sure you'd make it right once you started coding it, so please just consider this a friendly reminder... pressing 5 the forth time should take you to "5" not back to J. Lots of movie titles start with a number.
Reply
#39
NextLetter/PrevLetter actions are already in SVN - it works on the sort string. As is the ability to pop up the first letter of the sort string while scrolling fast.

Image

Extending NextLetter/PrevLetter to allow to jump to a particular letter is doable.

I've also played more with search + filter: Namely making them edit controls on the left in PM3 for instance. I'm still not sure of how well it works. Search I'm keen to have like this certainly - filter I'm not so sure.

If anyone wants to test, I'll update the diff on trac and post an executable for win32 - let me know.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#40
very cool... if u post an executable, i'll give it a whirl.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#41
Hmm, we don't have upload available - I'll email it to you, along with the (messy) code diffs.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#42
hmm even though I'm subscribed to this thread I missed some of the new posts. I'm a bit confused on what exactly your proposing. I guess I'll find diffs if you post them somewhere and see, but a few things.

It's not just for when your at the top of some list. even of a list of 3 pages if your in the middle of the list it's quicker to just directly go to what you want in terms of typing on a remote (468) for house than to: figure out where you're at, what sort method is currently enabled, and where house would be based on that information. Further I use the filter mode when i am looking for a specific thing. I am trying to go to something very specific, i.e I know what i want. Now instead of scrolling through etc, I Just type in what i want. Whether that's on a keyboard or a remote. IF we're adding a differing type of input I can see what your saying, but it's sounding like there is some sort of change completely to the filter settings.

I just can't agree that it's quicker not to hit 2-4 buttons to find house than in a situation where there even 2 pages. Hell even if you have one. House could be the 4th thing down and it's already faster to type in hou/468. Also, less pages of information means less key collisions meaning less numbers to type. 468 matches only 2 things in my list of 61 items. On a page with about 10 items 2 keys would match most things very fast and would be as quicker than scrolling/paging to select in all but 4 cases (1st item (0), 2nd (1), 3rd (2) last (3)[pg-down])).

as for search being for a specific item. There is a lot more information to search there, including plots etc. That is extremely bulky for I would guess a large marjority of all people who want to just to watch a specific movie or show. Plus then you really get into whats the point of filtering if it's not to quickly search based on title or whatever label is currently the main one being used. I.E what pretty much everyone uses. And certainly seems out of scope for all this.
Reply
#43
We're not really proposing completely scrapping the idea - the key is to make something that works well for all users.

What's currently in SVN is:

1. Live searching (edit control on the left) for music. For remote users it's still not optimal as the editcontrol doesn't yet handle SMS style input (obviously T9 doesn't make much sense here).

2. Jump to next/prev letter with the sort order being now available within the skin.

I've tried filtering when instead of dropping items on the list it jumps through the list, but found it was worse. Jumping through letter by letter when fast scrolling was also tried, and it didn't work well. We do, however, now pop up the first letter of the sort label when scrolling fast now though, so increasing scroll speed when the buttons' been held down may be an option for remote + keyboard users.

My current thinking is to change the filter button to an edit control - focus this control to start filtering (this can be done with a keypress from keymap.xml if you wish). I'm not sure about highlighting the submatches at this point. This works really well for keyboard, and almost as well for remote (just the extra button press to start filtering).

In addition we could have actions such as "MoveToABC", or "FilterABC" for direct access to the filtering, or jumping through the list.

Cheers
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#44
JM, I am not sure this issue is related to live filtering but I suspect so based on the below.

While playing with the live filter build I got from you, I notice the following.
When I refresh an incorrectly scraped movie, and get the OSD keyboard, the text is arbitrarily red and prefixed with something like [H] (not necessarily at the same time though).

Plus, any chance for "home" and "delete" keyboard support?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#45
Yeah - that's the highlight stuff, which I may well end up removing (it is currently a bit of a hack) before it hits svn.

Delete should already be supported by the edit control (not necessarily the virtual keyboard) - is it not?

And home is currently mapped in that build to disable the filter, but if it wasn't it wouldn't do anything either :p

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply

Logout Mark Read Team Forum Stats Members Help
[PATCH] Live Filter (Live Search) - Build for Win32 Users to test + comment on.1