this post was submitted on 31 Jul 2024
7 points (100.0% liked)

Lemmy Apps

5504 readers
1 users here now

A home for discussion of Lemmy apps and tools for all platforms.

RULES:


An extensive list of Lemmy apps is available here:

LemmyApps.com

or lemmyapps.netlify.app


Visit our partner Communities!

Lemmy Plugins and Userscripts is a great place to enhance the Lemmy browsing experience. !plugins@sh.itjust.works

Lemmy Integrations is a community about all integrations with the lemmy API. Bots, Scripts, New Apps, etc. !lemmy_integrations@lemmy.dbzer0.com

Lemmy Bots and Tools is a place to discuss and show off bots, tools, front ends, etc. you’re making that relate to lemmy. !lemmy_dev@programming.dev

Lemmy App Development is a place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform. !lemmydev@lemm.ee

founded 1 year ago
MODERATORS
 

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

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

top 44 comments
sorted by: hot top controversial new old
[–] gedaliyah@lemmy.world 3 points 3 months ago (1 children)

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: @gedaliyah@lemmy.world (Does it link to the user?) (1)

Community: !lemmyapps@lemmy.world (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)

[–] gedaliyah@lemmy.world 1 points 3 months ago* (last edited 3 months ago) (1 children)

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@lemmy.world 3 points 3 months ago* (last edited 3 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!

[–] Plum@lemmy.world 3 points 3 months ago (2 children)

Voyager fangirl here. I have used boost, sync, and jerboa, and voyager won pretty quickly.

[–] 667@lemmy.radio 0 points 3 months ago (1 children)

Having come from Apollo, the dev(s?) really focused on parity and it made the changeover simple.

[–] Plum@lemmy.world 1 points 3 months ago

I used reddit is fun exclusively. Once I figured out compact post size, I was sold. It has every functionality and a great UI and it hardly ever barfs. And it has a Dracula theme for dark mode. Brilliant. Seamless.

[–] powermaker450@discuss.tchncs.de 0 points 3 months ago (1 children)

I liked Voyager but it didn't have any link handling last time I used it, not even with Lemmy Redirect, so I just stuck with Thunder.

[–] aeharding@vger.social 0 points 3 months ago (1 children)

Voyager has had full link handling for a while (including Lemmy redirect). If there is something specific not working please let me know!

[–] powermaker450@discuss.tchncs.de 1 points 3 months ago (1 children)

Interesting! I see that it does have link handling now, although I still don't see it appearing in Lemmy Redirect for me.

[–] Rikj000@discuss.tchncs.de 1 points 3 months ago (2 children)

You forgot about Eternity

Would love to hear about it's score since it's my favorite way to browse Lemmy :)

[–] gedaliyah@lemmy.world 1 points 3 months ago (1 children)

added above by popular demand

[–] Rikj000@discuss.tchncs.de 1 points 3 months ago

Yay, Eternity fans! So glad that the dev has returned, too.

[–] ptz@dubvee.org 1 points 3 months ago (1 children)

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.

[–] gedaliyah@lemmy.world 0 points 3 months ago (1 children)

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.

[–] ptz@dubvee.org 1 points 3 months ago (1 children)

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.

[–] gedaliyah@lemmy.world 1 points 3 months ago (1 children)

Yes, I have seen strange things happen when using tables inside spoilers, or usernames inside code-blocks, etc. Those cases were not tested, but would be interesting to see.

[–] ptz@dubvee.org 1 points 3 months ago (1 children)

Table Inside Spoiler| Heading 1 | Heading 2 | Heading 3 | |


|


|


| Testing | 1 | 2 |

(Yay, works on my machine)

Works on Thunder.

[–] idunnololz@lemmy.world 1 points 3 months ago (1 children)

Hello! I'm the dev of Summit. Do you remember what Summit failed on? I would be very interested so I can fix it (seems like it failed maybe one or two things I'm guessing?)

Anyways thanks for doing this!

[–] idunnololz@lemmy.world 2 points 3 months ago (2 children)

