Sitemap

Discoverable by Design: The Hidden Superpower of Great Software — On Discovery Patterns. Ironstone NFRs 1.0

Rob Tyrie
8 min readApr 5, 2025
Photo by Nadine E on Unsplash

DesignedandSynthesized™️ by @RobTyrie, Founder of Ironstone stone Advisory 🧲🥌
This is the first part of a series of essays and thought pieces about non-functional requirements. this is all the stuff that has to be in every application if not at the beginning it shows up in the end. things like login screens and search bars and share the social media buttons are non-functional requirements because they’re not the center piece of the function point that you’re implementing like a specialty stock exchange index like a VIX tracker or Accounting system.

We’re going to start talking about Discovery as a key pattern. I have a hypothesis that all nfrs are really protocols and should be defined as such instead of hard code or even no code generation. this is where the lovely patterns of computer science and systems design engineering meet. rt

Photo by Ev on Unsplash

1. The Pattern: Why "Discoverable" is the Design Trait You’re Not Talking About—But Should Be

Imagine buying a state-of-the-art espresso machine with a secret button that unlocks cappuccino mode—but no one tells you it exists. That’s how most apps handle their features today.

"Discoverable" is the espresso button. And it’s buried under layers of cognitive load, lazy UX, and lack of empathy for the end user.

Discoverability isn't just a nice-to-have. It’s a non-functional requirement (NFR)—a pattern of design thinking that determines whether your software becomes legendary... or forgotten.
---

2. What Do We Mean by Discoverable?

"Discoverable" means a system should:

Be easy to find (from Google to GitHub to app store to intranet)

Be easy to start using without external help

Have features that reveal themselves naturally (like doors that push when they say “push”)

Support progressive disclosure (teach me a little now, more later)

This is UX-meets-systems-design-meets-behavioral-economics. It’s a design pattern with serious ROI.
---

3. Real-World Examples of Discoverability Done Right

Slack: Slash commands offer power users shortcuts, but the interface hints at them without being overwhelming.

Figma: Layer and component interactions are intuitive, and tooltips teach you as you go.

Notion: Blocks offer discoverable functionality with an on-hover plus sign—clean, efficient, progressive.

Gmail: Smart features (like snooze or labels) are hinted at subtly through UI nudges and onboarding.

---

4. Why Discoverability Matters (and Why You’re Losing Money Without It)

Psychological & Behavioral Economics Effects:

Cialdini’s “Commitment & Consistency”: Once a user starts using a feature, they’re more likely to keep using it.

Thaler’s “Nudges”: Subtle design cues improve feature adoption without force.

Kahneman’s “System 1 Thinking”: If discovery requires too much thought, you’ve already lost.

Photo by Jamie Street on Unsplash

Business Impact: Increased feature adoption = better ROI on your dev team’s time:: Lower support costs = fewer tickets asking “where’s the damn button?” :: More loyal users = emotional attachment to tools they understand

---

5. The Pattern Language of NFRs

We need a pattern language for non-functional requirements, just like we have for architecture (thank you, Christopher Alexander).

Non-functional requirements are like gravity in system design:

You can’t see them.

You can’t ignore them.

If you misunderstand them, your system collapses.

Here are just a few "invisible" NFRs that should be part of every user-facing or user-touching system:

1. Discoverability (our focus today)
2. Learnability
3. Usability
4. Accessibility
5. Performance responsiveness
6. Resilience & error recovery
7. Security (UX-level prompts & flows)
8. Service continuity awareness
9. Observability & transparency
10. Search & navigation patterns

These aren’t constraints. They’re design accelerators. We will cover all 10 patterns in this series of separate parts.
---

6. Implementing Discoverability in 7 Steps

1. Start with a search bar. Yes, even if your app is small.
2. Introduce feature tooltips gradually, using progressive disclosure principles.
3. Use onboarding for discovery, not just setup.
4. Track feature usage analytics. What’s being missed? Nudge accordingly.
5. Run “5-second” usability tests. Ask new users: “What can you do here?”
6. Link to short-form help and tutorials from within the interface (modals, bottom sheets).
7. Design like a good waiter: helpful, unobtrusive, always available.
---

7. The Discoverability Checklist

(Use this every time you ship a feature)

[ ] Is the feature visible on first glance?

[ ] If not, is there a clear cue leading to it?

[ ] Does the user get feedback when they engage it?

[ ] Can a new user guess what it does?

[ ] Does it fit into the user’s mental model?

[ ] Is there a way to recover if they make a mistake?

[ ] Can they find it again later easily?

[] is there a QR code button?

[]is there a help button?

[] is there a share everywhere button... (this is to help other people discover your genius)

[] did you establish bread crumbs for workflow apps?

[] did you record transaction and accessible human rear business event log that is automatically searched and has and?

[] are there hyperlinks and application to go to the next logical place?

[] did you enhance vertical scrolling or horizontal scrolling that is natural and well discovered logical summary to detail pass for human readbility and Discovery especially on narrow windows and mobile devices? scrolling is a human superpower.

---

8. Where Discoverability Fails: A Satirical Shortlist

