Simple Things Should Be Easy and Intuitive, and Complex Things Possible

One of the guiding principles in great software and product design is simple:

Simple things should be easy and intuitive, and complex things should be possible.

This philosophy has shaped some of the most successful frameworks and platforms in the world. It balances accessibility for beginners with the flexibility that advanced users need to build powerful solutions. Let’s explore how this plays out in real-world tools like WordPress, FilamentPHP, and Next.js.


WordPress: Writing a Post vs. Building a Complex Site

  • Simple things easy: At its core, WordPress was created so that anyone could write and publish a blog post without needing to know code. The editor is intuitive — you just click “Add New Post,” type your content, and hit publish. No developer required.
  • Complex things possible: But under the hood, WordPress allows you to build full-scale eCommerce platforms, membership systems, or custom web apps. With custom post types, hooks, and plugins, developers can stretch WordPress far beyond a simple blog.

👉 A non-technical blogger and a professional developer can both use WordPress effectively — each at their own level of need.


FilamentPHP: CRUD in Minutes vs. Complex Admin Systems

  • Simple things easy: FilamentPHP makes setting up CRUD (Create, Read, Update, Delete) operations ridiculously straightforward. You can scaffold a resource with just a few commands, and in minutes you have a functional admin panel for managing your data.
  • Complex things possible: But Filament doesn’t stop at scaffolding. You can customize forms, tables, permissions, widgets, and even create fully tailored dashboards. If your business logic is complex, Filament gives you the hooks and extensibility to handle it.

👉 A junior developer can spin up a CRUD interface in an afternoon, while a senior developer can craft a bespoke, enterprise-ready admin panel.


Next.js: Static Pages vs. Enterprise Web Apps

  • Simple things easy: With Next.js, creating a static site or blog is straightforward. You can create a new page by simply adding a file to the pages/ directory. Deployment is frictionless thanks to platforms like Vercel.
  • Complex things possible: Next.js shines when the requirements get serious. From server-side rendering and API routes to middleware, internationalization, and edge functions — it provides everything you need to scale into a highly performant, enterprise-grade application.

👉 A beginner can quickly launch a personal website, while a large company can run a global web application with millions of users.


Why This Principle Matters

When tools respect the principle of “simple things should be easy, complex things possible,” they empower a wider range of users:

  • Beginners aren’t overwhelmed by complexity.
  • Experts aren’t limited by simplicity.
  • Teams can start small and scale up without switching platforms.

This balance is what makes software ecosystems like WordPress, FilamentPHP, and Next.js thrive.


✅ The takeaway: If you’re building tools or platforms, keep this principle in mind. Reduce friction for the 80% of use cases, but don’t close the door on the 20% that need more power. That’s how you build something truly enduring.

Inspired by https://ma.tt/2024/05/wp21/

Share your love

Leave a Reply

Your email address will not be published. Required fields are marked *