Ah I think I puzzled it out. Summit doesn't render subscripts correctly. I'll fix this in the next update.

[–] TheBest@midwest.social 2 points 3 months ago

This is so cool to see, what a great dev

[–] gedaliyah@lemmy.world 1 points 3 months ago

Great! Thank you for the great app!

[–] mrus@lemmy.sdf.org 1 points 3 months ago

I'm a bit sad for Neon Modem Overdrive to not have been included to make it a flat 1.0 on that list. :-)

[–] jordanlund@lemmy.world 1 points 3 months ago* (last edited 3 months ago)

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

[–] otter@lemmy.ca 0 points 3 months ago* (last edited 3 months ago) (2 children)

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.

I was suspicious when the character was sneaking around, but I didn't think he would go so far as to steal the pets.
[–] gedaliyah@lemmy.world 1 points 3 months ago

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.

[–] gedaliyah@lemmy.world 1 points 3 months ago

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

[–] jwr1@kbin.earth 0 points 3 months ago (1 children)

Thanks for the testing! I'm the dev of Interstellar and looked through the list to try to see what I need to improve, but I believe everything you mentioned in the post already renders correctly. Would you be able to give the specific results you found (on what doesn't work) from your testing?

For reference, I viewed the Lemmy Markdown Formatting Guide you linked, and everything seemed to be working fine on the app.

[–] gedaliyah@lemmy.world 1 points 3 months ago

By the way, I haven't tested interstellar in a while before this and I was extremely impressed. It's become a real standout app! Thanks for your work

[–] Toes@ani.social 0 points 3 months ago (1 children)

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

[–] gedaliyah@lemmy.world 0 points 3 months ago (1 children)

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

[–] Toes@ani.social 0 points 3 months ago* (last edited 3 months ago) (1 children)

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

Image

Princess Ruto webp animated

Image

Cat Interlaced PNG image

Image

Cat AVIF image

Image

Girl SVG image

Image

[–] ChaoticNeutralCzech@feddit.org 1 points 3 months ago* (last edited 3 months ago) (1 children)

For the record, the SVG is (edit: no longer) only black and transparent so it is probably OK if you see a blank rectangle in pure-black dark mode.

[–] Toes@ani.social 1 points 3 months ago

Thanks for pointing that out. I updated the image.

[–] scottywh@lemmy.world -1 points 3 months ago (1 children)

Your results with Sync are drastically different than mine.

I'm seeing 6 out of 6 and 5 out of 5 on the first two tests.

[–] gedaliyah@lemmy.world 1 points 3 months ago (1 children)

From the image above, it looks like the subscript did not render (and the superscript did not terminate correctly, although that would not be a deduction). The two separate quotes were rendered as one continuous block. This image doesn't show the table, but on my device the table does not render the correct column alignment. Maybe you can show me what you mean?

[–] scottywh@lemmy.world 0 points 3 months ago (1 children)

The table looks to be correct to me... Looks like maybe you're right about the sub and superscripts actually though.

[–] kuberoot@discuss.tchncs.de 1 points 3 months ago

In the table, the Center and Right text is supposed to be center and right-aligned within their respective cells

[–] fisco@lemmy.ml -1 points 3 months ago (3 children)

Your post managed to kill off a very accomplished and continually developing App....well done🤦🏻‍♂️

[–] akesi_seli@lemmy.world 1 points 3 months ago

It's unlikely that any dev "kills" his work after being so committed to it and leaves users, whom he knew almost one by one, with a handful of dust.

[–] sag@lemm.ee 1 points 3 months ago

Not OP fault. It was my fault that I mentioned him : (

[–] mashbooq@lemmy.world 1 points 3 months ago

It's not OP's fault that Raccoon's developer chose to be extra and delete their app from the internet for scoring low on a Markdown implementation rating, especially since the level of implementation was a design decision. Further, a pull request was coming soon that would have dramatically improved it. It's too bad that the developer being dramatic killed off a very nice app.