Next Post
We don't need another hero, but we do need another Mastodon client! The best one I've come across that isn't browser-based is Tusky, but currently this is only available on Android.
I remember in the late '00s using Tweetdeck and finding it really useful for handling multiple accounts, scheduling tweets and cross-posting until Twitter bought it and ruined it. It occurred to me late last year that writing an open source equivalent for Mastodon (a free software & decentralised alternative to Twitter) would be a pretty awesome technical project that would also scratch that particular itch for both myself and others.
It had a couple of false starts with me trying to use it as an exercise to learn Kotlin, but from the new year 2018 I finally settled on using Python with the Qt GUI framework. I released an initial prototype as version 0.1 on Wednesday 31st January 2018.
You can see the latest releases on Github. But for now this is just an initial prototype distributed as a tarball or zip file that you can extract and run on any system with the prerequisites present.
The aim of this release was to simply create a proof of concept with the absolute bare minimum functionality to verify if this idea was viable. I learned a lot of good lessons from the exercise which I'll bring into future releases. To summarise the full functionality in this release:
...and that's it. You'll need Python 2 and a load of pre-requisites specified in a "Dev Notes" file. I've not tested it on non-Linux systems yet, but there's no reason why it shouldn't work if you have a working Python environment & Qt installed on your system. In future I intend to make it easier to install and use Mastodome, but as an initial prototype and a rough technical exercise this felt sufficient.
Originally Mastodome 0.2 was scheduled to be released in early March 2018. Unfortunately I've had to push this back by two months.
This is because:
To be more specific about those "technical hurdles":
Given I also want to support other networks (eg. GNU Social & Twitter) towards the end of this year I think it makes sense to write my own client libraries for REST calls. Also I'm going to have to code a new front-end UI from scratch so I don't run into the same problems again.
I've also rejigged the scope of the next few releases to reflect this change of priorities. You can get a more detailed view of features and target release dates on the milestones page, but as a general summary:
By the summer it should have enough core functionality for me to start "dogfooding" the app so I can catch annoying bugs and start introducing cool extra functionality (eg. grabbing content from RSS, plug-ins for other services like GNU Social & Twitter, cross-posting to blogs, creating your own on-screen panels, etc).
You'll also notice on the milestones page that Mastodome will support users with more than one Mastodon account. 0.2 will "remember" past logins, 0.3 will enable fast user-switching and 0.4 should provide a way of posting a toot to multiple accounts at the same time. That will hopefully be more user-friendly than pinning multiple tabs in your web browser and justify why you'd want to use a desktop client in the first place.
Mastodome 0.2 is slated for early May 2018, but hopefully I'll be able to release some 0.1.x releases in the interim with bugfixes and cool new features from the dev branch I feel are stable enough to backport.