Is an image worth a thousand lines?
Let’s say you have an idea for a startup. Maybe you’re already working on it. You’ve scaffolded your MVP, and everything works fine under minimal loads. Users can do things in your app. Now, you want to accept images from them, allowing them to upload an avatar or a profile page cover. Everyone does that, right? Why shouldn’t you?
By now, you probably know that implementing image upload isn’t just some walk in the park. Many questions instantly arise, including some big ones like:
- Where do I keep my images? Locally or remotely?
- How do I handle image transformations? Where do I keep various versions of the same image?
- How do I plug everything into my existing app?
- Last but not least, how do I protect myself against image bombs (a sub-class of decompression bombs)?
Certinaly, there are a plethora of ready-made solutions available, and so, you decide to pick one.
Everything goes smoothly until, with a few thousand images on your hands, suddenly, your design requirements change.