So, there I was, wrestling with this personal project. It was supposed to be a simple tool, but features kept piling up, you know how it is. Pretty soon, the interface was a disaster zone, buttons and menus all over the place, a real headache to even look at.

I started looking around for some inspiration, some way to tame this beast I’d created. And I stumbled back onto some stuff from Jensen Harris. Yeah, the guy from the Microsoft Office Ribbon days, but I also found some of his broader talks on user experience and how to actually think about designing things for, you know, actual people.
My Big Plan: Trying to Think Like Jensen Harris
I thought, ‘Okay, this fella spent ages, and I mean ages, thinking about how to handle complexity in software. Maybe I can borrow some of that mojo for my own little mess.’ So, I decided to really try and apply what I understood of his approach. Not just blindly copy the Ribbon UI, because that’d be silly for my project, but the thinking behind it – things like grouping tasks logically, making features easier to find, stuff like that.
The Grind Kicks In
First off, I tried to list out every single thing my app could do. That list itself was pretty scary, let me tell you. Then, I started trying to group them. Oh boy. What seemed logical to me on a Monday felt totally bonkers by Wednesday. I’d make these elaborate mind maps, trying to figure out user workflows. I felt like I was designing a control panel for a space shuttle, not my little utility app that was supposed to make one tiny part of my life easier.
I’d go back and watch some of his old presentations, where he’d talk about all the user feedback and the endless iterating. Sounds great when you’ve got the whole Microsoft machine behind you, right? But it was just me, in my spare room, trying not to lose my mind over button placement.

- I probably spent a whole week just arguing with myself over what to call the different groups of functions.
- Sketched out, I don’t know, maybe ten different versions of the main interface. Each one felt wrong in a new and exciting way.
- I even tried to get fancy with ‘contextual’ UIs, where things only show up when you supposedly need them. Sounds brilliant in theory, but it’s super hard to implement cleanly when you’re a one-man band.
The Inevitable Reality Slap
After a good while of this, I had to face facts. What I was building was becoming seriously over-engineered. It was like trying to use a jackhammer to hang a picture frame. The principles Jensen Harris talked about were sound, no doubt about it. Clarity, discoverability, making things task-oriented – all good stuff. But the way I was trying to implement it, based on my interpretation of his work on massive software suites, was just way too much for my humble little project.
It’s one thing to hear someone famous talk about design philosophy from a big stage, and a whole other ballgame to actually make it work when you’re the designer, the developer, and the only tester, all rolled into one. The sheer amount of foresight, user research, and probably heated debates that must have gone into those big Microsoft designs… well, I got a new level of appreciation for it, that’s for sure.
So, What Actually Happened?
In the end? I stripped it all back. Way, way back. I kept some of the core ideas – like trying to make the most common actions really obvious and easy to get to. But I ditched all the elaborate structures and the endless options. My app still has a few quirks, probably always will, but at least it’s usable now without needing its own instruction manual and a three-day training course.
That whole deep-dive into Jensen Harris’s world was useful, though. Not because I managed to replicate anything grand or revolutionary, but because it forced me to really, really think about UI from the ground up. And it taught me a valuable lesson: context is king. What works for a global software giant with millions of users isn’t always the right template for a small, focused tool. Sometimes, simpler isn’t just simpler. It’s actually better.
