After a massive reorganization and recruiting almost 20 new developers and designers from the community, we've made a HUGE amount of additions and improvements to the app, with many more to come! Yay!
NEW ADDITIONS
Redesigned interface! NEW POSTS, COMPACTS POSTS, ALL THE THINGS!
Updated Settings Tab
Tap to collapse comments/threads
Long post text is now truncated so they don't take up your whole screen. They will have a maximum height.
Increased contrast between post/comment cards and background
The way the application interacts with the Lemmy API has been improved, this should reduce crashes in multiple places
BUG FIXES
Tapping community links will no longer crash the app, instead an alert shows saying they're not currently supported (we're working on it now, it needs a few different chunks of work completed)
Duplicate/looping posts when scrolling feeds should no longer happen 🤞
Rapid scrolling through feed should no longer cause crashing 🤞
Mlem icon is now brighter!
KNOWN ISSUES
Some images may extend beyond the post card bounds in Card View
In compact mode, link previews may not load
Comments still have old up/downvote buttons
MORE TO COME
Full a11y compliance which should work perfectly with iOS's Accessibility functionality like Guided Access and Screen Reader. (Thanks to contributor Weston for your expertise and audit!) Note: we weren't able to work this into the current build because of the constant changes to the interface, but some/most of it should be in the next build!
New Profile Tab and Messages Tab
New & improved fullscreen image viewer (not ready in time for this release)
Inbox notifications (not Push, as that takes more work-- more on that later)
Colored thread indicators
Swipe-to-vote
Post/comment saving
Updated NSFW tag/blur
Again, please keep in mind that this is an early beta. As such, it's not feature-complete and there will be bugs and unexpected behavior. Enjoy testing, and we look forward to hearing your bug reports via TestFlight and your feedback! You can comment here or come chat with us in The Mlem Space on Matrix.
PS, and because lots of people have asked-- Mlem app will never support iOS 15. Sorry, but we'd have to rewrite the app from scratch, and that's not something we're gonna do. Additionally, kbin support isn, for now, out-of-reach due to incompatibilities between the kbin and lemmy APIs. Although this may change in the future, for now, it's not going to happen.
Hopefully this update will allow me to login to lemmy.world and try your app out! I'm excited about this platform and the apps to come along with it.
Also, if there is one feature I miss from Reddit (or was it an Apollo feature?) is the ability to hide posts you've upvoted/downvoted. Right now I like to use the "top of day" for my subscribed feeds on lemmy, but if I read the top posts, close the app (I use Memmy at the moment since it's the only other iOS Lemmy app I'm aware of), and come back later, it's all the same content for the most part. Upvoting/downvoting posts you read encourages to interact with a post and also keep your feed full of new content.
I think this will be pretty hard to do, partly because of the federation… I don’t even know how to approach it, except for saving the identifier of all interacted posts, but I guess that wouldn’t scale… maybe it would be simpler to implement it as a server-side feature?
It’s an Apollo-only feature, Reddit doesn’t natively do this.
I’ve been thinking about this feature for a bit, and it seems a straightforward implementation would be to store “seen” post identifiers with a TTL. Since the data is just bits of text, it should not take a lot of storage on device, and the TTL takes care of cleaning up. Since most posts on Reddit would be bumped away from any type of feed within at least a couple of days, a TTL of a week or shorter would probably work for Apollo. Not sure about Lemmy right now though.
I’m not a mobile dev, so would not know exactly how to implement a system like this for Mlem, but if it was a webapp I would use Redis (if server-side) or something like local storage or cookies with TTLs (if bowser-based offline).