c4-notation
diataxis-documentation-framework
c4-notation | diataxis-documentation-framework | |
---|---|---|
134 | 84 | |
26 | 932 | |
- | - | |
10.0 | 6.0 | |
over 5 years ago | 10 days ago | |
HTML | ||
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
c4-notation
-
Step outside the Happy Path
Start by formalizing the architecture. You don’t need heavy enterprise methodologies like TOGAF; use formats that fit the team and product. Frameworks like arc42 are suitable for complex systems, while simpler projects may only need C4 diagrams supplemented with a few additional visualizations.
-
C4 Model - The Basics
Software Architecture is all about developing systems that scale and are maintainable. Clear visualizations will help teams to communicate the design effectively. The C4 model comes in handy for this task! But what is C4, and why should you care?
-
Turning the Crank: Design as a Mechanical Process
https://c4model.com/ is very useful for this. :-)
I've told it before, but when we were doing some clean sheet work a while ago I decided to use the C4 model and drew out the obligatory "Context" diagram with "user" "phone" "laptop" "app" sort of stuff... and then two hours later realized that because we had both an online and a semi-disconnected mobile app that could be offline, certain things -had- to use a queue and expect an arbitrary amount of time for a task to run, and it completely changed how we thought about the core of how we implemented something pretty important.
Sold. :-)
-
Vega – A declarative language for interactive visualization designs
What sort of maps are you wanting to build? https://c4model.com/ seems to be the more popular standard for this style at the moment. https://github.com/plantuml-stdlib/C4-PlantUML makes this somewhat easy to code out. (And I think most cloud providers have addons for it.)
- Ask HN: Best tool to create cloud architecture diagrams
- Ask HN: Visualize Software Architecture/Concepts
-
Devs need system design tools, not diagramming tools
It sounded like it was working up to a C4 pitch but never got there. It bears a look exactly for this post's title.
https://c4model.com
-
Book: Just Enough Software Architecture
Simon Brown is another person who has done a far better job than me of "democratizing" software architecture for developers. His talks [1] and workshops on architecture are exceptionally effective and his C4 architecture modeling language [2] is getting real traction.
I have youtube videos too [3] but they aren't as effective.
[1] https://www.youtube.com/results?search_query=simon+brown+arc...
[2] https://c4model.com/
[3] https://www.youtube.com/playlist?list=PLRqKmfi2Jh3uoMnZdaWmC...
-
Ask HN: Guidelines for making clear architecture diagrams
Second this.
Reference for anyone looking I to it: https://c4model.com/
There is also quite a lot of options for helping create these diagrams. I've found https://structurizr.com/ to be the best of what I've tried so far.
-
Show HN: Flyde – an open-source visual programming language
What you are describing sounds a lot like C4: https://c4model.com/
diataxis-documentation-framework
-
Understanding User Needs in Technical Writing: How Frameworks Like Diátaxis Help
Cover Image Credit: Diátaxis’ official documentation
-
Rules for Writing Software Tutorials
For that topic some nice additional stuff: https://diataxis.fr/
- Documentation chaotique ? Diataxis à la rescousse !
- Diátaxis – A systematic approach to technical documentation authoring
-
Every Board Game Rulebook Is Awful [pdf]
I'm a little less than impressed by the presentation here. The idea that Divio is describing here is the Diataxis framework (https://diataxis.fr/), which "is the work of" (https://diataxis.fr/colophon/) Daniele Procida (https://vurt.eu/). Who, incidentally, is also giving the PyCon talk in the video on the page you linked (https://www.youtube.com/watch?v=t4vKPhjcMZg). But I don't see anything resembling attribution for the ideas. They aren't just common industry knowledge or "received wisdom". (And the "quote" from David Laing at the top isn't really accomplishing anything, either.)
-
The Opposite of Documentation is Superstition (2020)
Both is important. And related. Documentation needs to be discoverable. I was amazed when I tried jj (jujutsu, the "new git") and it popped me into some kind of weird textual user interface after executing `jj split` and I felt lost. I guessed, pressing `?` won't hurt and it told me just to use the mouse. The menues showed the related hot keys.
But the actual documentation of the tool has room for improvement. I needed a YouTube video to get started and that's rare for me.
So what I want to say is, that you need an intuitive, discoverable UI, but also a documentation that has each case (and if it's just for linking in 1st level support cases) _and_ is discoverable. And by that I mean both easy to grasp (e.g. following https://diataxis.fr/) and also can actually be found. I've had cases where a tool had good documentation, but actually finding it was the hard part.
- Diataxis pour organiser sa documentation
- Large language models reduce public knowledge sharing on online Q&A platforms
-
Ask HN: Technical Writing Resources
I've found https://diataxis.fr/ to be an excellent framework on which to hang documentation efforts. It helps you to understand what kinds of documentation resources help users most.
-
Launch HN: Firezone (YC W22) – Zero-trust access platform built on WireGuard
Tailscale is building a remarkable moat at extraordinary pace: capabilities real commercial use needs, on pricing that doesn't penalize the security-minded startup.
One key difference with their platform is the recognition so often missed inside the HN bubble that most B2B are on M365 and Entra, not Google like 3 devs in a cafe.
Another key difference is emphasis on "everything as code" from config to policy, enabling gitops of course, but also easier integration and automation.
But the biggest differentiation seems to be solving corner cases that come up in real world use and rolling those out faster than firms can come up the curve in their own Zero Trust implementation. Tailscale must have an excellent forward-deployed product sensing practice, to either discover or listen to these problems from commercial users then tackle them and get it rolled out for all customers. Their docs are also use-case focused and self-service empowering: https://tailscale.com/kb/1300/production-best-practices with a clear understanding of how devs spend their time https://tailscale.com/kb/1360/developer-tools and generally organized by the "Diataxis" systematic approach to technical documentation authoring: https://diataxis.fr/
Finally, contrary to popular practice here, Tailscale don't have predatory pricing for SSO, no “SSO tax”.
The $0 plan includes SSO. Even if you're a one person shop, there's no reason not to get SSO going for yourself, every future SaaS you integrate with, and every future onboarding/offboarding will thank you. Switching to this later is far more costly than adopting it early, and we should all be supporting one another to make SSO (or Oauth2+OIDC) the norm instead of an "Enterprise Call Us" pricing discriminator.
What are some alternatives?
excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams
documentation-framework - "The Grand Unified Theory of Documentation" (David Laing) - a popular and transformative documentation authoring framework
backstage - Backstage is an open framework for building developer portals
technical-writing - A collection of materials relating to technical writing
C4-PlantUML - C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
awesome-writing - An awesome list of information to help developers write better, kinder, more helpful documentation and learning materials
arc42.org-site - (jekyll-based) website for arc42.org - the template for communicating software architectures.
mark - Sync your markdown files with Confluence pages.
pumla - pumla - systematic re-use of model elements described with PlantUML
mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
pgf - A Portable Graphic Format for TeX