Implementing NetNewsWire Search
When a search starts, swap in a separate timeline and detail view, do the search, and then show the results in these swapped-in views. When the user ends searching, swap those views out, and swap back in the regular timeline and detail views.
[…]
If you look at other apps — Mail, for example — it appears they use solution #1, and state restoration is not always instant. I want it to be instant.
[…]
In the case of the search feature, I spent more time just thinking about how I want to do the UI than on the actual search-in-the-database implementation. And then there’s the UI work itself, which absolutely dwarfs the database work.