Hacker News new | past | comments | ask | show | jobs | submit login
Everything I Needed to Know About Good UX I Learned While Working in Restaurants (nngroup.com)
125 points by jamessun on Dec 22, 2015 | hide | past | favorite | 87 comments



I can do it too!

Everything I Needed to Know About Writing Software I Learned While Working in Restaurants (Kitchens)

Sanitize all inputs.

If you have a single point of failure, it will only be a problem when it matters most.

Your recipes will need to be constantly tweaked in alignment with the stars.

Users will always do things you don't expect, and will be upset when your system doesn't behave as they'd expect.

Expect many complaints about the lack of insert unadvertised feature here.

Team communication often trumps raw skill.

Snark aside, I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs. I really did learn a lot both as a line cook and in retail.


I worked in retail for a stint a long time ago, so here's my attempt...

Everything I Needed to Know About Writing Software I Learned While Working in Retail

1. The user does not always know why they are there and what they want to achieve.

2. The user cannot guess what something does, so they rely on the visual clues, such as reading the box.

3. Users will need to undo something at some point (sorry, no refunds).

4. Two customers wanting the last stock item on the shelf causes a concurrency issue.

5. Under staffed and too many customers helps you learn about queuing systems and load balancing.

6. Getting access to stock from the main warehouse on a weekend reminds you of the importance of correctly configured user roles.

7. Disparity of prices from the mail order catalogue and in store prices tells you the importance of data propagation delay.

8. Not all users understand the concept of an automatic door and which direction they need to enter and exit. Receiving an error in this instance causes the user to experience huge embarrassment.

9. Users will attempt to steal something that isn't properly secured.


Where are your tests?


> I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs.

A thousand times, yes. I've moved into 'devops' from support, and it's just as clear on this side of the divide just how little esteem developers have for support staff.

One bit of schadenfreude from the past: I worked in a 2-person support team in a small company, and constantly had requests for improvements (both support- and client-friendly varieties) rebuffed, basically with the 'eh, what would support know about products' attitude[1]. I ended up leaving that place, and the other support guy had already booked a month-long sojourn on the other side of the planet, leaving the developers to now support their own product. The company ground to a halt and no-one could do a thing as the half-dozen strong dev team struggled to do support with the shitty environment they gave us to work with. Apparently on the other guy's return, better support tools shot to the top of the devs' priority list.

I also remember hearing about a wine distribution company in Western Australia where every new hire, regardless of position, spends a week half on support calls and half in shipping, so that everyone is exposed to the difficulties of packing and shipping wine, and dealing with customer breakage. I love this idea, and wish it was more widespread. Dealing with the public is hard, but there's not much you can do about that. Dealing with the undeserved contempt of your coworkers is also hard, and it doesn't take much to expose people to the more human aspects of the crappy positions in a company; raising empathy can really help.

[1] I've always found this bizarre, that the department that has the most client contact when something goes wrong is so routinely ignored when developing the product further.


Absolutely. I did a few stints in support (both before and after my harrowing multi-year retail and foodservice adventure), and I can definitely sympathize. Thankfully the most recent support job had enough downtime for me to build tools for us that got me the "on resume" experience to move over to development, but all of those jobs left me with a sensation that there's a really valuable body of knowledge to be gained working at the bottom rung.

I especially like your point about raising empathy -- I think that's a really important effect of having to try out being the person at the bottom of the totem pole.


Everything I Needed to Know About Writing Software I Learned While Being a Software Engineering Intern and Occasionally Reading Hacker News

(1) Write code

(2) Follow good software engineering principles

(3) Have a public profile

(4) Negotiate a higher salary

(5) Never forget that dispensing wisdom through perhaps tenuous analogies is an integral aspect of (3), and arguably also of (2).


Can you share some tips on #4?


Do it


> I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs

I thought that it was a hallmark of American culture that you get to do that in college, before you get a professional job.


A lot of students don't work during college. They are supported by their parents' money, student loans, or a combination of both.


