DOL English Navigation Overview
DomainsDOL EnglishUX1.603 words8 min read
DOL English - Navigation Overview
Phần tiêu đề “DOL English - Navigation Overview”Purpose
Phần tiêu đề “Purpose”- One-stop entry cho toàn bộ logic
navigationcủa learner-facingDOL English. - Giảm việc phải đọc rải rác nhiều file mới ghép được shell model, default entry, ownership, và page boundary.
- Giữ tài liệu đủ ngắn để con người đọc nhanh, nhưng đủ cấu trúc để AI parse mà không phải tự tổng hợp lại từ đầu.
Doc Role
Phần tiêu đề “Doc Role”- Đây là
feature mastercủanavigation. - Nếu chỉ đọc
1 fileđể hiểu toàn bộ logic navigate hiện tại, đọc file này trước. - File này tóm tắt
current truth; các file bên dưới chỉ mở khi cần đi sâu vào rule hoặc owner surface cụ thể. - Với
navigation, canonical UX logic nằm ở laneUX Design;Product Discoverychỉ đóng vai trò supporting trail cho thay đổi và quyết định.
Why this file exists
Phần tiêu đề “Why this file exists”- Repo hiện có lợi thế mạnh ở
traceability:EVTgiữ lịch sử thảo luận,DECgiữ quyết định atomic,Product Discoverygiữ supporting trail khi cần,UX contractsvàpage docsgiữ owner detail.
- Nhưng với các feature cross-surface như
navigation, logic bị phân mảnh nếu không có một file master đủ ngắn để đọc one-stop. - Hướng tối ưu là:
- không xóa cấu trúc cũ,
- thêm đúng
1 file masterđể gom lại đường đọc.
Feature Scope
Phần tiêu đề “Feature Scope”- Logged-in learner navigation của
DOL English. - Bao gồm:
- shell model,
- default entry,
- context switching,
- destination boundary,
- canonical object ownership.
- Không đi sâu vào pixel spec, screen inventory, hoặc full copywriting từng page.
Problem Framing
Phần tiêu đề “Problem Framing”- Đây là một
logged-in repeat-use learning product, không phải marketing site. - User quay lại chủ yếu để:
- học tiếp thứ đang dở,
- làm bài được giao,
- luyện kỹ năng theo program,
- ôn vocab,
- xem tiến độ và điểm yếu.
- Vì object chồng nhau (
program,course,assignment,attempt,vocab,analytics), navigation phải làmworkflow controller, không thể chỉ là menu/sitemap.
Current Truth
Phần tiêu đề “Current Truth”- Logged-in shell hiện được đọc theo:
Program WorkspaceDeep ObjectSelective Cross-program Aggregate Viewschỉ như scoped exception.
Program = context.Task = primary navigation.Cross-programkhông được giả làmdeep execution contexthaydefault shell.Mỗi deep objectphải có1 canonical home.
Shell Model
Phần tiêu đề “Shell Model”1. Program Workspace
Phần tiêu đề “1. Program Workspace”- Một lần chỉ ở
1 programthật. - Đây là baseline mặc định của logged-in shell.
- Desktop baseline destinations:
Hôm nayKhóa họcLuyện tậpTừ vựngTiến độ
- Local tabs chỉ sống bên trong từng destination.
2. Selective Cross-program Aggregate Views
Phần tiêu đề “2. Selective Cross-program Aggregate Views”- Không phải shell mode mặc định.
- Chỉ xuất hiện trong các view thật sự cần gom dữ liệu chéo chương trình.
- Use case đã khóa ban đầu:
Lịch học / calendarvà các operational views tương đương.
- Rule dùng:
- mặc định vẫn đọc theo
program hiện tại, - chỉ mở
All Programsnhư mộtscope togglekhi có giá trị thật, - không biến
All Programsthành peer workspace context hay pseudo-program.
- mặc định vẫn đọc theo
3. Deep Object
Phần tiêu đề “3. Deep Object”- Assignment, attempt, result, vocab item, AI feedback… luôn thuộc về một owner section thật.
- Các surface khác chỉ được surfacing như shortcut/queue/summary.
Hierarchy Semantics
Phần tiêu đề “Hierarchy Semantics”Ecosystem switcher= domain/brand context.Program switcher= global workspace context.Primary nav= task destination.Local nav= subview trong destination.Utility nav= search, notification, help, account, quick access.Filter / search / sort= chỉ đổi cách nhìn dữ liệu trong cùng view.All Programschỉ hợp lệ nhưscope togglecủa một vài aggregate view đủ điều kiện; không hợp lệ như peer program context hay standalone shell page.
Default Entry Logic
Phần tiêu đề “Default Entry Logic”- Có
returnTohợp lệ -> quay lại exact context. - Không có
returnTo:last meaningful program workspace-> resume vào đó,- nếu deep target cũ không còn hợp lệ -> fallback về
program rootcủa cùng program, - nếu không có restore context nhưng chỉ có
1 valid active program-> vào thẳng workspace của program đó, - nếu chưa resolve được program hợp lệ -> onboarding / program choice / discovery.
- Rule này cố ý ưu tiên
resume single-program realitythay vì dựng một overview mặc định cho edge case multi-program.
Context Switching Logic
Phần tiêu đề “Context Switching Logic”- Program switcher là
state thật, không phải filter local. - Nếu user mở object thuộc program khác từ notification/search/deep-link:
- app được phép đổi program context,
- nhưng phải báo rõ bằng URL/state và visible context cue.
- Nếu user đang ở critical flow như
timed attempthoặcunsaved high-cost action:- không được switch program một cách silent,
- phải chặn hoặc confirm rõ hậu quả.
Destination Boundary
Phần tiêu đề “Destination Boundary”| Destination | Main question | Owns | Not here |
|---|---|---|---|
Hôm nay | Bây giờ tôi nên làm gì? | continue, due queue, next class, next action | analytics/history sâu |
Khóa học | Tôi đang theo khóa nào, unit nào, deadline và feedback gì? | lesson, assignment, material, teacher feedback | deep self-study analytics |
Luyện tập | Tôi sẽ luyện/bắt đầu attempt nào? | drills, mock tests, AI rooms, attempts, results | course scheduling |
Từ vựng | Hôm nay tôi cần ôn từ nào, và đã nhớ tới đâu? | saved words, review queue, source-tagged vocab | broad practice analytics |
Tiến độ | Tôi đang tiến triển thế nào và yếu ở đâu? | analytics, history, weak areas, trend, goal comparison | due queue / execution orchestration |
Canonical Ownership
Phần tiêu đề “Canonical Ownership”| Object family | Canonical home | Allowed surfaced elsewhere |
|---|---|---|
Course schedule / lesson / assignment / material / teacher feedback | Khóa học | Hôm nay, eligible aggregate views, summary cards |
Drill / mock test / AI room / attempt / result | Luyện tập | Hôm nay, Tiến độ |
Saved word / review queue / source-tagged vocab item | Từ vựng | Hôm nay, Tiến độ |
Analytics / history / weak areas / trend / goal-gap reasoning | Tiến độ | program summaries |
Build-ready UX Rules
Phần tiêu đề “Build-ready UX Rules”- Không stack nhiều row ngang mà mỗi row lại là một logic khác.
- Không biến dashboard cards thành
second home. - Không dùng label system-centric làm primary destination nếu có wording learner-centric rõ hơn.
- Nếu
Hôm nayvàTiến độkhông giữ được boundary, ưu tiên merge hoặc đổi label, không giữ song song mờ nghĩa. Offline / live online / self-pacedlàcourse modality; chúng thuộc filter/grouping bên trongKhóa học, không thuộc top-level nav.Luyện tậpkhông được item hóa toàn bộ tool thành primary destinations; inventory tool phải được tổ chức bằngskill / use case / local nav.- Không dựng
Global TodayhoặcAll Programsdashboard chỉ để phục vụ số ít user multi-program nếu cùng bài toán đã được giải tốt hơn bằngresume last program + scoped aggregate views.
Validation Methods
Phần tiêu đề “Validation Methods”- Ưu tiên validate navigation bằng:
card sortingđể kiểm tra user nhóm nội dung thế nào,tree testingđể kiểm tra user có tìm đúng nơi không.
- Task test baseline:
- tìm lớp IELTS 6.5,
- vào mock test SAT,
- xem bài Writing cần sửa,
- ôn lại từ TOEIC đã quên.
Success Measures
Phần tiêu đề “Success Measures”first_click_successtime_to_resume_studywrong_context_entry_ratebacktracking_after_entryassigned_task_completion_rate
Open Validation
Phần tiêu đề “Open Validation”- Exact list của aggregate-eligible views ngoài
lịch học / calendar. Từ vựngcó thật sự xứng đáng slot top-level ở mọi cohort hay không.- Mobile/compressed shell nên nén theo trục nào.
- Data model đã đủ sạch để mọi surfaced object luôn mang
program + source + canonical_sectionhay chưa. - Cơ chế lưu/khôi phục
last meaningful program workspaceđã đủ an toàn cho expired deep routes hay chưa.
Reading Path
Phần tiêu đề “Reading Path”- Cần full shell contract:
- Cần page boundary:
- Cần Home-specific IA:
- Cần supporting trail:
Documentation Pattern
Phần tiêu đề “Documentation Pattern”- Với các feature lớn, ưu tiên:
1 feature = 1 feature-master file- chỉ tách
rule/contractskhi thật sự cần page docsgiữ owner detailProduct Discoverygiữ traceability trail khi thật sự cần
Feature-masterkhông thay thế supporting docs; nó chỉ là file owner chính và đường đọc chuẩn.
Change log
Phần tiêu đề “Change log”- 2026-03-27: Bỏ
Global Todaylàm default shell sau login, chuyển baseline sangresume last meaningful program workspace, và hạAll Programsvềscoped aggregate togglecho một vài view đủ điều kiện. - 2026-03-26: Bổ sung
utility nav, khóacourse modalityở lớp filter/grouping thay vì top-level nav, chốtpractice inventoryphải tổ chức theoskill / use case, và thêmvalidation methods(card sorting,tree testing). - 2026-03-25: Khởi tạo
feature-mastercho navigation để gom shell logic, destination boundary, canonical ownership, default entry, context switching, và reading path vào một file one-stop.