How startups can skip every stage of image processing grief
The stages each startup goes through while searching for the best image processing tool are actually remarkably similar. We’ve heard about these familiar stages, not only from our clients, but we’ve also experienced them firsthand with our own projects: denial, anger, depression, bargaining, (and then, considering everything from SaaS, to self-produced solutions, to standalone professional tools) …and finally, acceptance.
But the question is: acceptance of what?
Ultimately, we believe that, for those who are looking for a robust, excellent image processing solution — all roads lead to imgproxy. But just to be sure, let’s take a moment to be self-critical, to examine each stage of the image processing solution journey in detail, and to make sure that our own conclusion holds up.
Stage 1: Leaving SaaS world
For startup newcomers facing the “image-processing” challenge, SaaS solutions are probably the first thing that comes to mind. Hey, they’re fast, they’re easy to integrate, and, as long as the project doesn’t have many users or too much traction, then costs will remain low, and the corresponding payment schemes help keep spending in check.
But that’s not the only issue with SaaS as an image processing solution. Let’s face it: despite their convenience, some SaaS services aren’t going to be the perfect fit for your particular product needs. This means you (or rather, your engineers) are going to have to spend the time and effort to make it work, and sometimes this process can be like trying to fit a square peg in a round hole.
And we won’t even touch the question of data privacy in the SaaS world.
Despite all of the above, the most critical problem with SaaS is actually likely its inflexibility. These services have a business model formulated on providing the most widely popular, across-the-board features, for a large audience of customers. Now, to be fair, at times, SaaS products do develop and accept customer modification requests, but they do so according to their own roadmap and business practices, which certainly may not be suitable for a particular client.
Thus, if a startup decides to go all in storing and processing images using a particular SaaS service, when it comes time to scale significantly, they’ll have to rebuild the entire process completely — or resort to kludges.
Stage 2: Breaking up with self-made solutions
So, if a project manages to get off the SaaS train before it becomes too costly, the logical next step worth considering would be developing your own solution. This might seem like a brilliant idea at first: the developers will have full control over the product, and you can customize it as needed.
So, let’s play this out! What would it look like in real life? Well, the development time would be spent (perhaps 1–2 months on average), and then, voila! Everything is perfect, and everyone is happy. What could possibly go wrong?
Well, the honeymoon phase can, and will, eventually wear off. Inevitably, these products run into the same problems that other self-developed solutions face.
For instance, let’s say you need to handle an unusual color profile or do special image processing. Or, perhaps some image specifics are not being processed correctly. Issues do crop up.
But by this point, developer priority has shifted to core, critical features (which are likely not image processing solutions). Thus, there is a lack of time (and money) to implement a proper solution. Sadly, while the team scrambles to find the necessary resources to fix any problems, users might end up seeing broken pictures, incorrect colors, (or even worse).
For example, the wfolio project’s team admits that when they used a self-written microservice based on Ruby + libvips for image processing, they had problems with memory consumption and bugs. Moreover, the team constantly needed to come up with hacks to bypass libvips restrictions — this required a lot of time and effort.
Stage 3: Being open to open source
Once a startup wises up that it’s better to spend resources on more critical tasks, that’s when it’s time to take a look at other ready-made solutions. Primarily, we’re talking about open source solutions here, and there are quite a few OSS products on the market that offer image processing services.
First, let’s talk about why open source is so awesome.
In addition to the “free” nature of open source products, you get a ready-to-use codebase, with the ability to make tweaks as needed. Plus, you now have timely dependency updates and all users receive bug fixes simultaneously (and they get these updates even if they’ve not faced the issue in their particular project). Finally, you also gain access to communities and maintainers who implement things startup developers don’t have time for.
These communities are one of the main benefits of open source software. These groups contribute to development and actively share project knowledge . Users can always ask a question or report an issue on Reddit, StackOverflow, GitHub, or via other channels. The value of this community cannot be understated.
Let’s illustrate that with an example from our own personal experience: imgproxy recently launched a Discord community. Here, our team strives to answer all questions as quickly as possible and with as much detail as we can give. But despite our high standards of professional speed, our users often beat us to the punch!
Open source users also just love to write about projects in general. For instance, our users and customers have written many articles about imgproxy: for example, this article featuring the imgproxy project launched for Lidl, the large European supermarket chain, or the Box Out startup. (Likewise, if you’re an open source creator, reading about your projects in the wild is an awesome feeling, too. Community!)
So, open source solutions sound great, right? This must be the answer! Well, now let’s talk about the not-so-awesome parts.
Unfortunately, after the initial flush of creator enthusiasm has faded, 80% of OSS projects are gradually abandoned. It is essential that developers must take this previous fact into account. These “lost” OSS projects end up with fewer and fewer features, perhaps diminishing communities, and eventually, you may no longer find answers to your issues.
But there is another path!
Stage 4: Opting for Open Core
That other path involves Open Core, also referred to as commercial open source, or COSS. 20% of open source products continue to survive and thrive because sooner or later, their authors resort to a COSS approach. If an OSS author wonders: “Why should I continue putting effort into my OSS project?” COSS is the answer to that question: monetization!
These solutions offer both paid and free versions. In our case, imgproxy’s free version is already a robust, flexible tool, but once you sign up for a paid tier, everything changes! “With great power comes great responsibility” — this is not only true for your friendly neighborhood Spider-Man, it’s also crucially important for COSS solutions.
The main benefit here for users is that COSS authors must develop both solutions in parallel; it’s unprofitable to make two separate, unrelated products. They have to make them both as user-friendly as possible, build helm charts, gems, and packages for other programming languages, immediately resolve bugs and issues in both versions, and provide new features again for both versions.
So, how to choose a solution?
Often, startups use head-to-head benchmarks to select the most suitable image processing tool (for instance, take a look at the benchmark the Supabase development team ran). But often, benchmark results are actually not the key metric you need to look at. Instead, you need to consider the availability of the necessary features, and ease of use.
But most importantly, the project’s “liveliness” (i.e. Is it still active? How is the community?) Many OSS solutions are fast, work well, but they’re just dead. This means no support, and no progress. This isn’t just conjecture — we’ve seen it! For instance, one of our clients, ARTE, a European public television channel, switched to imgproxy from their previous product, Thumbor, because the community behind it was rapidly losing its active members.
Why do we think imgproxy Pro is the best solution for startups on Stage 4?
We think imgproxy Pro is the best solution because of its features, for sure! These unique, useful features are what drive startups to opt for the paid versions of free OSS solutions, assuming they are amazing OSS in the first place. And this creates room for competition.
Therefore, to meet that competition, we’ve tried to enrich our portfolio of features and provide new ones in each product release (90 across 5 years of the imgproxy journey). So far, imgproxy is a champion in terms of speed and security and outstrips the leading OSS solutions for image processing with a features portfolio (more than 60 features at the moment.)
Let’s explore the most demanded Pro features the imgproxy clients leverage. The Startup plan’s customer base includes small services or applications related to image processing, this includes: photo stocks, applications for photographers or artists, media, real estate businesses, and NFTs. These clients use custom watermarks, PDF format conversion, video thumbnails, and chained processing pipelines.
The next are services that process user-generated content like local ecommerce apps, print studios, forums, and so on — they primarily care about downloaded content safety and protection from image/zip bombs. They also choose machine learning features such as object detection, which avoids cutting off important content when cropping an image.
Although we’ve had quite a few clients opt for the Pro option from the very beginning, the typical journey of our customers is to work with the OSS version of imgproxy, then try the “Startup” Pro plan, then adjust it according to business requirements and upgrade to an advanced plan (or stay with “Startup” one).
By the way, large businesses utilize the Startup plan too — for instance, in small internal projects or for testing imgproxy in action before scaling and deploying it for more intensive use.
Image optimization is a resource-consuming endeavor; not every startup (especially a bootstrap startup) can afford to implement and support it with minimal financial and engineering investments. But we’re here to help!