There’s plenty of good mobile-friendly menus around. Nice clear typography, easily scroll through items by category, one tap to add to order or to get more details (and often photos) of the dish.
It’s just not an art that every restaurant (and restaurant software vendor) seems to have mastered yet, unfortunately.
I wish more mobile interfaces make good use of that. Instead we have a various versions of drilldowns and poorly implemented search.
Half the time I can't even tell what the full list of items are on a mobile menu.
I can honestly say that I've never seen a good mobile-friendly menu anywhere. I'm not saying that they don't exist somewhere, of course, just that I've never seen them.
I would settle for a single, zoomable html page.
On the other hand, the spatial benefits to such a plane helps people remember where to look if they want to return to a section, whereas with endless scrolling, it's nearly impossible to find something you saw before until you happen upon it again scrolling back up for an indeterminate amount of time.
This makes me think it would be useful for mobile browsers to allow adding temporary scroll bookmarks while using a page. It'd be useful for browsing lots of items, restaurant menus, on a single page, etc.
("that looks good" [bookmark scroll position] ... [keep scrolling] ... [tap icon to return to the previously saved position])
EDIT: At least restaurant menu sites aren't that bad yet. Can you imagine? "Hamburger. Redefined." <SCROLLS> Hamburger slowly pieces together across the screen tied to your scrolling. "We think you're gonna love it." <SCROLLS> Pickles slowly fade in and out to demonstrate the difference between Hamburger and Hamburger Pro
I simply disagree, and think the EXACT opposite.
Panning and Zooming a two-dimensional, immutable file itself isn't tedious compared to scrolling.
(You're straw-manning PDFs, though it could be any 2D image or mutable document file)
This shouldn't be necessary with a well-designed menu interface. Firstly the whole thing should be indexed anyway, allowing easy jumping between categories. And if something looks good you should be able to favourite it with a single tap, or at least add it to your order with a single tap. (If you end up with too many items in you order, consider it a short-list, reviewing the items and narrowing it down from the final order review page).
A real-world analog would be adhesive color tabs people stick to the sides of books or printed documents to mark a paragraph non-destructively, so they can return to that point later more easily.
Think anchor headings, except user-driven, because many websites don't even use anchors to enable linking to page sections by URL hashes, and without inspecting headings for anchors (by tapping or long-pressing on them), nobody would ever know it's a feature.
I wish I could just mark my current scroll position and return to it later by navigating back + forth between the ones I've saved for a page. I've lost count how many times I've made mental notes saying "This is interesting, I'll return to this bit later" only to struggle finding it again because it's lost in a sea of text. Browsers have no way to temporarily bookmark bits of content without developers (or CMS'es) being smart enough to anchor headings and sections.
This, instead of presenting a bunch of items, or only segmenting by category.
In general, the need to navigate the entire menu is reflective of a bigger problem, which is that nobody ever knows what they want to eat for a given meal.
If somebody can algorithmically solve this in a personalized way, that would be a quality of life improvement beyond fixing mobile menu formats.
Matter of fact, give me an app that spans multiple restaurant menus, understands my preferences over time, and keeps track of what I've recently eaten, then suggests my next meal.
But even with that, your experimentation could be guided. And, man, most times I find myself just needing to eat something versus embarking on some great culinary quest. So, more often than not, it's just one more thing to solve.