There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

UPDATE! Fewer than 20% of Lemmy Apps display posts accurately

Updated! Updates are shown in quote text like this. Some scores are updated following app updates.

An Apps Experiment

Introduction

This is an experiment I performed out of curiosity, and I have a few big disclaimers at the bottom. Basically, I’ve seen a lot of comments recently about one app or another not displaying something right. Lemmy has been around for a while now and can no longer be considered an experimental platform.

Lemmy and the apps that people use to access the platform have become an important part of people’s lives. Whether you are checking the app weekly or daily, and whether you use it to stay up on the news or to stay connected to your hobby, it’s important that it works. I hope that this helps people to see the extent of the challenge, and encourages developers to improve their apps, too.

How I did it

I wanted to investigate objectively how accurately each app displays text of posts and comments using the standard Lemmy markdown. Markdown is a standard part of the Lemmy platform, but not all apps handle it the same. It is basically what gives text useful formatting.

I used the latest release of each app, but did not include pre-releases. I only included apps that have released an update in the last 6 months, which should include most apps in active development. I was unable to test iOS-exclusive apps, so they are not included either. In all, 16 apps met the inclusion criteria.

I also added Eternity, which is in active development, although it has not had a recent update. I was able to include several iOS apps thanks to testing from @jordanlund – Thanks, Jordan! This made for 21 apps that were tested.

Each app was rated in 5 categories: Text, Format, Spoilers, Links, and Images. I chose these mostly based on the wonderful Markdown Guide from @marvin, which was posted about a year ago in !meta (here).

I checked whether each app correctly displayed each category, then took the overall average. Each category was weighted equally. Text includes italic, bold, strong, strikethrough, superscript, and subscript. Format includes block quotes, lists, code (block and inline), tables, and dividers. Spoilers includes display of hidden, expandable spoilers. Links includes external links, username links, and community links. Images included embedded images, image references, and inline images.

Thanks to input from others, I also added a test to see if lemmy hyperlinks opened in-app. There was a problem with using the SFFA Community Guide that caused some apps to be essentially penalized twice because there was formatting inside formatting, so I created this TEST POST to more clearly and fairly measure each app.

In each case, I checked whether the display was correct based on the rules for Lemmy Markdown, and consistent with the author’s intent. In cases where the app recognized the tag correctly but did not display it accurately, that was treated as a fail.

Results

Out of a possible perfect 10, only 4 apps displayed all markdown correctly:

Jerboa (Official Android client) - 10.0

Alexandrite - 10.0

Voyager - 10.0

Connect - 10.0

Photon - 10.0

Summit - 9.7

Quiblr - 9.5

Arctic - 9.3

Interstellar - 9.1

Lemmy-UI - 9.0

Thunder - 8.9

Tesseract - 8.6

mlmym - 8.0

Lemmios - 8.0

Mlem - 7.5

Boost - 7.3

Eternity - 7.0

Sync - 6.9

Lemmynade - 6.1

Avelon - 5.7

More details of testing here

Disclaimers## Disclaimers ### I Love Lemmy Apps (and their devs) Lemmy apps devs work very hard, and invest a lot in the platform. Lemmy is better because they are doing the work that they do. Like, a LOT better. Everyone who uses the platform has to access it through one app or another. Apps are the face of the entire platform. Whether an app is a FOSS passion project, underwritten by a grant, or generating income through sales or ads, no one is getting rich by making their app. It is for the benefit of the community. This is not meant to be a rating of the quality or functionality of any app. An app may have a high rating here but be missing other features that users want, or users may love an app that has a lower rating. This is just about how well apps handle markdown. ### This is pretty unscientific You’ll see my methodology above. I’m not a scientist. There is probably a much better way to do this, and I probably have biases in terms of how I went about it. I think it’s interesting and probably has some valuable information. If you think it’s interesting, let me know. If you think of a better way, PM me and I’d be happy to share what I have so you don’t have to start from scratch. ### My only goal is to help the community I do think that accurately displaying markdown should be a standard expectation of a finished app. I hope that devs use this as an opportunity to shore up the areas that are lagging, and that they have a set of standards to aim for. I don’t have any Apple thingsSorry. This is just Android and Web review. If someone would like to see how iOS apps are doing, please reach out and I’ll share how we can work together to include them.

Blaze ,

Interesting to see that even Lemmy-UI does not display markdown completely correctly

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

For some reason, Lemmy-UI does not convert usernames to links: @gedaliyah

Nothing4You ,

it does, but only if you use the autocomplete feature. it’s also a bit delayed without any indicator that it’s loading.

if you type @gedal and wait a moment it’ll load @gedaliyah to be selected:

https://programming.dev/pictrs/image/a37b17be-b920-4126-85b5-dc60fad3e09a.png

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Yes, I’m not sure if that is meant to be a placeholder or a substitute for native user links. What it actually does is generate markup that converts the username into a web link, which is fine for most circumstances, but not ideal. A plaintext username should automatically link to the user. This creates an inconsistent behavior between posts depending on where (and when) they were typed.

In other words, it’s a very helpful feature, but it is not recognizing and linking usernames.

threelonmusketeers ,

It’s weird that community names are automatically rendered as links, but usernames aren’t. Isn’t it pretty much the same thing?

BentiGorlich ,
@BentiGorlich@thebrainbin.org avatar

yeah exactly. On mbin it works this way and lemmy inserting the link breaks that. But it does it for communities in the community description sometime as well, though I don't know if it is just a user "error" or a lemmy error

BentiGorlich ,
@BentiGorlich@thebrainbin.org avatar

Actually that behaviour is very annoying to other platforms. Mbin for example can only link to the lemmy server this user is on and no longer the local profile of that user.
Example:
@ user @ lemmy.instance gets converted to [@ user @ lemmy.instance](https:// lemmy.instance/u/user
so on mbin this does not open the profile of the user on the local server, but instead links the lemmy instance, so you leave your instance to view the profile.

(spaces included so this won't get converted to mentions, etc)

JackbyDev ,

Are those not two different users though? Joe at Hotmail and Joe at Gmail are different.

BentiGorlich ,
@BentiGorlich@thebrainbin.org avatar

Yes they are, but you have my profile on your server and you do not need to leave the server to view my profile...
@ user @ lemmy.instance should link to https:// mbin.instance/u/@[email protected] and not to https:// lemmy.instance/u/user

JackbyDev ,

I’ll have to try on desktop, in the app it isn’t very clear what exactly it’s looking at to see profiles.

sjmarf ,
@sjmarf@lemmy.ml avatar

Yeah, it’s rather inconsistent. I opened an issue for it a while ago.

threelonmusketeers ,

What happens if you press tab or click on the suggested item at the point in your screenshot?

For me, it inserts the link at the cursor position, but doesn’t replace the bit you’ve already typed, resulting in @gedal@[email protected].

Anyone else have this issue?

Nothing4You ,

on firefox, if i type @gedal and click or press tab once it replaces the text with @[email protected] . the behavior is the same whether i hit tab, enter or click the text.

threelonmusketeers ,

if i type @gedal and click or press tab once it replaces the text with @[email protected]

Ah, you are correct. It turns out that the issue I was encountering was a little more subtle.

If I type all the way to @gedaliyah@ and click or press tab once it replaces only the second ‘@’, resulting in @gedaliyah@[email protected].

Nothing4You ,

It’s not even just that. It seems that the extra @ acts as a separator, so you can’t even autocomplete e.g. @threelonmusketeers@sh as that’ll try to autocomplete @sh instead of taking the instance domain as part of the mention.

I’ve raised a GitHub issue for this now: github.com/LemmyNet/lemmy-ui/issues/2652

JackbyDev ,

Compare the source of your comment to the one you’re replying to. Those are two different things. I’d argue it’s a workaround of anything.

Nothing4You ,
if you want to get fancy
you can even use undocumented tables
AmbiguousProps ,

This surprisingly works on boost.

paraphrand ,

Works on Voyager.

Anafabula ,
@Anafabula@discuss.tchncs.de avatar

Tables are a very common markdown extension most(?) popular markdown parsers support them

Nothing4You ,

for sure, but they’re neither mentioned on join-lemmy.org/docs/users/02-media.html nor on the linked CommonMark tutorial.

Anafabula ,
@Anafabula@discuss.tchncs.de avatar

Which is funny because the main part of that documentation is a Markdown table

threelonmusketeers ,

Works on Thunder.

med ,

Confirmed here on android

sjmarf ,
@sjmarf@lemmy.ml avatar

Footnotes^[Hello world!] are also undocumented.

stormio ,

I wasn’t sure if Lemmuy-UI in the results list was a typo or an alternative interface. Now I know. 😄

dual_sport_dork ,
@dual_sport_dork@lemmy.world avatar

It doesn’t display headings, I know that much.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

In doing this I learned that there are “correct” but also “preferred” ways to use markdown. A heading should have a space after the # even though it is correct either way.

#

Heading

These lines may be the same or different in different apps.

dual_sport_dork ,
@dual_sport_dork@lemmy.world avatar

The thing of it is, if you just highlight some text and hit the heading button in the GUI, it doesn’t include the space.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Interesting. I never noticed that. As I said, it’s technically correct but not preferred. I’ll see if I can post a link about this later.

maegul ,
@maegul@lemmy.ml avatar

I’m not sure #heading is valid markdown (see, eg, Daring Fireball’s “original” syntax page) … and I’ve never seen it. I’ve always understood that the space was necessary, which I think makes sense for a number of reasons TBH

So …

does not work

This does work

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

I know that it works on some sites (reddit for example). Generally, it is not preferred.

maegul ,
@maegul@lemmy.ml avatar

Didn’t know it worked on reddit. Generally it seems necessary to require the space as it disambiguates headings from hashtags, and also makes the raw text more readable.

JackbyDev ,

Heading

maegul ,
@maegul@lemmy.ml avatar

Dunno … I went to the linked page in the top post and everything seemed fine to me (using Lemmy-UI)

Aurelius ,
@Aurelius@lemmy.world avatar

Left this comment in the other thread too, but posting here for visibility:

Quiblr should now have each of the markdown criteria fixed. Huge thanks for the feedback and for all this analysis. Consistent markdown is important for a great and consistent user experience across the lemmy ecosystem

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Great! Thank you for the gorgeous app. I really love the style, and I think the personalized feed is brilliant.

On my device, the lemmy hyperlink in the test post is still opening outside the app. I’m not sure how other web apps handle this but it would be the only additional change that would make it a perfect score.

As an aside, I would love to see it as a PWA or standalone app. I don’t know if that’s on your roadmap but I think it would be neat.

Grandwolf319 ,

Voyager gang!

Sine_Fine_Belli ,

Same here

Where are all my fellow voyagers at?

AlpacaChariot ,

Checking in

don ,

Checking in

VanHalbgott ,

Checking in.

samus12345 ,
@samus12345@lemmy.world avatar

I usually use desktop, but when it’s not available I use Voyager.

MapleWanderer ,

Checkin innnn

spazzman6156 ,

74656

Squeezer ,

wefwef 🫡

aeharding ,
@aeharding@vger.social avatar

::: spoiler did ::: spoiler u ::: spoiler know ::: spoiler u ::: spoiler can ::: spoiler nest ::: spoiler spoilers? ::: spoiler dog pic https://vger.social/pictrs/image/1fc7b7d9-41a0-484b-96bb-1d0f7114b3c0.png

yum ,

Awesome

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Neat! I did not know that.

FlyingSquid ,
@FlyingSquid@lemmy.world avatar

Worth the effort for the good boy or girl.

TonyTonyChopper ,
@TonyTonyChopper@mander.xyz avatar

This displays incorrectly for me on Jerboa https://i.imgur.com/raxHBCa.png

aeharding ,
@aeharding@vger.social avatar

:( It works on lemmy-ui/photon/alexandrite/voyager (maybe others too - these are just ones I’ve tested that work)

s08nlql9 ,

Why is your username color highlighted in voyager

img

aeharding ,
@aeharding@vger.social avatar

I am the voyager dev!

s08nlql9 ,
Xylight ,
@Xylight@lemm.ee avatar

hello fellow client dev

threelonmusketeers , (edited )

I did not know that. Works on Android Thunder.

ripcord ,
@ripcord@lemmy.world avatar

Not on Jerboa apparently.

SomeGuy69 , (edited )
@SomeGuy69@lemmy.world avatar

I’m on Connect and haven’t noticed anything displayed wrong. I must be lucky. Table work, spoiler work, embedded images work, emoji work.

Zoomboingding ,
@Zoomboingding@lemmy.world avatar

Yup, connect has been fantastic for me, and I’m very surprised at the score.

brianorca ,

Spoilers in Connect are not readable when I click them. (White on white) Unless I first select the post so the background in grey.

SomeGuy69 ,
@SomeGuy69@lemmy.world avatar

I use OLED mode, then it’s a bug with the other theme colors, as it works for me without that workaround.

Xylight , (edited )
@Xylight@lemm.ee avatar

Hey, I’m the Photon dev. I’d like to know which parts Photon incorrectly displayed, so far I only see tables rendering incorrectly. I’ll have this fixed soon.

Update: fixed table displays, pushed to main

Could this be updated now? 🥺 (you can test here)

NorthWestWind ,
@NorthWestWind@lemmy.world avatar

Unrelated, but photon keeps randomly redirecting pages to what is previously viewed. It has screwed me over by making me post to the wrong community.

Xylight ,
@Xylight@lemm.ee avatar

I don’t understand what this means. There are no redirect calls at all in photon other than for /comment urls, and certain layouts.

NorthWestWind ,
@NorthWestWind@lemmy.world avatar

Not exactly redirect, but sometimes it just goes back to the previous page. Maybe something to do with window.history?

It was a while ago. I haven’t used it after the incident (July 12)

xnx ,

Photon is so great i honestly feel like it should replace the default

Blisterexe ,

Agreed, translating it to french made me discover so many little features, did you knoe it can show the political bias of a linked article?

xnx ,

Thats really cool i didnt know that

randint ,
@randint@lemmy.frozeninferno.xyz avatar

Holy shit, Photon has gotten this good now? When I tried it a few months back it felt like just yet another Lemmy client. Now it feels so smooth and polished. Works great on mobile even. Thanks for making this!

xnx ,

Hey, the admin of slrpnk.net has been thinking of making Photon the default frontend but updates to it sometimes cause breaking issues? Any chance you could get into contact with them so it can become the default in a way that updates wont break it?

Blisterexe ,

tell the admin to make a post on !photon, xylight is vfry responsive.

Xylight ,
@Xylight@lemm.ee avatar

I contacted them about it.

xnx ,

Amazing, thank you!

Jimbo ,
@Jimbo@yiffit.net avatar

One note on Jerboa, at least for me gifs don’t seem to play when embedded in comments. Otherwise 10/10 for me.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

I did not test different media types - but maybe in the future!

pancakes ,
@pancakes@sh.itjust.works avatar

I love Jerboa, it most closely resembles RiF from the beforetimes.

Lightsong ,

Ouch, I use Boost and paid for ads free. Pls bring it up to 10.0.

tacosplease ,

Sync only got 6.9 but I have no complaints about the app

nokturne213 ,

Is there a list of what each app failed? It would be nice for the devs to be able to see. I use Mlem, and there is about to be a new release rebuilding it from the ground up. Hopefully it will rate higher once that happens.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Yes, I’ve linked it in the post, and you can find the test post and detailed results.

nokturne213 ,

Thanks. Interesting how the apps, even those that have lower scores, perform better than a web browser. Using Safari and Firefox (on a laptop) and both open your links in Lemmy.world instead of that thread on my instance. Neither recognize the user as anything other than text.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Odds are that’s Lemmy-UI. It should behave the same in any browser.

friend_of_satan ,

Woohoo Voyager!

TomSelleck ,

Voyager gang, let’s scroll

paraphrand ,

It’s the best PWA ever made, to my knowledge.

threelonmusketeers ,

PWA?

gregor ,
@gregor@gregtech.eu avatar

Progressive web app

Aniline ,

Oh I didn’t know it was a web app, I’ve only seen it on droidify, among other “normal” apps. It looks amazing !

astropenguin5 ,

It was initially a pwa, but now it is a full and proper app, even available on Google play now!

I believe it can still be used as a pwa though.

paraphrand ,

Yup, still works great as a PWA.

steal_your_face ,
@steal_your_face@lemmy.ml avatar

Voyager da 🐐 no 🧢

treeofnik ,
@treeofnik@discuss.online avatar

This is awesome, thank you. I switched from memmy (iOS only) to voyager because it doesn’t display code blocks properly (usually doesn’t even show what’s in them) so reading certain posts or comments about computers or programming was a disaster.

nokturne213 ,

Memmy was the first app I used, but it is abandoned now, sadly. But Mlem is actively being developed. I have not tried Voyager yet.

mtchristo ,

I might consider eternity abandonware now

1 year no updates

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Eternity is in active development. It was sleeping for a while, but @bazsalanszky has confirmed that it will see a new release soon.

Cryophilia ,

Browser master race😎

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

That’s Lemmy UI

Feathercrown ,

What features does the browser UI not display properly? 👀

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

It doesn’t link usernames correctly. The editor has the option to convert usernames to links, but does not handle plaintext usernames:

@gedaliyah

Feathercrown ,

Oh, cool. Nice analysis! I know spoilers not rendering correctly is a big one.

sparr ,

And the spec says plaintext usernames should be rendered as links?

Natanael ,

Clients should convert automatically (unless the user doesn’t want it to)

AlexisFR ,
@AlexisFR@jlai.lu avatar

FYI, how wrote “Lemmuy - UI” in the post, I thought it was another app I didn’t hear about.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

That’s just what it’s called.

AlexisFR ,
@AlexisFR@jlai.lu avatar

Really? Not just Lemmy UI?

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

I seriously did not catch that typo, even when you pointed it out 🫢

Anafabula ,
@Anafabula@discuss.tchncs.de avatar

The markdown guide is incomplete. Not even Jerboa shows footnotes^[Look at this comment on Lemmy web] correctly.

MBM ,

I don’t even see footnotes in the documentation^[at join-lemmy.org/docs/en/users/02-media.html], but they can be pretty useful. It’s ^[text], in case others are curious.

JackbyDev ,

I don’t see foot notes mentioned in the CommonMark spec. spec.commonmark.org/0.31.2/

Anafabula ,
@Anafabula@discuss.tchncs.de avatar

They aren’t in the CommonMark spec but tables and spoilers aren’t either.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

That’s really interesting. AFAIK Lemmy devs do not have a comprehensive markdown documentation. I thought it was CommonMark plus spoilers and Lemmy links, but it seems like they have other changes as well.

JackbyDev ,

I filed a bug with Jerboa a long time ago about something related to this (I don’t remember exactly). I guess right now the philosophy is that every front end/app can render how they see fit.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Ultimately, this is just my opinion about what apps should prioritize in terms of markdown. I don’t think it’s too much of an ask that these be consistent across apps. I’m not sure that there has ever really been an effort by the devs to standardize things in this kind of way. As I said in the post itself. Lemmy is no longer a baby platform. people have been sharing these best practices for markdown for over a year at least.

I think that when someone posts, they should have a reasonable expectation that people will see what they intend.

JackbyDev ,

I agree, it should look the same everywhere

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Yes, I didn’t go that far down the rabbit hole. I decided to very unscientificly pick five categories that I personally thought were relevant and score those. There are lots of markdown types and situations that are not captured here.

Feathercrown ,

Whoa footnotes! That’s a thing?

randint ,
@randint@lemmy.frozeninferno.xyz avatar

I don’t understand why there isn’t a “markdown library” of some sort that software developers can just use in their app. I haven’t looked too deep into this, but it has always seemed to me that every app must individually implement markdown display. Why?

JackbyDev ,

There are Markdown libraries. Many have small differences and many apps have their own custom additions though.

Huschke ,

The problem isn’t that there are no libraries out there that parse Markdown. There are, in fact, plenty for all different languages. The issue is that every site has its own flavor of it. Lemmy does it one way, GitHub another, and something else does it completely differently yet again.

It is, unfortunately, kind of a mess.

echodot ,

Because markdown has committed the worst of old programming sins. It has no standard.

However I’m pretty sure that Lemmy has a standard so there’s not really much excuse.

ICastFist ,
@ICastFist@programming.dev avatar
threelonmusketeers ,

Funny how the competition between charger standards in the alt text was eventually solved with, you guessed it, another standard, called USB-C.

echodot ,

I am fairly sure that the comic isn’t that old. So I think usb-c is what it’s alluding to.

threelonmusketeers ,

that the comic isn’t that old

That comic recently became a teenager. The first USB-C specifications weren’t published until 2014.

aeharding ,
@aeharding@vger.social avatar

Lol. I wish XKCD showed date published.

threelonmusketeers ,

Explain xkcd shows the date published: 2011-07-20

The comic is now a teenager.

P.S. Pedantic rule on the capitalization of xkcd:

The preferred form is “xkcd”, all lower-case. In formal contexts where a lowercase word shouldn’t start a sentence, “XKCD” is an okay alternative. “Xkcd” is frowned upon.

Croquette ,

Isn’t the base markdown standardized?

It’s just that so many flavors advertise themselves as markdown+ flavor?

brian ,

only sort of.

this is the original document defining markdown, and you’ll notice it doesn’t really specify a lot of the things that have compatibility issues across different markdown processors, along with allowing arbitrary html which really depends on where you’re showing it. There’s a list of ambiguous syntax here.

CommonMark is as close to a standard as we have.

Croquette ,

Thanks for the info. I thought that markdownguide.org was the standard as explained in your link from the creator.

By using what is described in markdownguide, I’ve never encountered any issue with any markdown compatible text editor.

gedaliyah OP ,
@gedaliyah@lemmy.world avatar

Lemmy documentation references CommonMark so I’m assuming that is the accepted standard, plus a few Lemmy specific things.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines