I finally plugged GPT-3 into @pastelapp to generate color palettes from text prompts, and it just does exactly what I hoped it might do.
-
TL;DR much of this stuff looks incredibly daunting when you first run your iOS app on visionOS, where everything has the wrong color and style, and feels like a mountain of work ahead of you. But actually, it's not as bad as it seems
Here’s @pastelapp with a few more passes around the app. Honestly? I could probably publish this build without changing a whole lot else




-
Here’s @pastelapp with a few more passes around the app. Honestly? I could probably publish this build without changing a whole lot else




I built this palette-generation feature two years ago for @pastelapp, hoping that Apple would ship LLM APIs I could use instead of GPT-3. Womp womp.
Here's hoping tomorrow brings some change here…
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image I finally plugged GPT-3 into @pastelapp to generate color palettes from text prompts, and it just does exactly what I hoped it might do. How I wish I could do this with an on-device Siri API call; I don't intend to ship with a dependency on OpenAI, so for now this is a 'maybe someday’ feature
Mastodon (mastodon.social)
-
I built this palette-generation feature two years ago for @pastelapp, hoping that Apple would ship LLM APIs I could use instead of GPT-3. Womp womp.
Here's hoping tomorrow brings some change here…
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image I finally plugged GPT-3 into @pastelapp to generate color palettes from text prompts, and it just does exactly what I hoped it might do. How I wish I could do this with an on-device Siri API call; I don't intend to ship with a dependency on OpenAI, so for now this is a 'maybe someday’ feature
Mastodon (mastodon.social)
Finally trying Apple's Foundation Models for palette generation, side by side with what I generated with ChatGPT.
The first image is the prompt "Planets of the Solar System" with Apple's on-device LLM, the second image is the same prompt using GPT-3.5 as of 2 years ago.
It can certainly do what I need it to do; whether the results are any good is an open question. I think it's inoffensive, and harmless, at the very least, so maybe I can move forward with it


-
Finally trying Apple's Foundation Models for palette generation, side by side with what I generated with ChatGPT.
The first image is the prompt "Planets of the Solar System" with Apple's on-device LLM, the second image is the same prompt using GPT-3.5 as of 2 years ago.
It can certainly do what I need it to do; whether the results are any good is an open question. I think it's inoffensive, and harmless, at the very least, so maybe I can move forward with it


As a proof of concept, it confirms that the Foundation Models can indeed be applied to any kind of silly little task, and it’s so easy to get structured, deterministic output from it using the new @-Generable macro. No JSON, no parsing, just perfectly formed structs as output
-
As a proof of concept, it confirms that the Foundation Models can indeed be applied to any kind of silly little task, and it’s so easy to get structured, deterministic output from it using the new @-Generable macro. No JSON, no parsing, just perfectly formed structs as output
Even though the concept works, the performance is a little worrying. It takes an M1 iPad Air about 30 seconds to generate a handful of color palettes — which are just some hex codes with a name, nothing complex. Streaming the results in one by one becomes a necessity with those kinds of processing times
-
Even though the concept works, the performance is a little worrying. It takes an M1 iPad Air about 30 seconds to generate a handful of color palettes — which are just some hex codes with a name, nothing complex. Streaming the results in one by one becomes a necessity with those kinds of processing times
Enabling streaming, you can see that the Foundation Models API is slow — I would say alarmingly slow — on M1 hardware. I'm not even sure what kind of optimization I might be able to do to speed this up, as it's seemingly purely on the token generation side

It's going to take more than a little care and attention before you start sprinkling this all over your apps, that's for sure. Good to know
-
Enabling streaming, you can see that the Foundation Models API is slow — I would say alarmingly slow — on M1 hardware. I'm not even sure what kind of optimization I might be able to do to speed this up, as it's seemingly purely on the token generation side

It's going to take more than a little care and attention before you start sprinkling this all over your apps, that's for sure. Good to know
Initial bringup on macOS 26 for Pastel. There are some significant system-level performance regressions that I'm going to have to debug my way through — I've lost my 60fps window resizing, that's for sure
Other than that, it was a modern app with a forward-thinking design language, and it fits Liquid Glass on iOS and macOS without much trouble
-
Initial bringup on macOS 26 for Pastel. There are some significant system-level performance regressions that I'm going to have to debug my way through — I've lost my 60fps window resizing, that's for sure
Other than that, it was a modern app with a forward-thinking design language, and it fits Liquid Glass on iOS and macOS without much trouble
Slowly iterating on the design language for Pastel and fixing all the weird little bugs the new SDK introduced. Only now is it functional again

-
Slowly iterating on the design language for Pastel and fixing all the weird little bugs the new SDK introduced. Only now is it functional again

