If I Did It Over Again
Or Cabernet Design 2.0
Things I need to improve
- 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
- 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
- Don't do full page reloads all the time- Ajaxify
- Needs to be fast! Slow page loads suck
- Design as multi-user from the get-go
- Global data where useful
- Where can I get data to start off with?
- 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
- Store single values for anything sorted/filtered
- Better use of memcached
- Power anything autocomplete
- Allow users to import/export their data
- Need to allow to import from CT & Export in the same format (or equivalent)
- 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
- External Reviews aren't smart enough
- Need to match winery & something about the wine
- Should try to extract points
Things I did Right
- PDF printing was totally worth it
- Would be nice to have a detail view for a binder
- Using RoR
- Quick prototyping
- Scaling will always be an issue though (use memcached)
- Using MySQL
- Should scale well for site usage patterns (writes being < reads)
- Drunk wine list
- Should be an rss feed
- Should generate reminders to write tasting notes
- Storage View
- BottleCount has a prettier representation but is missing features
Things I like about CellarTracker
- Huge database means less typing
- Adding wine via fulltext/ajax search is great
- Great full text search
- Excellent categorization (region, subregion, appellation, designation, vineyard, etc)
- Excellent Advanced Search
- but is very awkward to use
- Their twitter integration is awesome. Also provides great marketing for the site
Things I don't like about CellarTracker
- Very slow (especially evenings)
- 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
- Difficult to use cellar structure: Location/Bin?
- Very free form
- All bottles added go to the same location/bin
- Feels like an "expert system"- very overwhelming at first with a steep ramp-up
- Lots of cool features are buried deep down.
Misc Ideas
- 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.
- RSS feeds for events (adding wines, drinking wines)
- Should be able to do tasting notes for bottles not entered in the system (wines tasted at restaurants, friend houses, etc)
- Use data from other sites Wine.com API for example (look at: WineZap?, Wine Searcher, and Snooth)
- 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
- make it easy for users to leave comments (see how pcapr did it)
- Multiple kinds of search
- Simple text box search, use scoped_search or ThinkingSphinx
- For an advanced search form, use SearchLogic
- acts_as_rated or roll my own rating system?
Multi-User Issues & Features
- Account != User. Account owns the bottles, a user is granted r/o or r/w access to the account
- Husband/Wife? get different userid's
- Allow's friends to get r/o access
- Use AuthLogic and auth_helpers for reset/confirmation
- Use Lockdown for authorization
- Need a way to deal with global data issues
- Fat fingering in new wines/wineries/etc
- Merging duplicate records
- Version history, show changes over time and by who
- Rollback changes
- Wikipedia-like volunteers to help manage?
acts_as_versionedor Vestal Versions or has_versioning?
- Forums & mailing list for user discussions & system notifications
- Subscriptions? Checkout Chargify for billing
- Recommendation system? Wine.com affiliate?
