The items here are lised in some sort of vague order based on
importance and feasibility.
-
Redo the local navigation "tabs" so they look like real tabs.
-
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