Comparing object-oriented design to content reuse
Mark Lewis, author of DITA Metrics 101 and a long-time friend from the Suncoast STC chapter, sent me a link to a recording of a presentation he gave comparing object-oriented design to content re-use. You can listen to it here.
It’s an interesting presentation to listen to. The basic idea is that when programmers create classes, they include attributes and methods for each class. “Objects” are derived from the classes (kind of like how all the different breeds of dogs are all derived from the general species of “dog”). Each object uses the attributes and methods from the class. While each object shares common characteristics with the class, the specific values for the attributes and methods in each object are often unique.
Being familiar with both Java and DITA, I can see the parallels that Mark is talking about. Mark himself is a former software programmer, so these concepts align with his programming background quite nicely.
I make use of these concepts regularly in my help projects. I have a topic that has certain variables. When I generate different outputs (like generating objects from a class), a configuration file defines different values for each of the outputs. These values get inserted into the variables in each of the topics, making the topics unique for the output. It’s content re-use 101, but it’s fundamental to single sourcing methodology.
I think the comparisons between programming and content re-use are brilliant and worth listening to. The only thing I find odd is why so many developers seem to be allergic to XML formats like DITA that maximize re-use. When programmers write documentation, they don’t seem to really get single sourcing nor do they frequently leverage much content re-use. But that may be because programmers (at least those I interact with) don’t usually write much documentation. Overall, it’s cool to see the parallels between single sourcing and object-oriented programming.
About Tom Johnson
I'm an API technical writer based in the Seattle area. On this blog, I write about topics related to technical writing and communication — such as software documentation, API documentation, AI, information architecture, content strategy, writing processes, plain language, tech comm careers, and more. Check out my API documentation course if you're looking for more info about documenting APIs. Or see my posts on AI and AI course section for more on the latest in AI and tech comm.
If you're a technical writer and want to keep on top of the latest trends in the tech comm, be sure to subscribe to email updates below. You can also learn more about me or contact me. Finally, note that the opinions I express on my blog are my own points of view, not that of my employer.