Smart Answers
Smart answers are a great tool for content designers to present complex information in a quick and simple way. Defining what they are – decision trees? calculators? tools? is immaterial – what they do is provide a reusable technical framework to build a quick and simple answer to a complex question.
Read more in Lisa Scott's GDS blog post.
Screenshots
Live examples
- Look up Meursing code
- Maternity and paternity calculator for employers
- Towing: licence and age requirements
Nomenclature
-
Smart Answer: The flow, questions and outcomes.
-
Flow: Defines the questions, outcomes and the rules for navigating between them.
-
Landing page: Contains a description of the Smart Answer and the "Start now" button that leads to the first question.
-
Question page: Contains an individual question that's asked in order to help arrive at at an outcome.
-
Outcome page: Contains the result of the Smart Answer based on responses to individual questions.
Technical documentation
This is a Ruby on Rails application that contains:
- A Rails application to serve Smart Answers
- A DSL for creating Smart Answers
- The Smart Answers that appear on GOV.UK
NOTE. This application doesn't use a database and as such it does not include the ActiveRecord Railtie in application.rb.
Dependencies
- alphagov/static: provides static assets (JS/CSS) and the GOV.UK templates.
- alphagov/imminence: provides post code lookup
- alphagov/whitehall: provides country
lookup; and information about high commisions and embassies - nodejs/node: provides JS runtime for precompiling assets for deployment
Smart Answers
Smart Answer flow development
- Development principles
- Deploying changes for Factcheck
- Flattening outcomes
- Refactoring existing Smart Answers
- Adding content-ids to Smart Answers
- Creating a new Smart Answer
- Archiving a Smart Answer
- Retiring a Smart Answer
- Updating worldwide fixture data
Smart Answers app development
Changes to the landing page
Changes to landing pages need to be sent to be sent to the content store
for them to be rendered on the page. The rake task publishing_api:publish_all
needs to be run once you have deployed your changes in each environment and can be done in Jenkins.
Debugging
- Custom Google Analytics accounts and Tracking IDs
- Viewing landing pages and outcomes as Govspeak
- Viewing state of a Smart Answer
- Visualising flows
Registering on GOV.UK
bundle exec rake publishing_api:publish_all
will send smart answers to the publishing-api.
Search indexing
Content is now indexed automatically via the publishing API