Jeff Kody's Developer Blog

Tuesday, February 24, 2009

Space...My Current Frontier

More and more, I've found myself thinking about what makes a website usable. Now I'll come right out and say, I'm no UI expert and I'm a pretty below-average designer. I have worked with some talented UI folks and picked up a few principles along the way. Whether or not I use them correctly, I have no idea, but I do try to use them. Bear with me as I opine about my current perspective.

The more the interweb grows, the more important it is to give users meaningful content ASAP. Let's be honest...there's a lot of crap out there, and the crap isn't going away. As a web user with an extremely finite attention span, I want content now and I'm not going to give any more effort than I have to in order to get to it. Here's a real world example.

I've pretty much abandoned Myspace in favor of Facebook for a couple of reasons. On MySpace, I see:

  • When I log in...I see ads, I see giant logos, I see a huge picture of me, I see how many people are in my network (a meaningless 9 digit number), and a whole bunch of other crap I'm not interested in.

  • My profile is pretty locked down and I still get tons of spam. I don't want to look at your web cam or buy your pharmaceuticals

  • Clutter. "Cool New Videos", "Profile of the Day", and tons of other garbage I have to wade through to get to what I care about.

Meanwhile, on Facebook I get:

  • A tiny logo, unobtrusive but functional navigation, and most of the screen dedicated to the site content.

  • Speaking of the content, I care about it. The micro-blogging of my friends is a great, low-impact touch-point. Because the content they post comes from people I know, it's mostly pre-screened. Sure, there's stuff I'm not interested in, but because I've got so much functional space, I can scan and dismiss in a matter of seconds. It takes very little work to get what I'm looking for.


Anyway, I've done a few major functionality releases on foodfinder.net lately...search revamp and add restaurant functionality to be exact, but I've also worked pretty hard to give my users more meaningful space. Specifically, I cut the logo size by about half, removed most of the ads (all but one), and got rid of some other filler/dead spacing. Particularly on the restaurant page, I've got much more substance above the fold.

I don't know if this will pay off or not, but I definitely feel a lot better about the user experience. Hopefully, it will translate to more users. What have I missed?

Labels: , , , ,

Sunday, January 25, 2009

What do You Suck At?

In my humble opinion, this is an important questions that you need to keep asking yourself. My current day job is very political. I've actually been spoken to by my management for saying things like "we suck at this", or "we don't do X very well". Their response is typically..."don't say we suck--say we have opportunities". Don't get me wrong, I understand the need to stay positive (particularly in the management role that I'm in). However, if something needs to be changed, you need to create a sense of urgency to make that change. Otherwise, it will just fester waiting for somebody to take the "opportunity" to fix it. So what do I suck at (and when I say "I", I'm referring to foodfinder.net.

I SUCK as search. It's a strange thing to have to admit, because I have tons of experience with many different types of product search ranging from the travel industry to retail. Anyway, I really dropped the ball with FoodFinder, but luckily, I have a plan to rectify this.

Lets take a look at how search works now:

  • A user enters a location and optional keyword

  • The address is resolved to a longitude/latitude and the user is shown restaurants within a 5 mile radius of that point

  • If the user enters a keyword, a LIKE operator search is applied against the appropriate fields

  • The user is brought to a page with a list abbreviated results of restaurants and menu items (6 of each) that meet the search criteria. At that point, they can click to choose which they want to see (there is no paging on this page)

  • Once they choose, they get expanded results and paging. They also get a refine utility that allows them to filter results by price, rating, keyword, distance, and rating status. They can also rate the inline and load menus inline.

  • All search logic is done via AJAX calls from the browser.


When I wrote this, I had many factors in mind that I was trying to address. How do I let the users search both restaurant and menu items with the same input form? How can I get users rating food and restaurants as soon in the experience as possible? How can I make the results as fast as possible with current hardware limitations? I address all of these concerns, but the final result was search tool that gave a piss-poor (almost unusable) search experience.

Since the initial launch, I've had to go back and revisit several key areas of the site. I've got a long way to go, but I finally have a vision for resurrecting FF's search functionality. My plan is as follows:

  • Get rid of the AJAX. This will help with users who navigate with the back button (like I often do), and give them bookmarkable query strings

  • Integrate "Intuitive Location Filtering". If a user enters "1 main street, san diego ca", they're probably interested in seeing what's near them (in which case, the current model is probably fine). If they enter "San Diego, CA", they probably want to see the entire city. I will be crafting a routing that tries to determine what the user really wants by their location query and filter accordingly.

  • Enhance the keyword part of the search. Right now, if you enter "Ruths" as your keyword term, you will not get see "Ruth's Chris" because of the apostrophe. The new algorithm breaks down the keyword phrase and evaluates the individual terms with inappropriate punctuation removed to treated as word boundaries.

  • Add a search summary and advanced options in an obvious place when a search is completed. This will allow folks to see exactly what they're looking at (particularly important with the intuitive location algorithm) and how to modify those options.

  • Get rid of the multi-state. It's confusing. One state will exist for search and users will need to click through to a restaurant to get interact with the data.

  • Leverage the work Google has done. Google is the undisputed kings of search. They have already trained the community to deal with different types of data consolidated within one result set. Why not take advantage of the "training" that they've already invested in?

  • Let the users sort. Duh. Users can only filter (if they can figure out how). Let them sort the results to better aid them in what they're looking for.

  • Add support for tags. Tags are a great, free-form organizational tool. Sites like http://delicious.com/ have done some amazing things with tags (there are also sites that haven't figured it out yet). For me, relying on the community for restaurant meta-data, I really need to make tags more powerful. Don't worry, I'm on it.


Well, that's it. It's a lot to bite off, but I really think it will be worth it. Plus, the work I'm doing on search (and have done of the restaurant page with menus) will set me up for a mobile implementation.

So, what am I missing here? I'm sure there are several things. I'm also sure that these changes will be an exponential improvement over the current search experience. Any thoughts?

Tuesday, November 25, 2008

Web Advertising?

Lately, I’ve been spending a lot of time trying to get people to check out my little restaurant guide. I’ve tried a few different channels that I’d like to talk about.

First of all, I am currently willing to spend about $100 per month; this is because I fund this endeavor out-of-pocket. Since I launched the site back in July, I’ve tried buying Google adwords, and also experimented with Facebook ads. When I first configured my Google ads, I was getting about 8 clicks per day, but I was getting a lot of users that I simply couldn’t offer value to (foodfinder.net is still has very limited US restaurant coverage). On the next round, I did a bit more targeting by geography both in terms of keyword selection and making my landing pages a bit smarter. By click rate dropped to 2-3 per day, but my bounce rate also fell by about 10%.

Facebook offers super targeted advertising, but I started with a small geographic search area (San Diego and surrounding cities). This yielded about 1-2 clicks per day (although my total ad spend was under 10 dollars over a 14 day period).

Clearly, I’ve got a steep learning curve here. I think I’m going to try some less conventional forms of advertising. A friend and co-worker who just release a cool viral object tracking game site turned me on to a cool new ad channel. The site is called Girl in Your Shirt and it takes an innovative approach to marketing via social networking.

This will be my next endeavor--I’ve got shirt printing now, and will soon drop $75 bucks to see what kind of traffic this can drive. I’ll keep you posted. In the mean time, any thought on how to spend $100 a month to drive some web traffic? I’d love to hear your thoughts.

Tuesday, November 11, 2008

My Biggest Challenge: Data Acquisition

I've gotten a couple of requests this past week that relate to the most difficult part of building the intrepid restaurant guide that is FoodFinder.net. Both of these, while very different from each other, tie into the same theme--gathering restaurant data.

The first one inquired about adding international restaurants. Wow...this would be super cool. I really look forward to expanding overseas. Unfortunately, I'm years, not months away. Reason one--I have limited database space (about half a gig). Even my US coverage is a work in progress. I've collected restaurants in about 20 major markets, and have filled out areas around the two places where I've lived (southern New England and Southern California). These 2 regions also get the most attention in terms of new restaurants and updates.

The second request was for an update to the menu for Martha's Exchange & Brewery. Normally, this would be a simple matter, but their menu is not available electronically (normally, I would have told the manager to send me an electronic copy of the data, but since I used to frequent their on the weekends, I figured I'd knock it out and brush up on my typing skills at the same time). In the future, I won't make a habit of doing this.

