hhmx.de

julian

julian (@julian@community.nodebb.org)

Föderation · Do 27.06.2024 06:30:00

Tonight I set aside some time to listen to @johnonolan@mastodon.xyz on @mike@flipboard.social's DotSocial podcast.


A lot a lot a lot of what John says mirrors the very same potential that many ActivityPub devs see as well. There are far too many points in that podcast that made me nod my head in agreement (and wish I was a third guest too!), but there was one that was incredibly timely:



Mike: ... you've been thinking about actually embedding the whole article in the ActivityPub post, which is a mind-blowing thing... it's not a link to something else... the whole article is in the post.

John: Yes, this is something that makes perfect sense but is somehow completely new, which is weird...

Mike: You can have formatted text... images? video?

John: ActivityPub is fairly agnostic, you could in theory shove almost anything into it. The question is what is the client on the other side prepared to receive? Do they have some way to display it?

John: If we get platforms in the ActivityPub network to start innovating with content types, it might cause those things to be adopted and it might drive the standard and what it is possible to display



Emphasis mine.


John, Mike, this is almost word-for-word exactly what the Forum and Threaded Discussions working group has been working towards! The main problem is we need buy-in from implementers to push this forward.


We can do this, we can send richer HTML across the protocol in such a way that all those things you two mentioned — in-line images, embedded videos, tables, etc. — can all show up as intended by the sender.


We've got commitment from (but not limited to) representatives from NodeBB, Discourse, and WordPress, and having Ghost and Flipboard sign on would help push this forward just that much more.


Let's do this, let me get you caught up with the state of the protocol re: the Article object type. Let's chat (but publicly, since I can't receive DMs here on NodeBB).


silverpill

silverpill (@silverpill@mitra.social)

Föderation · Do 27.06.2024 12:48:16

@julian @mike @johnonolan @mike As other commenters have noted, embedding whole articles is not really new, they are just not rendered properly by Mastodon. However, I don't think anyone have tried to embed an interactive application:

https://webxdc.org/docs/get_started.html

Mike Macgirvin 🖥️

Mike Macgirvin 🖥️ (@mikedev@fediversity.site)

Föderation · Do 27.06.2024 13:28:11

Evan had a Farmville clone for ActivityPub's predecessor pump.io. We've dabbled in some other server-side apps, like putting chess  games into your  stream -  but the killer is letting strangers execute javascript in your stream. We ran some experimental stuff in sandboxed iframes, but finally decided it was a bad look for the free web and said yeah,nah.

Mike McCue

Mike McCue (@mike@flipboard.social)

Föderation EN Do 27.06.2024 15:46:32

@mikedev @silverpill yeah JavaScript in your stream would be problematic.

It would be interesting to figure out a safe and standard way to provide limited interactivity on the level of things like polls. Farcaster seems to be experimenting with ideas like this though i have not looked at it closely.

julian

julian (@julian@community.nodebb.org)

Föderation · Do 27.06.2024 16:03:21

@mike@flipboard.social I think even @mikedev@fediversity.site could agree that Mastodon has done the bare minimum of support. They used to only support straight text (and even now, composing in Mastodon is plaintext only), but have since allowed a heavily locked-down subset of HTML.


Allowing arbitrary JavaScript execution is a bad idea, but relaxing html sanitisation to the minimum would allow for much more expressive content. Inline images and tabular data are two tags I'd like to see allowed, but herein lies the problem... What subset of HTML do you feel comfortable with? I wager that different implementers would answer differently, and Mastodon eschewing certain tags in order to prioritize the textual microblogging style is their choice, too!


The fact of the matter is Mastodon needn't support all the tags under the sun, but they do need to acknowledge that received content is not faithfully represented in all cases, and so a prompt to view the content on the original site would be a good intermediate step.


There already exists an ActivityStreams object type for this kind of content: as:Article. It gives other implementers a chance to explicitly say "hey, this might be better viewed natively if you don't elect to show everything we send you". I'd love to make this a reality.


Evan Prodromou

Evan Prodromou (@evan@cosocial.ca)

Föderation EN Do 27.06.2024 16:03:32

@mike @mikedev @silverpill the design we built into AP is to make external apps that use OAuth 2.0 and the ActivityPub API to interact with your account.

evanp.me/2024/04/22/cross-serv

Mike Macgirvin 🖥️

Mike Macgirvin 🖥️ (@mikedev@fediversity.site)

Föderation · Do 27.06.2024 21:32:57

An intermediate win would be arbitrary forms (beyond polls). We support form rendering in our AP objects today, but still waiting for motivated developers to provide a backend layer to provide storage and processing and make it useful. I'm far too busy with other stuff to give this idea the love it deserves.

For apps, I'll just mention what we did with Hubzilla as food for thought. Hubzilla is an access controlled CMS with access-controlled social components.  One of the CMS objects you can create is an 'app' which is nothing more than a potentially access-controlled link with an icon that you can install in your personal channel. It "executes" any web link. Where it gets interesting is that these apps can be accessed-controlled CMS pages created by other Hubzilla members. Or any link you want to provide. And we can share the app in our social stream and let other folks save them and install them on their own channel. I used to use a 3rd party weather app all the time. One of the best examples of this created by members is an online store of goods by visual and audio artists and the link can be restricted to authenticated fans. Oh, and the apps themselves can be paid.

Supporting these objects over ActivityPub isn't that difficult really. It comes down to a rendering of an attached object. We could even do remote storage for your own app collections and let you access them with your fedi-id. Then your personal app manager is nothing more than an app that you can install and share. So as above, so below.  

I think people here lost interest as the fediverse moved to primitive text-based microblogs and away from integrated community tools and ecommerce. Maybe the pendulum will swing back the other way someday.

Evan Prodromou

Evan Prodromou (@evan@cosocial.ca)

Föderation EN Do 27.06.2024 16:01:05

@mikedev @silverpill it might be time to dust off the OpenSocial spec and consider how this could work in stream. I don't think arbitrary JS is a good idea, but it might be interesting to have user-installable widgets in a sandbox.

Richard MacManus

Richard MacManus (@ricmac@mastodon.social)

Föderation EN So 30.06.2024 11:18:17

@evan @mikedev @silverpill Federated start pages? Getting Netvibes vibes here :)