Ultimately it would be nice to mirror what less does in *nix system. Key is ability to handle very large streams so we can't just keep everything in memory. To start with there some features that will be critical for us:
'g' / 'G' for beginning and end of data
'b' page backwards
'y' line backwards (also using up-key)
'/' / "?' search forward and backwards with highlighting (possibly 'n' / 'N' for repeating previous search in normal / reverse direction)
-S or --chop-long-lines Causes lines longer than the screen width to be chopped rather than folded. That is, the portion of a long line that does not fit in the screen width is not shown. The default is to fold long lines; that is, display the remainder on the next line.
Finally, auto paging would be very nice!