I currently use IMAP for my mail, and process it on three different systems: a personal laptop, a work laptop, and a phone. Workflows based on notmuch support syncing between laptops (see the mention of muchsync in the article), but don't really interoperate with standard email protocols, and I'm not willing to give up quick access to email from my phone. And beyond that, I don't really want to have to "sync" email; I'd like to just access it seamlessly.
I wrote a bit about this when I investigated the two a few years ago: http://www.kmjn.org/notes/unix_style_mail_tools.html
That said, I love both. They are excellent search engines for mutt. Those, along with mbsync make up a wonderful email setup.
I have recently transitioned to Gnus, that now supports notmuch . I don't like the notmuch Emacs frontend. The mu one, mu4e, is great though.
So no, I'm not willing to give up having a "native" client, or at least something web-based.
Honestly, notmuch would make an incredible backend for a webmail client, ideally with a mobile-first interface.
You could carry an external, mini-keyboard for your phone and use that. It's annoying, but, as you note, screen-keyboards are annoying as well.
I wonder why Notmuch doesn't just index all headers?
It seems like it would be useful to do so, as some header might be of interest to some user out there, even if it's not to the authors of the program or to most users. So what's the downside of just indexing everything?
If it's a performance consideration, then there could just be a simple configuration file option that determines whether all headers are index or not, or maybe a user-configurable list of headers to index would work instead.
The only thing that really works is notmuch. It's so much easier to just lump all your mail together, and then tag it appropriately based on the content or whatever.
For those with thousands of emails every day maybe the solution is to receive less mail instead of finding tools to manage it.