Cork to Cork: A Wine Journal

Project Overview

Cork to Cork is my second app in the Windows App Store. It was orginally intended to be my first app, but Modern Delicious made more sense as I struggled to add links to Delicious for future reference while building the first incarnation of Cork to Cork. As with all of the projects I start, I threw most of my code away a few times (and moved 2000 miles) before landing it. I had to scale back my ambitions for it many times as well, and I'll try and add many of the things I wanted it to do back on later as future features. My wife Julie became a big motivating factor as well, as she was going to end up using it just as much, if not more, than I would.

Like the other app, it's driven by an app I want and couldn't find, rather than something you might see as a market opportunity. It seems like there are plenty of apps out there that are great for tracking your collection of wine bottles, but Julie and I were looking for something that helps with what we enjoy most about wine - drinking it. So many times, you're enjoying a bottle of wine with friends or family, and someone recommends another bottle to you. But after that bottle or three of wine, your memory isn't quite as razor sharp as it was prior. So the great recommendation is lost. Or we would go out to dinner and drink a great bottle of wine, and if you forget to get a picture with your phone before your service industry spirits the bottle away, that great wine was forgotten and couldn't be shared with others. We actually bought a spiral bound notepad that we found on vacation about 10 years ago which we had been using to record them, but it was really hard to locate an old favorite without paging around forever in it. It really didn't help that we filled it cover to cover, either. It seemed like a problem that could be easily solved with an app.

The Features and Design

The notebook wine journal we had been using had very granular details for you to fill out for each wine. That's nice if you're really serious about wine, but we're definitely novices and just want a way to keep track of the main details about the wine that would help us find it again later. I'm sorry serious wine people, most people just don't care about AVAs, or the clarity or bouquet. We wanted to break it down to the basic elements that let us find a wine later and share it with the people we enjoy drinking with, and hopefully this will be accessible to other novices like ourselves while still being hopefully a little useful for those that are more serious about wine. So it was broken down into a few main categories: name, where it was produced, vintage, vineyard (to simplify some of the super long names), our personal rating, and any notes we had about the taste, experience, or occassion we we drinking it. Along the recommendation lines that I mentioned previously, it seemed like it would need a way to mark a wine as one you wanted to try, to separate it from the ones you had already tried. And to remember which wines you love and want to share with others, a way to mark a wine as a favorite made sense as well. Those ended up becoming the key options to sort or filter by.

Once we had broken down the elements we knew we wanted to keep track of, it was design time. I fumbled around with it for a while, and was interupted at one point by a major life decision. Julie and I were sick of the horrible winters and limited job opportunities of Wisconsin, so we sold our house and moved to Seattle. While she was job searching after we moved, she was able to exercise her graphic design and photography skills by putting together a really great design for Cork to Cork.

Cork to Cork Home Screen
The starting point of the app, with a section to launch you into the most common tasks.

Cork to Cork Grouping Options
The app groups your reviews in several ways to help you organize them.

Cork to Cork Favorites and To Try
You can also mark a wine as a favorite to help you get to it even faster. There's also a To Try section to help you keep track of ones that have been recommended. Or even just use it as a way to create a wine store shopping list.

Cork to Cork Wine Review Collection
Multiple filtering options are available to help you really filter down to just what you need to find in your reviews.

Cork to Cork Adding New Reviews
Adding a new review or editing an existing review is quick and easy with just a few simple fields.

The Code

I've become a great fan of MVVM Light, so I stuck to that here. At it's core, this is a pretty common reviews type app, so there isn't really anything ground breaking in it. The reviews are stored in a flat file as JSON, and JSON.Net is used when the app first starts to deserialize the file.

Windows Store Certification

Stunningly easy compared to the first app. It was approved on the first try and live within about 12 hours. A major improvement by Microsoft!

Maintenance Phase

There haven't been any significant bugs reported yet. One of the reviews criticizes it's simplicity, which is fair.

Proposed Future Features

As with the apps I've written or planned, you start with what you dream the app will have, and then you trim the fat to get something that addresses the core problem. There are a ton of features that I really want to put in, and a couple that I'm really excited to put in as soon as possible.

Social network sharing. It seems almost too obvious that an app for reviewing wines should allow you to share these with friends in the places you normally would. Facebook is a very obvious one, and this integration is certainly at the top of my list. Other social networks present some challenges that I'm not quite sure how to address. Pinterest would be nice, but it's very visual, so it would need an image. Twitter has the hard character limit, so it's a bit of a challenge to figure out how to share to there. Just have it generate something like "Just tried [Wine Name], 4/5 rating," or would it be more useful to have a link to a webpage where followers can read the full review details? Email me at the feedback link in the app if you have any suggestions on this, I would love to hear it!

Images. This was the missing feature that I spent the most time working on. Finding a bottle in the store is so much easier if you have a picture to work off of, so this is also at the very top of my list. You can certainly store these locally after you take the picture of the label or bottle, but there are so many varying factors that I couldn't make it work. What should happen if a user moves or deletes the image? And I would prefer to not make people take pictures of every single bottle, so maybe there is a service out there these could be pulled from to help.

Cloud synchronization. I have a few different devices that I would like to be able to my reviews on without having to remember which device I reviewed what on. Since the app is currently Windows 8 only, I suspect this isn't a real pressing issue from the get go. It is definitely planned however. What will make this much more of a need will be if there is a companion app for phones. I'm already working on those, so obviously this is going to need to happen, probably even before those launch. Cloud storage will carry a cost to me beyond just my development time, so I'm also looking at how I can estimate these costs and whether they'll be significant enough to need a charge to offset them. If it ends up being somewhere in the middle where the app may need a price adjustment, but a very small one, existing users will just be grandfathered in and get it for being an early adopter.

Shared review collections. There's no reason Julie and I wouldn't want to have our reviews all lumped together in one bucket. If you're familiar with apps like Pair or Avocado, this would be along those lines. Everyone would see each others reviews. This will obviously need the cloud sync in place first, but after that, it's really just some basic decisions about what the rules for this should be. Should it be limited to two people, or more than that? Shoud it identify which of the users wrote the review, and if so, would there ever be a situation where their name should be hidden? What happens if there is a falling out between members of the share and the reviews need to be split back out? Again, if you have any thoughts or suggestions, please use the feedback link in the app.

Review export. Apps that trap your data forever and lock you into their ecosystem suck. You own your data and should be able to take that data anywhere you like. I would prefer that you don't, but as a matter of trying to navigate the world and feel like I'm trying to be a good person, this is a must to me. I'm thinking a CSV file that someone could then pull into their favorite spreadsheet app and manipulate as desired. Once that is an option, it makes sense to put an import option in to go the other direction as well. They would likely be two separate releases, though.

Last updated: 2015-11-28