Mastodon is part of the Fediverse, but Fediverse itself is not Mastodon.
I’m quite proud and excited with more and more app developers building better Fediverse clients. But, I’ve seen many of them are focusing on building clients for one specific Fediverse server software, primarily Mastodon and Pleroma.
Teropong is originally meant to solve that problem by building a high-quality, cross-platform app which can integrate with as many Fediverse platforms as possible. I’ve already planned for the software to support a wide range of platforms, ranging from Diaspora, Mastodon, Misskey, and Pleroma to specialized ones like Pixelfed, Peertube, and Funkwhale.
I quickly realized that the development of Teropong would be split into two parts: Building a high-quality user interface (out of Flutter) as well building high-quality API client to connect with various Fediverse software. But as a solo developer, I also realized that this would not be possible without great effort in research, design, and development. It all takes time and money, too, considering that I’m still finishing my bachelor thesis.
So, with the current rise of Mastodon-specific quality apps, primarily because the developers working behind them have technical issues when integrating with other, non-Mastodon servers into their app, I think it’s time for Fediverse client app developers to gather around and build an unified client library to connect with Fediverse servers—a vision which we at Teropong are looking at.
My first contributions would be simple: defining OOP classes and interfaces, which are based on my research behind the Teropong app. Then I decided to port my original Teropong implementation for some Fediverse API requests like getting the current server status and the user’s latest posts, and let the community add the rest, missing features into these libraries.
This unified library will be available for C++, C#, Dart, Kotlin, Python, Rust, Swift, and TypeScript. Yep, there’s a LOT of programming languages to support, but all the efforts put into these languages will be significantly useful for the future of Fediverse app development.
Those who are using .NET and Xamarin can use our C# version, while those who prefer writing native apps for Mac and iPhones and iPads can conveniently use our Swift version. GTK, Flutter, Kivy, Kotlin Multiplatform, NativeScript, Qt, and React Native developers will also benefit from our integrations with various languages.
Well, that’s all of our big, wild plans. If you are a developer who are interested in this project, please kindly contact me at @[email protected] for more details and ways to contribute. And of course, you can also follow @[email protected] for more updates, too.
Leave a Reply