Juan Arzola
@ancientbuho.bsky.social
610 followers 490 following 290 posts
Apple platforms dev, BG3 modding, my dog, photography etc. Working on @benkyobox.bsky.social, a simple but powerful memorization app: https://www.autorelease.io/benkyobox/ Live coding: https://www.twitch.tv/ancientbuho Other: https://linktr.ee/juanarzola
Posts Media Videos Starter Packs
Pinned
ancientbuho.bsky.social
Benkyo Box, a pretty simple general-purpose flashcard and memorization app for iPhone and iPad is now in the AppStore. I use it to remember new concepts that I come across or to improve recall on existing ones.

I hope that you find it useful: apple.co/44aXpuH

#flashcards #BenkyoBox
‎BenkyoBox
‎Benkyo Box is a flashcard app that is like your notes, but of the things that you want to commit to memory like names, fun facts, or exam material. These are the facts that you don't want to bury in ...
apple.co
ancientbuho.bsky.social
Took me most summer, and some rounds with App Review, but it's finally here 🧡

Next up: probably some form of Anki import, since it's a common request (with limits, since we don't overlap all features). Also, can't wait for the quick follow up to be approved, since there's a lot of fixes in it.
benkyobox.bsky.social
Benkyo Box is out for Mac 🚀

It's a native #Mac study app with plenty of features to study, import, organize and clear your study queue. apple.co/42QuGt6

Known bugs (fixes in Apple review):
- Some cards are not included when exporting using drag/drop
- State restoration breaks selection in calendar
A promo image of Benkyo Box for Mac.

It has an import window with questions and answers for the fictional role-playing show "Fire in the Role". It has a study view with a Pomeranian picture and the answer "Pomeranian". In the back of these windows there's a Library window with the current progress and a Computer History Museum folder selected.
Reposted by Juan Arzola
iamkonstantin.eu
Just a few days until I launch my new app on iPhone and iPad! It's called Flowvibe - it takes the songs you already love and turns them into personalised, mood-based playlists! No robots involved, just science and good vibes. You can pre-order it here: apps.apple.com/be/app/flowv... #IndieDev
‎Flowvi.be Mood Playlist Maker
‎Flowvi.be – Mood Music Playlist Maker Transform your favourite tunes into playlists that perfectly fit your mood. No sign-up. No random choices. Just your songs, mixed for the moment. You'll love i...
apps.apple.com
ancientbuho.bsky.social
what if the entitlements file was written in Swift and type safe (so I don't get an app rejection due to switching an entitlement from "true" to "false", which apparently is an invalid way of disabling it) #xcode
ancientbuho.bsky.social
one of my favorite Blender features is Shift+R to "repeat last action". Feels like it should be a macOS system action, like undo/redo.
ancientbuho.bsky.social
annoyingly, invoking transform(updating:) in an attributed string (even without any changes). Auto-applies auto-correct.
ancientbuho.bsky.social
struggled with TextEditor attributed text selection (which was broken enough to make me reject an in-review build), and a few minutes watching a WWDC video helped developer.apple.com/videos/play/...

also the test data became unintentionally poetic

#SwiftUI
a SwiftUI TextEditor with attributed text. The title of the view is "Quick Entry". The text in the editor reads:

Oh well
Does this work

What the hell
The cursor did not jump

I am just changing 
attributes not text

And udate(transforming:)
Keeps selection sane
ancientbuho.bsky.social
one day TipKit popovers will reliably point at buttons
ancientbuho.bsky.social
happy Critical Role Campaign 4 day xD
brennanleemulligan.bsky.social
Tonight, the adventure begins! I could not be more thrilled to embark on this epic journey with these amazing performers. The world of Aramán awaits, tune in tonight at 7pm PT for the premiere of Campaign 4 of Critical Role!
ancientbuho.bsky.social
glad it helps! honestly, that crossed my mind, read the docs, and noticed my typo xD
ancientbuho.bsky.social
If you ever struggle with dynamic #SwiftUI menu bar commands not updating with state from the active window of their `WindowGroup`, and getting state from the the initially created window of the group instead, tip: `focusedValue` != `focusedSceneValue` 🤦🏻
ancientbuho.bsky.social
A system setting "prioritize dock visibility" when iPad windowing is turned on would make me enjoy windowing on iPad a little more.

Dock auto-hide feels a little to aggressive, specially with iPhone apps running on an iPad mini, which are like 2 pixels too tall to fit with the dock.
ancientbuho.bsky.social
Some subtle #LiquidGlass effect to the Gauge and Gauge pointer, here in multiple themes.

Fun fact, rotationEffect doesn't work very well with .glassEffect, presumably because it doesn't change the view's geometry.

Had to animate the path inside the Shape for it to work with glassEffect.

#SwiftUI
ancientbuho.bsky.social
on branches, I have a habit of delaying commits because #xcode 's filter by source control status is so useful for grouping related, current changes - lost when you commit.

But I wish I didn't have this habit, and Xcode had a filter for changes in the current branch, so that I can just commit.
ancientbuho.bsky.social
Well, a day later than the iOS 26 update is not too bad :)

Benkyo Box, the app for truly remembering anything, is now in Liquid Glass. apple.co/42QuGt6

Mac is very close, and very capable - feel free to give it a try at: testflight.apple.com/join/jZXFDA46

#ios26 #liquidglass
benkyobox.bsky.social
We are proud of our Liquid Glass update, now available in the AppStore 🚀. And as always, hold on tight for the Mac update, coming soon!

#liquidglass #apps
A screenshot of 3 versions of Benkyo Box, for iPad, Mac and iPhone. They all show the main interface, with a Today View with your progress. iPad and Mac selected the Computer History Museum folder, with a card for the IBM 1401 computer selected. A badge for Mac Coming Soon is attached to the Mac. The top says "Capture and learn what matters to you, now in Liquid Glass"
ancientbuho.bsky.social
Ah the thing about automating App Store screenshots with Fastlane is that it also becomes a visual automated test where you find bugs at the last minute (bad dark mode icon here) #iosdev
A screenshot of AppStore app screenshots for Benkyo Box, a learning app. The middle screenshot is of an annotated fruits image, annotating lemon and pomegranate. The “create annotation” button is white, over a dark gray background.
ancientbuho.bsky.social
Walking to the SF Swift Language meetup is always a good chance to take some city pics.
Photo of the Salesforce tower taken from a sidewalk. Cars in the foreground with their headlights on. Phot of some buildings in San Francisco. One of them has an unique, twisted pattern.
ancientbuho.bsky.social
automatic #SwiftData CloudKit sync to fail because that record doesn't exist in the server.

If so, this is broken, it should create all fields it'll eventually need so that they can be properly added to the production CloudKit schema. 2/2
ancientbuho.bsky.social
I am still checking, butI think that I have encountered this:

developer.apple.com/forums/thr…#CoreDatata presumably created a new CloudKit CKAsset field for an `externalStorage` property at runtime when it encountered an asset that is too large for the database. This causes ... 1/2
https://developer.apple.com/forums/thr…
ancientbuho.bsky.social
Why? no idea, but I guess the sheet() modifier somehow is very sensitive to the layout of the view it modifies (used to calculate the sheet's own size), and buttons throw it off and surface bugs.
ancientbuho.bsky.social
But just today, I fixed navigation header titles in a presented split view (which were stuck to the first screen's title) by moving the sheet presentation from the button to a parent.
ancientbuho.bsky.social
In #swiftui sometimes i present popovers directly from buttons so that popovers point to the button. And on design iterations, i may turn those popovers into sheets or whatever.