I think that’s only true if what you want is a hyper-specific, exactly native experience on every platform you’re syndicating to, with each one a full first class experience.
It’s not the worst goal, and I continue to think that @manton should not try and adjust these features at the platform level and build toward it so much as expose a template for each service and let us do whatever-- I wouldn’t futz with it, but clearly there’s at least 10-20 people on Micro.blog who are super concerned about precisely how their posts look everywhere.
Me-- I just want it to be easy to read my website wherever someone wants to be told about new posts. And IMO, micro.blog does that 100% of the way. So at least for my use case, I’m good. The blog is the canonical place, everything else is just for your convenience.
But I think if you’re super worried, a template will end up being the best solution, even if this means that you have to wait to process through Hugo to get a cross post so it’s a little slower. The real problem is that many platforms have deeply inconsistent formatting rules, so with a template you can easily make something that cannot be posted. What HTML is respected or not, what counts in the post length algorithm or not, what features servers have turned on or not is a veritable nightmare. Post length on Mastodon, for example, is routinely changed at the server level. Tumblr has 0 problems producing a native cross post because Tumblr respects HTML and is a blog host-- so the blog to blog connectivity is one with very high fidelity versus blog to very much not a blog and very much not an HTML page.
That impedance mismatch requires decisions. The four picture limit is an attempt to meet the native requirements of those platforms. The truncation also reflected the most common denominator of a past time (which is why updating it probably makes sense).
But every day there’s someone in Help asking about why a highly customized ActivityPub based service that is no longer quite Mastodon and doing things that Mastodon would reject but ActivityPub suggests is allowed (without a test suite or any official take on it) doesn’t work perfectly.
I dno man-- you’re hosting a full on website that lets you write whatever valid HTML/CSS/Javascript you want and asking why a service that very much doesn’t handle it well? Seems pretty clear why that’s a problem with fractal complexity.
Probably the right solution is to straight up only support an allow-list set of services if your goal is fully native. You get ActivityPub, not Mastodon, with the HTML ActivityPub allows-- Mastodon is too much not one thing and tracking what a server lets you do seems a fools errand to me. You get BlueSky and it works exactly how that expects it to work. Tumblr copies great because it’s HTML. Etc.