Experimenting further with view transitions in Mikro. Tapping an avatar in the timeline now zoom into an author’s details.
Mikro updates
I continue to chip away on Mikro, my third-party Micro.blog app.
It’s not a particularly speedy process. Mainly because I’m not an experienced Swift or SwiftUI developer. But also – and more importantly – since it also competes with the most important job of all: caring for my kids during my paternity leave. 😄
Nothing has really changed with regard to the motivation of the project. I’m still hesitant to ever release it publicly and its goal is not really to bring anything new to Micro.blog. For now, it’s solely for me. But I do use it every day and it has replaced the official Micro.blog app for nearly all tasks.
So, for no particular reason other than I wanted to share, here are some progress since last time:
Sign in works
My Micro.blog credentials are no longer hard coded into Mikro (phew!) and it’s now possible to sign in using any Micro.blog account. The account credentials are stored (and potentially synced) in Apple Keychain so that they remain safe and secure on your devices.
Image viewer tweaks
I’ve spent some time to tweak the transitions between the timeline and the image viewer. There is still some clipping going on that I can’t figure out how to get rid of but it’s getting there.
Translation
I’ve added a button to quickly translate the text of a post using Apple’s built-in translation and UI. I’m not particularly happy about the UI/UX of the translation so I might try to display the translation inline instead of showing the default translation sheet. The Apple translation service is also quite limited but hey – it works. And it took almost no effort to add it.
WYSIWYG Editor
I’ve been experimenting with MarkupEditor to enable rich text editing when composing a post. Overall I’m very happy how far it has gotten me, especially with so little effort. But I really want to polish the UI and UX some more.
Experimenting with @stevengharris@mastodon.social excellent WYSIWYG editor for my homegrown Micro.blog app Mikro. Looks very promising out of the box.
Introducing ”Mikro”
In my day-to-day job I’m a web developer. Admittedly, a web developer with a certain weakness for native apps. However, it’s been quite a while since I built anything substantial in Apple’s frameworks. The app projects I’ve been involved with in a professional capacity have exclusively been React Native projects.
So for the past year, in an attempt to dust the cobwebs off my native app skills, I’ve been tinkering with an app project that I’ve dubbed ”Mikro”. Mikro is a fully native Swift (and SwiftUI) app for Micro.blog.
Mikro is not intended to bring anything new to the Micro.blog platform. In fact – it’s not supposed to be innovative in any way, shape or form. Its sole purpose is to be a canvas for me to learn Swift and SwiftUI. Furthermore, it most probably won’t ever see the light of day.
That being said, I use Mikro every day to keep up with my friends and the Micro.blog community, and it kind of works. Until it falls short.
I don’t really know whether this is a good idea or not, but I figured I’d try spelling out some missing features to see if that gives me enough motivation to see them through.
Missing features:
In my mind, these features are table stakes and will need to be addressed before letting anyone else use Mikro.
- Search: Currently, there is no way to search in Mikro. Which means there is also no way of following new users.
- Notifications: Mikro doesn’t support any notifications right now.
- Long posts: Mikro doesn’t yet support writing long posts
- Attach media: Mikro doesn’t yet support attaching images or videos when writing a new post
- Log in: To underline just how much of a personal project Mikro is – I haven’t yet added any support for logging in. I just use a hardcoded authentication token that’s appended to every API request. 😄
Features I’d like to add:
These features definitely fall into the category of ”nice to have” features. But (of course) that won’t stop me from starting them (and perhaps finishing them) before even attempting the ”must haves” in the list above. Such is the life-cycle of a hobby project.
- Translation: iOS 18 will introduce an API to use on-device-processing to translate texts. I would love to add that to Mikro.
- Inspiration: With iOS 17, Apple introduced a Journaling suggestion API that can give you some inspiration on what to write about when authoring a new post.
- Mac app: when adding some functionality that was iOS-only, I managed to break the Mac app.
Mikro’s future
There probably isn’t one.
(But if there is – I promise to keep you posted.)
Playing around with the new zoom transition styles in iOS 18 for my homemade Micro.blog client.
I finally got my act together and implemented a first version of a video player in the homemade Micro.blog app I’m toying around with. Autoplaying and looping is working correctly but there are still a bunch of little tweaks and customizations that I need to figure out how to implement correctly.
Fastnade en stund framför datorn och skrev om datalagringen i min Micro.blog-klient till att använda SwiftData. Vid första anblick ser det mesta ut att fungera men jag kommer väl säkerligen stöta på nån show-stopper-bugg i samma sekund som jag öppnar appen från sängen. 😅
“Ping” indeed! Första inlägget från min egna app.
Ping.
Även macversionen får lite kärlek.
Appen tar ytterligare några små myrsteg framåt. Denna kväll har jag lagt till flikar för att visa “Mentions” och “Discover” utöver den ordinarie tidslinjen.
Sak jag borde göra: Täta balkongdörren.
Sak jag faktiskt gör: Sitter med stelfrusna tår och kodar en konversationsvy till min Micro.blog-app.
Har lyckats lösa en del meck med inläggsformatering och URL-hantering och fått på plats en första version av navigation till webblänkar. (För vad vore en Micosub-klient utan möjlighet att följa länkar?)
Helt plötsligt blev appen en gnutta livsduglig.
Äntligen lyckats få lite ordning på bildhantering/-rendering. SwiftUI kräver allt en del tillvänjning när man är van vid html+js+css.
Två timmars knappande med SwiftUI och helt plötsligt sitter man med ett embryo till en egen liten Micro.blog/Microsub-app.