Eric
Posts: 17321
Joined: 10/10/2003 From: Seattle, WA Status: offline
|
At last, this release has a feature that people have been BEGGING for since the earliest days of CellarTracker: UPLOADABLE LABEL IMAGES!!! (6/8/2005) - At long last, users can now upload photos of wine labels.
- Each wine can have as many images as users upload. By default all images are shared across all users, but behind the scenes I do have the ability to make images private to specific users. We'll see if I need to use that.
- If a wine has multiple images, currently they are picked at random at render time. In the future I will introduce a lot more control around this.
- All images are saved as JPG on the server and forced down to a maximum of 250 pixels wide or tall. (This limits each image to a max of about 25KB.)
- Images are shown for all vintages of a wine unless a specific image is uploaded for a vintage.
- Users can report bad images to me via a clickable link.
NEW: MORE LABEL IMPROVEMENTS BASED ON A DAY OF USAGE! (6/10/1005) - I changed the max-pixels to 256 from 250 based on this feedback from WNissen: "Finally, if choosing an arbitrary size for a scaled JPG, 256x256 (or any multiple of 8) gives slightly better image quality because of the way JPG quantizes the image." Well, you learn something new every day...
- Now when a user reports an error, I generate an HTML message with a link to the image and wine, and I actually include the typed comment this time. (That was getting lost.)
- I now validate that the upload is a valid image before trying to convert it to a JPEG.
- Users now have the ability to delete their uploaded images.
- Now when a non-matching vintage label is shown, the site indicates this. I also show the closest possible vintage instead of a randomly selected one. Of course, this all depends on users matching images to vintages properly...
- I started some management pages for me to review these behind the scenes.
MORE LABEL IMPROVEMENTS! (6/13/1005) - I have done a bunch of work to help with vintage matching of images. After a user uploads an image, they are asked to enter the vintage shown on the image (or non available if the image is generic). Behind the scenes, I actually create that vintage of the wine and reattach the image to the specific vintage. Now also, I can easily remap image to wine vintage, and in general this is a piece of metadata which I am reviewing and maintaining., Also, when a non-matching wine label is shown, it more clearly mentions that this is "borrowed" from another specific vintage.
- In general, I have cleaned up the user interface a bit. Clicking the link to remove an image now requires just the one prompt. Also, windows refresh appropiately when adding, removing or remapping the vintage for an image. (I found a super-cool Javascript property which lets me easily get at the parent window, hurrah!)
- I did a bunch of database work. Now when merging or deleting wines the images are not orphaned. I also will spin off a user's image with their other data in case they specify an edit which is clearly a different wine. Going deeper than that, I also made some very fundamental changes about how and where images are stored. Now all of the images are persisted as binary blobs in the database. When the site goes to render a web page with the image in question, it first check if it is also cached in the file system as a JPG. If not it regerante the image on demand. This is fantastic for me, as I get 99% of the performance benefits of having the image cached on disk. Meanwhile, backup is very simple and is covered by all of my existing backup procedures. Also, soon I am going to be switching to having multiple front-end web server with load balancing, and this scheme means I won't have to replicate back and forth between these machines. Needless to say, I am VERY pleased with myself on this one!
- Now there is a label image summary page that users can reach via quick search or advanced search. Various image properties are shown, and this page also have fairly full-featured filtering. I also have simple hooks behind the scenes to mark each image as reviewed (once I verify the vintage and that the image matches the wine in question).
- I now bias the site to show a user the images they have personally uploaded instead of randomly selecting (if there are multiples for a wine).
EVEN MORE LABEL IMPROVEMENTS! (6/15/1005) - Things just got a lot simpler. Now if there are multiple images for a label, this is indicated (label 1 of 5 etc.) along with cursors to let you cycle next and previous through all of the labels.
- Images are shown based on the vintage they are associated with. Then images from other vintage appear in the sequence biasing towards vintages that are closest to the current vintage you are looking at.
- For images that match the vintage, a user will see images they themself have uploaded first.
LABEL FILTERING! (6/18/1005) - In the main cellar view there is a camera next to any wine that has any matching label image. Hovering shows you the count of images, and you can click on the camera, and a viewer comes up to let you page through them.
- Going beyond that, in advanced search now you can choose to filter to show wines either WITH or WITHOUT images.
- And you can further restrict the filtering to only show labels you have personally uploaded and also to require exact vintage matches. And when filtered to show labels without images, there is an upload... link next to each wine that streamlines the upload process. So now if you want to go through each of your wines and upload an image, it is much easier to do so.
MORE TWEAKS (6/23/1005) - In wine search page there is also now a camera next to any wine that has any matching label image. Hovering shows you the count of images, and you can click on the camera, and a viewer comes up to let you page through them.
- There is now a setting to suppress label image display in the wine drilldown. (The camera is shown instead.) The camera is also shown for handheld devices.
At this point, I have done pretty much all of the really obvious stuff I intended to. Now I am going to look at optionally placing thumbnails in other places as well and ultimately a richer way for people to vote on and rate the best images. NOTIFICATIONS - I built some infrastructure that allows me to set up notifications that appear either per users or for all users (with expiration dates).
MISCELLANEOUS - I cleaned up the display of professional reviews to be a bit more streamlined. I have also made it more clear that these are private vs. user tasting notes which are public.
- When new users sign up they now have to type their email address in two fields (to avoid typos).
- On user signup and for profile editing, it is now more clear what is private (name and email) vs. public (handle.)
- Guest users can now search the list of users based on handles.
- A handful of other small bug fixes as well.
< Message edited by Eric -- 6/23/2005 3:08:42 PM >
_____________________________
Cheers! -Eric LeVine http://twitter.com/cellartracker http://facebook.com/cellartracker
|