When I first saw the rebranding of Calckey to Firefish, I was apprehensive. Although Misskey had really impressed me in the past, I wasn’t sure if I wanted to switch to it. Despite the polish, there were still some rough edges.
I decided to jump in with both feet, migrate my account to Firefish for a month, and dogfood the experience. My experience so far has blown me away.
So, what do I think of Firefish? What does it have to offer? Read on to find out.
A challenge that I’ve had with reviewing Fediverse platforms is that dogfooding is absolutely necessary. Rather than fiddling around with a test environment and a fake account, I prefer to use a production system over time to really develop my opinions. So, I migrated my data and posts over to Firefish Social, the flagship instance run by the project.
The migration process is fairly easy, and allows users to migrate posts as well as followers. It’s actually possible to merge multiple accounts and post collections together into your Firefish account this way. Future development indicates that Twitter import is coming, which may be a huge boon to those moving away from it.
The Web Experience
Right now, the Firefish web frontend is where the platform shines the most. The whole thing feels slick, stylish, and comfortable to use.
In addition to supporting alternate themes and even a Dark Mode, the Web UI provides a tremendous amount of flexibility. Here, people can switch layouts, change the visual style, and use several tools to sort and filter the elements in their timeline. I particularly like that Lists and Antennas are offered as filters at the top of the timeline, allowing me to switch contexts on a whim.
Firefish offers a lot of flexibility for its layouts, as every Misskey system has also done before it. There are three modes available for people: Default, Centered, and Deck Mode. You’ve already seen the default, so let’s check out the other options!
I personally prefer this layout the most. There’s something about it that feels slightly more reminiscent of platforms like Twitter, with just enough polish to really make it shine. It’s a good balance of simple and pretty, with a few widgets thrown in for good measure.
Deck Mode is decidedly a power-user mode, and it’s extremely flexible. A good way to understand Deck Mode is that it’s like Mastodon’s Advanced Mode or TweetDeck on steroids. The web client gives users the power to build out various timelines using lists, antennas, and a variety of other options.
Posts in Firefish
One of the biggest changes when you join Firefish is that you’re not restricted to just liking something. Instead, every post is subject to Emoji Reactions, with a customizable bar that can use any emoji stored by the server. If you want to use a Pizza reaction or a Richard Stallman reaction, you can totally get away with that.
Multiple Link Previews
This might go against common expectations, but posts in Firefish show a preview for every link contained within. While it looks strange in comparison to the single preview that folks usually expect, being able to parse a list of previews is actually extremely handy!
One of the most-demanded feature requests of Mastodon is here, and it works beautifully. From a traditional Mastodon server, quote posts just look like a post with a link in it. These posts aren’t just some fancy hack, however, but implement an agreed-upon ActivityPub convention. In other words, a quote post in Firefish will look like a quote post in Akkoma or any other platform that supports it.
Firefish also offers a neat threading system, which allows comments to branch into their own sub-conversations. There’s not anything super special about it, but I’ve found that it’s easier to keep track of context in big threads with lots of replies.
One minor feature here that I really appreciated is that every reply has an arrow on it. If you click the arrow, the browser scrolls up and highlights the post that’s being replied to.
Just like Misskey, Firefish puts all of a user’s media into dedicated storage. The neat thing about this is that you can use this to sort different things that have been uploaded to Firefish, and even re-use the same uploaded media across different posts and galleries. It can also be a great way to keep all of your reaction GIFs in one place, without having to reupload the same file again and again.
Overall, the Drive feature reminds me of the one provided by Hubzilla, but it lacks the ability to be accessed from a WebDAV share. Not the biggest deal in the world, but being able to organize and manage photos from a file browser is such a good feature. Not including it feels like a missed opportunity.
Clips are, hands down, my favorite feature of Firefish. They’re a game-changer: instead of just throwing every post you want to hold onto into a singular bookmark list, you can use clips to throw posts into specific collections of posts.
My wife and I do this thing where we show our favorite posts of the day with each other. On Mastodon, this kind of thing would be a mess, but with Clips, I can easily sort things meant just for her from all the other stuff I need to bookmark. Not only is Clips great for sharing curated posts, but it’s a phenomenal tool for bookmarking social and technical development across the Fediverse.
On paper, Antennas are an awesome idea: hashtags are outdated, so let’s find other ways to aggregate stuff that’s interesting to you. The builder lets users come up with sources for data, keywords to listen to, and posts to drop if they contain a word.
The problem with Antennas are myriad. Trying to filter a subset of the data source All Posts results in filtering that’s way too aggressive. My above example of a timeline intended to show various cuts of bacon, ham, and pork instead is filled with stuff about the Israel-Hamas conflict.
Trying to create a far more narrow, filtered experience with just a handful of users also leads to frustration. Half the time, I haven’t been able to get these timelines to load at all. The few times that this has worked, only a few posts from one or two users ever shows up.
I desperately want to see Antennas work, because they could be so much better than hashtags or full-text search. But, they’re just not that great yet.
Firefish offers a user chat system, and it’s shockingly good. Some time ago, Dansup and I were struggling to get an encrypted Matrix chat working, and fell back to Firefish chat to coordinate. After that fell through, we ended up just using the Firefish offering. It’s great!
The biggest takeaway is that Firefish offers a full-blown federated instant messaging system for both one-to-one conversations and group chats. It’s not exactly a replacement for Matrix or Signal, but for real-time Facebook-like chat, it mostly meets expectations. If an app like Sup ends up hooking into Firefish’s Chat feature, we could be dangerously close to having something similar to Facebook’s Chat system for Android.
First, the good news: Firefish has a Groups feature called Channels! Now, the less good news: it doesn’t federate. Ultimately, the design very much resembles Facebook groups, with a directory tool for discovery purposes. It works decently enough, but I’d love to see some features incorporate what Pixelfed is doing with Groups in the future.
Finally, Firefish offers a Gallery app, where a person can upload pictures to an album, and then share it on the timeline. As a feature, it kind of feels under-developed: galleries could definitely benefit from an optional masonry layout to fit more images together. Galleries (and individual pictures) lack comments as well. But, for storing and sharing pictures, it gets the job done.
The App Experience
Unfortunately, the app experience is where Firefish really starts to fall apart. The platform hails from the Misskey family of fediverse platforms, and offers a broad spread of features not found outside of it. Good Misskey clients are few and far between, and the few Mastodon apps we were able to get working just offered basic Mastodon functionality. Even the more popular Misskey apps failed to cover every feature provided by Firefish.
This is a situation that’s gradually changing, with the advent of client apps like SoraSNS for iOS. Sadly, the situation is more dire for Android users, as the prettiest apps are still on iOS. For now, Milktea seems to be the okayest of the bunch, but I had to tweak a lot of defaults to get things to my liking.
Firefish holds a vast amount of potential, and could indicate a major evolutionary step forward for Fediverse platforms. It’s currently held back by lack of quality apps that leverage its wide range of features. The biggest hindrance at the moment right now is the flagship instance at firefish.social: it’s a bleeding-edge sandbox right now, and can suffer from stability issues from attempts to improve the platform’s architectural foundation. This aligns with some other reports I’ve heard from users on other instances, that Firefish just isn’t really built for scaling up large servers yet.
With all that having been said, I have absolutely enjoyed my experience, and think it’s an incredible effort.
- The Firefish web app offers a beautiful design that’s fun to use.
- So much of the web app can be customized. The flexibility allows people to shape their social web experience the way they want it to be.
- Real-time chats work surprisingly well!
- Clips offers an amazing approach to social bookmarking that’s easy.
- You can migrate from Mastodon to Firefish, and import all of your post history! Support for importing Twitter Archives is supposedly planned.
- Emoji reactions are fun!
- Groups exist, but they don’t really federate yet.
- Antennas are a great idea, but the results are flaky. Half the time, they just don’t capture the posts that I think they will.
- Galleries are kind of underwhelming, and could benefit from more layout options.
- Lack of an official app is kind of disappointing. Several Misskey apps exist, but they don’t look or feel quite as good as the web interface.
- The flagship instance, firefish.social, has been extremely janky for the past few weeks. I have serious concerns about the platform’s ability to scale.