Also, I'd like to expand the amount of data available for an individual restaurant. I think Yelp does a great job providing detailed meta information about their listings. I plan to add this by opening up control over some of the restaurant data to the community and the owners or managers. So much to do, and so little time.

Labels: , , , , ,

Tuesday, November 04, 2008

Food and Restaurant Resources

When promoting a website, one of the most important criteria in organic SEO is backlinks. A few days back, my little restaurant rating website was included in a blog post. The site is called www.culinaryschoolguide.org and the topic was 100 useful food resources.

At first, I was just happy to get an unsolicited link to FoodFinder.net (the first of it's kind). Of course, I took a few minutes to check out the entry and there are some really great resources on there, ranging from search engines for micro breweries to cooking videos.

If you're a foodie, check it out.

Thursday, October 16, 2008

How to Optimize SEO for a New Website

Actually, I'm not instructing--I'm asking. SEO is something very new to me. It’s funny, you spend years working on B2C web sites, and many of the changes requested by the marketing group revolved around SEO--somehow, very little sunk in. Anyway, I've been fumbling through the process, trying to get my restaurant guide website up to snuff. Fortunately, there are resources available.

A co-worker and friend of mine has a great mountain bike trail site and I've learned quite a bit from his efforts. Primarily, using URL re-writing to allow search engines to process dynamic pages easily, as well as getting some important keywords into the URL. Apparently search engine bots weight this heavily.

Also, I've subscribed to a service to submit my website to several directories. This creates a pool of back links, which search engines use to determine the value of a website. I've slowly seen my Google page rank jump from zero to a whopping one.

A really cool website that I found on Chris Brogan's blog is the Website Grader from Hubspot They have a tool that analyzes your site's content, features, back links, and a whole bunch of other factors, and then give it a grade. I use this thing every couple of days and try work off their recommendations. I've grown my grade from 55 to 88. I've also created Facebook and Myspace pages.

What should I do next? My Google ranking is growing, but I can't seem to make much progress in Yahoo or MSN. I'd love to hear any advice.

Saturday, October 11, 2008

Watching Data Evolve

Is it possible to say "I told you so" to yourself.

When I launched my new restaurant rating site about 2 and a half months ago, I made a decision. I decided to allow users to participate in the site without creating an account or logging in. This was calculated; The site will only come alive and be successful if users participate, so I wanted them to be able to interact without the hurdle of having to create an account. To give them value while asking for little in return. The same reason people can rate a restaurant or menu item without having to write about it.

Of course, this openness has an interesting side effect. I'm finding that some folks are rating restaurants with 10s across the board (the restaurant owners perhaps?). Now don't get me wrong, I don't mind. I'm just glad people are beginning to participate. Of course, this isn't exactly an unbiased view of an establishment's fare.

Eventually, I will implement an IMDB style mechanism so the ratings are only displayed when multiple ratings are collected. For now, thought...it's a free-for-all. It's actually a good play by the owners. A top-ten rated dish for a city appears on the home page giving a little extra exposure.

What do you think? Will people pass the site by if the ratings are obviously skewed? Should I do something to stop this at the risk of collecting less data? What would you do?