One of the stranger parts of developing Siteimp is that I found it useful immediately. The moment I started testing live sites with it, I wanted to fix what it found. That created a weird step in the development process: I had to decide whether a problem was mature enough to fix, or still too useful as a test case to lose.
They are not mature enough yet. I am going to wait to make these fixes until the application is live and listed. Instead, I am writing this as part explanation and part note to future me, because several of the image problems Siteimp surfaced are both funny and surprisingly useful.
What made this interesting
These were not giant catastrophic failures. They were small decisions: how an Open Graph image was generated, how alt text was written, what file format I used, and what metadata I left behind. None of them felt dramatic at the time. Seen together, though, they form a pretty good case for why image integrity deserves more attention.
The images that think they’re text
I think this may be the funniest bug I have ever encountered because it is 100% my fault and came about because I was trying to be clever. If you have seen my work before, you know that design is not my strongest trait as a developer. About a year ago, I started working on that. I enjoy design now, but I am still not especially good at it.
I compensate with some solid development skills and some weird tools. One of my weird tools is an Open Graph image generator. I feed it a website’s styles, write the Open Graph “image” in the site’s styles, render it in a headless browser, take a screenshot, and then do some conversions and optimizations. As you can see, those conversions and optimizations were not exactly successful. I prefer to think of them as regressions and craptimizations.
So yes, I need to fix that on several sites, including this one. And it is genuinely hilarious that normal people probably open Paint or whatever the cool kids use now, load the fonts, and simply design an image. I wrote code, built a pipeline, and despite all that attention still managed to trip over the smallest detail. In more positive news, it turns out that development through a series of tiny emotional blows is about the purest agile process imaginable.
The most boring alt text in history
This is another one of those cases where I am not entirely sure what I was thinking. The commit notes suggest I was mostly worried about image padding, so there is a decent chance I was not thinking much at all.
What makes this one especially funny is that I consider myself a creative person, my degree is in marketing, and this image was my opportunity to show sight-impaired users how Formimp is an upgrade over contact forms that integrate with email. Armed with that opportunity, “Slack integration example” was apparently the best I could come up with, on two completely different pages.
That is not an accessibility disaster in the dramatic sense. It is worse in a quieter way: it is lazy. The alt text technically exists, but it contributes almost nothing. It does not explain the point of the image, it does not describe the improvement being shown, and it does not reward anyone for encountering it through a screen reader.
I think I’m just happy
This article is self-critical by design because being highly critical is one of the most important steps in building reliable software. But I am also genuinely happy. Testing Siteimp marked the first time I have ever had a really easy way to inspect all those tiny decisions I make, dozens of times a day, while building a website.
I am even happier because version 1.0 will support things like logging in to applications and full log replayability, so it will soon become a way to learn from my application development in a similar way. Without getting too deep into scumbag marketer language, I cannot overstate how cool it is to finally have this much visibility into whole applications and websites.
And now, back to more bad decisions.
More bad decisions, now in image form
As we dig deeper into the image details, we find evidence of a few more of my boneheaded choices. WebP is only about fifteen years old, so I can probably risk adopting it on formimp.com. It is only supported by every browser now, so I am not entirely sure what danger I thought I was avoiding.
This is minor, but I am also not sure I needed to tell the world that I used GIMP to render to the wrong format. Metadata like that is small on its own, yet it is exactly the sort of thing that becomes visible once you start inspecting images as technical objects instead of decorations.
That is the part I find most exciting. These were all tiny decisions. File format, alt text, Open Graph behavior, export metadata. None of them felt especially dramatic when I made them. Siteimp turned them into something visible, inspectable, and fixable across the whole site.
Conclusion
That is exactly the kind of leverage I wanted this product to have. Not just the ability to catch giant failures, but the ability to reveal small, compounding mistakes before they harden into normal practice. These images are not fixed yet, and that is intentional. For now, they are still doing useful work as evidence.
Later, I will fix them. For now, I think it's fun (and really funny) having access to software that embarrasses me in productive ways.