There have been some requests to make it possible for Mastodon users to create threads on Lemmy. At the moment this is not possible because Mastodon cant set the title field which is mandatory in Lemmy. The same problem affects other projects like Pleroma or Friendica (where title is optional).
It is unlikely that Mastodon would make any change in this regard, so a workaround in Lemmy would be necessary. I implemented such a workaround which makes the title optional when receiving a federated post, and uses the first line of the content instead. This workaround could also be made configurable per instance or per community.
But to be honest I am not sure the workaround is a good idea in general, as it could result in bad titles, and generally more low-quality posts. Thats why I want to know what the community thinks about it.
I think it’s a good idea. I don’t see any reason to limit which posts are available based on the presence/absence of simple fields. That’s just a UI problem and using the first sentence (up to a certain character limit) as a title is a good solution. Savvy microblog users could even write their posts specifically for lemmy by writing a title and adding a newline, obviating the need for custom code in microblog software or lemmy
EDIT: Another reason in favor of this proposal just came to me. Mastodon has group support on their roadmap, but my worry is their team won’t look at prior art and make their group support compatible with existing
Group
implementations. If Lemmy allows external users to create post to its groups, mastodon users may start actively posting to lemmy groups. Then the users would expect any native mastodon group implementation to be compatible with what they’re already using.Hm…
The workaround sounds good. It will also work for Friendica-Posts, if i forget to set a Title.
I don’t think, the Microsoft^WMastodon will move more to fediverse…
So i’m not sure… should every other service deploy bad and breaking workarounds, or should we accept, that Micros^WMastodon is giving s fuck, being part of the fediverse?
Your Workaround would be good for Lemmy. For sure. Better would be a configureable subject in Mastodon for those admins, which want to interact also with lemmy.
I think its a good idea obvi. Its a collision between the microblogging / twitter-style that masto and pleroma employ(that have no title, only a body), vs the link-aggregator style (which has a title, and an optional body).
Both platforms should try to resolve the missing fields in whatever way possible, even if that means extrapolating bodies to titles and vice versa.
Both platforms should try to resolve the missing fields in whatever way possible, even if that means extrapolating bodies to titles and vice versa.
Super agree. I don’t even see this as a collision. The post we’re commenting on doesn’t have a link so doesn’t even cleanly fit as a link-aggregator post; it’s closer to a blog post. But I don’t think these distinctions matter. Arbitrary categories about what types of posts are allowed just limit things for no reason. I can understand developers needing to focus, but in this case it seems easy to take a microblog post (
Note
) and display it within Lemmy’s ui by resolving missing fields, like you said.I’m always in favor of more integration. My hope for the fediverse is every software accepts posts from every other software.
I think that it should be a per community configurable option. If enabled, it would allow lemmy to step in to the niche that gup.pe groups currently provide, whilst still giving moderators the chance to not have poorly titled posts in the community.
Titles could become optional for short text posts. You could allow up to 500 characters in the body field to be a stand alone post title-less, which automatically adds support for all fedimicroblog services. This would have to be a setting per community to allow title-less posts or not, including a warning that this would break compatibility with mastodon, etc.
Posts without title would completely break post listings in Lemmy.
The mockup below by @0x1C3B00DA@lemmy.ml looks pretty close to how I was envisioning it. It definitely looks off, and that’s why my preferred implementation is that Mastodon (and the other microblog services) add title support. Since they won’t or aren’t, I would rather that non-local content is preserved how it was, without too significant guesswork to fill in each platforms’ fields. Titleless, but preserving the post and not having a poor title is preferable to me than an awkward title that anyone on mastodon doesn’t see and doesn’t know about.
Allowing for people on lemmy to submit titleless posts can be allowed, since the tech would already be in the front-end to display it. Doesn’t have to be allowed, though.
Lemmy is a little bit the modern Child of good old Usenet… 😊😊
But that’s just a UI issue, right? Post listings in Lemmy is essentially the same as a feed reader and I’ve used feed readers that display posts with/without titles.
Could you show an example screenshot how that looks like? I cant really imagine it working in Lemmy.
Sure I’ll try mocking something up in the browser devtools. On mobile, lemmy displays body text for posts (p.s. I’d like that on desktop too). What I’m talking about is just showing that in the position the title would be, still in an anchor tag so it links to the post but with body text styling instead of in a header.
EDIT: Here’s a quick mockup.
The first and third posts are title-less posts and, to me, look good interspersed with titled posts. To get this, I replaced the entire
h5
element that serves as the post title with<a class="preview-lines" href="{{post.link}}">{{made up body text}}</a>
Thepreview-lines
CSS class applies a visual truncation so even if the text we render is too much it won’t overflow.I don’t know how to write Inferno templates but in Vue this would be
<!-- this is the current markup --> <h5 v-if="post.title"> <a class="text-body" title="Comments" :href="post.link"> {{ post.title }} </a> <button class="btn btn-link text-monospace text-muted small d-inline-block ml-2" data-tippy-content="Expand here"> <svg class="icon icon-inline"> <use xlink:href="#icon-plus-square"></use> <div class="sr-only"><title>plus-square</title></div> </svg> </button> </h5> <!-- this is new markup i'm suggesting --> <a v-else class="preview-lines" :href="post.link"> {{ post.content.substring(0, 250) }} </a>
So you have the same approach of generating a title from the post body. Only you do it on the frontend and not the backend. In Lemmy that might be a bit complicated because the body is already optional, and we would have to somehow encode that either title or body must be set (or both).
I think that using the first line up to maybe ~10 words followed by “…” as a default is a good idea. It would still be nice to have a preferred format to indicate the title, such as:
--- @asklemmy@lemmy.ml | Should Mastodon users be able to create threads on Lemmy? Post content ----
Another possibility would be to reject a post if it is lacking the title and have the ‘community’ send a direct message or reply to the user letting them know the correct format. A correctly formatted posted using the first sentence could be generated and included in the direct message as an example. It could say something like this:
Are you trying to create a post in a lemmy instance? If so, please create the toot again including a title. Here is an example using the first sentence of your post as a title: @community.lemmy.ml | First sentence Post content
Approach one is good because it does not require one to be familiar with the format at all, but it can lead to some awkward titles. Approach two would require a slightly higher amount of effort from the poster, but one failed post should be enough for them to become familiar with the syntax.
You don’t even need a special format. If you remove the pipe in your first example, that’s a normal microblog post. It would look perfectly normal and readable for other microblog users and lemmy could parse it into a representation that fits its UI easily (The
@acct
will be the community its posted to and the first line, up to a newline, punctuation character, or max character limit, will be the title.)Examples
@asklemmy@lemmy.ml Should Mastodon users be able to create threads on Lemmy?
Yes they should. I don’t see any reason why not. Lorem ipsum dolor sit amet.
would parse to something like
{ "to": "lemmy.ml/c/asklemmy", "title": "Should Mastodon users be able to create threads on Lemmy?", "content": "Yes they should. I don't see any reason why not. Lorem ipsum dolor sit amet." }
@asklemmy@lemmy.ml Should Mastodon users be able to create threads on Lemmy? Yes they should. I don’t see any reason why not. Lorem ipsum dolor sit amet.
would parse to the same thing because it could use the ? as delimiter.
Yeah, I like this. Easy and familiar
Just thinking out loud: Does ActivityPub say anything about titles? I’m asking as I don’t know, but I am also thinking whichever route that is the closest to “the standard” probably should be the preferred route.
Ideally all Fediverse services should be using an as-close-as-possible interpretation of ActivityPub. If that standard in turn is lacking, that is the problem that should be solved.
The Fediverse in general and Mastodon in particular lack the functionality of “groups”, which surely is one of the most asked-for features for both Mastodon and the rest of the services. With Lemmy the Fediverse can get groups (of sorts). However, if Lemmy bend-over backwards just for Mastodon it might set a precedence in “you/me/we are all on Mastodon” as opposed to “we are all in the Fediverse, using ActivityPub”.
If on the other hand “everyone but Mastodon” is (or could be) using titles already, the Mastodon leadership (hah) has to look at how badly they want the groups-functionality, and if they therefore would be willing to adapt to Lemmy, ActivityPub and the rest of the services that are closer to the actual standard.
The Activitypub standard doesnt mandate any specific properties, not the title and not even the content which Mastodon sends. Thats one problem with Activitypub, you can send almost anything you want and its technically valid (even if no other platform can handle it). However the presence or lack of a title isnt really related to groups.
I’m not sure what this really adds. If someone’s only reading Lemmy through Mastodon, why not just stay on Mastodon? It’s nice to crosspost, but I only get Mastodon posts I want to see. But I see all the Lemmy posts on a given community, so it seems vulnerable to spammy @'s.
At the very least I’d say ‘wait until a few lemmies federate’ before lumping that on the admins. I have no idea what the fallour or additional work might be.
If someone’s only reading Lemmy through Mastodon, why not just stay on Mastodon?
They are staying on mastodon. But mastodon, pleroma, misskey, lemmy, etc are on the fediverse. They should all be able to communicate without arbitrary boundaries.
so it seems vulnerable to spammy @'s.
Posting to a community from lemmy is no different from posting to a community from other software. A post is a post. Moderation should be able to handle spammy users regardless of the software they’re using.
Sounds great to me.
Closer interoperability would likely be a net positive. Since there is an impedance mismatch here, taking the first sentence seems like a reasonable way to address it. As others mentioned, users can intentionally write the first sentence as a title when posting. Since the workaround would be configurable per instance/community I don’t think low quality titles are too much of a concern.
Yes