this post was submitted on 31 Jul 2024
463 points (98.7% liked)

Fediverse

28237 readers
282 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

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

An Apps Experiment

Cross-posted from https://lemmy.world/post/18159531

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, 6 apps displayed all markdown correctly:

Alexandrite - 10.0

Connect - 10.0

Jerboa (Official Android client) - 10.0

Photon - 10.0

Summit - 10.0

Voyager - 10.0

Quiblr - 9.5

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 50 comments
sorted by: hot top controversial new old
[–] Xylight@lemm.ee 139 points 3 months ago* (last edited 3 months ago) (7 children)

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)

[–] randint@lemmy.frozeninferno.xyz 18 points 3 months ago

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!

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

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.

load more comments (2 replies)
[–] xnx@slrpnk.net 10 points 3 months ago (2 children)

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

load more comments (2 replies)
load more comments (4 replies)
[–] friend_of_satan@lemmy.world 75 points 3 months ago (2 children)
[–] TomSelleck@lemm.ee 38 points 3 months ago (1 children)

Voyager gang, let’s scroll

[–] paraphrand@lemmy.world 10 points 3 months ago (5 children)

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

load more comments (5 replies)
load more comments (1 replies)
[–] Blaze@sopuli.xyz 44 points 3 months ago (12 children)

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

[–] Nothing4You@programming.dev 45 points 3 months ago (9 children)
if you want to get fancy
you can even use undocumented tables
[–] AmbiguousProps@lemmy.today 18 points 3 months ago

This surprisingly works on boost.

[–] paraphrand@lemmy.world 12 points 3 months ago

Works on Voyager.

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

just as great as lemmy-ui

load more comments (6 replies)
[–] stormio@lemmy.ca 10 points 3 months ago

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

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

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

[–] Nothing4You@programming.dev 9 points 3 months ago (7 children)

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@lemmy.world to be selected:

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

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.

load more comments (8 replies)
load more comments (6 replies)
load more comments (9 replies)
[–] ThinkingThings@lemmy.ca 44 points 3 months ago

Bravo Voyager! 🔥

[–] Grandwolf319@sh.itjust.works 42 points 3 months ago (2 children)
[–] Sine_Fine_Belli@lemmy.world 11 points 3 months ago (6 children)

Same here

Where are all my fellow voyagers at?

load more comments (6 replies)
load more comments (1 replies)
[–] aeharding@vger.social 29 points 3 months ago (8 children)

did
spoiler u
know
spoiler u
can
spoiler nest
spoilers?
spoiler dog pic

[–] TonyTonyChopper@mander.xyz 11 points 3 months ago* (last edited 3 months ago) (4 children)

This displays incorrectly for me on Jerboa

load more comments (4 replies)
load more comments (7 replies)
[–] Anafabula@discuss.tchncs.de 26 points 3 months ago (9 children)

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

[–] MBM@lemmings.world 11 points 3 months ago* (last edited 3 months ago)

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

load more comments (8 replies)
[–] GBU_28@lemm.ee 24 points 3 months ago* (last edited 3 months ago)
[–] randint@lemmy.frozeninferno.xyz 21 points 3 months ago (5 children)

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?

[–] echodot@feddit.uk 40 points 3 months ago (5 children)

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@programming.dev 16 points 3 months ago (1 children)
[–] threelonmusketeers@sh.itjust.works 10 points 3 months ago* (last edited 3 months ago) (4 children)

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

load more comments (4 replies)
[–] gedaliyah@lemmy.world 12 points 3 months ago

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

load more comments (3 replies)
[–] JackbyDev@programming.dev 14 points 3 months ago

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

[–] Huschke@lemmy.world 10 points 3 months ago

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.

load more comments (2 replies)
[–] jordanlund@lemmy.world 21 points 3 months ago* (last edited 3 months ago) (8 children)

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

load more comments (8 replies)
[–] muntedcrocodile@lemm.ee 18 points 3 months ago (5 children)

What about eternity. Pretty sure it hasn't been updated in ages tho.

load more comments (5 replies)
[–] paraphrand@lemmy.world 14 points 3 months ago

Voyager is premo.

[–] nokturne213@sopuli.xyz 12 points 3 months ago (1 children)

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@lemmy.world 12 points 3 months ago (2 children)

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

load more comments (2 replies)
[–] SomeGuy69@lemmy.world 12 points 3 months ago* (last edited 3 months ago) (3 children)

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

load more comments (3 replies)
[–] cabron_offsets@lemmy.world 11 points 3 months ago

Voyager, bruh.

[–] treeofnik@discuss.online 11 points 3 months ago (1 children)

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.

load more comments (1 replies)
[–] Cryophilia@lemmy.world 9 points 3 months ago (11 children)
load more comments (11 replies)
[–] Gointhefridge@lemm.ee 8 points 3 months ago (2 children)

I’ve been using Mlem since week 2 and I have no idea if I’m missing anything or not. I’ve never visited any instance on anything but Mlem.

load more comments (2 replies)
[–] jordanlund@lemmy.world 8 points 3 months ago (1 children)

@gedaliyah@lemmy.world

I have an iOS device and am happy to repeat your methodology! Did you have a test thread or something with all the markdowns?

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

Yes, I used the Markdown Format Guide linked above. For user and community links I used this comment, and for inline images I checked the FOSS icon here.

If you PM me screen grabs, I'll add it.

load more comments (9 replies)
load more comments
view more: next ›