The New Lunch Hub

I launched the new version of Lunch Hub on December 31st, 2009. The main purpose of the site hasn’t changed at all, but some key features work in fundamentally different ways because the old ways weren’t cutting it anymore.

Registration

One of the biggest problems with getting people to use the original Lunch Hub was that you had to register in order to see anything at all. I had originally thought that registration was an absolutely necessary, but then I thought of the idea of using unregistered users with cookies, kind of like how Stack Overflow does it. You still have to register in order to add restaurants or join groups, but it breaks down that initial barrier which is a huge step in the right direction.

Destination Selection

When someone picks a restaurant and says, “I want to go here,” I call that a destination. In the original Lunch Hub, there was just a flat list of restaurants. This worked fine when only one office full of people used Lunch Hub and there were only 10 different places we usually went. But once I brought Lunch Hub to a new office and the restaurant list grew to over 100, a simple drop-down list wasn’t going to cut it anymore.

The way I chose to bring the list down to a manageable size was to allow filtering two ways: by location or by name. I figure that everyone who gets on Lunch Hub either knows which restaurant they want to go to or they know what area they want to go to for lunch, so those two methods probably cover most use cases.

Driving Directions

Since the new Lunch Hub has this “Where are you?” component, I decided to put two and two together and provide Google driving directions on each restaurant’s home page. This was actually really easy with the Google Maps API.

Restaurants

In the original Lunch Hub, there was no distinction between restaurants and restaurant locations. For example, the McDonald’s on Lamar St. and the McDonald’s on Alpine Ave. would be two separate records in the restaurant table with “McDonald’s” stored as the name for each one. This was obviously a short-sighted design. Now I have a restaurant and a restaurant_location table, with restaurant storing just the restaurant’s name.

Chat

The old Lunch Hub had chat and the new one doesn’t, at least not yet. The chat I wrote for the original Lunch Hub was buggy and I think it had some fundamental design flaws. I want to come anew with the new Lunch Hub’s chat, with a better-thought-out design. This feature just hasn’t become the most important thing yet.

My Lunch Choice

A usability test showed me that it’s not always clear how to change a destination selection once it’s made. I hoped that the “My Lunch Choice” bar would, among other things, make it clearer how to change your selection. My Lunch Choice shows you which restaurant you’ve selected, plus a link that says “How do I change this?” that links to a pop-up hint. It’s not necessarily the most elegant solution and I’m still thinking about it. Other uses for My Lunch Choice can include an “I’m not going out to lunch today” option, an ability to announce a preferred time, and a way to clear your lunch selection. In general, My Lunch Choice was made to account for the fact that your destination is not necessarily a restaurant, and there can be more to your destination that just a restaurant.

What’s Next

I have a lot of work on my plate for Lunch Hub. There are a good amount of bugs and “obvious features” that need to be added before I can start thinking about funner features. In the immediate future, I’m going to be moving Lunch Hub from its current host to a different, hopefully better one and adding more unit and functional test coverage. I’ll be posting about the more interesting changes as they come.

What features would you like to see?

Leave a Reply