wiki:DoOver

If I Did It Over Again

Or Cabernet Design 2.0

Things I need to improve

  1. Come up with a better presentation model then a grid
    • Old & tired
    • Hard to put a lot of wine data in a single row
    • CellarTracker uses grids too, but with a lot less data
      • Grid view in CT isn't for managing your wine in any way
      • Wine management is done via the detail view
  2. Easier entry of new wines
    • Fewer required fields
    •  Cellar Tracker does a good job of this
    • Make it easier to clone wines by vintage
    • Add by UPC code? Would be great to find a service which converts UPC codes to wines
  3. Don't do full page reloads all the time- Ajaxify
  4. Needs to be fast! Slow page loads suck
  5. Design as multi-user from the get-go
    • Global data where useful
    • Where can I get data to start off with?
  6. Database is very normalized, but not very "railsy" Need to rethink schema to make ActiveRecord? model work better for me
    • Store single values for anything sorted/filtered
      • Avg. Bottle price
      • Single date for drinking
      • Bottle count
    • Need to better model data
      • wine_vintage should be it's own table
      • Do more roll-ups for performance/sorting/filtering
  7. Better use of memcached
    • Power anything autocomplete
  8. Allow users to import/export their data
    • Need to allow to import from CT & Export in the same format (or equivalent)
  9. Menu system
    • Really there should only be 1-3 views when searching to find a wine to drink and probably a single wizard workflow to add a wine
    • Have some "administration" views to manage producers/wineries
  10. External Reviews aren't smart enough
    • Need to match winery & something about the wine
    • Should try to extract points

Things I did Right

  1. PDF printing was totally worth it
    • Would be nice to have a detail view for a binder
  2. Using RoR
    • Quick prototyping
    • Scaling will always be an issue though (use memcached)
  3. Using MySQL
    • Should scale well for site usage patterns (writes being < reads)
  4. Drunk wine list
    • Should be an rss feed
    • Should generate reminders to write tasting notes
  5. Storage View
    •  BottleCount has a prettier representation but is missing features

Things I like about CellarTracker

  1. Huge database means less typing
  2. Adding wine via fulltext/ajax search is great
  3. Great full text search
  4. Excellent categorization (region, subregion, appellation, designation, vineyard, etc)
  5. Excellent Advanced Search
    • but is very awkward to use
  6. Their twitter integration is awesome. Also provides great marketing for the site

Things I don't like about CellarTracker

  1. Very slow (especially evenings)
  2. Ugly
    • Poor use of color
    • Lots of plain lists without any means to sort/filter
    • Small font used everywhere makes it hard to find what you're looking for
    • Very busy, information is just splattered all over the page without any regard for the important info vs. merely interesting
  3. Difficult to use cellar structure: Location/Bin?
    • Very free form
    • All bottles added go to the same location/bin
  4. Feels like an "expert system"- very overwhelming at first with a steep ramp-up
    • Lots of cool features are buried deep down.

Misc Ideas

  1. Embrace the grid. Basically use the grid view, but via ajax allow you to drill down & look at the details of a wine w/o reloading the page. basically put the information in a new (large) row or temporarily hide the grid.
  2. RSS feeds for events (adding wines, drinking wines)
  3. Should be able to do tasting notes for bottles not entered in the system (wines tasted at restaurants, friend houses, etc)
  4. Use data from other sites  Wine.com API for example (look at: WineZap?, Wine Searcher, and Snooth)
  5. Tags! tags can be used for a variety of things:
    • style (red, white, rose, port)
    • reserve, organic, estate, limited
    • vintage? -- probably not. too intrinsic to the system and creates new objects rather then describing them
    • food pairings
    •  acts_as_taggable_on_steroids
  6. make it easy for users to leave comments (see how pcapr did it)
  7. Multiple kinds of search
  8.  acts_as_rated or roll my own rating system?

Multi-User Issues & Features

  1. Account != User. Account owns the bottles, a user is granted r/o or r/w access to the account
  2. Need a way to deal with global data issues
  3. Forums & mailing list for user discussions & system notifications
  4. Subscriptions? Checkout  Chargify for billing
  5. Recommendation system? Wine.com affiliate?