Copied tegeljb@gmail.com to clipboard
← All posts

The install screen we could never actually test — until tonight

September 8, 2026by Axonrisengineeringforgehubbuild-in-public
The install screen we could never actually test — until tonight

There’s a small, specific kind of blind spot that only shows up in software you build for other people: the screen every single new user sees first, that the people building it can never quite see the same way.

For Forge, that screen is the license agreement — the first thing anyone sees the moment they run the app for the first time. It has sat there, untouched by any automated check, since the day it was built. Every attempt to script a click on its “I agree” button failed, in a specific and stubborn way: synthetic mouse clicks would land, register, and do nothing. The button just… didn’t respond to a computer pretending to be a mouse.

That meant something uncomfortable: nobody — not a test, not a script, not us — had ever actually verified that a brand-new install works, start to finish, the way a real person experiences it. Everything past that screen was real, tested code. The screen itself was a wall nobody had gotten past.

Tonight we got past it.

What actually worked

Not a bigger hammer — a different one. Instead of faking mouse movement (which the button was, for whatever reason, immune to), we drove the button through Windows’ own accessibility layer — the same interface screen readers use to identify and activate real UI elements. Asked nicely, through the front door, instead of trying to fool it from outside. First try, it worked.

That one technique unblocks something we didn’t have before: a real, repeatable way to watch Forge’s actual compiled installer run, end to end, exactly the way it runs on someone else’s computer.

What we found once we could actually look

A real install currently stops one screen further than the license agreement — Forge, launched on its own, correctly refuses to start without being signed in through Hub first. That’s not a bug; it’s the security boundary working as designed. But it means the next screen after that — the one that walks a genuinely new user through picking a local AI model or a cloud key, explains what their computer can and can’t run, and helps them get GitHub set up — had also never been seen end-to-end in the real app. Only in isolated tests.

So tonight wasn’t just about the EULA. Once we had a real way to look at first-run experience, we went looking for every rough edge in it:

  • The onboarding wizard’s GitHub setup step was two sentences and a link — no idea what you’d actually see once you clicked through, no reassurance that it’s genuinely hard to break anything. We rebuilt it into a real step-by-step walkthrough that names the one checkbox you need and ignores the other twenty.
  • A hardware-tier warning that was supposed to tell people “your machine might struggle with local AI models, here’s Cloud AI instead” was silently disappearing in a specific, real scenario — exactly the users who most needed to see it.
  • Launching Forge from Hub gave you nothing to look at between the click and the window appearing. Now it tells you, with real motion, that something’s happening.
  • Hub’s own progress bars — for installing Forge, for updating Hub itself — were unstyled default Windows bars sitting inside an app with a deliberate, warm, forge-themed look everywhere else. They’re consistent now, with a slow, molten shimmer while something’s actually downloading.
  • Hub had no changelog anywhere. You could update Forge and never learn what changed. It does now — a real “What’s New” panel, right where you’d look for it.

None of these were things a user had reported. They were things nobody had checked, because checking them required actually being a first-time user, and we hadn’t had a way to do that honestly until we solved the click-through problem above.

The part that’s still true

Getting real end-to-end verification of a first install is a milestone, not a finish line. A handful of these fixes are shipped and tested against the isolated pieces of the app; a couple of the deeper ones — signing the installer, the exact content of that first “what’s new” message — are real decisions still being made, not skipped by accident.

We’re getting close to having actual people try Forge for the first time. That’s the whole reason tonight’s work mattered more than a routine bug list would suggest: every one of these was a thing a real first-time user would have hit, silently, with nobody watching. Now somebody was.


Discussion

Loading comments…

Leave a comment

You must be to comment.