Todo List
The items here are lised in some sort of vague order based on importance and feasibility.
- Pull relevant event data from sites like Meetup.com and associate it with regions.
- Look into creating importers for the various OpenGuides. They publish their data under a compatible CC license in RDF format.
- Sort of related to the above. It might be useful to allow a set of links to be associated with a region, especially travel guides, local veg groups, etc. The question is how much this overlaps the existing listings, and if it just makes a mess. Of course, lists of links also invite spam.
- "Personal lists" - the ability to create lists of entries with arbitrary names ("Favorites in Phoenix", "Best Chinese Ever"). These lists could be public or private.
- Per-entry review feeds.
- If a user rates an entry they've rated previously, then the stars shown at the top of the page are updated, but the stars by their review (or name in the ratings list) are not updated.
- The left side listing key for the Google Maps view of an entry list could be improved with more useful info.
- The info box for the per-entry Google map sucks. Improve it (smaller, more useful).
- Allow region maintainers to edit regions they maintain. Also allow them to move entries between their regions.
- Log failed searches so we can tune the search engine.
- Accent-insensitive searching, so "cafe" matches "café".
- The default search radius for geographic searches is 1 mile/km. Automatically default to a larger radius if the number of entries found is very small.
- Indicate relative "completeness" of an entry somehow (weighting each field, hours, etc) and indicate this in listings so as to show people which ones could use suggestions/editing.
- Add a feature to allow the creation of PDF versions of this content, in a format suitable for printing and distribution. Ideally, this would be somewhat customizable, so it could say something like "The Guam Vegetarian Society Dining Guide" as a title. Also consider providing other formats which are more easily editable, like Tex or DocBook. This has been on the todo list forever, because it's a great idea, but really hard.
- Add a "friends" system. If you add another user to your friends list, you should be able to do things like filter listings to only show entries that you or your friends liked, or only show the average rating you and your friends gave entries.
- Consider giving newer ratings more weight than old ones.
- Investigate how well the site works on mobile devices and improve it as necessary. This may become less of an issue as more devices provide real browsers as opposed to WAP-based browsers.
- "Was this review helpful?" The most helpful reviews could be featured on the site, given a higher weighting in rating averages, etc. This also provides a way to flag inappropriate reviews for review/deletion (though in practice these are incredibly rare, and therefore basically a non-issue).
- Allow people to upload scanned menus, OCR them, and make the text searchable.
If you have a suggestion, please let us know.
Internals Todo
These items are things to improve the code, but aren't features. Feel free to ignore this, it's just for our reference.
- The user & location inline search bits do not work in IE. Fix this before exposing this to non-admins.
- Times are stored as (server-)local time. Fix this to use UTC. This is so embarassing.
- Switch to Fey! The goal here is to reduce the number of queries sent to the DBMS, and just have a nicer model in general.
- Switch to Postgres. Maybe do this while switching to Fey?
- Give categories attributes, including "is_rateable", "prices_are_relevant", "smoking_is_relevant", "reservations_are_relevant", and possibly others. Use this to determine if some given feature applies to a vendor.
- Implement some form of admin tool for cuisines & entry features. These change rarely enough that this could be a simple CLI tool.
- Provide a non-JS version listing filter form?
- The search uri methods are kind of a jumble of overlapping code (map, printable, base, etc) and could probably be cleaned up, in particular the way lots of code has ternary ops to decide which method to call.
-
Various bits of code need cleanup.
- Map URI generation & its interaction with geocoding.
- Parsing/formatting of hours