Not making a whole lot of forward progress with my apps right now, so I'm gonna get some lateral progress done. Pastel still has about 5,500 lines of Objective-C code remaining that is all ripe for translating to Swift via Xcode's new ChatGPT feature. It'll give me a chance to sanity-check some of my legacy code in the process
-
Not making a whole lot of forward progress with my apps right now, so I'm gonna get some lateral progress done. Pastel still has about 5,500 lines of Objective-C code remaining that is all ripe for translating to Swift via Xcode's new ChatGPT feature. It'll give me a chance to sanity-check some of my legacy code in the process
Slightly reorganizing my copy menu while I'm at it, and scratching my chin at the menu glass effect


-
Slightly reorganizing my copy menu while I'm at it, and scratching my chin at the menu glass effect


Still a long way to go, but here's a before/after on Pastel on macOS 26 as of the current build.
During development, you spend so much time looking at the new design that you kinda forget how it used to look


-
Still a long way to go, but here's a before/after on Pastel on macOS 26 as of the current build.
During development, you spend so much time looking at the new design that you kinda forget how it used to look


Pastel on iPad is going to look effectively indistinguishable from the Mac version by the time I'm finished updating it for Liquid Glass

-
Pastel on iPad is going to look effectively indistinguishable from the Mac version by the time I'm finished updating it for Liquid Glass

With today's work out of the way, I think Pastel's iOS 26 update is done for Mac and for iPhone. The iPad build is blocked by my earlier radar, and I haven't figured out a mitigation strategy yet, but we're nearly there
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image FB19905057 — Unrelated child UINavigationController overrides root split view controller's sidebar heirarchy and navigation bar on resize from regular to compact This one will prevent me from shipping Pastel on iOS 26 until I find a solution 🤷♂️ #radars
Mastodon (mastodon.social)
-
With today's work out of the way, I think Pastel's iOS 26 update is done for Mac and for iPhone. The iPad build is blocked by my earlier radar, and I haven't figured out a mitigation strategy yet, but we're nearly there
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image FB19905057 — Unrelated child UINavigationController overrides root split view controller's sidebar heirarchy and navigation bar on resize from regular to compact This one will prevent me from shipping Pastel on iOS 26 until I find a solution 🤷♂️ #radars
Mastodon (mastodon.social)
I've started the TestFlight process for Pastel for iOS and macOS 26. There are some known issues on iOS, including a severe hang, but most things are in place now, and there are still slots available

TestFlight - Apple
Using TestFlight is a great way to help developers test beta versions of their apps.
(testflight.apple.com)

-
I've started the TestFlight process for Pastel for iOS and macOS 26. There are some known issues on iOS, including a severe hang, but most things are in place now, and there are still slots available

TestFlight - Apple
Using TestFlight is a great way to help developers test beta versions of their apps.
(testflight.apple.com)

This *is* a nice API!
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image Nobody ever told me UIContentUnavailableConfiguration was so cute! I should use it more
Mastodon (mastodon.social)

-
This *is* a nice API!
Steve Troughton-Smith (@stroughtonsmith@mastodon.social)
Attached: 1 image Nobody ever told me UIContentUnavailableConfiguration was so cute! I should use it more
Mastodon (mastodon.social)

Today's build of @pastelapp fixes the last of my major issues, and achieves all the goals I set out for this iOS 26 update
All in all, the update touched about 6000 lines of code, with zero new features, just to adopt the new UI -
Today's build of @pastelapp fixes the last of my major issues, and achieves all the goals I set out for this iOS 26 update
All in all, the update touched about 6000 lines of code, with zero new features, just to adopt the new UII think @pastelapp for iOS and macOS 26 is now 'visually complete' ahead of the September event, which means I have to start thinking about marketing screenshots. I'm very happy with how this turned out, even if it took a while to get there

-
I think @pastelapp for iOS and macOS 26 is now 'visually complete' ahead of the September event, which means I have to start thinking about marketing screenshots. I'm very happy with how this turned out, even if it took a while to get there

I don’t think I’ll ever get used to how good iPadOS 26 looks on an external display. If you have an M1 iPad or higher, I implore you to give it a try

-
I don’t think I’ll ever get used to how good iPadOS 26 looks on an external display. If you have an M1 iPad or higher, I implore you to give it a try

Giving Pastel a v2.4.1 today on macOS to update everything that looked blurry on a non-Retina display, as it's been a long time since I've given it a pass and some system metrics have changed lately that need round()ing. It's real hard to tell the difference from a JPEG, but here's a before/after


-
Giving Pastel a v2.4.1 today on macOS to update everything that looked blurry on a non-Retina display, as it's been a long time since I've given it a pass and some system metrics have changed lately that need round()ing. It's real hard to tell the difference from a JPEG, but here's a before/after


The next minor version of @pastelapp will support exporting color palettes to Pixelmator Pro (on the Mac, at least, as they don't support that on iOS)
Update: now available!
Pastel App - App Store
Download Pastel by Steven Troughton-Smith on the App Store. See screenshots, ratings and reviews, user tips, and more apps like Pastel.
App Store (apps.apple.com)