-
Notifications
You must be signed in to change notification settings - Fork 612
Description
Names and Contact Details
Karin Cheng - karin-cheng@hotmail.com
Link to mockup/prototype
Desktop Prototype Mobile Prototype
Rationale (300-600 words)
Research methods
To improve the release page for different types of developers, I used four methods:
- Contextual Inquiry (CI): I observed a PHP developer and an engineer using the release page to uncover pain points.
- Observation (O): I analyzed the page’s structure and interactions.
- Community Observation (CO): I read PHP Discord discussions to identify spontaneous feedback.
- Competitor Analysis (CA): I studied developer-focused sites (Kotlin, C#, Shopify) for familiar and effective design patterns.
Based on the insights I gained through these methods, I identified key areas where the release page could be improved. The following changes directly address the pain points and usability issues uncovered through research, while maintaining the familiar look and feel of PHP.
Navigating between PHP versions
Developers use multiple PHP versions since they work on different projects at the same time. But they could only switch by changing the URL (CI). I turned the “Supported Versions” page into an overview of all releases, added breadcrumbs for navigation on the release page, and placed version-switch links at the bottom of each release page to make comparisons easier.
Theme switch
Developers expressed strong preferences for dark or light mode (CI & CO). To improve readability and comfort, I added a theme switch, allowing users to select their preferred view.
Language changer
Language preference is global, not page-specific (O). I moved the language changer into the main navigation to make it easier to find and maintain consistency across pages.
Hero section
Developers ignored the hero and immediately scrolled to the content. One was also confused by the statement ‘PHP 8.5 is a major update,’ since it’s technically a minor one (CI). I removed the hero to create a content-first layout that surfaces updates immediately.
Table of contents
Following Jakob’s Law and patterns from other documentation sites, I added a table of contents on the left side for quicker navigation and better content overview (CA).

Newcomer understanding
The newcomer struggled to understand PHP changes because the descriptions assumed prior knowledge of PHP (CI). While the RFC contains more context, it’s a long and dense document that increases cognitive load for users who want to understand what changed and why it matters. To reduce this, I included relevant RFC information directly in the release page, giving enough context without forcing users to navigate away.
Anchor button
Developers were used to the existing anchor pattern and didn’t notice it was unintuitive, as it matched their mental model of how such buttons typically behave (CL). However, this interaction required two actions instead of one. To reduce friction, I replaced it with a one-click copy-link button that aligns better with user intent while still feeling familiar.
Code examples
The developer found it difficult to compare changes and often skipped descriptions below the code (CI). I added syntax highlighting, line numbers, and horizontal scrolling (no wrapping) to make differences easier to spot and understand (CA). I also included a one-click “copy code” button so developers can quickly try out the examples in their IDE.
Grouping new classes, interfaces, and functions
The PHP changes are ordered from most impactful to least impactful, but the “New Classes, Interfaces, and Functions” section appeared disorganized when following that same structure (O). Because this section is at the bottom of the page, I grouped related items instead of ordering them by impact. According to Miller’s Law, people can only hold a limited amount of information in their working memory, so grouping related items reduces cognitive load and makes the content easier to scan and understand.
License
- I confirm, and agree.