Turns out Codex is just as proficient at writing for the Windows App SDK, so I jumpstarted it with the existing unfinished UWP version of Pastel, and, like before, pointed it at the existing Swift codebase to begin porting it piece by piece to Windows 11. This is by no means a one-shot, I am slowly and methodically recreating the functionality of the Mac app.

Of course, there is no native version of Codex for Windows, so I'm running the Linux version under WSL, and Visual Studio 2022 to compile

Light Mode | Dark Mode
Watching Codex recreate in seconds things that took me months, maybe even years, to implement the way I wanted 🄲
We are actually deeply cooked
Just ploughing through this Windows port, with some pretty complex bespoke UI
Editing flow; you don't even have to squint to see how a finished app might work. Something that I would have had to take months to build at the expense of the iOS version, done in a night's free time after a full workday doing more-productive things. I always wanted to finish Pastel on Windows, but I had reluctantly accepted that I could never invest that kind of time — save for some kind of catastrophe that left me excluded from the Apple ecosystem. Now? Trivial.

ā­ļø Some more shots of all the working aspects of this Pastel for Windows project, using .NET 8.0 and the Windows App SDK (and Community Toolkit), ported from the iOS codebase and my original UWP prototype by OpenAI's Codex 5.3.

It's not a full app yet, but it's dangerously close.

It's hard not to think that agentic programming, or agentic porting, could have outright saved Windows Phone, had this all been possible a decade ago

It's only when you start trying to use a UI framework that you realize all the little things that are missing — like Windows' grid view doesn't have a drag-select API, it all has to be done custom. Or like how its alert boxes have no way of indicating a destructive item

When you search for Microsoft's Fluent design docs for Windows apps, you get a 404 on Microsoft's main site 🤔

You have to really know where to look to find them again, and they're buried as the last option (behind Web, iOS, and Android) on their design site

I'm pretty familiar with the .NET/XAML app building process; all my apps were ported to Windows Phone 7, then migrated to Windows Phone 8, Windows 8 and UWP, and I know my way around Visual Studio and the publishing system. I've even been through WinObjC for aborted ports of some of my apps. I'm familiar with the APIs, pitfalls, the 3P libs.

I won't pretend that somebody with zero experience would be able to just drop themselves in to Codex and easily build something like Pastel (but I hope so)

I updated my copy of Visual Studio and now 'GitHub Copilot Chat' is the first tab in the project explorer, replacing the project file list ('solution explorer') 🤔

Yeah no thanks

Drag and drop reordering, drag and drop colors into palettes.

This kind of (Mac-like?) behavior is not common to Windows at all. I am pleasantly surprised at how robust the Windows App SDK is, considering nobody in their right mind is building apps this way outside of Microsoft 🤪

Renaming a new palette, opening it in a new window, adding it to a collection, and navigating around the app

Codex has no problem going deep into the weeds implementing things I would never have had the faintest idea how to begin, like this eyedropper button that calls into Win32, captures the screen and steals mouse events, and creates a mouse-tracking overlay crosshair window with GDI+, a task far outside the bounds of most WinUI apps. In minutes, without complaint.

This particular behavior is built-in on macOS, but not on Windows, so it all has to be done from scratch

