I have no problems imagining a different timeline, where #ActivityPub had been already a better-established thing, and the demo #OperaUnite applications for media and photo sharing had implemented basic support for it, resulting in self-hosted lightweight alternatives to #PixelFed or #FunkWhale.

And this is actually the vision I have an ultimate goal for the #Fediverse, one where, thanks also to client support, hosting and participation become even more trivial than setting up a static website.

Sometimes I wonder how different things could have been if the timing had been different. When #OperaUnite was first announced, #ActivityPub wasn't a thing yet, StatusNet had just been born, diaspora* didn't exist, and the only other major bidirectional federated protocol was XMPP, that had existed for 10 years and was in the process of being #EmbraceExtendExtinguish-ed by Facebook and Google.
But the most impressive (and underrated) feature of Opera was #OperaUnite. First introduced in 2009 in a beta release of Opera 10.10, Opera Unite was a web server that allowed JavaScript server-side scripting to write small static and dynamic websites that were accessible either directly (using UPnP to expose it on the Internet) or through a proxy service offered by Opera itself.
https://web.archive.org/web/20120121122103/http://dev.opera.com/articles/view/opera-unite-developer-primer-revisited/
Opera Unite developer’s primer — revisited - Dev.Opera

Dev.Opera is the ultimate source of distilled knowledge for web developers, covering the latest open web technologies and techniques including HTML5, CSS3, JavaScript, SVG, optimizing content for mobiles, tablets and TVs, and creating add-ons such as extensions and themes for the Opera browser.