In my not-so-humble opinion, they are also usually the ones who need the experience the most (ahem).


Many people believe they are too good for those types of jobs.


I've worked as a server and I thought this was going to focus on POS systems and how horribly they are (often) implemented. Talk about a design nightmare, with at least 5 clicks to put in one person's order (x2-4 for a typical table). And items were almost always in a random configuration with little reasoning for placement of, for instance, extra mayonnaise versus no lettuce. I'm not sure if the new mobile POS systems are any better, but I will never forget how bad restaurant POSs are when designing UIs.


On Keyboard Centricity: POS system in DOS.

      1. C:\> a                                    {enter}
      (a.bat starts c:\pos\pos.exe)
      
      2. Pull-down menu: Transactions -> Sales     {enter}
      (Sales is the default selection)

      3. Bill no: <last + 1>                       {enter}
      (new id starts a new bill)

      4. Item code: <4823>                         {4-digits+enter}
      5. Quantity: <2>                             {2-digits+enter}

      6. Item code: <blank>                        {enter}
      (just one item; give blank to exit)

      7. Menu: [Print, Next Bill]                  {enter}
      (Print is default selection)

      (loops back to 4, keying in a new bill)
    
Without a barcode scanner, a keyboard-centric interface takes the minimum possible number of keystrokes for a POS system. This efficiency was the norm in DOS-based text-centric systems, but with today's GUI interfaces, developers have to put extra effort to make things keyboard friendly. This is not done well enough in many cases, and is an instance of how the forced-advancement of technology makes things worse.


(4) understates the problem, the user is required to memorize 4823 items without having a way to find the item they are looking for. If you try to solve the memory issue, the system must become more complex.


It does. The way it works is you can either type in the item-code if you know it, or you can type in search letters which will prompt a browse screen (which is again highly keyboard-friendly).

The way it happens in places with low number of SKUs (< 10k) is people who're new typically search a lot in the beginning, but over time, they'll learn the most frequently used item-codes without any deliberate learning. They also get really fast at the keyboard. This was my experience building DOS-based POS software for small supermarkets and grocery stores.

If there are a much larger number of SKUs, or if the item-codes are provided by the manufacturer (like in the automobile spare parts business with 16-digit alphanumeric item-codes), you have to key in them manually.

A paint store I built software for had a huge number of SKUs, but they were renowned for their customer experience. This was made possible by putting new employees through a training whose qualifying test is to key-in a bill of materials at a really fast pace. They also chunked item codes into well-defined easily-learnable categories. This was the grouping: [Manufacturer, Product, Packing, Color, Code]. There would be < 20 manufacturers, of which only 4 or 5 are frequently used. Same for product. Packing and Color were more of attributes, but were easily learnable and helped uniquely identify a product.


I used to work at a very busy pub/pizzeria. Customers could order from the standard menu of about 45 items, order a modified standard menu pizza, or they could completely build their own custom pizza. Custom pizzas could be half and half, and have almost any number of sauce, crust, or topping choices. There were at least 75 toppings/sauces to choose from, in addition to the rotating ingredients every two weeks. I can't say that I loved the touch-screen POS system utilized by this restaurant, but the GUI it provided was designed specifically for pizzerias.

I am having trouble imagining how a keyboard-centric interface would require less key strokes than the number of screen-taps for a POS system designed for a pizzeria. For instance, to add or remove a single ingredient to a pizza in the touch-screen POS system it required a single tap. In a keyboard-centric POS system, assuming the ingredients are identified by id starting at 1 through 75, most ingredients would require two keystrokes plus the enter key. My personal experience leads me to believe that specialized touch-screen POS systems certainly work well for some of the more complex restaurant menus.


I worked at restaurants with id based POS systems (pre touch screen, you just typed in numbers for every item).

Then the touch screens came out, so slow in comparison. The learning curve was faster but the operations were terrible in comparison.

I still remember Red Lobster POS codes from the 1990s. 2411, 2443, 901, ... Good times :-)


