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

  • speedmaster@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    I’ve mostly used Memmy so far and just installed Arctic - and I like what I see! UI looks great, everything is pretty smooth, multiple accounts work properly (and overall the most Apollo-esque UX so far)! Really curious to see where this goes!

  • 1brokeguy@aussie.zone
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I still haven’t found the perfect Lemmy app. Just downloaded this app. The UI looks really nice. Not sure where to post feature request but there is no compact post view which is the most glaring missing feature.

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      I just released v0.1.5 which includes a compact posts option. I will likely make some more changes to the layout, but I didn’t want to wait too long to release this feature since it should have been included in the initial release.

      I’ll put in some more work on this feature in the coming days. Here is a little preview of the Compact layout.

    • We1ch@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      This one seems promising, won’t know until we get a compact mode like you said. So far after testing all the Lemmy apps my go to is voyager. Something about that app keeps bring me back, possibly because it reminds me so much of Apollo for Reddit.

      • CreatureSurvive@lemmy.worldOPM
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Voyager sets a good standard for Lemmy apps, it’s very well executed. I have not spent a lot of time using it, as 90% of my time on Lemmy has been spent building Arctic. My only issue with most of the other Lemmy apps I’ve tried, is that the majority of them are not native iOS apps. That’s not inherently an issue, I just tend to prefer native apps with close to native UI. I’m hopeful that I can that I can build a similar experience with Arctic as a native app.

        I’ve obviously drawn a lot of inspiration from Apollo. It’s a little bit conflicting because I don’t want to make an outright copy for Lemmy, but it was so well designed that it’s immediately where my mind goes while adding new views to Arctic. I’m trying my best to build something that feels familiar and and simple, while also staying within a native UI appearance.

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      That’s a pretty obvious one that I probably should of included before releasing. This should not take long to implement though. I might be able to include Compact Posts in the next release, if not then definitely in the next 2 releases.

      This week is quite busy for me, but I’ll do my best to have this out in the next couple of days. Thanks for the suggestion!

  • th3dogcow@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Hi I have noticed a bug when you view an image: Upon closing the image, the status bar at the top of the screen (click, Wi-Fi etc) reappears, forcing the contents of the page to move down. It is rather jarring. I made a screen recording but I am not sure where to upload it or send it (but I am willing to if you let me know).

    Thanks for the app. It looks promising especially with the new compact mode.

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Do you by chance have a non Face ID device? I haven’t tested on not Face ID devices yet, but I’ll open up a simulator when I get home and test it out.

      In the meantime, I’m having a little trouble picturing what is happening exactly so if you could share the screen recording that would be helpful. Unfortunately I do not have an issue tracker setup yet, and TestFlight only allows screenshots. So you can either email me the recording using the Send Beta Feedback button in The TestFlight app, or you can Upload the recording somewhere like Imgur or CatBox and share the link here.

      I’m not sure if Lemmy supports video uploads directly or not through the pictrs api, I haven’t tested that just yet.

  • meridian@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Just wanted to add a few suggestions:

    The ability to hide individual posts so I could hide the instance stickies

    Also I’d like to be able to click the comments bubble from the feed and go straight to comments. Right now I have to click the white space to the right of those icons

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Great suggestions!

      For hiding individual posts, Lemmy does not currently support this. However I could implement the same feature I did for instance blocking and hide these posts locally in Arctic. Of course I’d add an interface to view/un-hide posts

      For the other suggestion, I just changed the behavior so tapping anywhere in the stats area of the feed cells will open the full post. Is that what you are after, or would you prefer it opens the full post and scrolls directly to the comment section?

      • meridian@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Well for posts that might be external links I’d like a way to go straight to comments instead of going to the outside link

  • fry@fry.gs
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Love how fast this runs so far and the UI is very clean! Very excited to see where this goes in the future.

    Any chance on getting mod tools in the near-ish future?

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Glad you’re enjoying it so far! I have tons of features and improvements planned, I just wish I had more free time to bring them to life faster.

      That said, mod tools are high on my list. I’m not sure if any apps are offering mod tools yet, but I know they are desperately needed to keep up with Lemmy’s growth. I can’t really give a time line on this, as I’m not completely familiar with the available mod tools yet.

      • fry@fry.gs
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Sweet, let me know if you need some help testing them out. Would be happy to give feedback or bug hunt. Only one Lemmy app has mod tools at the moment and none have admin tools.

        • CreatureSurvive@lemmy.worldOPM
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Alright, Mod tools are finally coming in the next update. It will allow for in-line moderation much like the web ui. You’ll be able to remove content, ban users, feature posts, speak as a moderator, and submit reports while browsing any community you moderate.

          I’m still working on the report log for viewing and resolving reports, but this should not take long.

          I haven’t started on the admin tools yet, I still need to familiarize myself with those. I’ll hopefully have some of those added in the next couple of updates though.

          • fry@fry.gs
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Awesome! Looking forward to testing them out! Will definitely submit bug reports and provide feedback as needed. Thanks for the awesome app!

            Side note: any plans to add a view new comments tab (like in the web UI). When watching some of the less active communities, it’s sometimes really nice to just see the last few comments of the day and just filter through them that way.

            • CreatureSurvive@lemmy.worldOPM
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              1 year ago

              That’s great, I could really use some feedback on the mod tools. I’ve never been a moderator of anything big enough to have a workflow setup. So any input as to how you’d like to access and use these tools would be great.

              My work schedule was just changed yesterday, so it may be Wednesday before I wrap up this next release, but I’ll do my best to have it out before then.

              A comments feed is a great idea! I’ve noticed the feature in the web UI, but I never actually used it. That should be a relatively easy feature to implement. I’ll see about adding this in the next release. This current release has already taken longer that I had planned, and I’d like to get it out as soon as possible.

              I’m thinking I will add this to the home feed similar to the web UI so you can swap between comments or posts.

              Random question. Do you by chance know what the chat feature is in the comment section of posts? I just noticed it the other day, and was not exactly sure what it did. I noticed it changed the sorting of comments, but it doesn’t appear to be a sort option.

              [edit] never mind, I checked the source, and I see that the chat feature disables hierarchical comments, so the sorting options are absolute.

              • fry@fry.gs
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago

                Awesome, would be happy to provide feedback. Might also be worth your time to set up a test community somewhere and just use that to make some test posts / comments and see how the mod tools work around them. Would be awesome if I could customize swipe actions and put mod tools on them. Since your swipes in this app open a drawer, you could probably put more than 2 actions per side and just make it so the outermost one is always the action for a long swipe. You would one-up the web interface if I could moderate comments from the comments list (discussed earlier) without having to click into a post and find the comment. Even better if I can do it from the search results (which the web UI also doesn’t allow).

                Lastly, mods can see deleted posts so it would be awesome if you had an icon that said “removed by mod” or “removed by admin” that I could see so I can know I should just ignore it. Right now if I tap on a deleted post, I get an error when the app tries to mark it as read on the server.

                • CreatureSurvive@lemmy.worldOPM
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  Great! I did actually set up a test community so I could verify that all the mod tools are working. I wouldn’t want to release them without some internal testing. So everything should be working as intended when the update comes out. I think the real feedback I’ll need is more around the workflow.

                  Currently I have it setup so you can only access mod tools when browsing one of your communities or posts in your community. This is simply due to the fact that moderator lists are not provided with the api results of feed requests. However, there is no reason I couldn’t cache a list of modded communities when launching the app. So I could definitely make these available in the main feed, and search results.

                  As for swipe actions, personally I’m not a huge fan of the drawer style, I just haven’t had the opportunity to implement custom swipe actions just yet, though with your comment, I may get community feedback before I decide to change them. I definitely intend on adding the ability to customize swipe actions in the future. Currently the mod tools are accessible on any post/comment through the long-press/… action menu.

                  When it comes to deleted posts/comments, Lemmy really does not provide any information on these, just a simple Boolean indicating it was deleted/removed but no way to find if it was the user/ a mod/ or an admin who deleted it. I’ll have to double check this, perhaps I overlooked something. So for now I simply state removed by creator. I was however unaware that mods could see deleted/removed content, so I’ll have to test this further. As for the error, I’ll add some checks where applicable to properly indicate the content was deleted.