re: two methods, that's exactly what my change does. getListing() returns the listing only, and getAppInfo() returns the information to render the UI. (I'm open to better names if that's what confused you.) 

The point of having offset in the listing API is to optimize the listing itself. We're only showing a handful of items to the user at a time; if the backend has, let's say, 1 million entries, removing the offset from the interface would require materializing those 1 million entries, just for them to be immediately trimmed by the UI layer. That's absurdly wasteful.

The ordering is described in the getListing() method's doc header.

offset / count is how any API like this works; I really would like to better understand what is really worrying you about this change.