this post was submitted on 12 Feb 2024
6 points (100.0% liked)

Arctic

401 readers
1 users here now

Arctic is a Lemmy client for iOS built on pure Swift. It currently supports iOS 15+ and Lemmy v0.17+

Get the latest version on TestFlight, or check it out on the AppStore.

If you would like to support Arctic’s development, feel free to Buy Me A Coffee

founded 1 year ago
MODERATORS
 

I’m a big fan of the app, and I think it does stand out. However, there’s a couple of areas that I think really do need to be addressed, especially if it’s going to become the Apollo of lemmy.

First, using the link widget should at the very least autopopulate with the highlighted text, and if the paste buffer contains a url, probably autopopulate with that as well. It’s beyond frustrating to select a block of text to turn into a link, only to have to go back, copy the text into the buffer, then recopy the link into the buffer, and then paste it in. All of the data are already available via the api.

The second is that switching user accounts should not reset the current post view back to the list of posts view. In Apollo, a user could switch accounts (say, to a mod or other dedicated account) while looking at a post/thread and still continue with the current view. One could even do this in the course of writing a reply, so that if (for example) an author had a professional account for their books and a separate account for general interactions, they could switch over if it was appropriate to apply to someone as a published SF author as opposed to the account where they posted cat memes. I recognize that the architecture of lemmy might make that inapplicable in some cases (eg if the switched account is on an instance that doesn’t have that particular post for whatever reason), but I think that should be an edge case rather than having the reset apply across the board.

The last one is a feature that I don’t think even Apollo got right but which one of the other lemmy apps is very close to nailing. Having a reply interrupted, either because the app crashed or got backgrounded or was interrupted by the user, shouldn’t erase the possibility of resuming. The typed response, along with the comment it’s responding to, should be saved out. Apollo only saved the text of the comment, while the other lemmy app lets you jump right back into it with both the response and the target. I’d love to see this at least at the single comment level, if not queuing up several independently across accounts. The storage space is trivial and the context is ( I imagine) available.

That all said, this is a remarkable and mature app, especially given how new it is, and I love it.

top 4 comments
sorted by: hot top controversial new old
[–] CreatureSurvive 6 points 10 months ago (1 children)

Thank you so much for the detailed requests, it’s definitely a big help!

The markdown editor in arctic is relatively new. I rewrote it not long ago, to allow for more features and extensibility. In the process of rewriting, I left a few features out that I had originally included. Link detection is one of those features. I am planning to go back through and expand the editor with support for contextual awareness. Basically links & highlighted will be detected and handled when when using the toolbar. Lists will insert a new bullet when hitting return, headers, and quotes will start on a new line, etc. I’m not exactly sure when I’ll start working on the editor again, but hopefully in the next week I will have some time for this.

Account switching definitely needs some work. Account switching was one of the earliest features I added, and back then Arctic didn’t support resolving Lemmy urls for links to other instances, making it impossible to keep the current context open. I’ve since added support for non-local urls, so this should not be hard to implement. One catch being, that this will only work for open posts, post feeds will need to reload, or paging will be thrown off when switching instances. The one exception to this being, if you switch to an account on the same instance, and are not browsing your home (subscriptions) feed.

As for resuming composition, I actually started working on this a while back and never really finished it. I couldn’t decide on how to implement the UI for it. I had thought about using the floating button approach, but it felt wrong. So I ended up adding a drafts button in the comment composer so you could insert a draft from a previous unfinished comment. This works, but you still need to browse and find the comment you were replying to, etc. It feels a little half baked in its current state. This is also supported for posts as well, though I haven’t added the drafts button for that. So, the functionality is mostly there, I just need to decide on how to implement it in the UI to finish ironing it out.

I’ll see I can get some of this implemented in the next TestFlight build. Thank you so much for the great feedback!

[–] PrinceWith999Enemies 2 points 10 months ago (1 children)

It makes perfect sense to reset if you’re browsing on an account localized feed, unless you’re in a post that is available (I assume by the same ID - I’m not familiar with the lemmy api) commonly between both feeds. If you’re in a browsing posts mode or you’re otherwise changing contexts in such a way that you simply cannot swap accounts, the. The reset makes perfect sense and is the only way that I can see it being done.

[–] CreatureSurvive 3 points 10 months ago (1 children)

I had a bit of time to work on this last night and added some improvements to the markdown editor. Links are now handled rationally. If text is highlighted when tapping the link action, it will check if it’s a url, if so it is added as the url field, if not it is added as the title. It will also replace the selected text with the link rather than inserting the link after the selection. The same behavior was also added to the image action. I still have some more work to do for other actions.

I haven’t gotten to the account switching and comment/post drafted yet, but I should be able to work on those tonight or tomorrow.

[–] PrinceWith999Enemies 3 points 10 months ago

You absolutely rock! Thank you!