This will be a shorty today since currently I am working on exactly that: documentation for my App “Drumsetlist Manager”.
It does have a built in Help system and also have a Web Page exists for the app. But let’s be honest: it is not the most fulfilling task for a programmer to write nice words about the app on a Web Page or create a Manual for an already existing App.
So I want tor try to give you three valid reasons why I think it is worthwhile to document your app in a good way.
1. You save time
As an Indie designer there is no service team or anyone else than yourself to answer questions your customers might have. I got plenty of questions about the apps functionality and would I have had a proper manual I could have sent that out and done. But I had only a very short help built in the app and apparently that was not enough. So I had to answer questions over and over and that takes, right, a lot of Time! Time you could use for programming more apps.
2. You remember your own work
It is very human: you forget. Also us programmers forget. So after a while you forget about the great code you wrote and the great functions you implemented. This even happens if you write “Clean Code”. You just cannot read and understand code as quick as a manual with nice graphics and schematics.
Then you want to add or extend functions and you start looking through your code how it was implemented to get the logic again. Now it would be handy if you would have a high level description of your app you could browse and find the answer quite quickly.
3. Documentation is Design
Now here comes a radical thought: what if you would document first your app and its functions, then start to code Tests and then the application code.
This pattern is called TDD, test driven development and enables you to concentrate on the most important features for your customers.
Because you could test the features of your app with your customers by offering them the documentation and ask for their opinion before you write one line of code.
That way you test your ideas before starting the time consuming coding exercise.
Thats it for today, share your thoughts and let me know your opinion!