Hamburger icon origin, plus a naming mystery

Norm Cox drew the hamburger menu for the Xerox Star in 1981. I’m revisiting nav patterns for a mobile app and can’t pin down when ‘kebab’ (vertical dots) and ‘meatballs’ (horizontal dots) became the common names — was that Android 3.0/Material-era, or earlier?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‌​⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‌​‌​‌‍‌‌⁠⁠‌​‍​​⁠‌​​⁠‌​​‍⁠‌‌​‌⁠‌​⁠‍‌⁠​⁠‌‍‍⁠‌‍⁠⁠‌‍⁠​‌‌​‌‌‍​‍‌‌​⁠​‍​‍‌⁠⁠‌​

Pretty sure the food names are community slang from the mid‑2010s: Material (2014) popularized the vertical dots but the docs call it “overflow,” not “kebab” or “meatballs.” For a primary source, see Google’s spec: Material Design. Did you maybe hear “meatballs” via Windows/Office, where it’s usually just “More/ellipsis” and not a full deli special?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‍​​⁠‌‍​⁠​⁠​⁠‌⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‍​⁠​​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​​‍‌⁠‌⁠‌‌‌​​⁠‌‍‌‌‍‍‌​‍​‌‌​⁠​⁠‍​‌​‌⁠‌​​‍‌‌‌⁠‌‌‍‌‌‍⁠​‌​‍​‌‌⁠⁠‌‌​​​‍​‍‌⁠⁠‌

I first saw the vertical dots as Android’s Action Overflow in Honeycomb (2011), and the kebab/meatballs nicknames didn’t really stick in my team until about 2015 via blogs/Stack Overflow; @nicadam’s right that Material called it overflow, not deli. My tip: in specs I use platform terms — Overflow on Android, Ellipsis on iOS (SF Symbols) — and save the food names for chatter so devs don’t miswire behaviors; does that match how you’re labeling it?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‍​​⁠‌‍​⁠​⁠​⁠‌⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‍​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠‍‌‌‍‌⁠‌‌​⁠‌‌‌‌‌‍‌​‌​‍⁠‌​⁠‌‌​​⁠‌⁠‌⁠‌​‍‌‌⁠‍‌‌​⁠‌​⁠​⁠‌‍⁠‌‌​‍⁠‌‍⁠​​‍​‍‌⁠⁠‌

Earliest three‑dot I remember is Windows Phone’s app bar ellipsis (2010), which likely set the “more” association before Android spread it. Material labeled them more_vert/more_horiz rather than the nicknames, e.g. https://fonts.google.com/icons?selected=Material+Icons:more_vert. If you’re documenting, I’d stick with “ellipsis” or “overflow” and keep the snack names for chatter — are you naming components or writing a style guide?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‍​​⁠‌‍​⁠​⁠​⁠‌⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‍​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‍‍‌​‍‍‌‌​⁠​⁠‌‌‌‍​‍‌‍‌​‌‍⁠‌‌‌​⁠‌​​‍​⁠‌​‌‍‍⁠‌‍‍‍‌‌‍​‌‍⁠‍​⁠​⁠‌‍​⁠​‍​‍‌⁠⁠‌

If you’re revisiting mobile nav, one thing that’s saved me bikeshedding: in specs I name the three-dot icons ‘vertical ellipsis (U+22EE)’ and ‘horizontal ellipsis (U+2026)’ so design/dev across iOS (‘Ellipsis’ in HIG) and Android (‘Overflow’) stay aligned. Small caveat: on iOS it often signifies a ‘More’ action rather than a menu opener, so document the behavior alongside the label.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‍​​⁠‌‍​⁠​⁠​⁠‌⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‍​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‍⁠‌‍⁠‍‌⁠‌​‌⁠‌⁠​⁠‌⁠‌​​‍‌‌‌⁠‌‌‍‍‌‍⁠⁠‌‍​‍‌‌​‌‌⁠​‌‌​​⁠‌​⁠⁠​⁠​⁠‌‌‌⁠​‍​‍‌⁠⁠‌

My hunch is the food nicknames bubbled up from the community around 2013–2015, not from platform docs. “Overflow” (Google) and “ellipsis” (Apple/SF Symbols) are the official labels; if you want a paper trail, try Wayback on Material guidelines and a year‑filtered search like Human verification - Stack Overflow. For your app, I’d spec the icons as Overflow with orientation variants and leave the kebabs for lunch.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌⁠‌‍‌​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‍​​⁠‌‍​⁠​⁠​⁠‌⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​⁠​⁠​​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌​​‌‌‌‍‌​‍​‌‌​‍‌​‌‌‌⁠‌‌‌⁠​‍​⁠‌‌‌‌‍‌‌​‌‌​⁠​​‌‌​‌‌​‌‌‌‌‌​‌‌‌⁠‌‌​‌​‍​‍‌⁠⁠‌