Overview
The "No Dead Ends" rule is a fundamental principle in designing user interfaces for our APIary platform. It ensures that every page provides the user with clear next steps, allowing them to navigate through the application without getting stuck or frustrated.
Key Principles
- Every page has at least one outbound link: This link should guide the user towards their desired action or goal.
- Empty states link forward: When a section is empty (e.g., no tasks assigned), provide a clear call-to-action to create new content or move on to the next step.
- 404s link home: When users encounter an error, provide a convenient way for them to return to the main page.
Implementation
Outbound Links
/* Add outbound links with a distinct style */
.outbound-link {
color: #4CAF50;
text-decoration: none;
}
.outbound-link:hover {
color: #3e8e41;
}
In your HTML, use the .outbound-link class for all links that move the user forward:
<a href="#" class="outbound-link">Create new task</a>
Empty States
When a section is empty, display a clear call-to-action to create new content or move on to the next step.
Example: A task list with no assigned tasks.
<div class="empty-state">
<h2>No tasks assigned yet.</h2>
<button class="outbound-link">Create new task</button>
</div>
Error Pages (404s)
When users encounter an error, provide a convenient way for them to return to the main page.
<div class="error-page">
<h1>404: Page not found.</h1>
<p>Return to the main page by clicking here:</p>
<a href="#" class="outbound-link">Back to home</a>
</div>
Back Buttons
Use back buttons to allow users to navigate through their history. This can be achieved using HTML and CSS.
<button class="back-button" onclick="window.history.back()">Go back</button>
/* Style the back button */
.back-button {
background-color: #4CAF50;
color: #fff;
border: none;
padding: 10px 20px;
font-size: 16px;
}
.back-button:hover {
background-color: #3e8e41;
}
Form Submissions
Ensure that every form submission is successful, and users are not left with broken links or dead ends.
<form id="myForm">
<!-- Form fields here -->
</form>
<script>
// Handle form submission on submit event
document.getElementById('myForm').addEventListener('submit', function(event) {
event.preventDefault();
// Send form data to server using AJAX or other method
});
</script>
Best Practices
- Test thoroughly: Verify that every page follows the "No Dead Ends" rule by manually testing and reviewing your application.
- Use A/B testing: Continuously test and refine your design to ensure it meets user expectations and preferences.
By following these guidelines and implementing the "No Dead Ends" rule, you'll create a more intuitive and user-friendly experience for our APIary platform users.