views:

90

answers:

3

I have my first professional assignment of making a website in which a photographer's artwork will be displayed for purchase or print. The protected image will likely be generated in Perl. But what I don't know is which language to implement such an application in. I know HTML, CSS and a bit of JavaScript and have a mainly free time for a period of 3-4 months in which to finish the project.

I am tossing up between learning JavaScript or ActionScript and Flash to do this project. Which would be most suitable taking into account the timeframe in which to learn the language?

+3  A: 

You cant make an image copy protected in terms of taking screenshots etc, however you can do the following:

1) Prevent right-clicks (which can be worked around)

2) Use watermarks

3) Use Low-res images

You will need to use a server side technology, the one you choose might depend on what type of infrastructure that hosts it.

Mark Redman
+6  A: 

The easiest thing to do is to educate the photographer to the fact that making their photos copy protected is never going to happen once they're on the web. Anyone can take a screen shot and copy them like that. If the photographer is still not convinced, use Flash to make a gallery. If you want another technique, look at how Flickr does it. They overlay "protected" images with a transparent image, so when you right-click to save, you only save that overlaid image.

The best thing to do is accept it, and only put up medium sized images. It's impossible to make a decent size print from these. Or to put a watermark on the image.

nevan
just in case anyone's wondering, it is easy to workaround the overlaying - just block the overlay image with adblock.
Peter Recore
No, we will exploit the refresh rate of the monitor such that when you screenshot the image, all you get is random colours. As Peter said, adblock is easy and all one need do on flickr is to view the source of the page and get it from the link there.
Jonno_FTW
It seems like an awful amount of complexity instead of a simple solution. I know clients are tough to deal with, but setting up a system to detect refresh rates and so on just sound like much too much work. Having small images that people can copy if they want is like having snippets of music. People who listen to them aren't thieves, they're potential customers.
nevan
But my question still wasn't answered. What language should I use to make a gallery type system?
Jonno_FTW
+1  A: 

You can't really copy-protect an image that appears online. If its online its possible to download it.

Pros of a javascript gallery:

  • Minimal load times (don't have to wait for the flash component to download)
  • can be SEO friendly if done properly
  • visit stellaluca dot com/Great-Hair/ for a good example.

Cons of javascript:

  • Even though you can can disable right-clicking in javascript, users can turn javascript off and right-click the images. To help deter this you can layer a transparent gif over the image.
  • fading between images can be choppy in some browsers

Pros of flash:

  • no right clicking
  • smooth transitions between images when fading

Cons of flash:

  • Longer loading times
  • Very SEO unfreindly
  • Requires the flash plugin

Ideally:

  • You should layer a watermark on the images when uploading.
  • Display images in the smallest resolution acceptable for the project.
  • Disable right clicking on images (this should deter most image theft)

Additionally:

  • You can provide a link for downloading the image directly. That way you can make sure you have a nice large and obvious water mark on the image and ensure that the downloaded image is not in a printable resolution.
David Murdoch