What do I need to use WineEngine?

The WineEngine API is just one part of your workflow: in order to get started, you’ll need a label database, your own server and a mobile application.

Label database

Your label database is what WineEngine will search when your users send a picture of a wine label. The label database is a collection of images, each image being a clear image of a wine label.

Your images should be taken as your user would take them: framing just the label, not the whole bottle. For best results, photograph the label in smooth, ambient light, with a neutral background. WineEngine will automatically mask the background before fingerprinting the image in order to capture the most important part of the image: the label itself.

Here is an example of an ideal wine label photograph. Note the neutral background and the clear focus on the label:

As WineEngine does not contain additional information about the wine, you should organize your image filenames, giving each image an ID in order to easily associate the wine label image filename with other information.

WineEngine will return the filepath (“folder/file.jpg”) in its response to searches, so your server could implement a database that correlates “folder/file.jpg” with more information about the wine, such as recommendations, prices or reviews.

Here’s an example of the workflow:

  1. A user takes a picture of a wine bottle
  2. Your application sends it to WineEngine
  3. WineEngine finds a match and returns a result with filepath “123456.jpg”
  4. Your application looks up the wine with ID number “123456” in your database of wine information
  5. The database returns tasting notes and recommendations for the wine with ID number “123456” and sends it to the user

Your server

You will require a server to pass images from your users to the WineEngine API server — you do not want to send images to WineEngine directly from your application or from a browser, as this would expose your API to the public and allow malicious users to access your WineEngine server.

WineEngine supports IP authentication, which means that only whitelisted servers will be able to communicate with the API. This gives increased security compared to username and password authentication. If you’d like to use your server’s IP to authenticate, you will also require a static IP address.

Mobile application

WineEngine does not come with an app or a user-facing interface for recognizing wine labels. You will require a mobile application in order to allow your users to make use of WineEngine.

Developers using WineEngine often ask for advice on creating the best user experience. Here are our recommendations.

Mobile apps are all about quick and easy results with as little thinking as possible. For an app with a tight focus, ease of use comes from having as few interactions and as few choices as possible. User satisfaction comes from immediate feedback and results. Every quarter-second counts!