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 @[email protected] – 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 @[email protected], which was posted about a year ago in [email protected] (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

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 things

Sorry. 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.

  • @gedaliyahOPM
    link
    435 months ago

    Test post:

    Text (of 6)

    Is this italic? (1)

    Is this bold? (1)

    Is this strong? (1)

    Is this strikethrough? (1)

    Is this superscript? (1)

    Is this subscript? (1)

    Format (of 5)

    Quotes (1)

    Is this

    a blockquote?

    Is this separated?

    List (1)

    • Is
    • This
      1. A
      2. mixed
        • level
    • list?

    Code (1)

    def hello_world():
        print("Is this code block?")
    

    Is this inline code?

    Table (1)

    Is This a Table?
    Left? Center? Right?

    Horizontal line (1)

    Is there a line below?


    Spoilers (1)

    Is this expandable?

    Is this collapsible?

    Links (of 4)

    Is this a link? (1)

    Did it open in the app? (1)

    User: @[email protected] (Does it link to the user?) (1)

    Community: [email protected] (Does it link to the community) (1)

    Images (of 3)

    Lemmy

    Is Lemmy above? (1)

    Lemmy

    Is Lemmy above? (1)

    Is Lemmy between the arrows? ➡️ Lemmy ⬅️ (1)

    • @gedaliyahOPM
      link
      19
      edit-2
      5 months ago

      Detailed results:

      Earlier results

      My testing captures are below:

      Summit:

      Photon:

      Arctic:

      Interstellar:

      Lemmy-UI:

      Thunder:

      Tesseract:

      Quiblr:

      mlmym:

      Lemmios:

      Mlem:

      Boost:

      Eternity:

      Sync:

      Connect:

      Lemmynade:

      Avelon:

      • Aurelius
        link
        8
        edit-2
        5 months ago

        Quiblr should now have each of the markdown criteria fixed. Thank you for the feedback and for your diligence in digging into the markdown and promoting a more consistent Lemmy experience across apps.

        Edit: Looks like I missed the “opening link in-app”. This should be updated now!

      • @gedaliyahOPM
        link
        25 months ago

        Send screenshots of the test post linked above and I’ll update it. That was not my result on the device/version I used

    • Clay_pidgin
      link
      fedilink
      English
      25 months ago

      Connect ok android - everything works except superscript and subscript.

      • Morphit
        link
        fedilink
        2
        edit-2
        5 months ago

        Seems to have been fixed 100% now. 🎉

        The third Lemmy picture was rendering full width, it’s now icon sized.

        • Clay_pidgin
          link
          fedilink
          English
          15 months ago

          Oh I didn’t know what size the third Lemmy ought to be.

          Agree, new update today fixed these!

      • @gedaliyahOPM
        link
        25 months ago

        Thanks! I’ll update these tomorrow

      • @gedaliyahOPM
        link
        15 months ago

        Arctic: Inline images fail, everything else works!

        Avelon: Strong and Subscript both fail. Code, Table, Spoilers, HR all fail. Everything else works!

        It looks like the code block and inline code are correct… Am I missing something?

        Lemmios: Subscript and Quotes fail, Code and Spoilers Fail

        Same thing, the code looks correct to me.

        Mlem: Subscript fails, Spoiler fails, 2nd inline image fails.

        • @jordanlund
          link
          25 months ago

          The code block varies from app to app. I gave it a pass here because it did format it, it just didn’t format it in full color the way other apps do.

          • @gedaliyahOPM
            link
            25 months ago

            That is my experience as well. I’d like to eventually have some more complete review that covers more user requested features and I think having a quality code display would be one of them. There is a lot of discussion about and sharing code, so for some communities it would make a huge difference.