Live data from Hacker News

Show HN: Simple image resizing/optimization service

scaley.io

41–50 of 82 posts

Re: Show HN: Simple image resizing/optimization service

#41

I have to admit that I don't quite understand "image scaling as a service". Scaling is almost certainly a case where shipping the image over a network is significantly more costly than just doing the scaling locally?

Here the only binary program you need installed to scale the image is curl. If you want to do it yourself, you need a whole bunch of image processing libraries installed. Because of that, you'll probably end up separating your image processing logic onto its own host on your internal network, anyway. Then you're back to where you started, making an http call to an external service. Unless latency is a critical factor, an image scaling API is attractive because you do not need to waste development time setting up (and scaling) your own image processing environment.

Re: Show HN: Simple image resizing/optimization service

#42
post #15

CloudFlare doesn't allow this kind of use of their service. Once you start pushing enough bandwidth they will ask you to go away. And since you offer free unlimited CDN bandwidth, when that happens and you move to a different CDN provider your bill could increase 50 times over a day.

Thanks - I've reached out to them to discuss

Re: Show HN: Simple image resizing/optimization service

#43

I have to admit that I don't quite understand "image scaling as a service". Scaling is almost certainly a case where shipping the image over a network is significantly more costly than just doing the scaling locally?

Here the only binary program you need installed to scale the image is curl. If you want to do it yourself, you need a whole bunch of image processing libraries installed. Because of that, you'll probably end up separating your image processing logic onto its own host on your internal network, anyway. Then you're back to where you started, making an http call to an external service. Unless latency is a critical factor…

In this case you also don't have to store the images.

Re: Show HN: Simple image resizing/optimization service

#44
post #27

Related: https://transloadit.com/

Transloadit is great. I'm using it right now with an open-source video project (https://github.com/xiaofei-mo/mysteriousobjectsatnoon). The encoding process is just ffmpeg under the hood, but not having to write all of the glue code to get it running with AWS has saved me a ton of time.

Re: Show HN: Simple image resizing/optimization service

#45
post #2

I made this mainly because I wanted a service to use for my own projects - but the existing solutions were either prohibitively expensive or didn't have uptime guarantees. The backend for the processing service is nodejs and sharp[1], processed images are cached on CloudFlare. The processing servers are a custom instance type in an autoscaling group on Google Cloud. Any feedback is greatly appreciated! [1] https://gi…

Often when competitors are expensive it's for a reason. Occasionally you'll have stumbled onto an old industry where tech can disrupt things and lower costs, but for cloud-based image serving, everyone is essentially using the same tools and CDNs. You should have a really good reason why you will be able to deliver at a lower cost or with lower margins, otherwise it's likely you will have to end up with the same 'prohibitively expensive' rates, or will go out of business.

Re: Show HN: Simple image resizing/optimization service

#46
post #39
post #31

Earlier quoted context omitted.

Nice! I think it should be the default. Some software might treats as a compromise between correctness and cost (doing the rescaling in linear space is usually more costly). In my view it should be correctness first. The ImageWorsener's website as an excellent reading material on image resizing and other transformations. ImageWorsener is a "correctness first" image resizing software. http://entropymine.com/imageworse…

"Correctness" is not very useful in image processing, it's all about perception and performance.

There are lots of specific examples where incorrectness leads to perceptually significant problems. I'd agree that you don't normally notice it in the wild, which is why so much software has gotten away with it for so long.

It is possible to optimize the linearization steps so that they don't detract too much from the performance, especially if you're using one of the better (i.e. slower) interpolation methods.

Re: Show HN: Simple image resizing/optimization service

#48

I have to admit that I don't quite understand "image scaling as a service". Scaling is almost certainly a case where shipping the image over a network is significantly more costly than just doing the scaling locally?

Here the only binary program you need installed to scale the image is curl. If you want to do it yourself, you need a whole bunch of image processing libraries installed. Because of that, you'll probably end up separating your image processing logic onto its own host on your internal network, anyway. Then you're back to where you started, making an http call to an external service. Unless latency is a critical factor…

> Because of that, you'll probably end up separating your image processing logic onto its own host on your internal network, anyway

Not everyone is obsessed with microservices.

Re: Show HN: Simple image resizing/optimization service

#49
post #39
post #31

Earlier quoted context omitted.

Nice! I think it should be the default. Some software might treats as a compromise between correctness and cost (doing the rescaling in linear space is usually more costly). In my view it should be correctness first. The ImageWorsener's website as an excellent reading material on image resizing and other transformations. ImageWorsener is a "correctness first" image resizing software. http://entropymine.com/imageworse…

"Correctness" is not very useful in image processing, it's all about perception and performance.

Well "correct" in the case of linear vs non-linear luminance is pretty much exactly about perception (or at the very least, working to prevent perception differences further down the pipeline), even if it is a somewhat minor effect.

"The Importance of Being Linear"[1] which just came up on HN a few days ago, discusses some issues with non-linearity, specifically in the context of 3D rendering.

[1] - http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html

Re: Show HN: Simple image resizing/optimization service

#50
This is the tester/hacker in me talking, but have you checked for cases where one can loop your own images hundreds of times? (e.g. https://i.scaley.io/jpg/i.scaley.io/png/i.imgur.com/DZjrx4E.... but more than 2 times)

A simple url DOS attack from my puny browser may cripple your entire server.

Post reply on HN