These are also known as softare anti- patterns.

The "hamburger menu" graveyard: All your key features buried three taps deep.

The AI assistant that solves world hunger but has no “On” button.

Error messages that just say: “Oops.”

For long running operations, no progress bars.

no cues for work that you’ve done.

no embedded status reports for what you worked on in the last 4 hours because you know you can do that afterwards by hand.

Search bars that don’t search full text and image.

Onboarding that teaches how to use features that no longer exist.

Trying to squeeze things into one screen and dropping discoverability features.

No context based user-help

User documentation is feature-based and not case based for the vertical

hoping that virality will occur solely based on your genius and no thinking empathetically about your users I do not have your genius.

when I think about why people don’t do this.. by people I mean developers and architects.. I usually come to the conclusion that they’ve never operated business and they never really thought empathetically about all the things that a person using their software and instead of software that they’re doing has to do for a living. previously stick to a spec designed by a person who also doesn’t know what it will user does for a living. I think it’s transformed into something that people just don’t use. Design Discovery into your apps and put it on your backlog that’s my advice. If you do the design patterns right someone will send you an AI agent or low cost approach to doing this kind of work. this is how spunk and data dog emerged for instance. it’s also how databases emerged as a standard protocol in building useful applications faster

This stuff really does take systems design and component engineering with layered interfaces and loosely coupled objects.

Discoverability sins cost users time and companies millions.
---

9. Discoverability Beyond the Interface: Backend Services Too

Even backend services need discoverability—just for a different audience:

  • Clear API documentation
  • Working code examples
  • Developer portals with try-it-now sandboxes
  • Feedback loops for documentation updates
  • Get your GitHub hygiene on
  • Archiving control and actions should be automatic
  • Discovery takes analytics, and #observability. Instrument your systems.

Even M2M systems should be designed with observability and traceability in mind. Discoverability here supports debuggability.

If you're designing for devs: make the invisible visible.

---

10. From NFRs to Narrative: Why This Stuff Feeds the Soul of Software

Discoverable systems feel... alive. They respect the user. They whisper “I got you” instead of yelling “RTFM.”

When you build with discoverability in mind, you build for:

Humans, not just users

Curiosity, not just consumption

Exploration, not just execution
It’s systems thinking with empathy wired in.

okay here’s a very important point.. just like there is test driven programming… there is a possibility to do Discovery as something similar where it’s an aspect of code that is generated… based on the PRD of your software component. my advice is to designing discovery and build in automated agents that do it for you this is simple coding relatively speaking because it repeats as common patterns if you haven’t already noticed that imagine is a superpower of AI and so is transformation. it’s a lot easier if your domain is very narrow and by its nature a software application is a narrow domain if you’re just trying to do discovery about it

Think about it. Discovery is really just a transformation view based on your application which is the “domain” of Discovery in this case. you can generate these with advanced AI coding tools like Claude.ai or Gemini from Google. whatever the top AI coding IDE platform is for your stack.

---

This one of the best books on Discovery in software ever written - rt

11. Next Steps and Endnotes

Practical Things to Do This Week:

1. Audit your current feature set. What’s underused? 🤔
2. Interview 3 users about what they didn’t know your app could do. 🎤
3. Add tracking to one overlooked feature. 📈
4. Design one new tooltip or inline help cue. 💁‍♂️
5. Host a “Discoverability Sprint” inside your product team. 🏃‍♂️🏃‍♂️

Photo by Ivo Rainha on Unsplash

Bonus Reading:

  1. The Design of Everyday Things – Don Norman
  2. Nudge – Thaler & Sunstein
  3. Thinking, Fast and Slow – Daniel Kahneman
  4. Persuasion – Robert Cialdini
  5. Pattern Language – Christopher Alexander

these are required reading if your billing software in 2025 or later. they’re all based on intense understanding of neuroscience and behavioral psychology
Hashtags for Visibility:

#Discoverability #UXDesign #NonFunctionalRequirements #ProductDesign #SystemsThinking #PatternLanguage #DesignPatterns #UserExperience #DevTools #IronstoneAdvisory

This post was designed to be a prompt. logical use of it would be in perplexity to expand any of the items are interested in and then add your last PRD and do a discovery audit on yourself immediately with artificial intelligence.
---

All metaphors were user-tested on real humans. No systems were harmed in the making of this post.

Photo by Thomas Tucker on Unsplash

 the founder of Ironstone Advisory, is a veteran software industry guy. He has aspirations of driving around in his Wrangler or an RV doing Discovery Audits face to face with developers on applications and then using that experience to develop swarms of Discovery AI Agents to help people out everywhere to make better software for regular human beings. 🧲🥌 (these are the Emojis I automatically get when I search “iron” then “stone”... they change on different platforms)

--

--

Rob Tyrie
Rob Tyrie

Written by Rob Tyrie

Founder, Grey Swan Guild. CEO Ironstone Advisory: Serial Entrepreneur: Ideator, Thinker, Maker, Doer, Decider, Judge, Fan, Skeptic. Keeper of Libraries

No responses yet