Prevent search services from stopping the whole view
One of the main issues of the Overview search box is that if only one of the services takes a while to execute, the whole search is frozen for several seconds until this timeouts or finishes. However, this makes the whole Search feature look broken most of the time.
Several solutions may be possible, though some carry relevant drawbacks:
-
Do search in parallel, and keep invisible UI placeholders to fill when the results are ready. Is this even technically possible? -
Show visually what device is searching at the moment if it exceeds some seconds, e.g. with a label ("Searching in Calculator..."?) or with the normal layout, with the service name on the left and a greyed out "Searching..." label on the right, so that the user immediately has someone specific to blame -
Set relatively low timeouts, such as 3 seconds per services