1Web Platform: Characteristics and Constraints
▶
The web is the most widely reachable application platform ever built. Unlike a mobile app, which must be packaged, submitted to a store, approved, downloaded and installed, a web application is simply somewhere — identified by a URL and rendered by whatever browser the user already has. This single architectural fact shapes almost everything about web interface design: the audience is enormous and uncontrolled, the runtime environment varies wildly, the first interaction is nearly frictionless, and the designer's control over hardware, performance and persistence is correspondingly weak. Understanding the web platform for HCI purposes means understanding this trade: maximum reach and minimum friction, purchased with reduced device integration and increased environmental uncertainty.
From a human–computer interaction standpoint, the browser is not a neutral container. It is itself an interface with its own controls — back and forward buttons, address bar, tabs, bookmarks, zoom, reader mode, find-in-page, print — and users bring deeply ingrained expectations about how those controls behave. A web application that breaks the back button, hijacks scrolling, or disables text selection is not merely annoying; it is violating a mental model the user has built over decades of browsing. Designing for the web therefore means designing inside an existing interface rather than owning the whole screen.
Access model: URLs, browsers and zero installation. Every meaningful state in a well-built web app should be addressable. A URL is simultaneously an identifier, a navigation mechanism, a sharing primitive and a bookmarking primitive. Consider the difference between telling a colleague "open the app, go to Reports, filter by Q3, then select the Northern region" and simply sending them https://dash.example.com/reports?quarter=Q3®ion=north. The second is a direct manipulation of shared state and costs nothing. This is why single-page applications must still invest in routing: if the URL never changes as the user navigates, the application has discarded one of the web's most valuable affordances.
The major rendering engines in practice are Blink (Chrome, Edge, Opera, Brave, Samsung Internet), Gecko (Firefox) and WebKit (Safari, and all browsers on iOS historically). Although standards compliance is far better than in the past, differences remain — in form control styling, date and file pickers, scroll behaviour, font rendering, and the availability of newer APIs. A design that assumes "Chrome on a 1080p desktop monitor" is a design that will be tested by reality.
The absence of installation is the web's strongest adoption lever. A user can go from seeing a link in a message to using the product in under two seconds, with no storage cost, no permission prompts and no account with an app store. For products with shallow or occasional engagement — a council's parking-permit renewal, a conference schedule, a one-off survey, a news site — this is decisive. The corresponding weakness is that the web has no icon on the home screen by default and therefore weak re-engagement: nothing reminds the user you exist. Mobile apps buy retention with installation friction; web apps buy acquisition with disposability.
Responsive design as a baseline requirement. Because the same URL is opened on a 320 px phone, a 768 px tablet, a 1440 px laptop and a 2560 px external monitor, a fixed-width layout is not a design decision — it is a defect. Responsive design combines three techniques: fluid grids (sizing in percentages, fr units, minmax() and viewport units rather than fixed pixels), flexible media (max-width: 100%, srcset for resolution-appropriate images), and media or container queries that change layout at defined thresholds.
/* Mobile-first: the default is the narrow layout */
.product-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
}
@media (min-width: 600px) {
.product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.product-grid { grid-template-columns: repeat(4, 1fr); }
}
/* Better still: let the content decide, no breakpoints needed */
.product-grid--intrinsic {
grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
Note also that responsive design is not only about width. pointer: coarse tells you a finger is the input device, which implies larger hit targets (a minimum of roughly 44 × 44 CSS pixels) and no reliance on hover; prefers-reduced-motion tells you the user is sensitive to animation; prefers-color-scheme tells you whether to serve a dark theme. Responsiveness in the full sense means responding to the user's device, input modality and stated preferences.
Progressive Web Apps. PWA technology narrows the gap between web and native. A web app that is served over HTTPS, provides a web app manifest and registers a service worker can be installed to the home screen or desktop, launch in a standalone window without browser chrome, display a custom icon and splash screen, cache assets and data for offline use, and (on supporting platforms) receive push notifications and perform background sync.
{
"name": "Field Survey Recorder",
"short_name": "Survey",
"start_url": "/app/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#0b5fff",
"icons": [
{ "src": "/icons/192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icons/512.png", "sizes": "512x512", "type": "image/png" }
]
}
A service worker sits between the application and the network as a programmable proxy, which is what makes genuine offline operation possible. A field inspection tool, for example, can cache the shell and the day's job list, allow an inspector to record findings in a basement with no signal using IndexedDB, and flush the queue when connectivity returns. The HCI consequence is that offline capability must be visible: users need an unambiguous indicator of connection state, of which records are saved locally versus synced, and of what will happen if they close the tab. Silent offline queues are a trust hazard.
PWA support is uneven. Installability, push notifications and background sync are more complete on Android and desktop than on iOS, where Apple has historically limited or delayed support and where installation is only possible through a non-obvious "Add to Home Screen" step in the Share sheet. Any project that depends on push notifications to iPhone users should scope that assumption carefully rather than treating "PWA" as a single guaranteed feature set.
Navigation conventions. Web navigation has stabilised into a small set of well-understood patterns, and users read them almost without conscious effort. Choosing among them is a question of information architecture breadth and depth, not taste.
| Pattern | Best suited to | Strengths | Risks and caveats |
|---|---|---|---|
| Top horizontal navigation bar | Shallow sites with roughly 4–7 top-level sections | Always visible, scannable, conveys the whole structure at a glance | Breaks down beyond about seven items; competes for vertical space when sticky |
| Hamburger / drawer menu | Narrow viewports; secondary or account-level links | Saves space, universally recognised on mobile | Out of sight, out of mind — measurably reduces discovery of hidden items on desktop |
| Sidebar / vertical navigation | Admin consoles, documentation, dashboards with many sections | Scales to long lists, supports nesting and persistent context | Consumes horizontal space; must collapse to a drawer on small screens |
| Breadcrumb trail | Deep hierarchies: catalogues, knowledge bases, file stores | Shows location in hierarchy and provides one-click ascent | Useless and misleading on flat sites; must reflect hierarchy, not browsing history |
| Tabs | Switching views of one object (Overview / Activity / Settings) | Low cognitive cost, clear current-state indication | Should not be used for unrelated destinations or for sequential steps |
| Search with filters/facets | Large, heterogeneous content sets | Fastest route for users with a specific goal | Requires real investment in relevance, synonyms and empty-state design |
Most substantial products combine several: a persistent top bar for global sections, a sidebar within a section, breadcrumbs for depth, and prominent search. The guiding principle is Nielsen's "visibility of system status" applied to location — at any moment, the user should be able to answer "where am I, what else is here, and how do I get back?"
Typography, contrast and accessibility. Accessibility on the web is both an ethical obligation and, in many jurisdictions, a legal one (for example the public-sector accessibility regulations in the UK and EU, and the Americans with Disabilities Act as applied to web services in the US). The Web Content Accessibility Guidelines (WCAG) organise requirements under four principles — Perceivable, Operable, Understandable, Robust — at conformance levels A, AA and AAA, with AA being the usual target.
- Contrast. WCAG 2.1 AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text (roughly 18.66 px bold or 24 px regular and above). Non-text elements that convey meaning — input borders, focus rings, icon buttons, chart segments — require 3:1. Light grey placeholder text on white is one of the most common AA failures.
- Scalable type. Set font sizes in
remso that a user who has raised their browser's default size actually sees larger text. Content must remain functional at 200% zoom and must reflow without horizontal scrolling at a width equivalent to 320 px. Avoiduser-scalable=noin the viewport meta tag; it removes pinch-zoom from people who need it. - Readability. Body copy of around 16–18 px, line height near 1.5, and measure (line length) of roughly 45–75 characters reduce reading effort. Justified text and very long lines increase the chance of losing one's place, which disproportionately affects dyslexic readers.
- Not colour alone. A required field marked only in red, or a chart whose series are distinguished only by hue, fails users with colour vision deficiency (about 8% of men of northern European descent). Pair colour with an icon, a label, a pattern or a text cue.
- Keyboard and focus. Every interactive element must be reachable by Tab in a logical order and must show a visible focus indicator. Custom components built from
<div>elements need explicit roles, states and key handling; using a real<button>gets all of this for free. - Semantics for assistive technology. Landmarks (
<header>,<nav>,<main>,<footer>), a single logical heading hierarchy, labelled form controls, meaningfulalttext, andaria-liveregions for dynamic updates allow screen-reader users to navigate structurally rather than linearly.
<!-- Accessible by construction -->
<label for="email">Email address</label>
<input id="email" name="email" type="email" autocomplete="email"
aria-describedby="email-help" required>
<p id="email-help">We will only use this to send your receipt.</p>
<!-- Status messages announced without stealing focus -->
<div role="status" aria-live="polite">3 results found</div>
Breakpoints and layout adaptation. Breakpoints should be derived from the content, not from a list of popular device widths, which changes every year. The practical method is to widen the browser until a layout begins to look wrong — a line of text grows too long, a card grid leaves awkward gaps, a table starts to wrap badly — and place a breakpoint there. A common, workable starting set is shown below, but it is a convention rather than a rule.
| Range | Typical context | Layout strategy | Interaction notes |
|---|---|---|---|
| Up to ~599 px | Phones, portrait | Single column; navigation collapsed to a drawer or bottom bar; tables become stacked cards | Touch targets ≥44 px; no hover-dependent features; primary action within thumb reach |
| ~600–899 px | Large phones landscape, small tablets | Two-column grids; forms may pair short fields side by side | Still touch-first; split views become viable |
| ~900–1279 px | Tablets landscape, small laptops | Persistent sidebar appears; master–detail layouts; three-column card grids | Mixed touch and pointer — design for both simultaneously |
| 1280 px and above | Desktops, external monitors | Cap content width (around 70–80ch for prose); use extra space for secondary panels, not longer lines | Hover, right-click menus and keyboard shortcuts are reasonable enhancements |
Modern CSS increasingly removes the need for viewport breakpoints altogether. clamp() produces fluid type (font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem)), auto-fit grids reflow by themselves, and container queries let a component respond to the width of its own container, so the same card can render compactly in a sidebar and expansively in a main column without the page having to coordinate it.
Respecting established conventions. Jakob's Law states that users spend most of their time on other sites, so they expect yours to work like those sites do. Deviating from convention imposes a learning cost that must be justified by a real benefit. The conventions that carry the strongest expectations include:
- Links look like links. Underlined and/or clearly coloured, distinguishable from body text by more than hue alone, with a visited state where it helps orientation. Removing underlines from in-paragraph links is a frequent accessibility and usability regression.
- The logo in the top-left returns to the home page. Almost universally expected; costs nothing to honour.
- The back button works, and the URL reflects the view. Opening a modal that cannot be dismissed with Back, or a wizard whose Back button exits the whole flow, breaks a core browser contract.
- Breadcrumbs read left to right from general to specific (
Home > Catalogue > Outdoor > Tents), and reflect hierarchy rather than the path the user happened to take. - Forms behave like forms. Enter submits, labels are clickable, browser autofill works, validation messages appear near the offending field, and errors are shown after the user has had a chance to finish typing rather than on the first keystroke.
- Icons that mean specific things — magnifying glass for search, three bars for menu, cog for settings, bin for delete — should not be reassigned to other functions.
- Scrolling belongs to the user. Scroll-hijacking, infinite scroll in contexts where people need to reach the footer, and content that shifts under the cursor during load (cumulative layout shift) are classic violations.
Breaking a convention is sometimes correct — Gmail broke the convention of page-by-page email, and map applications legitimately take over scroll and zoom within the map canvas. The test is whether the new model is learnable in seconds and delivers a benefit the old one could not.
Scoping browser support. "Works in all browsers" is not a requirement; it is a wish. A project should state its support matrix explicitly, derived from analytics of the actual audience where possible, and the matrix should distinguish tiers rather than treating support as binary.
| Tier | Definition | Example scope | Commitment |
|---|---|---|---|
| Fully supported | Tested every release; pixel-level fidelity expected | Latest two versions of Chrome, Edge, Firefox, Safari (desktop and iOS) | All defects fixed; design signed off against these |
| Functionally supported | All tasks completable; minor visual differences tolerated | Samsung Internet, Firefox ESR, Safari one major version back | Blocking bugs fixed; cosmetic bugs triaged |
| Degraded / unsupported | Core content accessible or a clear upgrade message shown | Internet Explorer 11, Android WebView on very old OS builds | No active testing; no new defect work |
The engineering discipline that makes this manageable is progressive enhancement: build a layer of semantic HTML that works everywhere, enhance it with CSS, enhance that with JavaScript, and feature-detect rather than browser-sniff. Feature queries make the intent explicit and keep the fallback honest.
/* Everyone gets a usable stacked layout */
.layout { display: block; }
/* Browsers with grid support get the richer one */
@supports (display: grid) {
.layout {
display: grid;
grid-template-columns: 18rem 1fr;
}
}
// Feature detection, not user-agent detection
if ('share' in navigator) {
shareButton.addEventListener('click', () =>
navigator.share({ title: document.title, url: location.href })
);
} else {
shareButton.hidden = true; // fall back to a copy-link control
}
Tooling supports this too: Babel transpiles modern JavaScript syntax, PostCSS and Autoprefixer handle CSS differences, polyfills fill API gaps (at a bandwidth cost), and browserslist configuration ties the build output to the stated matrix so the support decision lives in one place. Note, however, that transpilation handles syntax, not capability: no polyfill will give an old browser a real file-system handle or a Bluetooth radio.
Limited access to device hardware. The browser deliberately mediates everything between the page and the machine. Many capabilities exist, but they are permission-gated, secure-context-only (HTTPS), often require a user gesture, and are inconsistently implemented — especially on iOS, where WebKit does not ship several of the more powerful APIs on privacy grounds.
| Capability | Web availability | Practical limitation |
|---|---|---|
| Camera and microphone | getUserMedia, broadly supported |
Requires HTTPS and explicit permission; no background capture; limited control of advanced camera settings |
| Geolocation | navigator.geolocation, broadly supported |
Permission-gated; no reliable background or geofenced tracking |
| Notifications / push | Notifications API + Push API | Desktop and Android good; on iOS limited to installed home-screen PWAs on recent versions |
| File system | <input type="file"> everywhere; File System Access API in Chromium only |
No arbitrary browsing of the disk; "save in place" editing unavailable in Firefox and Safari |
| Bluetooth / USB / Serial / NFC | Web Bluetooth, WebUSB, Web Serial, Web NFC — Chromium only | Not available in Safari or Firefox; unsuitable where cross-browser support is required |
| Biometrics | WebAuthn / passkeys, now widely supported | Authenticates the user but gives no access to raw biometric data; platform-dependent UI |
| Background execution | Service worker, Background Sync, Periodic Sync (Chromium) | Heavily throttled; the browser may terminate workers at will; no long-running background process |
| Local storage of data | localStorage, IndexedDB, Cache Storage | Quota-limited and evictable; Safari may clear storage for sites unused for seven days unless installed |
The design consequence is that any feature depending on a restricted capability must have a declared fallback and must never fail silently. A web-based stocktaking tool cannot assume it can drive a Bluetooth barcode scanner in Safari; it should therefore offer camera-based scanning via getUserMedia, and manual code entry as the final fallback. The interface should present these as equally legitimate routes rather than as error states, because for a substantial proportion of users the fallback is the primary path.
The same reasoning applies to permission prompts, which are an HCI problem in their own right. A prompt fired on page load, before the user understands why it is needed, is routinely denied — and in several browsers a denial is sticky and difficult for a non-technical user to reverse. The correct pattern is the pre-permission or "priming" step: explain in your own UI what the capability will be used for, let the user opt in with an in-page control, and only then trigger the native prompt.
// Bad: prompt on load, no context
navigator.geolocation.getCurrentPosition(show);
// Better: prompt in response to an intentional action
useMyLocationBtn.addEventListener('click', () => {
status.textContent = 'Finding your location…';
navigator.geolocation.getCurrentPosition(show, () => {
status.textContent = 'Location unavailable — enter a postcode instead.';
postcodeField.focus();
}, { timeout: 8000 });
});
Network latency, variability and offline scenarios. A native app's code is already on the device; a web app must fetch its interface before it can show one. Every interaction that touches the server is therefore exposed to round-trip latency, packet loss, captive portals, metered connections and complete loss of signal. Latency is not merely a performance metric — it changes what interaction patterns are psychologically viable. The classic thresholds from Miller and Card, still used today, are roughly: 0.1 s feels instantaneous and preserves the sense of direct manipulation; 1 s keeps the user's flow of thought unbroken but is noticeable; 10 s is the limit of attention, beyond which people switch tasks and need a progress indicator with an estimate.
| Condition | Typical round trip | Design implication |
|---|---|---|
| Fast broadband, nearby server | 20–60 ms | Server round trips can feel direct; little special handling needed |
| Good 4G | 50–150 ms | Batch requests; avoid chatty per-keystroke calls without debouncing |
| Congested 3G / rural mobile | 300–800 ms | Optimistic UI, skeleton screens and local validation become essential |
| Satellite, hotel Wi-Fi, train | 600 ms–2 s, lossy | Design for retry, idempotency and partial failure; never block the whole page |
| No connectivity | — | Cached shell, local persistence, queued writes, explicit sync state |
Several interface techniques mitigate latency directly. Skeleton screens — grey placeholders shaped like the eventual content — reduce perceived wait better than spinners because they signal structure and progress rather than indefinite blocking. Optimistic updates apply the user's change to the interface immediately and reconcile with the server afterwards, with a clear, non-destructive rollback if the write fails; this is why "like" buttons and checkbox toggles feel instant. Stale-while-revalidate shows cached data at once and quietly refreshes it, with a subtle "updated just now" cue. Debouncing search-as-you-type by 250–300 ms avoids firing a request per keystroke. Prefetching the likely next page on link hover or intersection turns a navigation into an apparent instant.
// Network-aware behaviour: don't autoplay heavy media on a metered link
const c = navigator.connection;
const frugal = c && (c.saveData || /2g/.test(c.effectiveType));
videoPreview.preload = frugal ? 'none' : 'metadata';
// Reflect connection state honestly in the UI
function setOnline(on) {
document.body.dataset.online = on;
banner.hidden = on;
banner.textContent = 'You are offline. Changes are saved on this device and will sync automatically.';
}
window.addEventListener('online', () => setOnline(true));
window.addEventListener('offline', () => setOnline(false));
setOnline(navigator.onLine);
Offline design raises questions that are as much about trust as about engineering. Where multiple people can edit the same record, the architecture must decide between last-write-wins, server-authoritative rejection, or a merge strategy such as operational transformation or CRDTs — and the interface must then communicate the outcome in human terms ("Your note was saved, but Priya edited this record while you were offline. Review the differences?"). Equally, queued writes must survive the tab being closed, so they belong in IndexedDB rather than in memory, and the user should be able to see the queue rather than take its existence on faith.
The browser security sandbox. The browser runs untrusted code from strangers dozens of times a day, so it isolates pages aggressively. This security model is the direct cause of several capability limits that designers must plan around rather than argue with.
- Same-origin policy. A page may not read data from another origin (scheme + host + port) unless that origin opts in via CORS headers. This is why an in-house dashboard cannot simply call a third-party API from the browser without server cooperation, and why many integrations need a backend proxy.
- No arbitrary file-system access. A page cannot enumerate the user's disk, read a file the user did not choose, or write to an arbitrary path. Uploads require a user-initiated
<input type="file">or drag-and-drop; downloads land in the browser's download location. The File System Access API relaxes this with an explicit picker and persisted handles, but only in Chromium-based browsers, and only after a user gesture. - No OS integration by default. Web apps cannot install system-wide hotkeys, place items in the system tray, read the clipboard without permission, launch other applications, or inspect what else is running. Even clipboard writing generally requires a user gesture, and reading requires permission.
- Secure contexts. Service workers, geolocation, camera, notifications, WebAuthn and most powerful APIs require HTTPS. A plain-HTTP deployment silently loses half the platform.
- Storage partitioning and eviction. Browsers increasingly partition storage by top-level site and evict data under pressure or after periods of disuse, so local caches must be treated as an optimisation, never as the only copy of user data.
- Autoplay, pop-up and fullscreen gating. Audio playback, new windows and fullscreen all require a genuine user gesture, which affects how onboarding tours, media players and kiosk-style interfaces can be designed.
- Content Security Policy, XSS and CSRF. Because the web executes text as code, injection is the dominant attack class. A strict CSP, output escaping,
SameSitecookies and anti-CSRF tokens are baseline requirements, and they occasionally constrain design choices such as inline styles or third-party embeds.
These constraints are also a usability asset, and should be framed as such to stakeholders. Users grant a web page far less trust than an installed binary precisely because they know the browser is holding it at arm's length, which is part of why a link converts so much better than an installer.
Judging suitability: when the web is the right platform. Platform selection should fall out of requirements, not preference. The web is usually the strongest candidate when reach, link-sharing, frequent updating and low adoption friction dominate; it is usually the weaker candidate when deep hardware integration, guaranteed offline operation, sustained background activity or extreme performance are the defining requirements.
| Requirement signal | Web platform fit | Reasoning |
|---|---|---|
| Content must be discoverable by search engines and shareable by link | Strong | URLs and server-rendered HTML are native to the platform; app content is largely invisible to the open web |
| Occasional, one-off or first-time use (booking, renewal, survey) | Strong | Installation friction would exceed the value of the task |
| Rapid iteration; every user must be on the current version | Strong | Deploy once; no store review, no version fragmentation |
| Broad device and OS diversity with a small team | Strong | One responsive codebase instead of separate iOS, Android and desktop builds |
| Intermittent connectivity with local-first editing | Moderate | Achievable with a service worker and IndexedDB, but storage is evictable and the engineering cost is real |
| Daily habitual use needing push re-engagement on iOS | Moderate to weak | Possible only for installed PWAs on recent iOS versions; installation is non-obvious |
| Peripheral control (USB, serial, Bluetooth, NFC) across browsers | Weak | These APIs are Chromium-only; Safari and Firefox do not implement them |
| Heavy local file manipulation, OS shell integration, system-wide shortcuts | Weak | Blocked by the sandbox; a desktop application is the appropriate choice |
| Sustained high-performance 3D, large-dataset computation | Moderate | WebGL/WebGPU and WebAssembly close much of the gap, but memory limits and thermal behaviour still favour native |
A worked example clarifies the reasoning. Suppose a university wants a module-enrolment tool used by 20,000 students over a two-week window each year, from a mix of personal laptops, library PCs and phones, with a hard accessibility obligation and no budget for app-store maintenance. Usage is intermittent, the audience is device-diverse, link-sharing from email matters, the only hardware requirement is an optional camera for uploading an ID photo, and the data is server-authoritative anyway. The web is unambiguously correct here, and the remaining design work is responsive layout, WCAG 2.1 AA conformance, a declared browser matrix driven by the institution's analytics, graceful behaviour on the campus Wi-Fi's variable latency, and a clear fallback for the photo upload where camera access is denied.
Contrast that with a warehouse picking application used for eight-hour shifts on rugged handhelds with a hardware scanner trigger, in a building with dead zones, where every second per pick is measured. Here the constraints point the other way: the sandbox cannot bind the physical trigger key, cross-browser peripheral access does not exist, and evictable local storage is unacceptable for hours of queued work. A native or hybrid application with a web-based management console is the better split — and articulating that split, with the evidence behind it, is exactly the kind of justified platform decision a project scope document should record.
Alignment with Learning Outcomes
- MO1: This topic supplies the web half of the platform comparison by setting out the web's distinctive HCI constraints — browser-mediated navigation, responsive multi-device layout, WCAG obligations, sandbox limits on hardware and file access, and network dependence — in terms that can be contrasted directly with mobile and desktop characteristics and matched against target user needs.
- MO2: The suitability table, browser-support tiering, capability matrix and the two worked scenarios give concrete, evidence-based criteria for choosing the web (or rejecting it) and for justifying that choice against stated requirements such as reach, update cadence, offline behaviour and peripheral access.
- MO3: The material feeds scope documentation directly: declared browser support tiers, responsive breakpoints, accessibility conformance level, offline and latency behaviour, and permission fallbacks are all explicit constraints and testable success criteria that can be written into a project scope.
2Videos on This Topic
▶
The web is the most broadly reachable application platform available to you. A web app runs inside a browser, which means a single codebase can be opened on a laptop, a tablet, a phone, or a shared kiosk without anyone installing anything. That reach comes with trade-offs: you inherit the browser's capabilities and limits, you depend on a network connection, and you must design for screen sizes and input methods you cannot predict in advance.
In this module you are deciding which platform fits your project. To make that call for the web, you need a working picture of three things: how web applications are typically structured (a client in the browser talking to a server over HTTP APIs), the design conventions users already expect from web pages, and the constraints that shape what a browser-based interface can realistically do. Those three threads map directly onto the subtopics for this topic.
The videos below approach the web platform from three angles: the communication layer that connects a web front end to its back end, the difference between responsive and adaptive approaches to varying screens and capabilities, and practical visual conventions for web layout. As you watch, keep asking what each idea implies for your own project proposal: what would it cost you in effort, what would it give your users, and where would the browser get in your way.
3Video 1: What Is REST API? Examples And How To Use It: Crash Course System Design #3
▶
ByteByteGo · 5:21 · 1,461,297 views · 4y ago · captions — Watch on YouTube
About this video
A short crash-course explanation of REST APIs: what they are, how clients and servers exchange data over HTTP, and how requests and responses are typically structured, with examples. The video is part of ByteByteGo's system design series, so it frames REST in the context of how real applications are built.
Why this video
Web applications almost always separate a browser front end from a server back end, and REST is the most common way those two talk; understanding this gives you concrete grounding for the Web Platform Overview subtopic and for the network-dependence constraint of web apps.
4Video 2: Adaptive vs. Responsive | Decoding Flutter
▶
Flutter · 5:09 · 119,135 views · 4y ago · captions — Watch on YouTube
About this video
The Flutter team explains the distinction between responsive design (adjusting layout to the amount of available screen space) and adaptive design (adjusting behavior to what the platform itself can do). Expect definitions, the reasoning behind each, and examples of when you would apply one, the other, or both.
Why this video
Responsive versus adaptive is the central vocabulary for discussing how a single web experience serves many devices, which speaks directly to cross-device reach and to Web Platform Constraints and Considerations; it comes from a platform team that deals with multi-device UI daily.
5Video 3: Give Me 7 Minutes & Your Web Design Skills Will Take Off
▶
Self-Made Web Designer · 7:15 · 468,055 views · 1y ago · captions — Watch on YouTube
About this video
A fast, practical walkthrough of web design fundamentals from a working designer, covering common improvements to layout, spacing, typography and visual hierarchy that make pages feel polished. The framing is concrete tips you can apply immediately rather than abstract theory.
Why this video
It gives you the conventional patterns users already expect from web pages, supporting the Web Design Conventions subtopic with practitioner-level, applicable guidance you can carry into your own prototype.
6How These Videos Support the Learning Outcomes
▶
Together these videos build the platform-specific knowledge MO1 requires: the REST video clarifies the client-server, network-dependent nature of web applications; the adaptive-versus-responsive video shows how web interfaces must stretch across screen sizes and device capabilities; and the web design video grounds the conventions users expect in a browser. That understanding of web strengths and limits is what lets you argue in MO2 why the web is or is not the right choice for your project, and it supplies concrete constraints and considerations, such as connectivity, browser capability, and multi-device layout, that you can name explicitly in the scope document required by MO3.
7About These Videos
▶
These videos were chosen from YouTube on October 3, 2026. Each has captions; the player turns them on. Videos on YouTube can be changed or removed — if one no longer plays, tell your instructor. If a player does not appear, use its Watch on YouTube link.