Today we are proud to launch LibPixel.
It's instant image processing in the cloud.
We set out to solve a problem that we've faced ourselves - how do you provide images suitable for all the various devices your website or app will be viewed on? How do you make those nice blurred preview, or background images?
In the past, you might have been tempted to build something out of ImageMagick or a library of its ilk, to have your own image storage, asynchronous jobs triggered by image uploads or other events and so on. It's a lot of work, and it turns out that it just doesn't make any sense to build something like that.
A cloud service can do all this for you, and it can do it fast enough that you'll wonder why you ever bothered to store all those different image sizes. LibPixel can process images in a few milliseconds. And the results are stored in a CDN, so if you request the same image again you don't even need to wait for the image to be fetched and processed.
In fact technology has evolved at such a pace that not only is it simpler to outsource your image processing, it's also cheaper, and allows your business to be more agile.
Let's have a look at some numbers. How long would it take to set up your own image processing? 1 day? More likely a couple of days, plus some regular maintenance, upgrading libraries, monitoring performance and so on. How much does a skilled developer cost? You could expect to pay $500 - $1000 per day. Maybe more, maybe less. If it's a staff member, don't forget all the additional costs that the employer pays - time is most definitely not free.
For those two days of developer time, you could pay for at least two years of LibPixel. Obviously it depends a bit on the quantity of images, but in with a larger site a major part of the cost would be bandwidth, which you would have to pay for anyway.
The monthly fees for LibPixel really are tiny compared to the cost of doing it yourself.
Your designers want to change the layout of your site? Add thumbnail images? Support new devices, or add retina support? In the old days you would reprocess all your image assets and store new sizes - it takes effort, time and money. With LibPixel you just specify the size of image you want in the image tag, and we do the rest. Your designers can redesign every day if they want, and whatever device comes along is no problem.
LibPixel is built with scaleable, fast technology.
While we use many different technologies, the one we're most excited about is Go. We use Go for management of the image processing tasks, serving and retrieving the images, caching and a bunch of internal plumbing.
Go is fast, portable, and it supports concurrent programming as part of the language. It's relatively easy to develop in, has great support for testing, and exceptional tools.
Go also interfaces easily to the C and C++ of our super-fast image processing libraries.
And all this runs in the cloud. We are able to take advantage of fast modern hardware and services available through the AWS platform, safe in the knowledge that we can simply scale up our clusters whenever we need. And since we run on multiple availability zones and even multiple regions, we are able to keep serving images even if an entire AWS region goes down.
Running in the cloud puts us at a distinct advantage to some of our competitors. We already have processing running in Europe and the US, meaning image fetch and delivery times are exceptionally low if your business is located in those regions. And we will soon add Asia Pacific, and South America.
You shouldn't be worrying about processing images, get on with your business and let us take care of serving your images!