The sidebar was organized by function, not by task
A nav group named after a permission layer means nothing to operators. The regroup follows tasks instead of module boundaries.
TL;DR
The sidebar was reorganized by task, not function. Links are now grouped by division or citizen services. A read-only icon marks unusable entries until backend permissions are updated.
# The sidebar was organized by function, not by task
Signing in with a scoped operator account and opening the sidebar made the problem visible immediately. One group, Bidang Anda, held eleven links stacked as equals: Informasi, Media, Ulasan, Layanan, Paket Sewa, Persyaratan Dokumen, and five more below the fold. Underneath it sat a second group literally named Fungsi Lintas.
Fungsi Lintas tells an operator nothing. It is the name of a permission layer in the codebase, printed on screen and expected to mean something to a person who publishes agenda items for one division.
First guess was that eleven links were simply too many. A long list reads slower, so the fix looked like splitting it in half. Splitting produced two lists still sorted by module, and the operator's question did not change: which of these do I open to publish an agenda item? The count was a symptom. The sorting axis was the defect.
The sorting axis
A mental model is what a person believes the system is made of, and it rarely matches the shape of the implementation [1]. Card sorting research shows the same gap from the other direction: people group items by the work in front of them, not by the structure the makers had in mind [2]. Fungsi Lintas was a maker's category, accurate about the code and useless as a map.
The regroup gave scoped accounts two groups. Bidang Anda holds their own division's content. Pelayanan Warga holds citizen services.
Global accounts got the same model instead of keeping the old shape: Semua Bidang, Konten & Media, Pelayanan Warga, Administrasi. Pengguna and Sistem, previously two separate entries shaped by the developer's view of the database, folded into Administrasi.
The naming follows a pattern worth keeping. Same group, different scope prefix: Bidang Anda becomes Semua Bidang. An operator promoted to a global account does not learn a new map; the scope under each label widens. One mental model, two levels of access, which is how the permission system already worked. The sidebar navigation stopped describing the code and started describing the job.
One case that did not fit
Persyaratan Dokumen belongs to citizen services for everyone, but the backend guard for that module has not landed, so a bidang account cannot write to it yet. The group follows the task; the permission still follows the rules.
Rather than hiding the link entirely or shipping one that answers with a 403 on every click, the entry renders with a read-only eye icon until the guard exists. A visible, marked, currently unusable entry is a smaller lie than a dead link. The eye icon is also the honest status of the backend, visible on the screen where the gap lives.
The tempting alternative was keeping Fungsi Lintas for superadmin only, on the argument that global accounts already know the code. They also switch context more often than anyone else, and two navigation models mean two maps to maintain and two sets of mistakes. Rejected on that basis.
Authorization code did not change. The diff touches layout and wrappers only. The end-to-end nav spec now asserts that each link sits inside its group's wrapper, and, for a superadmin session, that the count of read-only variants is zero.
The honest limitation: no card sort, no tree test, no session with a real operator. Tree testing exists precisely because untested structure is a guess, and if the structure is not checked, it is guessed [3]. What shipped is a hypothesis information architecture, recorded as one, reversible if operators disagree with it.
The next ticket is the backend guard for document requirements. Until it lands, the eye icon stays.
[1] Mental Models and User Experience Design - Nielsen Norman Group
[2] Card Sorting: Uncover Users' Mental Models - Nielsen Norman Group
[3] Tree Testing: Fast, Iterative Evaluation of Menu Labels and Categories - Nielsen Norman Group