Two thumbs up dev(s), hope you’re doing okay and getting some sleep in between. Had some rough production upgrades in my life, and this sounds like a pretty bad one. 😖

  • maegul (he/they)
    link
    fedilink
    English
    391 year ago

    They have had similar difficulties before.

    As someone who jumped on the calckey/firefish bandwagon relatively early (like earlier this year) and as someone who wishes all the best for the platform and lead dev …

    I have to warn anyone thinking of committing to it that it is still basically beta software and the main dev isn’t really interested in making that clear or even realising it. There’s a lot of hype and excitement around the platform (it is refreshingly cool, along with its base, misskey) that doesn’t accurately reflect the difficulties the platform will put you through as a user.

    Last I checked, they were pretty much out of their depth on database engineering. As in the lead dev openly admitted to this with their personal account. So another database upgrade going bad without any reasonable estimates of down time completely tracks. It happened a few months ago and that’s why I no longer use firefish. The main problem being that the dev doesn’t actually know how long things will take and is clearly hacking things together the best they can.

    Which is all fine, I hope things come together. But you’re not getting a stable platform with firefish or a lead dev that is completely on top of what they are doing. It might all come together soon! But I can’t help but suspect moving off of Postgres to another DB isn’t gonna fix their problems however much they think it will.

    Going through firefish taught me that when it comes to offering software to users, your first job, before any features or aesthetics or design ideas, however awesome they might be, is to make sure it works well and reliably. Fail at that and you’ve failed as a developer.

    At points this year, I’m afraid to say, firefish failed as a piece of software, which was simultaneously easy to understand as a FOSS indie Fedi project, but also sad to see as a FOSS indie Fedi project.

    • db0
      link
      fedilink
      English
      111 year ago

      It’s a fine balance. A service like this needs so many talents, it’s very difficult for one to know all of them. You need 1. a infrastructure engineer/linux sysadmin, 2. an API/backend software dev, 3. a Frontend/GUI dev and a 4. Database Engineer/Administrator. These 4 are very very difficult to do well in one person, since almost each of them has infinite depth.

      It seems like Firefish developer is good at 2 and very good at 3. That helps attract people to the software because it seems to fancy. But that sets up for failure, as its popularity becomes its own undoing, as the infra and/or the database cannot cope, and then the hapless developer is left running around like a headless chicken. I feel like similar issues are affecting kbin at the moment.

      But the opposite is also not great. I’m great at 1 & 2, can kinda handle 4 but I absolutely suck at 3 (UI). As a result, while I can run a custom service with 200K accounts reliably, I can’t make it look good for shit. To cover my failings, the backend and the API are completely open, and I’ve invited anyone who wants to make an frontend, no questions asked. It’s not perfect, but it works.

      The scope of building a large webservice is so large, it’s impossible for one person to handle it alone. But it’s also very very difficult to find competent and trustworthy people to cover the aspects you cannot. Especially DBAs! DBAs could be considered like the healer in a “Holy Trinity” game (Tank/Healer/DPS). It’s the role everyone needs but very few enjoy playing.

      I wish firefish luck, but I doubt moving to a different DB is going to solve this issue. I’m honestly surprised this is the approach they went for, instead of just tuning postgresql.

      • maegul (he/they)
        link
        fedilink
        English
        51 year ago

        DBAs could be considered like the healer in a “Holy Trinity” game (Tank/Healer/DPS). It’s the role everyone needs but very few enjoy playing.

        Perfect analogy! Though I did play a healer for a bit and enjoyed it, it was therapeutic and calming.

        Seems like it’d be good for DB expertise to be spread around the fedi a bit more.

        Otherwise, great breakdown … thanks!

    • 0x0
      link
      fedilink
      English
      71 year ago

      Firefish definitely seems like it’s overly concerned with aesthetics over anything else. Nearly every instance I checked out had a ton of custom CSS which frankly reminded me more of something like Tumblr than what it really is (Mastodon with a coat of paint.) I don’t mean this as a slight since it’s obviously attracting a community, but it’s completely inscrutable to users not familiar with the platform its based on and seems to be very taxing to maintain (my experience mirrors yours somewhat.)

      If they can get more people on board to keep it together then I’d definitely be willing to spin up another instance.

      • maegul (he/they)
        link
        fedilink
        English
        41 year ago

        If they can get more people on board to keep it together then I’d definitely be willing to spin up another instance.

        Yea, from memory, the big stumbling block they had was that they were going to rely on a single DB expert who didn’t come through and went MIA, so they were left with no DB expertise and trying to hack their way through. Then there was some split amongst the contributors. Don’t know where they are up to know, but the team has lacked some baseline expertise.

    • originalucifer
      link
      fedilink
      41 year ago

      is there only the one dev?

      ive been watching the kbin development pretty closely, and they seem to have some contingency in case the lead dev gets burned out.

      • maegul (he/they)
        link
        fedilink
        English
        51 year ago

        There’s one clear lead dev for sure with other contributors. I’d bet that it’s mostly the lead dev managing the db update right now.

        There was a fork of firefish made (iceshrimp … yea not a great name but somehow better than firefish?) and part of the motivation was friction with the lead dev, so they clearly have a lot of influence.