There are all these sites out there that want to help you with your images. They do things like optimize your images and help you serve them performantly.
That’s a very good thing. By any metric, images are a major slice of the resources on websites, and we’re notoriously bad at optimizing them and doing all the things we could to lower the performance hit from them. I’m sitting at a conference right now and Dave just bet everyone in the audience $100 that he could find an unoptimized image on their site. I wasn’t about to take him up on it.
So you use some service to help you deliver images better. Smart. Many of them will make managing and optimizing images a lot easier. But I don’t consider them a no-brainer. There is a lot to think about, like making choices that don’t paint you into a corner.
I should be able to upload images from my own CMS.
I don’t want to go to your site to upload my assets. I want to use the media management in my own CMS. So, the service should have an API at a minimum, and possible even officially maintained CMS plugins.
This site uses WordPress. I can drag and drop images into the media library and posts very easily. I can search my media library for images I’ve uploaded before. I like that, and I want to take advantage of it today, and as it evolves.
The images should be uploaded to my own server.
If it also has to be uploaded to the image service, that’s fine. But it should go to my server first, then to the service. That way, I still maintain ownership of the source file.
Images within content should use functional, semantic markup in my CMS.
I’d prefer that the images within content are stored as totally functional HTML in my database:
<img src="/images/flower.jpg" alt="a blue flower">
It could be fancier than that, like using srcset (but probably not sizes as that will change as the design changes), or be contained within or