- Understand what a wireframe is and why it is used during the Design stage of software development
- Identify and name common input and output elements used in user interface design
- Justify the choice of an appropriate UI element for a given program scenario
- Create a wireframe using draw.io to plan a user interface
- I can define the term wireframe and state at which stage of the development cycle it is created
- I can name at least 5 different input elements and describe when each is used
- I can name at least 3 different output elements and describe what each displays
- I can choose and justify an appropriate UI element for a described scenario, explaining why it is better than an alternative
- I can produce a wireframe in draw.io that includes labelled input and output elements
Answer before the lesson begins. These check prior knowledge — it's fine if you're unsure.
1. At which stage of the software development cycle is a wireframe typically created?
2. Which input element is designed for a user to type a single short line of text, such as their name?
3. What does a wireframe not typically include?
Key vocabulary
Wireframe UI Design
What is a wireframe?
A wireframe is a simple, low-fidelity diagram that shows the planned layout of a user interface (UI) before any code is written. It is created during the Design stage of the software development process, after requirements have been agreed in the Analysis stage.
A wireframe looks like a sketch: plain grey boxes represent input fields and images, labels name each element, and buttons are shown as filled rectangles. There are no real colours, fonts, or photographs — those details come in later, higher-fidelity prototypes or in the finished program.
Why create wireframes?
- Plan before you code: it is much faster to move a box on a wireframe than to rewrite HTML and CSS.
- Communicate the design: wireframes let developers, clients, and teammates agree on the layout before implementation starts.
- Spot usability problems early: reviewing a wireframe often reveals missing elements or confusing layouts before any development effort is invested.
- Serves as a blueprint: once agreed, the wireframe guides the programmer during Implementation.
Input elements
Input elements are the parts of the UI where the user provides data to the program. Choosing the right element matters — the wrong choice can cause errors and frustration.
| Element | When to use | Example |
|---|---|---|
| Text box | User types a short, free-text value (one line) | Name, username, search term |
| Text area | User types a longer, multi-line piece of text | Comments, description, review |
| Dropdown list | User selects exactly one option from a long predefined list | Country, genre, category |
| Radio button | User selects exactly one option from a short fixed set (2–5 options) | Yes / No, Delivery / Collection |
| Checkbox | User can tick or un-tick one or more options independently | Interests, "Remember me", terms agreement |
| Number input | User enters a numeric value, often with a min/max limit | Quantity, age, rating (1–5) |
| Date picker | User selects a date from a calendar widget | Date of birth, booking date, due date |
| Button | Triggers an action when clicked | Submit, Search, Log In, Add to Cart |
Output elements
Output elements display information to the user — results, confirmations, or labels that describe other elements.
| Element | What it displays | Example |
|---|---|---|
| Label / heading | Text that identifies or describes another element or section | "Username:", "Search Results", page title |
| Paragraph text | A longer block of text displayed to the user | Error message, confirmation message, instructions |
| Table | Data displayed in rows and columns | Search results, student records, product list |
| Image placeholder | A box (often with an ✕) marking where an image will appear | Product photo, user avatar, banner |
| Result / calculated text | Output generated by the program (calculation or database query) | "Total: £24.50", "Your score: 8/10" |
Annotations
Good wireframes include annotations — short notes beside each element that explain its purpose, what data it holds, validation rules, or how it behaves. For example:
- "Dropdown — user selects from predefined list; cannot type own value"
- "Text box — max 50 characters; must not be blank"
- "Table — displays records returned from database query"
Annotations make a wireframe useful to the whole development team, not just the designer who created it.
Justifying element choices
In the SQA exam, you are often asked to justify why a particular input element is appropriate. A strong justification always links the element's properties back to the scenario. For example:
- Dropdown instead of text box → "restricts input to valid options, preventing typing errors"
- Radio buttons instead of checkboxes → "only one value can be selected at a time"
- Date picker instead of text box → "ensures correctly formatted date input and prevents invalid dates"
The key question to ask yourself is: could the user enter invalid data with a text box that this element prevents?
Worked examples
The wireframe below shows a planned login screen for a school quiz app. Identify and name the type of each UI element shown.
Scenario: A cinema booking website needs a page where users can select a film, choose a date, pick a seat type (Standard, Premium, or Accessible), enter their email address, and confirm their booking.
Question: A music streaming app has a "Search" page. Justify why a dropdown list is more suitable than a text box for selecting a music genre to browse.
A school is building a homework tracker app. When a pupil adds a new task, they must enter:
- The subject (from a fixed list of school subjects)
- A description of the task (a few sentences)
- The due date
- The priority level — Low, Medium, or High
Answer the following:
- Name a suitable input element for the subject field and justify your choice.
- Name a suitable input element for the description field and justify your choice.
- Name a suitable input element for the priority level field and justify your choice.
- Subject → Dropdown list. The school has a fixed set of subjects (e.g. Maths, English, Science). A dropdown restricts the pupil to valid choices and prevents typing errors. It also ensures the subject name is stored consistently in the database.
- Description → Text area. A task description may span several sentences, so a multi-line text area is more appropriate than a single-line text box.
- Priority level → Radio buttons. There are exactly three options (Low, Medium, High) and the pupil must choose exactly one. Radio buttons make all three options visible at once and enforce single-selection. (A dropdown would also be acceptable with a brief justification.)
Wireframe / UI design questions typically appear as part of the Design topic in Section 1 of the question paper. Common question stems are:
- "Identify two suitable input elements for this program." (1 mark each)
- "Justify why [element A] is more suitable than [element B] for this field." (2 marks)
- "Name an appropriate output element that could display the results." (1 mark)
For a 2-mark justify question, you need: (1) name the chosen element and (2) explain why it fits the scenario — specifically what problem it solves that the alternative does not. Always reference the scenario directly. A general answer about dropdowns being "easier to use" is worth 0 marks; an answer that says "restricts input to the 5 available ticket types, preventing invalid entries" is worth full marks.
Questions 1–5 are auto-checked. Questions 6–7 are self-marked written responses. Questions 8–9 are draw.io wireframe tasks — create your diagram in draw.io, then upload or paste it below.
1. Which input element lets a user select exactly one option from a long predefined list (e.g. choosing a country)? TYPE 1
2. A registration form asks users to tick all the topics they are interested in (they can choose more than one). Which input element is most appropriate? TYPE 1
3. What type of output element is best for displaying a list of database records in rows and columns? TYPE 1
4. A booking form asks the user to enter the date of their appointment. Which input element best prevents the user from entering an invalid date? TYPE 1
5. Which statement best describes the purpose of annotations on a wireframe? TYPE 1
6. Describe two reasons why a developer creates a wireframe before writing any code. TYPE 2
Any two of:
- It is much faster to change a wireframe than to rewrite code — design problems can be spotted and fixed at the planning stage, saving significant development time.
- A wireframe communicates the planned design to clients, other developers, and teammates before implementation begins, so everyone agrees on the layout before work starts.
- Reviewing a wireframe helps identify usability problems early — for example, missing fields, unclear navigation, or a confusing layout — before any effort has been invested in coding.
- Once agreed, the wireframe serves as a blueprint during the Implementation stage, guiding the programmer on what to build.
7. A weather app is being designed. The "Search" page must allow the user to enter a location name, choose whether to see a daily or weekly forecast, and view the results. Identify three suitable UI elements for this page, giving the element type and what it is used for in each case. TYPE 2
Three from the following (element type + purpose both required for each mark):
- Text box — for the user to type a location name (short, free-text input with no fixed list of valid values)
- Radio buttons — to select Daily or Weekly forecast (only two fixed options; exactly one must be chosen; radio buttons make both options visible at once)
- Button (e.g. "Search") — to submit the location and trigger the forecast lookup
- Table or paragraph text — to display the weather forecast results (an output element showing temperature, wind speed, conditions, etc.)
- Label — to identify the location input field or the results section
Accept dropdown for forecast type with appropriate justification.
8. Using draw.io, create a wireframe for a "Add a Book" form for a school library app. Library staff use this form to add a new book record. The form must allow the user to enter: the book title, the author's name, the genre (from a fixed list), the publication year, and save the record. Your wireframe must include at least 4 labelled input elements and a Save button. Upload or paste your completed wireframe below. TYPE 3
Your wireframe should include:
- Text box — Book title (short free-text input)
- Text box — Author name (short free-text input)
- Dropdown list — Genre (fixed list of categories; prevents invalid input)
- Number input — Publication year (numeric; could include min/max validation, e.g. 1000–2025)
- Button — "Save" or "Add Book" (triggers the save action)
- A heading or label for each input field
- Optional: a success/error output message area after saving
Award yourself a mark if your wireframe is clearly low-fidelity (plain boxes, no real colour/images) and uses appropriate element types as above.
9. Using draw.io, create a wireframe for a "Quiz Results" output page for a school quiz app. The page should display: the quiz title, the pupil's total score, their grade, and a table showing each question with whether their answer was correct or incorrect. Annotate at least 3 elements on your wireframe to explain their purpose. Upload or paste your completed wireframe below. TYPE 3
Your wireframe should include:
- Heading / label — quiz title (output element; displays the name of the quiz)
- Result text — score display, e.g. "Score: 8 / 10" (calculated output)
- Result text — grade display, e.g. "Grade: A" (output derived from score)
- Table — one row per question; columns: Question number, Question text (or summary), Correct/Incorrect indicator (output showing database query results)
- Button — optional "Try again" or "Return to menu" navigation button
- At least 3 annotations explaining element purpose (e.g. "Table — displays one row per question from the database"; "Score text — output calculated by comparing answers"; "Heading — output showing quiz name from database")
This page is almost entirely output elements — that is appropriate because the user is viewing results, not entering data.
Suggested timing: 60 minutes. Warm up 8 min; vocabulary 5 min; notes + tables 15 min; worked examples 12 min; now you try 7 min; task set Q1–5 5 min; Q6–7 8 min. Q8–9 are draw.io tasks — best completed in a second period or as homework with draw.io open.
Key misconception to address: pupils often produce a fully styled mockup (with colour, fonts, and images) and call it a wireframe. Stress that a wireframe is deliberately low-fidelity — grey boxes, no real images, placeholder text. The value is in planning layout and element types quickly, not in visual polish.
Live demo suggestion: open draw.io and create a login wireframe together in real time. Use: Rectangle → input box; filled Rectangle → button; text label → field name; circle → radio button. Show how to add an annotation arrow using the "callout" shape. Takes about 5 minutes and immediately makes the task concrete.
draw.io tip for pupils: search "mockup" in the shape library (left panel → Search shapes) to find dedicated wireframe shapes including text boxes, buttons, dropdown arrows, and browser frames. These are faster than drawing rectangles manually.
Extension question: "A client asks for a high-fidelity prototype instead of a wireframe. What additional information does a high-fidelity prototype include, and why might a developer prefer to start with a wireframe?" (Colours, real fonts, styled images, interactive clicks — wireframes are faster to produce and cheaper to change.)
SQA command words covered: "identify" (name the element — 1 mark each), "describe" (explain what it does), "justify" (name + reason why it is better than the alternative — 2 marks).
Past paper mapping: wireframe / UI design questions appear as part of the Design topic in Section 1. Check SQA past papers from 2023 onwards — questions asking pupils to identify inputs/outputs for a described scenario are increasingly common. The 2023 exam included a question asking pupils to name suitable input elements for a described program.
- Assignment relevance: SDD Assignment Task 1 requires evidence of Design (25 marks). A wireframe is accepted as UI design evidence alongside a structure diagram or flowchart. Q8 and Q9 are deliberate practice for producing assignment-quality wireframes.