With all the buzz about Final Cut, it sure would have been a good time for me to have had my clapperboard app ready to go, huh? šŸ˜’
I think I can take a sprint at this before WWDC, might make some progress. I have Freeform prepped, Xcode open. I have a bunch of things to do before I can get this to a shippable 1.0, including changing the core navigation & library structure, and removing all the SwiftUI I added in the early days. Fortunately, past-me was smart enough to port the whole project to Swift already, so it’s ready for me to pick up and run with it
Rework in progress šŸ‘Œ
Since I started this project in 2019, the design language I use in my apps has shifted a bit — and that of iPadOS, too. Restructuring it is kinda fun

If I'm to cut features to get to a ship target, it’ll primarily be by not including iPhone & Mac support at launch. Even so, I'll be progressing all three platforms at the same time as I go, as iPad still needs multiple resizable windows and compact/regular size class switching.

No platforms means I don't have to have a sync strategy out of the gate, too… šŸ‘€

Working a little on my editing modes and interactions, reducing the gesture overload I had in earlier versions and splitting them out into distinct states (rearranging vs text/field editing, etc)
Fewer mystery meat gestures and weird animations, more buttons
Finding the right SF Symbols for my use case is impossible, so I think I'm going to use this form instead
Layouts all work on iPhone!
My module library was a UITableView, of all things. Well that had to go
As I flesh out the rest of the UI, I'm starting to see ways for this to make sense on macOS, even if the use cases are very different to iPhone or iPad — I didn't get that impression from the last two development sprints I did on this (in 2019, and 2020)
Quick UI roundup; I can see a path towards completing and shipping this app before WWDC, on iPad. I don't know that I'll be able to hit that target before distraction comes knocking, but it's worth a try. I've made quite a bit of progress in the past day, and it's starting to look good
Doing away with the context menus frees up some confusion with Pencil usage. Trying out a dashed line pattern too, though it might still need some tweaking. I also cleaned up the @takeoneapp Mastodon profile a tad
Here's a bunch of screenshots from the early development of @takeoneapp, in June 2019, since I haven't posted them over here. That’s before I'd started work on Broadcasts or Pastel, in a very different era of iPad app development. In hindsight, the improvements to the iPad SDK vis a vis UIKit & Mac Catalyst have been tremendous in the past 4 years. All of that effort is going to pay off for an AR headset built around the iPadOS app platform, if the rumors are true
Reimplemented the stripes color picker as a collection view, works nicely šŸ‘Œ
Those popovers adapt to my favorite sheet style on iPhone, custom title and close button included šŸ˜„
Very easy to add new palettes too — I can copy paste them into the codebase directly from @pastelapp šŸ˜„
I'm quite partial to the hazard stripes!
End of day 2! @takeoneapp is starting to look so good that if I don't ship this at the end of this sprint, I will be so mad at myself. Apart from the major areas I have yet to implement, I think the UI is nearly at a production-ready level — you'd easily mistake it for a shipping app. I maaay do a TestFlight run of this before release, but no promises. I expect pricing to be very similar to Broadcasts and Pastel, so free to try + $5 ish IAP to make more than one board (or something like that)
Instead of struggling with PencilKit for the rest of the day, I went ahead and built a template picker instead. Another item checked off the todo list āœ…
One way for me to punt the PencilKit scaling issue down the road a bit is to ship with UIRequiresFullScreen=YES šŸ¤” It would mean explicitly opting out of splitscreen and Stage Manager resizing for the time being, but that actually might be OK in this case? It's a very fullscreen-centric app, and that changes a release blocker to minor user annoyance. May just be the way to go
@stroughtonsmith I’m still sad from when the last TestFlight version expired.
@sirshannon that was a different app record, too, so old testers will not automatically be invited and will have to sign up again for this one
@stroughtonsmith bee movie, except it's a digital clapper board
@stroughtonsmith which font are you using for the digits? I’m using a similar font for https://www.railcontrol.pro, but digit one doesn’t render as nicely as yours šŸ˜‡
Easy Control for MƤrklin CS3 - RailControl Pro

Connect your MƤrklin Central Station 3 with ease to your iPhone, iPad or Mac

@jncn it was a font once, but they’re PNGs now with some Photoshop effects
@stroughtonsmith Have them sync between Take One and Pastel :P
@stroughtonsmith would love to know what 'This App' is, but sadly, no alt-text in your images so I can't get excited about it. Mind adding some alt-text for those of us who are optically challenged?
@stroughtonsmith Please make the clapper break out of the NSWindow frame. This will be a good use of your time šŸ˜…
@stroughtonsmith I thought the icon you had there seemed appropriate.
@stroughtonsmith would a squircle look out of place among the rounded buttons for the pen icon? Feels a little too big for the circle shape šŸ˜…
@stroughtonsmith nice, it also makes sense in being similar to UIBarButtonItem.SystemItem.edit. Maybe it should also switch between "Editā€/"Doneā€?
@stroughtonsmith More like this, everyone, please!
@stroughtonsmith I’m keen to use this app in my video productions. Do you think it is possible to have a ā€œdark modeā€? Maybe in the future?

@stroughtonsmith

You going to WWDC? Want to talk about your future sync strategy?

@_tim______ unfortunately not! But if somebody were to, say, update the CloudKit GitHub examples with canonical ways of how to safely merge/resolve changes both ways after a device has spent time offline, I would be a lot happier to proceed šŸ‘€ That fear is a major blocker on several of my projects right now… https://github.com/apple/sample-cloudkit-privatedb-sync
GitHub - apple/sample-cloudkit-privatedb-sync

Contribute to apple/sample-cloudkit-privatedb-sync development by creating an account on GitHub.

GitHub

@stroughtonsmith

I don’t blame you for being scared of that scenario.

What sort of data are you working with? Complex data types with complex merging strategies? Lists/graphs that the user can modify concurrently and expect them to merge properly? Or a more simple last-writer wins?

@_tim______ most of my data objects are flat by design; not expecting concurrent uses on different devices, but I do want to do the right thing if a device has been used without internet for a period. Last write wins is probably enough for individual record values. I just want to be able to do this w/o giving up and using Core Data 🄲 I wish there were a simplified record layer that 'just worked’ and didn't require antiquated boilerplate. There's a reason so many devs struggle with iCloud sync!
@stroughtonsmith I’m not even sure if this is possible, but is jam sync available via… lightning > headphone > bnc?
@stroughtonsmith is the project UIKit or some SwiftUI now?
@JediMax I added some SwiftUI a couple years ago; I'm ripping it out now

@stroughtonsmith as someone who uses these slates to sync picture & sound in post, may I suggest that the clapper sticks actually animate the motion of the clap, like a physical clapper? so there is a clear visual state in the footage for before clap / moment of clap / after clap. that would make it easy to scrub through the footage & find the clap frame.

like the top stick isn’t visible before the clap, then on command, 1-2 frames of the top stick coming down, then clap?

@stroughtonsmith I finally got this (used, at far less than 1/3 the price of new) out of desperation…
@stroughtonsmith can you import pastel pallets for the clapperboard clapper? :p