Comment 1 for bug 1666681

Revision history for this message
Carlos (csoriano) wrote : Re: Drop interactive_search.patch (type-ahead search)

Hey all,

As Jeremy mentioned, I think it's the best idea to drop this patch and use the default search utility of Nautilus.

For users
---------
One of my main interests in the last 4 releases was to improve this situation, whether search doesn't replace the use cases of type ahead.
We iterated on it and made several improvements:
- Searches on the current folder are done with priority
- Performance have been improved in several ways
- Result of the current folder are clearly differentiated by not displaying the "Original Location"
- We switch by default to list view when searching, so the locations or the file are clearly shown
- We added a preference for permanently search recursively or only in the current folder.
- The view used while searching can be changed independently of the default view when not searching.
- Using tracker, search in most common folders is immediate.

I believe all except one use case is covered in the current search, taking into account lag and performance too. The use case that is not covered is when the user wants to navigate to a folder that it's close to a name. For instance user wants "Pictures" folder and user searches for "Osomething", so most probably the next folder by alphabetical order is "Pictures". However I believe this is easily replaced by just searching for "Pictures" or "Osomething" and then right click -> open item location which opens the folder (it can be the current one) and selects the file, effectively replacing type ahead (again if tracker is enabled so lag is not an issue).

We are still interested in evolving this more, and we are open to feedback and making the effort on improving the situation as long as it can fit, and doesn't clash, with our vision for search.

For developers of Ubuntu
------------------------
The code on nautilus-window-slot and nautilus views is extremely delicate. You really need to understand all the interactions that happens under it to be able to modify the code expecting any reliability. Needless to say the patch that is currently used is missing this reliability, receiving crashes both in Ubuntu and upstream where we don't even know why this happen.
Also this code has been refactored several times in the past, because it needed to, and it will be more refactored in the future. You will need to update the patch every release without exception, which I don't think is the best investment for Ubuntu if they are going to replace everything with Unity 8.
So current situation is a lose-lose, trying to be as impartial as possible, I think using directly what upstream is using is the best solution for both parties, and even more in this part of the code.

One thing to clarify, as Jeremy mentioned, this doesn't make sense without tracker, and if the decision is to not adopt tracker, I would recommend to keep the downstream patch.