Your App outline is not a comprehensive specification for your App; it's simply an outline of what information your App needs to collect in order to achieve its purpose.
An App outline consists of two parts:
An App outline does not include explainer text, images, style choices, etc. All of these details are important but technically irrelevant as they do not relate to the information your App needs to collect. You can easily add details to your App after the prototype is made.
In this guide:
The essential purpose of your App outline is to describe what information is required to populate your chosen document templates. Each piece of required information is known as a "variable."
How do you identify a variable? i.e. how do you identify all the pieces of information your App needs to collect in order to populate its document templates?
The answer: look at your documents.
Sometimes, it's obvious from looking at your document what pieces of information are required. For example, to populate this section of a document it's obvious the App needs to collect the end-user's name and an address:
But what about this section: how does the App know where to populate the end-user's name?
Does the name go on top of "Petitioner" or "Respondent"? To answer that question, the App requires an additional piece of information: the end-user's role in this legal matter.
The lesson here is that not every piece of information your App requires is a "blank space" on the document template itself. Sometimes, your App requires meta information which is then used to populate a "blank space" with another variable.
In the example above, the variable 'user_role' is a meta piece of information that is used to determine where the variable 'user_name' will be populated, i.e. above the line for "Petitioner" or the line for "Respondent."
Part 1 of your App outline is a spreadsheet of all the information required by your App in order to populate your chosen document templates.
Get started by downloading this spreadsheet template.
The spreadsheet has two tables:
Table 1 is where you'll describe those variables that are defined by asking the end-user a question. This is how most of your variables will be defined.
Table 2 is for describing variables that are defined by logical reasoning or by pulling information out of a database.
Add each variable that you want to define with a question. For each variable, you can include the following information:
Each page of your App is known as a "Block". A single Block can include multiple questions. Use this column to group questions across multiple Blocks.
Most variables will be defined with a question. For example "what is your name?" or "how are you going to deliver these documents to the other party?" (note: you don't need to be so verbose; oftentimes, question labels can be as simple as "name").
Different types of questions are appropriate for different types of variables. For example, if you want to ask the end-user "do you have any children?" a 'True/False' type question is more appropriate than a 'Short Text' question.
Some important notes about question types:
If the question type equals 'radio' or 'checkbox', use this column to list the multiple choice options. Separate each option with a comma.
Coming up with a good variable label is a subtle but important step. Although the only rule is no symbols, we recommend using prefix + underscore to indicate when a variable is part of a group (e.g. user_name, user_phone, user_address).
✅ Excellent variable labels
❌ Bad variables labels
Not all questions have to be asked of the end-user. For example, you may only ask the end-user for their spouse's name if they indeed have a spouse.
If you want to conditionally ask a question, use this column to communicate when that question should be asked. There is no wrong way to write this logic; try to be as clear as possible.
This is a catch-all for any comments / notes you'd like to add. For example, if you want to conditionally display some text depending on how the end-user answers a question, you would describe that here.
You can ask the end-user the same question multiple times. This is the best way to collect information about an undefined number of people/items/things.
The classic use-case for repeating questions is collecting information about the end-user's children. For example, you can have a Block that asks for a child's name and date of birth, and then you can allow the end-user to repeat over that Block for each child they want to add:
In the above example, the questions 'Name' and 'Date of birth' are repeated.
Although questions are the most common method for defining variables, it is not the only method. There are two other options for defining variables:
Example of logical reasoning: The variable ‘Petitioner’ can be defined by two sets of logic depending on the user’s path: 1) if ‘how-paternity-established’ is “The father signed a Paternity Affidavit” then ‘user_name’; or 2) if ‘user_role’ equals “Petitioner”, then ‘user_name’, else ‘other_parent_name.’
What this is saying is that 1) if the user selected “The father signed a Paternity Affidavit” then ‘user_name’ is automatically the Petitioner; or 2) if the variable ‘user_role’ (which should be defined elsewhere in the App) equals “Petitioner”, then ‘user_name’ equals ‘Petitioner’
Example of pulling information from a database: You could have a database with information about courts (address, phone number, etc). Imagine you then have a variable in your App called 'court_address'; this variable could be defined by looking up the appropriate court in your database.
Go through your document(s) templates and add a variable label for each piece of data you want to populate, including text, checkmarks, and signatures.
For PDF templates, use the Adobe Acrobat 'prepare form' feature to add labels to the PDF fields:
For Word templates, designate a variable by wrapping it in double brackets, e.g. {{ user_name }} or {{ user_street }}:
You can download a real App Outline and its associated App to see exactly how one produces the other.
Contact us to set up a time to share what you've made. We'll walk through the steps to launching your app. With the app outline completed, your prototype is well on its way!
Let's talk about your project. If you're interested, you can create a free account and start exploring the App Builder right now.