We did implement a partial Mastodon REST API as a proof-of-concept (attached are some screenshots of a Bonfire feed displayed in different clients). Of course that would come with several limitations, like when displaying activity/objects/metadata not supported by the API and client, or with features not available such as the option to select custom boundaries/circles when posting...
Post
@edumerco @sounddrill @pescetarian
So it could be possible but would offer quite a limited window into Bonfire while being quite an extensive API to maintain. We'd welcome contributors/PRs who want to make that happen though!
Not a programmer here, but if UX/interaction is useful, we already collaborated a bit before and can happily engage again. :)
I heard and understand the point, but still think that interoperability with the rest of the Fediverse (as possible) is crucial.
Also, having seen people maintaining native apps for IOS and Android (ind it's various parallel working versions), just wanted to warn about the (potentially) upcoming ragnarok that could ensue... ^_^"
(i maintain a client for mastodon API servers, and i explicitly aim to ensure support for software beyond mastodon itself. i suspect other client devs would behave similarly, but this only happens on the basis of supporting the masto api.)
best of luck in either case...
> you mention this would be a limited window onto Bonfire, is that just because you only implemented a proof-of-concept so far, or is it because Bonfire would have features that the existing clients wouldn't support (yet)?
It's because of features not available in the Masto API schema (like boundaries/circles) but also since Bonfire is extensible and some extensions implement new object/activity types beyond the note/post...
As mentioned in the issue, we could extend the API but then each client would have to specifically implement the additions. There's a risk of duplicating types added by other apps in incompatible ways unless there's something like FEPs or RFCs for the API schema?
Here's an issue going into more details about the different options: https://github.com/bonfire-networks/bonfire-app/issues/1260
Feedback welcome!