After a few delays, Arctic is has finally been submitted to TestFlight and got the green light. For those of you who don’t know what Arctic is, it’s a Lemmy client for iOS 15+ built in pure Swift.

Arctic began as just a little side project for me. As an avid Apollo user I was missing a feature rich and familiar client for IOS. So I started working on Arctic. My primary goal with the project has been creating a native UI appearance, and content presentation, focusing on putting the important content directly in the feed without feeling cluttered. I’m finally at a point where I feel Arctic is stable enough, and houses enough features to go forward with beta testing.

I’m currently testing out Reimplementing the UI in SwiftUI as it allows for quicker iteration, and less boilerplate code. Though I’m not sure about performance yet. SwiftUI seems to be lacking in certain areas such as prefetching APIs for heavy feeds etc. you can find an experimental post feed in settings that uses SwiftUI.

As of right now, I have not set up an issue tracker for Arctic. The reason for this is that I don’t know for sure if I will be Open Sourcing the project yet. I’d like to keep the issues/project in the same repository, and I’m unable to have a private repo with public issues. I’ll be deciding what route I would like to take over the next week or so.

While on the subject of open source, I’d like to mention that Arctic does not collect any information from users devices. The only user specific information that is stored is the Lemmy account JWT Auth token for communication with the Lemmy api. Absolutely no personal information is collected, or leaves your device. Currently I have no plans to implement any analytics in Arctic, and if I ever do, it will be on an opt-in basis, and be completely anonymous only tracking information relevant to Arctic support.


Development

I feel the need to point out that I work a full time job, and am often busy outside of working. With that said Arctic development may be a bit slow compared to some of the other projects out there. I do however plan to release at leas one update every week for now. I will try to push out more frequently as my time permits, even if that means smaller hot-fix type releases. I do plan to support Arctic long term, as I’m already quite invested in the project and have really enjoyed working on it.

Anyways, please don’t hesitate to reach out and ask questions, or offer feedback/suggestions . I’m quite busy most days, but I will do my best to respond as soon as possible.

Almost forgot the most important part, here is the link to Arctic TestFlight


Current Features

  • Submitting / Editing Posts
  • Submitting / Editing Comments
  • Voting on Posts / Comments
  • Blocking Communities / Users / Instances
  • Subscribing to Communities
  • Search (URLs, communities, comments, posts, users)
  • Rich link previews
  • Uploading images
  • Rich Markdown Editor
  • Community browser
  • Basic guest (anonymous) mode
  • Multiple accounts, and quick switcher
  • Integrated Media Viewer
  • Upload manager manage previous media uploads)
  • In-line YouTube videos (experimental, this seems to have broken with recent changes to the YouTube api)

Known Issues:

  • Some in-line links do not recognize taps, I’m looking into overhauling the Markdown rendering and may be switching to swift UI for this, as it is better suited for that task instead of UIKit
  • State Sync, The UI does not update in all cases to reflect changes such as voting on a post, and then viewing it in the post feed
  • Some media fails to load and is unhandled by the UI
  • Scrolling performance needs improvement
  • Long usernames/community names can overlap action buttons
  • Fast scrolling can result in user/community icons showing in the wrong cell
  • Videos do not display in image gallery previews
  • YouTube videos fail to load at times
  • No spoiler support at the moment
  • No in-line images Yet
  • Private Messages are not currently supported, they will be coming soon

Previews

Preview 1

Preview 2

Preview 3