7" 4:3 monochrome CRT screens; membrane keyboard covers; 286 in a desktop case on its side on the floor, gummed up with spilled soda...


I currently work for a company that does iPad based SASS POS, and I'd like to think our app is a lot better than the old POS systems out there.

One of the problems you always have to deal with though, is that no matter how good the app is, the person programming in the menu can still be completely useless and make it annoying to use, so the challenge is to make programming in the menu as easy as possible.

Being iPad based means that we can actually utilise touch-screen actions, e.g. you can swipe items into a tab, rather than having to tap the item, and then tap again and tap some more, like you're describing.


We use an iPad based SASS POS, and editing the menu is a pain. Every time I start to edit something, I have to wait 60 seconds while it pulls in the list of every item on the menu. If I want to edit five specific menu items, I don't want to wait for the entire list of items to load five times. Updating prices or costs on our menu literally takes three of us an entire day to pull off. We've been meaning to clean out some discontinued items from the menu, but... that would take three of us an entire day to do.

We do retail alcohol in addition to restaurant food, so we have a lot of items on our menu. I don't like how the menu is organized, but it would be too slow and painful to reorganize at this point.

I would kill for an API so that I could make mass numbers of menu edits by script. I would require some sort of a testing environment for that, though.


They're called POS for a reason..


If you want to know if it's better, use apps like Postmates or Starbucks to order food. It's slightly better, but there's so far to go.


Why hasn't the POS problem been solved yet? I'm assuming there's either some blindingly complex/simple reason because it's a large problem that frustrates a lot of people.


In my (limited and anecdotal) experience, many people who have the purchasing power for these systems just go with something that their payment processor recommends (or sells themselves). They see it as a cost rather than as an opportunity for efficiency (read: more money).

There's also this kind of "blood sweat and tears" attitude with a lot of food service management, and so things they see as conveniences are a sign of weakness.

There's also the fact that switching POS/ordering systems requires re-entering the entire menu and all options, and it's often management who's expected to do that.

All of these things (again, in my observations) add up to a much smaller actual market for selling such devices than one might think at first blush.


I've viewed it in the same light as all other enterprise software development & purchases--neither the developers nor purchasers of POS software are going to be using it, so bad things are built and bought, with some exceptions. It just takes a long time for the tide to change in the industry.


There are good solutions out there. I'm currently working for a startup that's doing iPad based POS.

Without trying to toot our horn, it's a lot better than any of the legacy systems out there.

So no, there ins't really a reason why there isn't a solution except that nobody has made one yet (except for us and a couple of other tablet based POS systems).


I don't know if this is kosher or not on HN (still relatively new to posting here), but what is your startup? I think that would be a space I am interested in and would love to learn more.


FYI, the green usernames are brand new, usually because they wanted to talk pseudononymously about stuff.


Their system is, most likely, running on Win 98. Their servers were built pre-9/11. The cat5 was laid before wifi existed.

It's a massive cost to upgrade, because they'd have to upgrade everything.


This is my experience, having worked in POS systems for a few years. The customers - especially huge ones like Walmart, Target, USPS - buy these systems on the order of once every 10-20 years for any given store. They don't want to upgrade them because they're expensive. Also, the companies that make the traditional ones were not very innovative when I worked there (20 years ago). Windows 98 had shipped and they were still using DOS on new systems.


> Photos of food and other products help create desire, answer common questions, and set expectations for a high-quality experience

Uhhh, no. Maybe it's a cultural thing, but here in England no restaurants have pictures. It's cheap and tacky, and it's a huge red flag when you encounter a rare one that feels the need to show you photographs of bowls of pasta/steaks. I defy you to show me any European restaurant that treats it's customers like children by showing them brightly coloured pictures of their food on the menu.

The only exception I can think of is the desert menus for Indian restaurants, but that's mainly because they don't really 'do' desert and just buy the ice cream and menus from some distributor as a package.


Saying it's cheap, tacky, and childish definitely sounds cultural, since all of those are emotional rather than practical reasons. A photo can add a lot of important information what you are buying.

