I keep loading articles where I want to use Reader Mode but the button is nowhere to be found. So I figure that the page's content didn't trigger Reader Mode's heuristics and is not detected as an article. Finally the button appears 10, 20 or 40 seconds later. Not sure what's happening but it looks like the page is evaluated on the window's "load" event. On websites and/or connections that perform badly (especially news websites with 8 tracking script and 20 ads script and 50 images, all while on a flaky 3G connection), that event may happen a long time (think 10-60 seconds) after the page is actually shown. Or perhaps when some external resources time out. Is there a way to evaluate the page and make the Reader View button appear sooner?
We don't try to parse the page until it's done loading, so if it's slow to load, yes, we will be slow to show to reader view button. Right now we parse the page on "pageshow", but we could experiment with doing in on "DOMContentLoaded" (similar to bug 1132674 for desktop). However, we'll still have the UX issue that our reader view button on mobile occupies the same space as the stop button. Changing this would require changing when we decide to show page action icons, and this would be more complicated than just deciding to show the reader view button sooner.
I don’t have a solution for the UX issue, but I’ve sometimes wondered why the "Page" menu didn’t offer a "Show in Reader View" entry. I remember looking in the menu when the Reader View toolbar button wouldn't appear, hoping I could trigger Reader View manually this way. This wouldn't help with discoverability though.