Multipos: the Social Media Meta-client

Multipos is a social media meta-client to browse multiple platforms from a single app.

Currently only Bluesky and Mastodon are supported.

This is an alpha release! The first alpha release even. This means you’ll run into a lot of bugs and issues. You should be happy if it even installs.

Installation

Multipos is only available for aarch64.

At the moment the only supported way to install Multipos is by first installing Angelfish for Qt5 from Chum.

Installing from Chum can sometimes be a pain especially if a new Sailfish OS version has been released and Chum has not caught up yet.

At the time of writing you have to override the Sailfish OS version in Chum settings to 4.6 for Angelfish to appear as an installable package.

Features

  • platforms: Mastodon and Bluesky
  • posting to multiple platforms at once
  • timelines
  • replying
  • reposting (also from one platform to another)
  • liking
  • bookmarking
  • following

Known Issues

  • Having more than one account on the same platform is, not yet!, supported. This is not at all tested.
    • So having a Mastodon and Bluesky account is fine, but having two Mastodon accounts will give undefined behavior.
  • Encoding issues when crossposting.
  • Crossposting doesn’t work very well with multiple accounts on the same platform: it just uses the first account.
  • Reactions feel clunky sometimes and sometimes fail, you can just try again.
  • Changing light/dark doesn’t affect checkbox text that’s on-screen.
  • When adding accounts they’re not checked for valid credentials.
  • Accounts cannot be edited but only deleted.
  • Credentials are stored in Qt.Settings, needs looking into whether this is the proper place.
  • No video support: this adds a huge amount of libraries and dependencies and I am not ready for that headache yet.
  • Following and unfollowing when multiple accounts for the same platform are active is confusing.
  • Qt5: when Qt6 is reliably available for SailfishOS we’ll switch to that.

What Multipos Is Not

This is not a Silica app. I’m using the LQML library that makes it easy to build for different platforms, like Linux, SailfishOS, Android and Apple (although the latter is untested by me). I’m also planning to put this app on the Google Play Store and ask money for it, so keep this in mind when testing this app.

This is not an open-source app.

Resources

See https://multipos.social/ for the roadmap and other information.

https://openrepos.net/content/aerique/multipos

10 Likes

“This is not an open-source app”

You should have begin by that.

Any plans to add X.com or something else non-left leaning?

3 Likes

My first version of this software was open-source and did post to Twitter (using a headless browser): aerique/MulTiPos: A tool to write a piece of text once and post it to up to five social media platforms at once. - Codeberg.org

Support for Farcaster and Nostr will come in the future.

X API access is very expensive and I’m not planning to give the world’s richest man any money at all. So unless you can support me with $45k/month for that there will not be support for X.

6 Likes

Congratulation of the app! Sounds amazing and great that it is native to Sailfish. Do you plan to include non twitter like platforms also (instagram/facebook, pixelfed, reddit, lemmy or similar)? I have zero knowledge if it would be possible without similar robbery prices like in X.

2 Likes

10x for your update. Never knew a X-Api would have such a price. %)

1 Like

I’m not planning to include Instagram and Pixelfed since I feel those are different kinds of platforms, more focused on images instead of micro-blogging / tweeting.

Also I do not use those platforms so it is hard to dogfood them :slight_smile:

Same for Reddit and Lemmy.

Facebook is a different ball game alltogether.

1 Like

This is on on top of EQL (ECL), so embedded qt lisp? That sounds fun.

What is the angelfish part for?

1 Like

Thought so as you well stated that. Thought just that personally would be quite cool if it would be possible to access all of the social media platform through one app. But still thank you for the amazing work!

1 Like

Current versions of EQL need qt5.7+, LQML needs Qt5.15 - I guess that’s the reason.

Source: readme-sailfish.md · master · eql / LQML · GitLab

2 Likes

This really reminds me of what events view provides (or, at least, provided before)…

1 Like

I am not sure if its helpfull but i leave this here just in case you might want to implement x/twitter.

xcancel.com runs on it afai understand and works with twitter.

1 Like

It’s written by same guy as who wrote EQL but AFAIK it’s a separate project, although a lot of re-use probably. The focus is mostly on QML and doing Lisp calls from there.

It works really well. After spending some time getting publishing to Sailfish OS and Android working I can now develop on my desktop and be 98% sure it’ll look and work the same on the other platforms. This is thanks to both Qt and LQML.

About Angelfish: that’s just convenience on my part. It’s what gave me the required dependencies with an easy install, no issues and it is how I’ve been working on and testing this project.

1 Like

Cool. Lisp instead of js or combined? Lambda abuse of js primitives :slight_smile:

Ah, ok. The QT 5.15 deps that @nephros mentinos above. Got it. Thanks!

Wherever you can use JavaScript in QML you can also do Lisp.call(…).

See: examples/sokoban/qml/main.qml · master · eql / LQML · GitLab

You can try building an LQML project for SFOS: examples/sokoban/platforms/sailfish-os · master · eql / LQML · GitLab (I submitted this 8 months ago, hope it still work.)

2 Likes

Don’t take this the wrong way, but the app is ugly, as in it does not match the pretty transparencies of sailfish.

I understand why you did it, I understand why people use cross-platform frameworks, but the result is always bad from a user experience point of view.

The beautiful UI is sailfish’s main selling point.
If you take that away, it has nothing left to compete with other OSes.

2 Likes

No worries, I get it.

It’s just that as a one man project that I also want to publish to Android (and perhaps iOS) it would take me even longer than it already has.

It would be interesting to explore an easy way to use Silica from Qt.

2 Likes

Another route would be to create a Silica-like theme for QtQuickControls2 and/or Kirigami. Apps based on those would then still not feel native (because some general UI principles are different), but look more at home.

2 Likes

You can also just wholesale swap out the relevant qml on build. That means double the work for some part, though you can probably re-use a lot of ‘components’. Apps like ‘Fahrplan’ have 4 or 5 sets of QML files with some re-use.

I don’t think the sources are availble, no? Otherwise, I’d have a look.

2 Likes

Correct, the sources are not available although I might open-source it at some point.

Anyway, for now I will first be focusing on bug fixing and features (except Silica :wink: ).

3 Likes