Hacker News new | ask | show | jobs
by valuegram 4047 days ago
I thought the point of watermarking is to prevent people from using your images without your branding, but if it's done on the client side, it's easy to circumvent:

http://brianium.github.io/watermarkjs/img/shepherd.jpg

2 comments

I guess it depends on the person. For example, I release all my photography as CC-BY-SA. So I'm okay with anyone either (a) using my watermarked images as-is, without needing to write a credit separately, since the watermark is effectively an attribution OR (b) using my unwatermarked images for whatever CC-BY-SA compliant derivative works, and display attribution in some other appropriate fashion.

So I display watermarked images in the browser by default, primarily for convenient sharing without worrying about attribution, but make the unwatermarked images available for download if someone needs it for (b).

So this might actually be useful for my use case.

You are correct. This would serve the purpose for many users who don't know how to go digging around for urls in JS, but more importantly its a tool for generating them on the client so a server doesn't have to - say for a CMS?
That's all fine until Googlebot-Image comes along, collects up all your unwatermarked images, and displays them in search results for the world to use.

I can see this being useful for running as a batch process in Node/IO.js and uploading to, say, S3.

Well what if you batch it in the browser? It is quite possible to use file inputs to generate watermarked images without ever storing the image you are watermarking, and then upload the result.
Yep - that's totally possible. Actually, now you phrase it like that, I see what you mean about using it that way for a CMS, and it's an awesome idea.
You could also use the canvas element to display the image & watermark as a flat layer.
Still, the image would somehow have to be loaded in the browsers, at which point it’s easy to circumvent.