Federation on The Go

Note: Once again, I apologize for the (this time much longer) hiatus. Quite a few months ago, I partnered with WeDistribute, a news-site that was acting as the official mouthpiece for Feneas. The original plan I had in mind was to continue on Fediverse Spotlight after I got both of the already-written articles ported to there. However, the chief editor has been less and less active as of late.

I hold no ill will or resentment, but I must begin resuming this project under the assumption that the site is abandoned; the fediverse is at a crucial stage in its development and I do not want to waste this opportunity to help it grow by indefinitely waiting.

What is FediLab?

This is the first time I'm reviewing an actual work of free-software rather than just free-culture, but as it is directly related to the fediverse, I think it makes a good place to start. There's a lot of mobile clients out there, but FediLab remains the only one I've seen which handles multiple services rather than being dedicated to just one.

Here's what you need to know about FediLab:

Fedilab currently supports six different federated services: PeerTube, Mastodon, PixelFed, Friendica, Pleroma, and GNU Social.

It is licensed under GPLv3, making it a true copyleft work rather than just simply permissive.

It is currently being maintained by a solo developer (Thomas) rather than a team; to Thomas' credit, he is incredibly active and responsive to community feedback. As of writing this article: The last update was one week ago. (Jan. 19, 2020) The last bug report Thomas responded to was 9 hours ago. (Jan. 30, 2020) The last issue Thomas has resolved was two weeks ago. (Jan. 14, 2020)

All in-app links to Twitter/YouTube are automatically replaced with Nitter and Invidious, open-source front-ends that strip out all telemetry from the aforementioned services.

The app's color scheme can be easily customized, exported, shared, and imported thanks to a simple and portable theming system.

Tomat0's Thoughts

The most polarizing, yet unique choice is designing Fedilab to be one app for multiple services. Most mobile apps focus on one service, so this approach is definitely unique. The execution is astonishingly good. This is a solo-effort by a developer who only asks for donations to cover server-costs. Then consider that this is fusing different types of services, each of which with self-hosted instances, and based on a platform that's very much in its infancy. The consistency, determination, and humility shown by Thomas is something I deeply respect, especially in the face of such a colossal challenge. One of the strengths of this is that it helps play into the interconnectivity of the fediverse. Being able to quickly switch between PeerTube, Mastodon, and PixelFed is admittedly rather neat and is better for a quick daily catch-up. On the flipside, having all of this in one app feels rather... distracting. As an end-user, I feel like its easier to focus when the environment I'm working in is dedicated to that specific task. As much as I appreciate Thomas' effort, I feel this undertaking conceptually would be a lot better as a suite of apps. The app is huge , around 38MB. However, there is a Lite version which clocks around a much more reasonable 11MB.

Due to the sheer amount of moving parts, there's a noticeable amount of bugs here and there. To Thomas' credit, this project is an incredibly delicate balancing act and he's continued to patch them in an incredibly timely fashion.

Despite the wide variety of offered services, they all have a consistent UI that is clean, functional, and easy to pick up. Just today, I installed the update that integrated PixelFed support and I understood how to navigate it within less than a minute.

I very much appreciate the implementation of Nitter/Invidious; it highlights the open nature of the free-software community and how this sort of collaboration can manifest to give us creative solutions to simple problems like this.

I use a Blackberry 10 device as a daily driver, and the main reason I continue to use Fedilab is that it's maintained fantastic compatibility with older Android versions. This is incredibly important because BB10's Android emulator runs KitKat.

Interview with Developer

1. Why did you create an all-in-one app as opposed to a dedicated one?

I published the first release of Fedilab on May 2017 (previously Mastalab) because I discovered the Fediverse through Mastodon few weeks ago. Then I discovered Peertube, and I wanted to keep the same logic of an app for the Fediverse. That's also why the app uses many portion of code for working with different social networks. Other supports came later with user suggestions. Also, managing several apps will be resourceful (different projects, publications with a lot of common code).

2. As a solo developer, do you ever see yourself burning out? Would you bring other people to work on the project?

Yes, sometimes it's hard to keep this motivation. That's why encouraging messages are really useful. I mostly do know every weaknesses of the app. I do care of messages that criticize the app because they help to point out most important issues. But I have the help of several people for translations and also someone helping me in background.

3. How has the community been at suggesting things and reporting issues? Have you noticed your communication with them having an effect on how you handle the project?

Fedilab is simply built with feedback. I added a lot of features that could have been suggested or things I wanted. I really do care about people suggestions. That's how the app grows up since its beginning.

4. Do you use your own app to browse the Fediverse? If so, how does it feel when you're using it?

Yes, I mainly only use it. My critics would be the same than others. It's slower and less smoothly than other apps. But, I can't switch because I do need extra in-app features. I planned to fix all that bugs to let new ones come.

FediLab also has an official Mastodon; if you would like to donate to help cover server costs, Thomas has set up a Paypal.me. The source code for FediLab, alongside all of the other apps he has developed can be found on his GitLab.