Machine, point me to food
March 16, 2009 5:45 PM   Subscribe

Where's my food? How to make a web ap that tells me how to find vegetarian food easily?

Ok, so, first off—I'm not tremendously programming savvy, so don't be afraid to talk down to me in simple terms (seriously, don't assume I know anything).

Here is what I want: I want to be able to go to a page (either on a computer or a phone) and see where the nearest vegetarian food is (vegetarian restaurant or just a place that has veggie food). I would like to make this open, so that I don't have to find every vegetarian dish everywhere (crowdsource).

I assume that what I need will be some sort of database that accepts submissions easily, and that will work with google maps; and some server space to run it from.

Given that—if I want to build something that does this, what do I need and what do I need to know? Is this something that can be built by a programming novice (I haven't done any programming since high school and that was still mostly basic. I have a moderate grasp of HTML, but little CSS)? How hard will this be? What should I know when I start to build it?
posted by klangklangston to Computers & Internet (17 answers total)
HappyCow is a good online resource for this.
posted by MaryDellamorte at 5:56 PM on March 16, 2009

So are VegDining and VegGuide. Veg Guide is pretty open.
posted by cmgonzalez at 6:05 PM on March 16, 2009

Response by poster: Happy Cow looks close to what I want, but I'd like to be able to use my cell phone to find places, and I'd like more options for places that aren't vegetarian that have vegetarian entrees.

I'd also like to learn how to do this, so that one exists is good (I can learn from them) but it doesn't solve my problem.
posted by klangklangston at 6:07 PM on March 16, 2009

Veg Guide has listings of places that are vegetarian friendly also. and I'm sure you can use a phone's browser to look up any of these sites.
posted by cmgonzalez at 6:09 PM on March 16, 2009

Response by poster: Vegdining and vegguide are also close, but not exactly what I'm looking for (but maybe a good source of data).
posted by klangklangston at 6:13 PM on March 16, 2009

Most restaurants are going to have either vegetarian options or entrees that are easy to convert to vegetarian. For example, we only have 3 vegetarian options on our menu at work. But you can get any of the salads and pasta dishes, sans meat. Also, if a place has a veggie or black bean burger, look at the other burger setups that are on the menu. Most places are happy to substitute a veggie patty for meat on any burger item.
posted by MaryDellamorte at 6:14 PM on March 16, 2009

Response by poster: Yes, that's good. That would be nice to know—in a database, presented in map format, so that I know that someplace has a veggie burger option before I get there. So yeah, right track, but again, I'd like to learn how to build all this too, so that I can tweak things to get exactly what I want.

It's cool that things similar to what I want exist, and I've used some of these tools before. And I do appreciate seeing them referenced here again—how other people have approached the same problem is always helpful. So feel free to keep making suggestions. I don't want to have my comments here interpreted as being all fighty.
posted by klangklangston at 6:20 PM on March 16, 2009

Yeah I see what you're getting at, I just don't know how you'd get to going about it in such a comprehensive way. It would be nice and such a great resource for folks. I would like to have the vegan form of it though! Also, I don't see your comments as being "fighty" in the slightest. It's nice when the asker participates instead of abandoning the thread.
posted by MaryDellamorte at 6:27 PM on March 16, 2009

I don't think it's "fighty" either, but it might help us help you better if you spelled out exactly why those sites are close, but not 'it'.

Are you looking to create a light, text-only subdomain for phones? Some other features those sites have failed to provide? Or is it just about that comprehensiveness with regards to non specifically vegetarian places' veggie options?
posted by cmgonzalez at 7:19 PM on March 16, 2009

Yes it seems as though there's some kind of confusion here. You want to create a website with comprehensive listings of a certain thing. That's basically a database.

Creating the website is, essentially, a simple task for a lot of us here. In other words, if you came to us with the database, we could create you the website, or teach you how.

But where is your data going to come from?

Are you assuming that you will do that enormous amount of research yourself? Or are you assuming that out there somewhere is a source of that data which is free for you to use, and which you can adapt to create your website?
posted by AmbroseChapel at 7:53 PM on March 16, 2009

One thing I learned in my 16 years of vegetarian living was that most places with a veggie option are not terribly concerned about keeping meat/animal products out of your food. Once I did a little research at some of my (former) favorite places, I pretty much gave up and decided to eat out only at vegetarian/vegan restaurants or cook at home. So the data you're after could be smaller than we're all thinking, depending on your comfort level.
posted by lily_bart at 8:38 PM on March 16, 2009

Response by poster: "Creating the website is, essentially, a simple task for a lot of us here. In other words, if you came to us with the database, we could create you the website, or teach you how.

But where is your data going to come from?

Are you assuming that you will do that enormous amount of research yourself? Or are you assuming that out there somewhere is a source of that data which is free for you to use, and which you can adapt to create your website?

The VegGuide is the closest so far to what I want—it has hours, location, rough cost (though I'd prefer an "average entree" cost). It has some noisy entries (things that no longer exist), and lacks a lot of places around here that are ethnic spots with veg food. My assumption was that for just learning how to build something like that, I could take data that was similar. For making it useful for me, I'd want to tweak some of the categories and be able to add specific dishes that were recommended, and have it light enough that it would work on my phone.

So, I thought that I'd be able to find a fair amount of the data out there, then edit. I thought that it'd also be nice to have something that I could update from my phone. Ideally, this'd be simple enough that a text with location and a series of letters for the info.

VegDining's locations suck—404 to Mapquest?—and there are a lot of places there that I know don't exist anymore. Also, I don't want to have to click through five pages in order to find the one I want—the data sorting should be quick and based mainly on proximity.
posted by klangklangston at 10:45 PM on March 16, 2009

If your phone is an iPhone... has an iPhone app, which links into a map/what's near me setup. Although I don't seem to be able to add new finds to the app myself.

But UrbanSpoon seems closer to what you want, except that it's for all restaurants and not just vegetarian. It has an iPhone app and a website (no idea if it's smartphone friendly). The app uses your current location to find what's near you, with the website you enter it yourself. Both have the ability to sort by category (which includes vegetarian), rate places you've visited and add new places/inform them of closed restaurants. It also has a rough cost guide.

If these aren't right for you, they might still give you some ideas.
posted by harriet vane at 5:33 AM on March 17, 2009

Just realised that also allows you to add your own reviews, so if you went somewhere that wasn't vegetarian but offered you a good vego option you could make a note of it.
posted by harriet vane at 5:36 AM on March 17, 2009

I agree that Urbanspoon is a good place to get the info -- they do apparently have a mobile version in addition to the iPhone app.
posted by camcgee at 9:32 AM on March 17, 2009

If you're going to build your own website, these are the things you'll need:

1. Database -- to store the information not directly relevant to the page design or the HTML.
2. HTML/CSS/Javascript -- to present the information to the browser, phone, web crawler, whatnot.
3. Software -- What takes the info in item 1, processes it to the extent necessary and displays it using item 2. And takes information from external sources (user input, other websites), processes and puts it in item 1.
4. Underpinnings -- the actual database software, the web server software, the hardware, and other infrastructureish-things that are essential but will be handwaved for now because I'm trying to keep this fairly high-level and abstract.

At the very least, you need somebody who's good at the software -- the database can be a hack, the HTML can be minimal or even syntactically wrong, but if information can't be read and written you don't have a useful site. Fortunately for you there are all kinds of existing engines that can be starting points for what you describe, but pretty much all of them will require somebody at least passingly conversant with the underlying software. Knowing HTML is a stepping stone, but it ain't programming.

If you have a lot of enthusiastic friends, you could start with a wiki, most of whom require minimal technical skills. Administration time is high, as you'll need humans moderating contributions and, most importantly, maintaining indexes of the content. Otherwise you'll have a lot of good information and no easy means of getting to it. Administration effort is going to increase by some multiple of the number of pages being added or changed every day.

If you have a couple enthusiastic friends, one of whom has some minimal programming experience, you could set up a site using blogging software (like WordPress) and make extensive use of the available tagging and category functions to help visitors find stuff. But if the site's successful you'll eventually find maintenance of the now-large site to be tedious -- blogs are designed largely around managing content chronologically, not categorically, and while WordPress has extensive non-blog page tools it doesn't scale up well. Further, these systems are easily customizable, but you'll eventually find yourself butting heads against the way you want to do something and the way the software wants to do it.

And then there are larger-scale content management systems, like Drupal, Django, Alfresco, and a zillion others, or build something from scratch using framework tools like Symfony or Plone. Then you're talking about real time and money. But they can also be things you step up to from a lower-rent option.

Scraping data from other sites is helped if they provide an API (Application Programming Interface), which means they're not only happy with sharing the data, they've even prepared mechanisms to make it easier, as long as you have the programming skills needed to exploit it. Some companies go further and deliver preformatted content for you -- such as Google Maps. Some companies are hostile about sharing data and highly proprietary, so be careful about what you're mashing up.
posted by ardgedee at 10:07 AM on March 17, 2009 [2 favorites]

Best answer: It sounds like part of this is an interest in making your own website. Correct me if I'm reading this wrong, but it's not just about having a good resource, it's that you want the experience of creating one. That might be coming from a creative urge or a desire to have a stronger technical understand of web interfaces.

Either way, I'd say using Google Apps is probably the way to go. They already design all of their systems to be accessible from a variety of interfaces, including phones. You could set up a Google Spreadsheet that contained a simple database of vegetarian locations. That spreadsheet can then be used as a dataset on Google Maps.

You can fairly easily set up web-based forms that write entries to a shared spreadsheet (I don't mean programming this yourself, I mean this is a built-in feature of Google apps). Whether or not you can then pull in geocoding information from the entered addresses is another matter. It may even be that you have to require people to cut and paste in the geocode location for the entry.

The nice thing about Google Apps is it takes care of all of the infrastructure for you. If you were more seasoned at web development, you'd probably find the constraints of the system to be frustrating, but since you're a novice you probably won't notice them at first.
posted by Deathalicious at 2:12 PM on April 17, 2009

« Older Name That Tune.   |   Source for Medical Malpractice Insurance Quotes... Newer »
This thread is closed to new comments.