This Windows version of Pastel is just under 10K lines of code (C# & XAML) so far. It doesn't yet persist its data model to disk, or sync, it doesn't have the color systems UI, it doesn't import pictures yet, and it doesn't generate wallpapers or widgets. Still plenty to do, but it's rapidly becoming a real app. I'm already very proud of it, and it's been kinda fun trying to pull off a level of polish that Windows apps tend not to see
I'm kinda surprised Microsoft, who has been all-in on this stuff for two years with Copilot (and, now, Claude), doesn't have a whole app store full of beautiful first-party native apps already. If *I* (a dummy) can do this in a day, what can a platform expert working full-time at Microsoft do?
Some code to ensure newly-spawned windows are always close to the mouse, with some bonus presentation animations
Windows doesn't have an equivalent to TestFlight, but it does allow you to do private, whitelisted store submissions before shipping publicly, so I'm gonna start the ball rolling with this build of Pastel to make sure everything's in order
(That's where the Electron version of Broadcasts for Windows has lived since 2020 šŸ™ƒ)

And, since the usage stats part is always worth mentioning:

I've used maybe 40% of my weekly Codex credits building this Windows port of Pastel (never hit the five hour limit), I'm on the $20/mo ChatGPT Plus plan, and I've only used 'gpt-5.3-codex medium'

In case you ever wondered how long the publishing process is on the Windows Store: that long
One of the reasons I picked Pastel for this project was because I had built some initial concepts some years ago and determined that it would look the most native in Microsoft's Fluent Design design language, and would be the easiest bringup. Windows 11 and macOS 11–15 look incredibly similar, and already share many of the same patterns and elements. It would be a great opportunity to do a Windows 11 app right and make a gorgeous app (i'm biased) in the process

TIL, the Windows App SDK back-deploys to older versions of Windows 😯

With just a little finagling I was able to remote-deploy* Pastel to a Windows 10 VM, and it appears to be fully-functional.

(*Hey Apple, would it kill you to add remote-deploy tools to Xcode? Or… macOS VMs?)

Going back to Windows 10 after not having used it for a while is quite a shock. It's a lot closer to Windows 8 than I remembered šŸ‘€

I do not miss this design language at all. Windows 11's Fluent is such an improvement

I was using a WinUI TeachingTip to replicate macOS-style popover behavior, but that's an in-window control and just doesn't work at all if the window isn't big enough to fully display it. So now I have a custom color picker window that does all the right things instead
WinUI also includes a content unavailable view, one of my favorite recent API additions to UIKit
I know Microsoft has had a revolving door of UI frameworks over the years, but I really think the Windows App SDK finally gets it right at a fundamental level. It's just a pity nobody makes native Windows apps anymore. And even more of a pity that there's no phone/tablet platform as part of this effort

āœˆļø If you've been following the Pastel for Windows saga with amusement, and have a Windows PC, I've opened up the current test build to the public.

This build is very much a WIP and *will not save changes to the library between launches*. It's really just a demo, for now, but you can check it out anyway

https://apps.microsoft.com/detail/9NTTK03M62KK

@stroughtonsmith it doesn’t help that most native Windows development is happening on existing applications and Microsoft has burned a lot of goodwill over the years; why would I throw out 10+ years of stable legacy code for a framework that may not be supported in a few years
@stroughtonsmith Plenty of Surface Pros out there… but no phones.

@stroughtonsmith UX question .. should that area have a button to make the noun?

Part of me says yes, since if the users attention / eyes are already there why not give them the affordance to act.

Part of me says mo, since it is a good thing for the user to learn where the forver "new" button is when this view goes away.

Thoughts?

@zorn as you say, both options have tradeoffs and benefits. Right now it’s aligned with the iOS version. I’m not sure the iOS version allows for buttons, but I’m curious now

@stroughtonsmith I think WinUI/Fluent was a better take on the whole frosted glass OS theme than Liquid Glass. Sure, it’s still windows, and stuff is wonky, but it’a all readable, at all times*.

*that I’ve noticed.

@stroughtonsmith Interesting. I cannot find anything about it in the WinUI 3 Gallery. Can you share more details? Cheers!
@stroughtonsmith Even Windows 8 was far better designed. It was such a bland era for Microsoft that its official name is ā€œMicrosoft Design Language 2ā€
@stroughtonsmith Welcome to my nightmare world of Win 8.1!
@stroughtonsmith Ohh, this explains why I felt like it was very Apple-like, I thought it was because I’m used to see how Pastel looks on Apple platforms.
@stroughtonsmith oh wow the Microsoft app I designed in 2017 is still there https://apps.microsoft.com/detail/9p2gmh3s0fzj?hl=en-US&gl=US
Salesforce Chatter - Free download and install on Windows | Microsoft Store

Run your business from your Windows 10 device. The Salesforce Chatter app unifies your Chatter feed and business processes in a modern experience. Whether you're in the office or checking in from a coffee shop, Salesforce Chatter is your key to productivity. With the power of the Salesforce Chatter you can now connect to your customers in a whole new way from your Windows 10 device. Salesforce Chatter is a brand new experience for Salesforce users to be more productive, innovative, and collaborative from Windows 10 devices. Share knowledge, files, and data across your organization. Connect with experts regardless of their role or location, to swap insights and ideas in real time.

Microsoft Store - Download apps, games & more for your Windows PC
@dk @stroughtonsmith - so it’s your fault! šŸ˜‰
@stroughtonsmith do you plan to monetize the windows version? or just a fun project to explore the capabilities of codex?
@jackminehan if I eventually complete it to a shipping standard, then yes. There's no way to share a license with a iOS/Mac version or subscription, so it'll have to do its own thing, so I'll probably lean on platform specifics like OneDrive for sync rather than try to build something that syncs between platforms
@stroughtonsmith Product management and other organizational structure doesn't scale the same way, or at least the infrastructure isn't there yet. Imagine if it was.
@stroughtonsmith Iā€˜m currently making @inyourface for Windows as a native app. Coming from the Apple ecosystem, the dev experience on Microsoft is certainly ā€žinteresting.ā€œ For example, it took me about 3 months, several calls with support agents and a lot of headaches to get a fully verified developer account.
@martinhoeller @inyourface oof. I went through it back in… 2012? …and I think it involved sending faxes
@martinhoeller @inyourface (though BlackBerry was the worst; they required me to go to a notary)
@stroughtonsmith @inyourface 😬 no faxing for me. The biggest blockers were: Need to use Edge browser to use MS Partner Center and they require the email address you provide to be of the same domain as the business website you fill into the form. But of course they don't have proper form validation or error messages. This took several rounds with MS support, down to their tech team. In the end I figured it out myself.
@stroughtonsmith As a side note: You are most certainly NOT a dummy. You have critical thinking in spades. That’s why you figure a lot of crap out so quickly compared to a lot of people around you.
@stroughtonsmith my guess? Meetings, then more meetings.

@stroughtonsmith No one gives even a teeny fuck about Windows anymore. Not even MS. They’re the new IBM. All-in Enterprise.

People deserting to Linux. Do some apps for that!

@mikecane Windows can make my apps look pretty, good for marketing. Linux… not so much
@stroughtonsmith Good luck. Might not be an audience. Also seeing people dumping Win for Mac.
@stroughtonsmith What Codex thinking modes are you using for work like this?
@fuzzyhead 5.3 medium, I've never taken it off the default setting
@stroughtonsmith @fuzzyhead How are you using Codex for this project, do you have it opened simultaneously in VS Code (for Codex extension) or using command line?
@thisisizzy @fuzzyhead I have WSL installed and I’m using codex from the commandline. I’m building and running the solution with VS2022 independently
@stroughtonsmith I wonder if this (or the reverse of this process) could bring back ā€œMac-assed appsā€. Would this be easier than keeping an Electron codebase running across platforms?
@stroughtonsmith needs some implicit animations on that grid (or maybe it should be an ItemsRepeater to shed the baggage of the GridView et al)
@stroughtonsmith and now we all know why #Windows #Apps look like ass!