Oxyd wrote:
So how would you split the documentation up? Certainly it can't all be just one page, that would get super-messy. On the other hand, you feel that the current way of splitting it is too much. As someone who's trying to get into the API, what sort of organisation do you think would help you?
I think this is a common mistake, that many documentation-writers are doing: they think, they have to make ONE documentation. One, that fits all needs. One, that includes every information of each standpoint.
I think Paranoimia made some quite good examples how to do it right. I would see that docs (and some more) as some kind of reference. Because they use a trick to write such good docs: they don't think, "oh good, I have such many information about the code and everything, how can I bring it to the users?" (Or similar thoughts)
They think:
"Who needs to use the docs? What does he look for?"
They have created profiles for all the types of users they know. They analyze, for what the users are searching for and they do much more to get a picture of what the users want to know, when they come.
The user, that just wants to get an overview, one, who is searching for some special information, users thinking about changing from another framework, etcetera. There are many profiles of such users.
And what they do then is to link the information to the sight of one profile.
I repeat: link the information.
I know, it's not the best comparison, but I have tried to do that with the Factorio wiki main page (and some levels deeper). You can see my try to do this kind of thinking on what is the user searching for. (The results are of course not really exciting yet

, but compared with the afford I put into it I think it's ok. Of course I would do it now completely different, but I wanted to give others also a chance to make something with the wiki)
So I try to repeat: In practice it is not possible to make one documentation, "that fits all". If you try, you'll need to make compromises ...
Instead it's much better to have different "views" to your docs. A (new?) Factorio programmer, don't want to read an introduction on each page how Factorio works. He wants to read it once of course. But then he just wants to read pure API specs, generated out of the code. And that's also a candidate for eventually reading the related c++ code then, just with a click. A newbie, which doesn't even know Lua is excited about docs that links to a Lua-introduction portal, eventually video tutorials of how to program for Factorio. A modder, that has made a complete overhaul of Factorio has a quite different need for information, than a frustrated gamer, who wants to fix a simple bug in a mod, which is essential for his current game.
In the end there is no "here is my documentation" and you can print it out as a book. The truth is more, that a good documentation has no defined start and no end, because it depends on what links you follow as reader.
And I also want to mention here the technical aspect. mediawiki (which is used for the factorio wiki) is incredible mighty, when we speak about how to display and link information. What we currently see in the Factorio wiki is using about 5% of what's really possible. For example: The same information can be showed on different pages and is looking quite different, depending on the context. Or a category selection on the left side is a plugin, that needs to configured. There is really much, which can be done.
One of the first things I would do is to separate forum and wiki into own services. Currently all is inside of one Apache instance, which leads to extremely long URLs and makes the wiki dependend on the forum and vice versa. It makes sense to make different wikis for the different needs and link the information (which is also well supported by media wiki). Otherwise you increase the side-effects and come into namespace conflicts.
After that, the first task for me was to create me a list of user-profiles, based on facts... And then we see...