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)@lemmy.ml
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    3
    ·
    1 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@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 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)@lemmy.ml
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 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@social.rocketsfall.net
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 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)@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 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.

    • Kichae@kbin.social
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      That’s a shame. As an end user, it’s a really nice experience, but running my own private instance I kept running into issues that just made it really difficult to keep it online, especially once life started to put a lot of pressure on my time and mental health.

      One thing I’ve noticed about a lot of small FOSS projects is that they do very little to actually educate potential users on how to use their stuff. The underlying motivator is often to provide alternatives to existing products, but they fall down entirely when it comes to actually making those alternatives usable for the users of the things they’re trying to provide alternatives for.

      The big ones get big by creating their audience. The small ones look for the small intersection of people who use the mainstream product, care about open source, and also are fluent enough in that world that they already know what to do to make things work, and that pool of users often doesn’t reach any kind of critical mass.

      • maegul (he/they)@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        Yep! All of which is important in the case of firefish as its main value is as an alternative to mastodon to increase diversity across the fediverse. In many ways firefish is probably dropping the ball along the lines you provide, and so lessening their potential influence while also creating a non trivial amount of bitterness amongst off-put users.

        • Kichae@kbin.social
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          1 year ago

          A lot of new Fediverse projects, too, misidentify who their audience is. Calckey has a really good UX (most of the time), and I had zero issues as just an account user on Calc’s server, but the support for would-be admins is… A chat room, and documentation that is half so far out of date that some of it is in Japanese.

          That’s not going to grow the presence. That doesn’t get new instances online. That doesn’t get an ecosystem with good moderators and admins. That doesn’t get the infrastructure in place - technical and social - to truly take off.

    • originalucifer@moist.catsweat.com
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      1 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)@lemmy.ml
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 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.

  • intensely_human@lemm.ee
    link
    fedilink
    English
    arrow-up
    15
    ·
    1 year ago

    They probably need to do their database migration on a computer with more memory.

    I had a migration that was still running after 16 hours. Finally just for fun I tried it on another server with 64 GB of RAM and it was done in 15 seconds.

  • Eddie Trax@dmv.social
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    I was really excited for firefish. Ditched my main Mastodon account in place of it and tried it out for a month. Aside from the slowness, and the constant downtime, I found the dev’s attitude off putting. I get it, you’re doing most of this yourself, you’re under pressure, and you have a regular life. But the constant negativity with the user base trying to figure out how this site worked was a turn off. Not sure how people are supposed to get excited about your project when you yourself seem to be annoyed by it.

    I moved to firefish.social from Mastodon partially because of how firefish boasted how superior they were over Mastodon and the lack of features. But there’s one feature Mastodon has working for it: Uptime