this post was submitted on 26 Sep 2023
149 points (97.5% liked)
Fediverse
28380 readers
1789 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
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!
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.
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.
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.
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.
iceshrimps is coldbugs
(I'm sorry don't hate me.)