Tips and tricks: using filters

iCaching has a pretty powerfull filtering mechanism. You can do a single filter action by pressing the magnifier icon in the toolbar, but you can also save a filter as a so called ‘Smart Folder’.

The filter dialog uses a standard Apple interface element to create the filters, but apparently not all users are familiair with this. One of the most frequent questions for support is how to create a ‘negative’ filter. E.g. search for all caches not owned by me.  Therefore this little post to give some insight.

You can create a search based on one or multiple filters. For most properties of the geocaches there is a filter. Clicking on a ‘+’-button adds a new filter.

The real fun part begins when you add so called ‘compound filters’. There are three compound filters:

  • ‘none’, you can use this for a negative filter: all rules nested must be not true
  • ‘all’: all of the nested filters must be true
  • ‘some’: it’s enough when just one of the nested filters is true

You can add a compound filter by clicking on a ‘+’-button while holding the alt (or option) key. You can drag filters around to organize the ordering of the filters.

Tips for faster filters:

  • Start with the most discriminating filters, this way the filter function has less comparisons left for the second filter etc..
  • Also important for speed is the processing cost of a filter; a boolean comparision (eg. Available=Yes) is cheaper than a nummeric comparision, which is cheaper than a text-comparision.
  • Within text comparisions (e.g. woner, cachename etc) a ‘begins with’ filter on a textbase property is cheaper than the ‘contains’ filter, because the filter only has to look at the first characters instead of the whole text
  • And last but not least: filtering on cacheproperties is (much) faster than filtering on it’s collections: additional waypoints, logs and attributes.

Here is a screendump of the Smart Folder I use myself to fill my GPS:

SmartFolder