- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
205 lines
18 KiB
Plaintext
205 lines
18 KiB
Plaintext
Episode: 957
|
|
Title: HPR0957: Freedom is not Free 3 - Documentation
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0957/hpr0957.mp3
|
|
Transcribed: 2025-10-08 05:35:36
|
|
|
|
---
|
|
|
|
Hello, this is Ahuka. Welcome to the latest in our series called Freedom Is Not Free.
|
|
And this is a series in which I've been talking about how we can support free software in
|
|
various ways. And one of the things I want to talk about now is I want to talk about
|
|
the topic of documentation. Now, this is another area where all of us can be very helpful
|
|
to the free software movement. Every project needs documentation and they need documentation
|
|
in a variety of ways. So, you know, how are we going to deal with all of this?
|
|
Now, I happen to be a project manager in my day job. And documentation is really important.
|
|
A lot of the projects that I work on involve software or IT systems, things like that.
|
|
And documenting what's going on is always very important. So, I have written documentation.
|
|
I have also encountered resistance on creating documentation.
|
|
And documentation is one of those things that everyone agrees in the abstract. It's a good thing,
|
|
but no one wants to actually take the time to do it. So, I can't tell you how many times
|
|
where I'm at work. And I say, you know, we really need to spend some time documenting the system.
|
|
And it's, I know, I can't do that. I'm just way too busy. You know, I'm putting out fires everywhere.
|
|
I can't take the time to sit down and write documentation.
|
|
And so, what usually happens, in fact, this literally happened at work where this fellow who
|
|
had who just could never find any time to do documentation suddenly got very ill.
|
|
And shortly thereafter died. And so, all of the stuff, all the documentation, he never
|
|
got around to writing. Well, you know, people had to figure out how to deal with all of that when
|
|
he wasn't around to ask questions. So, you know, it's not a good thing.
|
|
Now, in terms of the free software community, you know, if I can't get people to write
|
|
documentation when they're on the payroll, you know, it's even harder in the free software world.
|
|
At least that's my experience of it. You know, I use, as I've mentioned, I use a KDE
|
|
distribution. Kabuntu is my favorite distribution. And, you know, in KDE, you know, you're working
|
|
on an application and you go to the help menu and say, yeah, I want to take a look at the help
|
|
system. And I can't tell you how many times then I've clicked on that. And I get a message back
|
|
that says, no, there is no help here. We don't have any help. You know, that's unfortunate,
|
|
but that's really the way it is. Well, if that's the case, you know, how are we going to deal with
|
|
that? I really think we need to have better documentation, better help material.
|
|
And so, what I want to do is not just encourage people to do it, but give you some ideas about how
|
|
to do it, how to think about it, et cetera. So the first thing is that there's actually two kinds
|
|
of documentation. All right, there is technical documentation and there's end user documentation.
|
|
And knowing which is which is a really good thing. So with technical documentation, what we're,
|
|
you know, talking about, this is what the coders would do for each other. All right, and that's,
|
|
that's a good thing. All right, if you've coded, if you've written a bunch of code that someone else
|
|
is at some point going to have to take over and manage, you know, it's a real good thing if you've
|
|
got some kind of documentation, but that might actually even be in the code. It might be a matter of
|
|
placing comments in the code that you write that is going to explain how all of that works.
|
|
That's not the kind of documentation I'm talking about here that I want to talk about for the
|
|
rest of this podcast. I want to focus on the end user documentation. Now, end user documentation
|
|
is something that, you know, is for the end user, it is for someone who is not necessarily technical.
|
|
I realize, you know, there are the average technical level of the free software users,
|
|
probably a little higher, but I don't think that we are interested in saying that free software
|
|
is only for the propeller heads out there because that would be a very small audience.
|
|
And I'd like to see free software go further and be applied to larger numbers of people.
|
|
But to do that, we got to give them a little bit of help.
|
|
Now, when you're taking a look at this kind of documentation, one of the big problems you have
|
|
is that nobody wants to do it. It's not the sexy part of it. It's not the fun part.
|
|
Developers like writing code. They're good at writing code, generally speaking.
|
|
And they really don't want to do documentation. A lot of these people are volunteers.
|
|
You can't force them to do documentation. Even if they think in the abstract, it'd be nice
|
|
if it existed. That doesn't mean they think it's their job to do it. And if we're talking about
|
|
end user documentation, I think that's a different skill set. I really don't think that developers
|
|
actually are very good at it on average. There may be some exceptions,
|
|
but it's not the sort of thing that it strikes me that a developer is naturally going to be good at.
|
|
So with end user documentation, if you do have that skill set, if you do have the ability
|
|
to explain things to people, in my case, I previous career, I spent some time in the classroom
|
|
teaching and got to develop some skills that way. So if you have that kind of skill set,
|
|
if you can write something that is clear, transparent, and helpful, this is a great way to make
|
|
a contribution. Now, I got to warn you, it can be frustrating because you're dealing with people
|
|
who, by and large, either don't understand or just don't want to take the time to get involved.
|
|
Now, I'll tell you a story about one. And it doesn't matter what the application was, but
|
|
I said, you know, gee, I'd like to help. I've written good documentation before.
|
|
And, you know, I think I could help you with this. Let me help you with some documentation. And
|
|
they said, oh, that's wonderful. We really need people to do that. So I said, you know, what kind
|
|
of stuff do you have now? Do you have any technical documentation or, you know, what do you have?
|
|
Well, the answer was, well, we don't have anything. That's what we want you to do.
|
|
And so, okay, where's my starting point here? Am I supposed to go off somewhere and
|
|
woodshed figuring out how this software works for six months? So if I'm finally in a position
|
|
to write something, you know, when I do this at work when I write documentation, what I do is I make
|
|
the technical people sit down with me and answer my questions and so forth. So, you know, the bargain
|
|
is I won't make you do the writing. I'll do the writing, but you got to talk to me.
|
|
And I think you need to do that to do good documentation, okay? Now, the technical documentation
|
|
can get you started. You know, if you've got a good feeling for the technology involved, you
|
|
know, you can read that, you can figure out a lot. But if you're going to do good end years of
|
|
documentation, you need to go way beyond that. And you may be talking to people on the project
|
|
that just don't quite understand this. You know, I can't tell. You know, there are so many people
|
|
on these projects that have this idea that, well, we put up a wiki. And it's like, okay, that's
|
|
going to work for some people, but it's not good end user documentation. You know, and I think
|
|
wikis tend to be vastly overused. Oh, we've put up a FAQ. Okay, that's better than nothing,
|
|
but that's not really good documentation. So, the end result of all of this is if you're going
|
|
to do good documentation, you may have to actually spend some time talking to the people on the
|
|
project and explaining to them just what that means. That good documentation is a group effort.
|
|
Well, nothing surprising about that. I've been saying all along that everything we do in
|
|
free software is a group or community effort. So, how would you go about doing this?
|
|
I think you need to change your mindset just a little bit. End users, let's assume we're talking
|
|
about people who by and large are not technical. So, what I like to do is I like to do stories.
|
|
Now, if you haven't been exposed to this concept, it's something that agile developers
|
|
tend to do this pretty well. And you're going to find it in a few other places. But the idea of
|
|
stories is you start inventing a person, a user, and saying, you know, what do we know about this
|
|
person who we think is going to be using our software? So, for instance, I might say, hey,
|
|
this is this software I want my mother to use. All right, let's say it's an email application.
|
|
And my mother is getting up in years. She isn't terribly technical, but she's noticed that her
|
|
kids are all communicating via email, ensuring pictures via email, and she's feeling kind of left out.
|
|
So, we want to get her involved. And then he said, okay, how would I explain this to my mother then?
|
|
And the answer is not, I'd say, hey, there's a wiki here, mom, go figure it out. It just doesn't work.
|
|
So, I've got this image of this person in my mind, and I'm going to start thinking, okay, what does
|
|
she need to, you know, first of all, she's going to have to configure the software. Oh, that's
|
|
going to be tough. You know, I'm not going to explain about IMAP and Pop 3 and SMTP to my mother.
|
|
You know, maybe I don't need to. You know, maybe this is one of those things where I end up just
|
|
doing it myself, but for the standpoint of documentation, how are we going to set this up? Now,
|
|
maybe it's going to lead you through that pretty well. You know, when you install the software,
|
|
it's going to take you through the configuration part, but you really need to start thinking,
|
|
how do I explain that? And then, you know, once you've got it in there and it's configured,
|
|
do you want to have folders? How are we going to set that up? So, we have to start explaining
|
|
folders. Do you want to have filters that root things to folders, or are we going to start explaining
|
|
that? And when you start explaining it, you're going to want to use screenshots. I think with end
|
|
user documentation, it is not possible to have too many screenshots. It just makes a bit,
|
|
if you can say to people, when you open the application, here's what it looks like.
|
|
And, you know, take a screenshot, bring it into a graphics program,
|
|
find a way to draw a box around it in, you know, bold red. And so that it's real obvious what
|
|
it is you're pointing to, and you say, and this is where you click, and so on. So, you know,
|
|
that's the idea of telling a story. Now, maybe another one is this software I'd want to
|
|
use it in the classroom. So, the person I want to be writing my documentation for is a teacher.
|
|
Now, I have to tell you, there are a lot of K-12 teachers out there that are not very technical.
|
|
So, again, you're going to want to write this in such a way that it's going to be intelligible
|
|
to people like that. And, again, screenshots, just, you know, be as clear as you can,
|
|
take nothing for granted. All right? Another thing, if you're doing the documentation, test it.
|
|
All right? So, if you were writing something for Mom, ask Mom to read it and say, Mom, does this
|
|
make sense to you? Could you do that? You know, this is a variation on the sort of testing that
|
|
people ought to do for user interface. They don't do as often as they should. But, you know,
|
|
the people who are real experts on user interface testing say, what you want to do is you want to
|
|
put someone in front of the computer, give them a task to do, and then don't offer them any help
|
|
at all and see if they can figure it out. That's a good test of whether your user interface actually
|
|
makes any sense or not. But, in terms of documentation, I would say, give the documentation to someone
|
|
who matches that story. You know, if it's something for a classroom, you know, find a K-12 teacher
|
|
and say, hey, would you take a look at this? You know, back when I was developing websites, I was
|
|
very concerned about accessibility. So, I asked a friend of mine who was blind to say, would you
|
|
check this site out? Can you navigate this site? I mean, that was one of my best tests. If it's
|
|
supposed to be accessible to blind people, get a blind person to look at it. So, in terms of
|
|
documentation, get some testing, okay? The next thing you'd want to think about, these are the kinds of
|
|
things that we often take for granted, but let's be explicit about it. What's the purpose of this
|
|
software? Why would I use it? Very often, people are just not clear about this. You know, I remember
|
|
some years ago, I was teaching office productivity software at a local college. And one of the things
|
|
that I focused on, and we're talking about word processing and spreadsheets and stuff like that,
|
|
your standard office productivity software. And I used to say the single most misused
|
|
application in all of personal computing is the word processor. And it's misused because nobody
|
|
has ever taught you to think about it the way you ought to. No one has ever taught you to use a
|
|
word processor the way you should use it to get all of its power. And I could say the same thing
|
|
about spreadsheets and, you know, and so forth. So, you know, understanding what is it that you
|
|
want to be doing? How should I be thinking about this piece of software? That's a real good question
|
|
to have. What are the things that I want to accomplish? Okay? I mean, this becomes part of the
|
|
story that you tell, you know, when you're picturing a typical user and figuring out what their
|
|
needs are, part of that is to say, well, what are the specific things they want to accomplish?
|
|
Right? If I know that mom wants to see pictures of her grandchildren, what do I need to do
|
|
to help her to see the pictures of the grandchildren? And the easier I can make that, the better it's
|
|
going to be. You know, is this software that I'm going to use on a daily basis or in frequently?
|
|
You know, you can develop familiarity with a piece of software if you use it every day.
|
|
If you just use it once in a while, it's kind of a different thing. Is this software that I would
|
|
use alone or would I use it in combination with other software? It's another really good question
|
|
to be thinking about. And if you're going to be using it in combination with other software,
|
|
you might want to spend a little time talking about that process. So if my email client is not going
|
|
to, well, let's say the email client is displaying the pictures perfectly well, but mom wants to
|
|
save them to her hard drive and, you know, maybe put them into a slide show or something. I'd
|
|
better start thinking about that. Now, these are just a few of the questions. And we could go and do
|
|
people have written books about this. And obviously, we don't have that kind of time.
|
|
But I think this is something you can look at. And if you have that right kind of mindset that
|
|
you can put yourself in the shoes of someone who doesn't know a lot about computers and say,
|
|
what kind of questions would they have? If you can write something that is clear and understandable
|
|
and you know how to grab the screenshots and all of that, then this is something you can look at.
|
|
And it's an invaluable contribution to free software if you can do that.
|
|
Now, one last thing I want to talk about with documentation. And that is the fact that a lot
|
|
of the software that we deal with, we really need to be thinking internationally. All right,
|
|
I think free software is a very international project. And so there's people all over the world
|
|
involved in this. And that means that the documentation may need to go into a whole variety of
|
|
different languages. So translating documentation is really important. And I realize, yes, they've
|
|
made wonderful strides in computerized translation. And if you take a look at it, it's just not good
|
|
enough. There's nothing that compares to having someone who understands the language of the
|
|
documentation and the language that they want to put it into. So, you know, every time I read
|
|
I was just reading the other day about all these desktops in Extremadura in Spain and all of the
|
|
free software that they want to get into is, okay, I'm guessing at some point they're going to
|
|
want someone to translate documentation into Spanish so that, you know, school children in Spain
|
|
can actually read this and figure out what's going on. And school teachers in Spain can read it and
|
|
figure out what's going on. So that's one of the things that I think you could take a look at.
|
|
If, again, if you happen to, you know, if you are bilingual or trilingual, whatever, you've got
|
|
several different languages going on, take a look at helping with translation. There's
|
|
always a need for help there. So, I think that covers everything I wanted to say about documentation.
|
|
So, I'm also going to give my pitch at that. As I think I mentioned on the last one, I am also the
|
|
publicity director for Ohio Linux Fest and we are looking for speakers. So, if you have anything
|
|
you would like to say, some topic you think you could do a presentation on. If you go to the
|
|
OhioLinux.org website and I'm going to put this in the show notes so that you can take a look at
|
|
what we're looking and we're looking for a wide variety. We want all varieties of skill and
|
|
experience level. So, we want stuff for beginners, we want intermediate, we want stuff for advanced,
|
|
we want stuff for cis admins, and we want to cover just about anything involving free software,
|
|
open hardware. So, we're pretty broad about it and we're looking for speakers. So, if you can
|
|
spare a few moments, go check out the website and maybe file a proposal to give a talk.
|
|
And so, I'm looking forward to seeing you at OhioLinux Fest if you're in the area, midwest part of
|
|
the United States. Otherwise, I'm signing off. This is Ahuka. Thank you.
|
|
You have been listening to Hacker Public Radio at Hacker Public Radio. We are a community podcast
|
|
network that releases shows every weekday on day through Friday. Today's show, like all our shows,
|
|
was contributed by a HBR listener like yourself. If you ever consider recording a podcast,
|
|
then visit our website to find out how easy it really is. Hacker Public Radio was founded by
|
|
the Digital.Pound and the Infonomicom Computer Club. HBR is funded by the binary revolution
|
|
at binref.com. All binref projects are crowd-responsive by linear pages. From shared hosting to
|
|
custom private clouds, go to lunarpages.com for all your hosting needs. Unless otherwise stasis,
|
|
today's show is released on the creative commons, attribution, share a like,
|
|
videos or license.
|