Most of the things I’ll be talking about in this post should be intuitive. But I doubt that the design of my app is perfect, so there might be important things that some users might miss. Let’s talk about terminology first.
Entries
On the main screen of the app you can see your entries. Now, what is an entry? Entry is a list of questions and answers that starts with a yellow box. In the yellow box you can see the name of the category to which the entry belongs. We will talk about categories in a short while.
Day records
It’s important to note that the date that you can see on the red background is not a part of an entry, rather it is a part of a thing called day record. Each entry belongs to some day record. And each day record has a date and one or more entries. You don’t create day records explicitly. Instead you create entries. If there is an existing day record for the date you have selected, the entry is added to the bottom of that day record. If there is no existing day record, it is created automatically.
You can’t create day records but you can delete them. When you delete a day record, all the entries associated with that day record are also deleted. You can delete entries selectively, without deleting a day record. But if the entry you have deleted was the only entry in that day record, the day record will be deleted too.
Templates
Each entry belongs to some category which in turn is defined by corresponding template. To create an entry you need to have at least one template. Template is a list of questions with a name. The name of a template is also the name of a corresponding category. You will see that name in the ‘Select category and date dialog’ when you try to create a new entry.
Question types
As of now, there are 3 types of questions: questions with text answer, questions with numerical answer, and questions with Yes/No answer. You select question types when you create questions in the template.
When you add answers to the questions you’ll see that different keyboards are used for typing in answers for different types of questions. For text answers default keyboard is used:
For Yes/No answers special keyboard with just 3 buttons is used:
For numerical answers numerical keyboard is used:
Also there are differences in how answers of different types are presented when they are viewed grouped by question.
Text answers:
Yes/No answers:
Numerical answers:
You can also view numerical answers as graphs.
Principle of independent editing of templates and entries
You edit templates and entries independently from each other. If you edit a template, this will not effect your existing entries. In future I might add the ability to edit existing questions, not just answers. In that case editing an entry won’t effect your templates. Templates and entries are two separate things.