• 1 Post
  • 20 Comments
Joined 8 months ago
cake
Cake day: February 25th, 2024

help-circle



  • Fedi client app developers need to design fedi client apps in a holistic way to include a custom server (as with Mammoth’s moth.social) or create an account for the user on one of a curated selection of other servers, without forcing the user to choose one.

    It’s a severe problem with trying to grow fedi that general users are expected to understand how servers work and make an informed decision about which one to join. General users don’t care about this topic and will quickly turn away when it is forced upon them. That’s why the client app needs to handle this for the user without making a fuss about it.

    These apps also need good discovery features and feeds with posts that are trending generally and for specific topics. Then devs need to make money with those apps somehow, then they need to market those apps (at this point, it goes beyond just “devs” and expands into an organization with a marketing department, etc.).

    Then, hopefully fedi’s inherent advantages of interoperability and resilience will naturally cause people to choose these user-friendly, effectively marketed fedi client apps over things like Instagram, Tiktok, etc. After all, if it can’t compete on its own merits with all other factors being equal, there’s no point to it for most people.


  • It’s a hard user experience design problem to create an interface that presents all possible types of posts, content and interactions in a sensible way. This “kitchen sink” approach is kind of what Facebook does and as a result its interface is messy and cluttered. That’s not to say it’s impossible or wrong to do things that way, just difficult and unpopular.

    On the technical side, it’s really hard to make a client app that works with multiple server softwares, because they all have different sets of features.

    In the current world of fedi software development, it would be a single dev or a small, likely unpaid team that would have to make the equivalent of several different client apps combined into one. I don’t anticipate such a large and complicated project being completed until the devs can make a decent living doing the work.





  • I self host jellyfin, nextcloud, owncast, tandoor, komga, photoprism and searxng. I use nginx proxy manager for a reverse proxy and SSL cert automation. Works great for me but I would like to get into traefik sometime.

    I self host for privacy reasons, also it’s fun, it’s a learning opportunity and sometimes self-hosted services are functionally better than the other options out there.






  • True. A lot of things could be improved with the design, this is really just to visualize the core concept. I was also thinking a play/pause button on the pinned player would be good.

    Getting fancier, maybe double tap on the right of the pinned player to skip forward 15 seconds would be sweet for skipping ad spots, and when you go the original post, the video could be fixed to the top of the page while you scroll into the replies.





  • Traefik is powerful and versatile but has a steep learning curve. It also uses code to control its configuration which is a bonus for reliability and documentation as discussed elsewhere ITT. Nginx proxy manager is much simpler and easier to use, may be a good one to get started with, but lacks the advantages of traefik described above. Nginx proxy manager does support SSL cert automation.


  • Another suggestion for you, I highly recommend specifying a version for the docker image you are using for a container, in the compose file. For example, nextcloud:29.0.1. If you just use :latest, it will pull a new version whenever you redeploy which you may not have tested against your setup, and the version upgrade may even be irreversible, as in the case of nextcloud. This will give you a lot more control over your setup. Just don’t forget to update images at reasonable intervals.



  • I use markdown text files which are synced to my nextcloud instance.

    This is somewhat tangential to your post, but I think using infrastructure as code and declarative technologies is great for reliability because you aren’t just running a bunch of commands until something works, you have the code which tells you exactly how things are set up, and you can version control it to roll back to a working state. The code itself can be a form of documentation in that case.