mlem icon indicating copy to clipboard operation
mlem copied to clipboard

Compatibility with KBin/MBin

Open ShadowJonathan opened this issue 2 years ago • 8 comments

This has been stated elsewhere, but for the forseeable future, we don't think we can try to aim for compatibility with kbin's API, due to the complexity that brings to the app. We may consider it once things have died down a little.

However, the feature request is still there, so here is the issue to track it.

If KBin decides to become compatible with us by adopting the Lemmy API, then that would be seamless.

ShadowJonathan avatar Jun 10 '23 20:06 ShadowJonathan

Putting under "Future." If we abstract our data models from the API models, this should be pretty doable.

EricBAndrews avatar Jul 06 '23 00:07 EricBAndrews

Is this something we'd still want to do? Last I heard, the sole Kbin maintainer left for good and shut down kbin.social. There are of course other instances, and forks such as Mbin. Kbin has 24 MAU currently according to FediDB, and MBin has 989. That's 2% of Lemmy's MAU (45,858).

Demand

Adding support could make Mlem-middleware significantly more complex, and I'm hesitant to support additional platforms if there isn't much interest. Most of the 1000 Kbin/Mbin users probably have Android devices, and the remaining users would probably have switched to Lemmy already if they wanted a mobile client.

On the flip side, it's likely that the lack of Kbin MAU is at least partly due to the lack of mobile clients. Supporting Kbin could drive more interest to the platform in general, which could make it worthwhile.

Implementation

We'd also need to look at how different the API is to Lemmy's. It would probably involve creating a base ApiClient class and subclassing into LemmyApiClient and KbinApiClient or something like that. Methods that are unsupported on one platform or another would throw ApiClientError.unsupported.

Platform support priority?

I don't think we should consider Kbin support until we see how popular Sublinks ends up being. It's not unlikely that Sublinks ends up with more MAU than Kbin. Supporting three different platforms is more complex than supporting two - we may decide that two is reasonable, but three is too much work. If that's the case, we may end up supporting Sublinks instead of Kbin.

See the main issue for Sublinks support here.

Sjmarf avatar Aug 17 '24 22:08 Sjmarf

I'm one of those iOS users who would really appreciate mbin compatibility in mlem; It's painful to get attached to a client such as mlem and then lose it when switching to an mbin instance as I'm considering doing. The move isn't related to mobile but I am growing to appreciate the single-instance approach to having both threads and microblogs along with the really nice UI/UX that mbin has.

I've also asked for a similar feature request in the Ivory iOS app and for similar reasons.

akohlsmith avatar Apr 29 '25 22:04 akohlsmith

Agreed, currently there is no stable Mbin iOS app however Interstellar is in the pipeline.

sunshinehot avatar Sep 18 '25 13:09 sunshinehot

Supporting MBin would take up a big chunk of development time, which would give us less time to work on improving the experience for Lemmy and PieFed users. Personally, I don't think it's worth it at this stage.

Sjmarf avatar Sep 18 '25 13:09 Sjmarf

Supporting MBin would take up a big chunk of development time, which would give us less time to work on improving the experience for Lemmy and PieFed users. Personally, I don't think it's worth it at this stage.

Why not? I would love to provide help if needed when trying to support Mbin.

melroy89 avatar Sep 19 '25 14:09 melroy89

@melroy89

Mlem's core goal is to provide the best possible experience as a link-aggregator app. Supporting a platform incurs an ongoing maintenance cost, and we don't currently have the development bandwidth to support a third platform without significantly compromising the quality of our offering.

If in future we have more resources available, we will consider it. For now, it's just not really feasible I'm afraid.

Sjmarf avatar Sep 19 '25 15:09 Sjmarf

I see. Just for reference then, here is our API fully documented in detail: https://docs.joinmbin.org/api/

melroy89 avatar Sep 19 '25 20:09 melroy89