I would say try to be more objective because you may be missing out on opportunities to actually improve things.


I don't know of a serious American restaurant that does this. Even my local dive bar doesn't have photos of the food on the menu. The only place I associate with photos on a menu is fast food, and we all know those photos never live up to expectation anyway.


Most chain restaurants (places like Applebee's, Friendly's, Chili's) include pictures on their menus, especially pictures of drinks and desserts. Many independent Asian restaurants do as well and I've seen it in Mexican places too.


I've been to plenty of hole-in-the-wall Thai and Vietnamese restaurants with pictures on the menu. They are not chains.

It's helpful if you don't know much about what you're ordering (is it a curry? soup? stir-fry? etc).


I think it's fairly common in Japan too to have the elaborate plastic versions of the various dishes on display in the windows.

I'm not sure if this is a thing aimed at tourists or not, who might have trouble reading the menu but can visualise the dish easily.


>I'm not sure if this is a thing aimed at tourists or not

It's not. Even out where tourists don't go, beyond the reach of English menus, you will see the same plastic food samples. It is just nice to have an idea of what the dish is like.


Perhaps I can see value in it with those kind of restaurants (despite not seeing it myself, ever), but in the article the example given is a generic bowl of pasta. The caption given is "What was that great pasta dish called again? Oh yeah, this one in the picture!". No. There is so much wrong with that.

Also surely the menu would be ordered logically, with noodle dishes placed under a 'noodle' section, same for soups and curry.


I don't particularly appreciate the condescension behind

> I defy you to show me any European restaurant that treats it's customers like children by showing them brightly coloured pictures of their food on the menu.


Same in France, the only time you will have pictures is at a Chinese restaurant or some fast food place, I've never seen pictures in any traditional restaurant before. Maybe it's a cultural thing.


Japanese restaurants in the UK quite often have menus with pictures - my favourite one here in Edinburgh has a menu with pictures and it's certainly not tacky.

Edit: Here is an online version of the printed menu http://www.kanpaisushi.co.uk/kanpai_sushi_menu/


I have data about online restaurant decisions and I can tell you specifically that brits do want to see those photos. Including at the highest end restaurants.


Online is different. While ordering take out I would quite like to see a genuine picture of the food, but take out places just use stock photos so that's useless.

We're talking about in-house menus given to diners.

Edit: you must work for Deliveroo?


> We're talking about in-house menus given to diners.

When given an in-house menu, now days I pull up Yelp on my phone and look at the pictures of food that people have posted. It leads to me ordering things that sound boring on the menu but that look really interesting!

It also helps solve the problem of different people's understanding of what a dish is. I've seen a dish with the same name served boiled at one restaurant and fried at another!

Yelp's interface around this isn't exactly the best (not an intended use at all!) but the usefulness is amazing.

FWIW I eat at at a very diverse set of restaurants, so I often never know what I am going to get.


Harvester is a mainstream chain restaurant in the UK, http://www.harvester.co.uk/content/dam/harvester/pdf/DN15/ma... shows [some] images of food. They have very similar if not identical menus in the restaurant AFAIR.

Higher class establishments don't do it in general but it's not like it's unheard of in the UK to use food images on menus.


Wetherspoons used to show some images of food on their menus as well, but not because people forgot what a burger or a pie looked like.

I've only ever seen pictures on a 'proper' resteraunt menu once in the UK, it was only on the outside display menu. The food was beyond disgusting - I should have paid attention to the red flag.


> I defy you to show me any European restaurant that treats it's customers like children by showing them brightly coloured pictures of their food on the menu.

I agree it's cultural in the UK that this is tacky but besides that, why is it a bad idea?


See my comment below, I've found it's a pretty good indicator that the restaurant doesn't change its menu frequently.


Are you seriously saying that showing photos of the product you are buying is childish?


> don’t slow down those who are in a hurry

I used to be able to go through the drive through of a local taco place and order "2 Super Mightys, mild with sour cream", "Anything else?" "Nope", done. They've added a bunch of options to it and now I have to have a conversation: 2 Super Mightys... white or wheat? white... hot, medium or mild? mild... Would you like sour cream, guacamole or salsa on that? sour cream... Any chips? No... Would you like anything to drink today? No... Anything else? No... They always ask in the same order and I've tried giving all the selections at once in hopes they realize I know what I want and just let it be done, but they always ask the follow up questions anyway or they get tripped up and I have to repeat everything. Now, if I'm moody, I just go over to McDonalds and get the #1.


I was really shocked when first ordering food at a diner in Canada - what sides would I like, what kind of bread, what kind of sauce. Too many questions! In Australia the choices are normally already made on the menu or you have to go out of your way to ask for something different.


I know lots of people like the choices. I hate them. I don't want to be the chef, I want the chef to choose. When I choose I have no idea what goes together so I pick 3-4 things I love and then find out together they taste like crap. When the chef picks usually I get something that tastes good. If I'm lucky I get something I haven't tried before.


And if you do want to choose, I've never heard of a place not letting you. "I see this comes with a salad. Instead of that, can I get the soup?"


You've never seen "No substitutions" on a menu?


Ah, yeah, but it's super-rare from my experience. YMMV of course.


I too agree it is ridiculous that you were given choices as to what to eat.


The questions actually improve my opinion of the restaurant if the waiter is very good.

EDIT: Of course this applies to real restaurants, not mcdonalds style...


> Pictures sell

Uhhh, what? I'm struggling to think of a favorite or popular restaurant that has pictures on the menu or in the restaurant. That's a move generally relegated to cheap chinese or mexican restaurants. You'll find pictures on yelp and sometimes on the restaurants website. But, in general, no–pictures aren't what sells.


Up here in where I am most restaurants have pictures on every page of the menu. For example Earls, Joeys, Red Robins, Boston Pizza. Menu's that don't have pictures often feel cheap and non-professional.

Edit: typo


Yes, I suppose chains like Red Robin, Applebee's, Chili's, etc. do have pictures on their giant, laminated menus. My mistake on that.

But again, those are chain restaurants and not what I'd consider a favorite or desirable place to eat.


You and the parent may be referring to different tiers of restaurants.


Where do you live? In Vancouver, Earls and Joeys don't have pictures on their menus. Red Robins and BP do, but they're definitely a tier below the former two.


I'm in Edmonton, AB. Last time I went to those places I seemed to recall they had pictures on the menu, but I could be mistaken.

Red Robins and BP are definitely lower tier, but they still count as a "popular restaurant," at least in Edmonton they are very popular.


Couldn't agree more, just logged in to write the same comment. An all picture menu typically indicates the restaurant doesn't change its menu frequently. To me this calls into question the creativity of the chefs and/or their willingness to adapt the menu at short notice in response to the availability of unusual ingredients. In contrast, a hand written chalkboard menu is usually a good indicator. Although I suppose in many cases a handwritten specials board is a good halfway house.


As someone who's worked in a Starbucks, they definitely get the points about not forcing jargon and remembering repeat customers; both were mentioned directly in training.

I like to spin jargon as a teaching opportunity: "Did you know that we call the large cup a 'venti' because venti is italian for 20, and the cup holds 20 ounces of coffee?" Now the customer feels like they've learned something about how we make coffee, will use our fancy jargon, and might even tell all their friends that we taught them a snippet of Italian.


I suspect cultural differences here; if a kindly barrista took the time to explain why their drinks were obscurely named, I'd take the time to courteously explain why this is broken, and why I wouldn't be returning.

Grumpy, I know. I just loathe obfuscation for the sake of marketing. Guaranteed to mean I'll avoid that store. And no, I don't use Starbucks.


Why is trenta 31?


Maybe they're being generous. Or it is supposed to be 32oz and they are skimping on their portions, like cans that contain 7.5oz instead of a round 8.


Apparently the venti coffee cup is 20oz but then they launched a large cold drink cup of 24oz which they also called venti and then a larger 31oz cup which they called trenta. I blame the marketing department.


Can confirm, the cold Venti is slightly bigger (most likely to account for ice).


So if I order my next iced chai without ice I will get more? :)


