Yes, the ideal solution would definitely be to have a file browser / asset manager which handles getting images into shape when they're first put on the site, instead of having to deal with them later. There's ImageTV+, which adds some sizing and cropping features to an image TV, but it doesn't help you out with images added via a rich-text editor. I never used MaxiGallery, but I don't think it integrated with TinyMCE, right?
I'll admit, imageSlim takes a simple "treat the symptoms"-type approach to a much thornier problem. In its defense though, it's an easy retrofit to an existing site (you don't have to go through every resource) and there isn't any performance hit for a cached resource. It does save the resized image to a file–thanks to phpThumbOf's caching–so after the first run on a page it's a lot faster. And if the page is cached it's not run at all.
The problem with some of the other similar extras is that they're OnWebPagePrerender plugins, meaning they examine the full content of a page on your site every time it's visited, and this applies to all pages on the site. That really can cause performance problems. With this add-on I've tried to address to some extent the three problems I see with that:
- This one only processes the parts of the page you tell it to, not the whole output. (Content and rich-text TVs should be the only candidates).
- Since it's a snippet, you can add it only to the template(s) where oversized images are a problem. It won't run on all your site's resources unless you make it (and you shouldn't). For example on a recent site I did, the only place oversized images were being added was to the content area of blog posts, so I have imageSlim run only on the content field of the blog post template.
- It's only executed when the resource isn't cached; on subsequent page loads it's not run at all. Plugins attached to OnWebPagePrerender will run every time a page is accessed (though phpThumbOf won't have to resize the images every time of course).
So I think it's an improvement at least.
There could be an OnDocFormSave plugin which bakes the resized image into the content in the DB, but that comes with a different set of problems.