‹ All articles
Data and Systems

Designing for the Connection People Actually Have: Principles for Websites, Mobile Apps and Testing

A digital product that performs well only on fast networks and new devices is not designed for most of its intended users.

Cover image for the article: Designing for the Connection People Actually Have: Principles for Websites, Mobile Apps and Testing

Design for real conditions

Digital products are often conceived and tested in environments with strong connectivity and recent hardware. Users, however, frequently access them on mid-range phones, over variable mobile data, and with limited data allowances. A website that loads slowly or an app that fails when the network drops does not simply frustrate users; it excludes them.

Designing for real conditions is therefore a matter of inclusion as much as of engineering quality.

What real conditions include

  • Devices. Mid-range phones with limited storage and memory, sometimes shared among family members.
  • Connectivity. Variable mobile networks, interruptions and congestion at busy times.
  • Data cost. Users who ration data and avoid large downloads or heavy pages.
  • Power. Intermittent electricity and short battery life.
  • Language and literacy. Users who read in a second language, or who prefer short, visual instructions.
  • Context of use. Outdoors, in noisy places, or while doing another task.

Writing these conditions down at the start of a project, and testing against them, is one of the simplest and most effective quality measures a team can adopt.

Principles for websites and web platforms

  • Prioritise mobile first. For many users the phone is the only device; layouts and interactions should be built for it, then extended to larger screens.
  • Keep pages light. Compress images, limit scripts and avoid unnecessary media so that pages load quickly on mobile data.
  • Make content easy to maintain. A platform that only a developer can update will become outdated; choose structures that non-technical staff can manage.
  • Write plainly. Clear language and logical navigation serve every visitor, including those reading in a second language.

Keeping pages light

Heavy pages cost users money and time. The main culprits are large images, many scripts and auto-playing media. Compressing images to appropriate sizes, loading only what is needed on each page and testing on a throttled connection can transform the experience. A useful habit is to set a page-weight budget at the start of a project and to check each new feature against it.

Content that staff can maintain

Many websites decay because updating them requires a developer. Choosing a structure that lets non-technical staff publish news, change contact details and add documents keeps the site current and credible. Handover training should be part of every project.

Plain language and clear navigation

A visitor should know within seconds what the organisation does and how to reach it. Short sentences, familiar words and a simple menu help every reader, and especially those reading in a second language.

Principles for mobile applications

An application should be planned around the job it must do, not around a list of features. Begin by describing the user, the task and the environment in which the task occurs. Then decide what the app must do when the connection is weak or absent.

  • Support offline use where the task allows, storing entries locally and synchronising when a connection returns.
  • Minimise data consumption and file sizes.
  • Keep the interface simple, with large touch targets and few steps to complete a core task.
  • Fit the way people already work, so that the app replaces a process rather than adding one.

Offline-first thinking

In an offline-first design, the app treats the local device as the primary place where work happens. Entries are saved immediately on the phone and placed in a queue. When a connection returns, the app synchronises the queue in the background and tells the user what has been sent. The design must also decide what happens if the same record is changed in two places, and must make failures visible so that users never wonder whether their work has been saved.

Accessibility basics

  • Use sufficient contrast between text and background, and do not rely on colour alone to convey meaning.
  • Provide text that can be enlarged without breaking the layout.
  • Label buttons and fields clearly, and keep forms short.
  • Offer clear error messages that say how to fix the problem.
  • Test with people who have different abilities and levels of experience.

Accessibility is not a separate feature to be added at the end. It improves the experience of all users, including those in bright sunlight, on small screens or in a hurry.

User experience as a discipline, not a finish

User experience design is most effective at the beginning of a project, not as a final polish. Brief conversations with intended users, simple sketches and early prototypes reveal misunderstandings when they are cheap to correct. Observing a person attempt a task without assistance is more informative than any amount of internal discussion.

MethodWhen to use itWhat it reveals
Short user interviewsAt the startWho the users are, what they need and what they do today
Paper sketches and simple prototypesBefore buildingWhether the proposed flow makes sense, at very low cost
Observing users attempt a taskAt any stageWhere people hesitate, make mistakes or give up
Quick feedback sessions on early versionsDuring the buildWhich features matter and which can wait
Post-launch feedback and usage reviewAfter launchHow the product performs in daily use and what to improve next

None of these methods requires a large budget. Five conversations with real users will often reveal problems that no amount of internal discussion would find.

Testing before launch

Software that has not been properly tested tends to fail at the worst moment, in front of the users it was meant to serve. Effective testing covers functionality, performance on low-end devices and slow networks, usability with real users, and security basics such as access control and data handling. Defects found before launch cost a fraction of those found afterwards, and testing protects the credibility of the organisation behind the product.

Type of testingWhat it checksExample
FunctionalThat each feature does what it shouldCan a user register, save a record and retrieve it?
PerformanceSpeed and stability on low-end devices and slow networksHow long does the main page take on a throttled connection?
UsabilityWhether real users can complete tasks unaidedCan a first-time user submit a form without help?
CompatibilityBehaviour across devices, screen sizes and browsersDoes the layout work on small and older phones?
Security basicsAccess control and data handlingCan one user see another user's records?
AccessibilityWhether people with different abilities can use the productCan text be enlarged, and are fields labelled?

A pre-launch checklist

  • Core tasks tested end to end on at least two low-end devices.
  • Behaviour checked on a slow connection and with the connection lost mid-task.
  • Real users have completed the main tasks without help.
  • Access permissions and data handling reviewed.
  • A plan exists for fixing problems reported after launch, and a named person owns it.

Common mistakes

  • Designing on fast connections and new devices only.
  • Adding features before understanding the job to be done.
  • Leaving user research until after the build.
  • Treating testing as a final step that can be shortened when time is short.
  • Launching with no plan to maintain or update the product.