I...thought it was 30. It's labeled as 30.

Huh. The more you know.


Everything I needed to know about software development I learned while working maintenance in a power plant:

1.) If you have to call in outside contractors, expect it to cost too much, and be done incorrectly, so you'll have to go over it again yourself.

2.) Investing in good tools saves a lot of time and money in the long run.

3.) If you let the cruft build up without cleaning it out once in a while, it can bring everything to a screeching halt eventually.

4.) Talking about doing things doesn't get things done. Somebody has to go out and get their hands dirty actually doing it.

5.) It's easier to schedule your work when there is a regular, defined schedule of interruptions (9AM coffee break, 12PM lunch, 3PM coffee break) versus random ad-hoc interruptions.

6.) Some operations really need locks to safeguard users and data - i.e. make sure you've locked out the circuit on the wood chipper before you climb in to replace the knives...

7.) Respect the old geezer who has been around forever and had their hands into every component of the system. They know not just how the system works, but why things are the way they are now, when that differs from the original spec. Ignore their wisdom at your own peril.

8.) Most people don't take a lot of pride in their work, and will try to do just enough to get by. If your life depends on something, make sure you trust the person doing it isn't in "good enuff" mode. Then check it again anyway.

9.) Paid overtime is a great incentive to management to have people get shit done during normal hours. Calling workers in off-hours should be expensive and rare.


