Show HN: Oliphaunt – A native Mastodon client for macOS

(testflight.apple.com)

103 points | by anosidium 4 days ago ago

38 comments

  • whalesalad 4 days ago ago

    What’s the sense on mastodon lately? I feel like the core concept is also its Achilles heel in that with all these disjointed communities it’s really not a community at all.

    • renewedrebecca 3 days ago ago

      It's not very community-like out of the box, that's totally true.

      OTOH, after you follow both people and hashtags, it feels pretty much like everything else, more or less.

    • jonquark 4 days ago ago

      It's the only social media I still use.

      I don't notice "disjointed communities" I just look at the posts from people I follow without knowing which server they are on. I'm aware you can see a list of posts on your local server but I imagine people on most instances (unless the instance has a strong theme like for people from a particular location) never use it.

  • thephyber 4 days ago ago

    New iOS (XCode) developer here.

    Do you have any pro tips for optimizing workflow, reducing toil in XCode, or speeding up UI testing?

  • grishka 4 days ago ago

    It does look nice.

    I can't seem to figure out how to open posts and profiles though. Neither single nor double-clicking does anything. Sometimes double-clicking a post that contains a link would open the link in the web browser. The only thing that works is right click -> open in new window. MacOS 14.7.5 (23H527)

    • anosidium 4 days ago ago

      Thanks!

      Yes, that’s intentional — to view a thread or profile, use the contextual menu (right-click or control-click). Clicking is reserved for posts that contain a link or preview card, which will open in the browser.

  • dlachausse 4 days ago ago

    Always great to see native macOS apps! Is there a reason you aren’t using SwiftUI for the whole thing and that you opted for Core Data instead of Swift Data?

    • wpm 4 days ago ago

      Swift Data is CoreData in a wrapper.

      Also, not OP, but I’m glad it’s written in AppKit vs SwiftUI purely; AppKit just feels better on the desktop. I can always “smell” a SwiftUI app just like I can an Electron app.

      • drcongo 4 days ago ago

        If the Settings app on current macOS is SwiftUI, then I can too. It's horrible.

        • sgt 4 days ago ago

          Never thought of that. Is that why the Settings app is so slow? If I click on one of the menu items on the left, it takes half a second or more to load the screen.

          • galad87 4 days ago ago

            SwiftUI doesn't help, but each panel is a separate process. The previous version of System Preferences hid the delay by showing an animation, the new one doesn't.

            • zerkten 4 days ago ago

              Why is a separate process necessary here?

              • pvg 4 days ago ago

                You don’t want login settings, cursor blink rate settings and random app settings running in the same process

                • kstrauser 4 days ago ago

                  Why? Is there a mechanism by which one of those would be able to interfere with another?

                  • pvg 4 days ago ago

                    Yes, the mechanism of “memory access”.

                    • sgt 3 days ago ago

                      I still think they could easily load quicker though. Even switching between the different menu items in Settings takes long, when going back to ones that you already used earlier. They don't seem to be doing a lot of caching. At least they could keep those processes running for a while.

                      Unless it's actually SwiftUI taking time to render that UI, which would be bizarre.

                      As a macOS user I am so used to everything happening in the blink of an eye, so this is something that stands out. It's really not a big problem, 300-400ms.

                    • kstrauser 3 days ago ago

                      Ok, let me rewind a little. Are preference panes actually running apps? I imagined them more conceptually similar to an HTML form that System Settings displayed and processed and then wrote the results back to a plist or whatever. And in that model, there wouldn’t be a clear advantage to having separate processes.

                      Was I imagining that wrong?

          • tough 4 days ago ago

            Search is also broken af raycast saves me from going mad

    • anosidium 4 days ago ago

      Thanks! I’m glad to hear that.

      It’s an AppKit-first app — I’ve used SwiftUI in parts where it fits well, but I’ve avoided relying on it entirely because it’s still maturing, especially on macOS. In certain areas, it can compromise the native look and feel, or introduce unexpected behaviour.

      As for Core Data, it’s a proven and robust framework that already does everything I need. Swift Data is still relatively new and doesn’t yet offer the same level of flexibility or stability for more advanced use cases.

      • aegypti 4 days ago ago

        Towards the end of COVID lockdowns I wrote a small, native macOS replacement for Zotero and ended up having to go with AppKit. Bit disappointing to hear the look and feel of a Mac assed mac app still hasn’t been replicated in SwiftUI.

        Do you write about your experience with macOS dev at all? I would love to hear about it. I still look back fondly on that experience and toss around the idea of revisiting it, Documentation Archive and all.

  • noiv 4 days ago ago

    I like the Mac integration and all the features in the menu. Did I miss bigger fonts somewhere?

    • anosidium 4 days ago ago

      Nope. I will add this feature in future updates.

  • mountainriver 4 days ago ago

    The link goes to testflight?

    • anosidium 4 days ago ago

      Yes. It's not on the Mac App Store yet.

  • andrewmcwatters 4 days ago ago

    Nicely done, looks good!

  • techlatest_net 4 days ago ago

    Thanks for the TestFlight invite! I’ll install the iOS build and keep an eye on performance, UI responsiveness, and any crash logs. Happy to send feedback through the TestFlight app if anything comes up.

  • internetter 4 days ago ago

    Why isn't it open source? Ice Cubes is pretty good and FOSS

    • renewedrebecca 3 days ago ago

      Then use Ice Cubes. Not everything has to be FOSS.

      • AlexeyBelov 3 days ago ago

        What's the argument against it?

  • zimpenfish 4 days ago ago

    Alas, fell at the first hurdle by saying my Akkoma and GotoSocial instances aren't valid.

    • anosidium 4 days ago ago

      Could you please give me some instance URLs so that I can check?

      • rglullis 4 days ago ago

        You can find out about different servers on https://fedidb.com

        • stonogo 4 days ago ago

          FediDB doesn't track GoToSocial servers, because of a dispute about scraping/crawling.

          • rglullis 4 days ago ago

            I guess that's been solved, because you can go to https://fedidb.com/servers and there are ~10 GtS servers being listed, all of them on the newest version.

          • anosidium 4 days ago ago

            Is there a better source that tracks a broader range of Fediverse servers? At the moment, my app officially supports Mastodon, though I’m aware there are derivative forks and other compatible implementations.

        • anosidium 4 days ago ago

          Thanks, that's helpful!

      • zimpenfish 4 days ago ago

        Added a couple of mine to the issue I filed earlier.