Navigation can be in form of links in static or drop-down menus in the main header or side-bar. We have to be careful and test navigation experience on all form factors and device types.
I came to web development from the enterprise world. The data-driven applications that are built using off-the-shelf products are not quite cutting edge on adhering to the greatest of web standards.
Consider these CRM application examples -
The application has many features exposed to users at once and is geared towards productivity. Now, this is perfectly fine if you have an controlled audience, a good training budget, have a distinct mobile app, and may not require responsiveness to permeate every fabric of your application.
Tough luck if you are not that.
I faced some difficult choices building small-scale applications to a niche audience when I switched gear in my career. My initial data-driven applications tried to emulate the horizontal navigation, drop-down menus, and sub-navbars - but it was not quite well-received in applications far simpler than their off-the-shelf counterparts .
Surprisingly (or otherwise) users in the ‘non-enterprisey’ world denounced too many options in menu. They ‘sorta’ liked to click through simpler/cleaner UI, onto a contained entity that exposed functions incrementally.
Wrong developer for the right audience? May be.
Anyhow, I adapted.
Here are the standards that are not quite new to developers in the same space.
- Include only main navigation links in/around the main toolbar
- Fold main navigation in the hamburger/kebab menu for smaller form factors
- No drop-downs in menu - this causes confusion to mobile users
- Side bar on left. Fold in hamburger menu for smaller form factors. Open left nav menu by default in larger (md+) screens
- Contextual menu (optional) to the right. Include things like contextual help, record-level operations here. This is hidden by default
- Anchor links are limited to the home page (non user). Any navigation has quick animation to maintain context
- Navigation within detail pages (e.g. Edit / New functionality, View details) are through pop-ups. They almost never navigate to the related record pages - maintain context for the parent record at all times
- Also: navigation links in header is never fixed, though side bar(s) is fixed
No prizes for guessing that this is aligned to material design principles. I don’t quite have the money and muscle to develop standards on my own. I could get acceptable feedback from “most” users, and I stuck to either changing stuff minimally or convincing users about how the entire industry is built on these principles. So, I tend to follow these principles for navigation - even when not using material design for the overall application.
I am far from reaching the nirvana-level user experience, but my data-driven apps have somewhat standard structure that is reusable across applications. That is one less decision to be made when churning out the next beautiful app for the world.