I can do one better!

Everything I needed to know about good UX I got from a book title: Don't make me think

The book helped too though.


> Translate menus and descriptions as needed, by using the customers’ vocabulary instead of brand names, foreign words, and insider jargon.

I think this is great advice not just for UX, but also for when communicating technical topics across disciplines or to nonprofessionals. Of course, this is easier said than done -- many concepts are often not directly translatable, so it takes work to come up with near optimal approximations.


Has anyone had to wait behind a senior citizen trying to use those touch screen 100 flavor Coke machines? It's an eye-opening experience.


I don't think this is just for older people. I've seen college students struggle immensely with them. Not only that, but just about everyone who uses it for the first time misses the cup.

But if you think the UI for the end-user is bad, you should see the UI for the people who have to maintain and refill the machine. Having these things internet connected throws a pile of rotten eggs on IOT.


My few problems have always been that a part of the screen is unresponsive, either by not being cleaned recently or being less sensitive due to the amount of use. Even then, pushing harder or holding your finger on longer generally does the trick (and probably exacerbates the problem if it's normal wear and tear).


Also try cleaning the machine, most people either do it incorrectly or don't bother.


I have not, though the one time I used one of those machines the UI was very slow to respond to user input, which can be disorienting for anyone. Is it that they are all super-laggy, or are there other things that seem to trip people up?


What was broken with the old-style that had a dozen clearly-labeled nozzles? Those were almost idiot proof.


I couldn't get any flavor of almost any soda, that's what's wrong. Do you want to continue living in a world where you can't have a raspberry diet caffeine free root beer mixed with lime cola?


You jest, but the only time I get to have a Coke Cherry Vanilla Zero at a restaurant is when they've got one of those machines.


> What was broken with the old-style that had a dozen clearly-labeled nozzles?

That they typically had only one each sugar free (usually diet cola) and non-carbonated option.


Yes. I often wonder what they could have done better with the UI to speed up the process for seniors or people who just don't have the patience or interest in all the options they have.


If you don't have an interest in all the options, they have a huge list of defaults[1], and on some machines they have a list of preelected mixes to the side.

I think why people take so long is because it's their 1st/2nd time using the machine, and they want to try out something new. Or in the worse UI choice [2] there's a huge central button that takes you to the mixing selection, and once there its difficult to get back to where you'd select the standard drinks.

[1] https://i.ytimg.com/vi/kihGFB4XT60/maxresdefault.jpg

[2] http://www.bevreview.com/wp-content/image_coke_freestyle_nra...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: