Skip Navigation

UPDATE! Now 30% 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@lemmy.world – Thanks, Jordan! This made for 20 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@sffa.community, which was posted about a year ago in !meta@sffa.community (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, 7 apps displayed all markdown correctly:

Alexandrite - 10.0

Connect - 10.0

Jerboa (Official Android client) - 10.0

Photon - 10.0

Quiblr - 10.0

Summit - 10.0

Voyager - 10.0

Arctic - 9.3

Interstellar - 9.1

Lemmuy-UI - 9.0

Thunder - 8.9

Tesseract - 8.6

mlmym - 8.0

Racoon - 7.6

Boost - 7.3

Eternity - 7.0

Lemmios - 6.9

Sync - 6.9

Lemmynade - 6.1

Avelon - 5.7

More details of testing here

138 comments
  • Thanks for doing those tests. I'm honestly surprised Tes scored as high as it did considering I switched markdown renderers several versions ago and knowingly left a few things unsupported.

    The one I'm using uses Github style markdown, and I've had to add some shims to that to support Lemmy's flavor. Overall, it's much easier to work with (and extend) than markdown-it, but, on the downside, I had to accept that sub- and superscript wouldn't be supported at all. There's also some annoying default behaviors that cannot easily be overridden.

    I'm planning at some point to fork and patch that to address those limitations as well as add some more fine-grained control over the default linkificaiton ( e.g. so usernames without the @ prefix won't be linked as mailto: email addresses). Hopefully those will be accepted upstream, but if not, I'll probably maintain it for my own purposes.

    • A number of apps struggled with treating usernames as mailto links. Another thing I came across that was not tested here was how some apps fail to render tags inside of other tags.

      • tags inside of other tags.

        [Like [This] ] ?

        If so, I didn't even think to handle those (or recall ever seeing them in the wild). lol. I did think to break out comma-delimited words inside a tag and treat them as separate tags.

  • This is helpful!

    If you have a list handy for each of the apps, it could be easier to share it with devs and have them look into it. For example, I know Boost doesn't handle spoiler links, which makes using !dailygames@lemmy.zip a little dicey until I've already solved them.

    I also wish that Lemmy had a nicer spoiler syntax in general. I'd prefer something like code formatting to support both inline and block spoilers.

    Example:

    I can't believe the real culprit was the butler.

     undefined
        
    I was suspicious when the character was sneaking around, but I didn't think he would go so far as to steal the pets.
    
      
    • Spoilers on Lemmy are pretty quirky to be sure. It's really a collapsible menu. I think it would be nice if the devs created true spoilers like you describe. It would also be nice if you could nest spoilers inside of other spoilers to create a multi-layer menu.

      I'm not really holding out for either one, I just think it would be nice.

    • I've added additional details here: https://lemmy.world/comment/11514952

      • Thanks! I'll see about making some posts in the communities for these apps (if others haven't already)

  • @gedaliyah@lemmy.world iOS testing, not sure how you score these so I just listed out the broken stuff.

    Arctic - Link opens in App. Headings fail, images fail, everything else looks fine.

    Avelon - Link opens in browser, not app. Manually went to test post. Bold+Italic fails (Italic works, not Bold). Table fails. Horizontal Rule fails. Spoiler fails. Everything else looks good.

    Bean - Last updated 7 months ago, comments on the app say it's abandoned. Link opens in browser, not app. Manually went to test post. Text formatting block fails so hard, it's not even visible(!) Heading fails. Code Block fails, Inline Code fails. Links and Image work, but not inline, only at the bottom of the post. Table fails. Horizontal rule fails.

    CheeseBot - Did not test. $2.99, no free version.

    Lemmios - Link opens in app. Everything looks and works great EXCEPT Spoilers.

    Mlem - Link opens in browser, not app. Manually went to test post. As with Lemmios, everything looks and works great EXCEPT spoilers.

    Remmel - Instant fail. No development in 2 years, unable to even add an instance or an account. Non-starter.

    Thunder - Hard to test. Lots of lag for some reason. Link opens in browser, not app. Manually went to test post. That being said, EVERYTHING worked. The lag may have been because I had just linked my account. Testing everything above, then coming back to Thunder, I found it fast and responsive.

    Voyager - Link opens in app. EVERYTHING worked. No notes.

    So, ranking them:

    Voyager - EVERYTHING worked. No notes.

    Thunder - Everything worked, but laggy to start with when using a year old account with lots of data. Once it caught up, everything was fine. Would probably be great with a new account.

    Lemmios - Link opens in app by default. Spoilers don't work.

    Mlem - Link opens in browser by default but is user configurable. Spoilers don't work.

    Arctic - A few minor failures.

    Avelon - A few more failures than Arctic.

    Bean - Hey, it works better than Remmel. Probably abandoned.

    Remmel - Instant fail.

    CheeseBot - Did not test. $2.99, no free version.

  • Do you have more info on how you calculated your scores?

    Interesting that you rank the official Lemmy website as not displaying correctly. I would have thought this would be the baseline. Did you use Jerboa as the baseline?

    • I describe the specific things I looked at in the post. It is based on the standard of CommonMark.org, with the lemmy-specific changes: expandable spoilers, user links, and community links. the Lemmy-UI does not link usernames for some reason. It does detect when you are typing a username and auto-format it into a link through a dialogue: @gedaliyah@lemmy.world but it does not detect and link usernames typed in plain text: @gedaliyah@lemmy.world

      • Hmm that site seems down at the moment but I was asking more for specific things that led to specific scores for each.

        Interesting that it gets a mark down for the username thing. But there must be more. Summit gets a 9.7 and you said each category was weighted the same.

        I'm curious if users get notified if you tag them without the full link. That would be a back end action not handled by the app/UI.

        If not, you could argue that Lemmy-UI is more correct since apps that do the link might give the impression the user has been properly tagged and notified.

  • Surprised to see Boost that low in the rankings. Literally the only issue I'm aware of is the spoiler syntax isn't supported. I've always considered it much more solid in the way it feels compared to the other apps. I think I've used most of them.

    • I was not joking about this not being an indication of overall quality. My favorite apps are lower on this list but have other great features! I hope to have a better resource in the future to provide App reviews for different features.

      Spoilers are pretty important though. That's one or like to see in every app.

      • Gotcha. Like some other users, I'm quite curious to see the details of how you arrived at these scores. The spoiler thing can be important, but for some reason it doesn't bother me personally all that much. I'm very curious if there are other rendering issues with Boost outside of that one.

  • No Eternity?

    Personally, I notice it doesn't handle spoilers correctly but otherwise no complaints.

    • Eternity is in active development but does not have a recent release

      • I understand that you might need to limit your scope in some way but excluding one of the best because it is essentially "too stable" seems silly ;p

  • Add SVG, AVIF, interlaced PNG (adam7 encoding), animated WEBP to your list of tests please :D

    • I would love to eventually do another review with user-requested features, not just markdown.

      • I threw together a quick batch of test units for anyone interested.

        To fully pass this test you should see 5 images, 2 of which are animated smoothly.

        Edit: Added a splash of colour to the SVG example.

        Princess Ruto gif animated

        Princess Ruto webp animated

        Cat Interlaced PNG image

        Cat AVIF image

        Girl SVG image

  • Very interesting, thanks for sharing! Could you add links to the apps?

    • The lemmy apps community (this one) has a megathread with links and info about the apps. Let me know if you need the direct link.

      • I checked it out after posting, but I had to go back and forth between threads to find and compare the apps tested. I feel that it would have been easier to check out the apps if there were links directly in your rankings.

  • Images included embedded images, image references, and inline images.

    Did you test anything like gif, mp4, etc.? I have no idea if it is an official feature or whatever, but I have noticed that only some clients support it

    • No, but I have a plan to do a more comprehensive test of features people are interested in. Right now, it can be tricky for users to know which apps have which features unless they try them all. It would be nice to have a resource that compares apps at a glance, although I'm not quite sure what that looks like just yet.

138 comments