Bỏ qua để đến nội dung

DOL English Program Post-login Surface Guidelines

DomainsDOL EnglishUX1.940 words10 min read
activebyDOL Product Design

DOL English - Program Post-login Surface Guidelines (Home & Discovery)

Phần tiêu đề “DOL English - Program Post-login Surface Guidelines (Home & Discovery)”
  • Tạo guideline ngắn, ổn định và tái sử dụng được cho các program post-login surfaces như IELTS, SAT, TOEIC.
  • Giúp người viết doc, designer, và AI giữ cùng một cấu trúc khi mở rộng mà không drift sang dashboard nặng hoặc marketing page.
  • Chốt rõ vai trò của landing này là strategic action hub cho từng program, không phải dashboard phân tích sâu hay community center hoàn chỉnh.
  • Program Landing là owner surface cấp program bên trong Program Workspace.
  • Nó giữ goal -> current vs target -> priority -> action translation, nhưng không thay cross-program aggregate view, không thay Exercise Bank, và không thay Learning Management.
  • Khi user cần tự chọn bài chi tiết, route phải đi sang Exercise Bank; khi cần analytics/history sâu, route phải đi sang Learning Management.

Mọi program post-login landing phải xoay quanh một câu hỏi chính:

  • Trong chương trình này, mình đang ở đâu so với mục tiêu và nên ưu tiên module/lane nào tiếp theo?

Hai nhu cầu hỗ trợ được phép tồn tại nhưng không được cướp vai câu hỏi chính:

  1. Nếu muốn học ngay, entry nào phù hợp nhất với ưu tiên hiện tại?
  2. Nếu không muốn theo gợi ý, mình có thể tự browse ở đâu?

Mỗi program post-login landing phải có đủ 5 lớp baseline sau:

  1. Program Identity + Goal Context
  2. Current vs Target Snapshot
  3. Priority Skill/Module Map
  4. Today / This-week Strategy Translation
  5. Browse Freely / Module Hub

Program Identity + Goal Context + Current vs Target Snapshot + Priority Skill/Module Map bắt buộc phải render được semantics của một Program Strategy Panel:

  • target band/score hoặc goal horizon,
  • current estimate/capability,
  • days to exam / horizon,
  • priority skill/module,
  • target gap ở mức summary,
  • realism note khi target quá ảo hoặc data chưa đủ.

Các lớp phụ chỉ xuất hiện khi có giá trị rõ:

  • Continue / Resume
  • Recent mock / feedback cue
  • Light community / recognition teaser

Nếu thiếu một trong 5 lớp baseline, surface dễ bị lệch về một trong các cực sau:

  • chỉ có gợi ý mà không có chiến lược,
  • chỉ có browse mà không có ưu tiên,
  • chỉ có dữ liệu mà không biết module nào cần đi tiếp.
  • Single decision first: first view phải xoay quanh một quyết định ưu tiên lane/module, không phải nhiều quyết định ngang vai.
  • Strategy-first, action-second: first view phải neo user vào goal -> gap -> priority, rồi mới dịch sang action.
  • Action translation: lớp hành động phải là bản dịch của chiến lược, không thay vai trò snapshot chiến lược.
  • Simple-by-default: không surface quá nhiều mechanics ngang trọng số ở first view.
  • State-adaptive, not mode-fragmented: giữ một shell ổn định; đổi trọng số/copy/card order theo state thay vì tạo thêm screen mode.
  • Suggestion-only: không có mandatory-task wall trên landing.
  • Browse is always visible: browse không được bị ẩn dưới recommendation hoặc mission.
  • Today plan beats streak: nếu phải chọn, Today plan, Weekly goal, Countdown, và Current vs target phải được ưu tiên trước streak.
  • Today Mission Pack is optional format: nếu surface cần tăng động lực hoàn thành, daily mission có thể được biểu hiện thành Today Mission Pack, nhưng đây không phải baseline owner concept của program landing.
  • Goal context is explicit: nên có goal chip, target band/score, hoặc current capability đủ ngắn để user biết mình đang học vì mục tiêu gì.
  • Priority cue is explicit: Personal Snapshot phải chỉ ra rõ skill/domain/module nào nên được ưu tiên trước.
  • Target gap is explicit: user phải thấy mình còn lệch bao xa so với target ở mức summary đủ dùng.
  • Today / This-week strategy follows priority: action layer chỉ là lớp dịch priority cue sang hành động bắt đầu ngay hoặc kế hoạch tuần, không thay vai trò snapshot chiến lược.
  • Forecast is cautious: bao giờ đạt band/score không phải baseline content của landing; chỉ surface khi model đủ tin cậy, còn không thì deeplink sang màn tiến trình chi tiết.
  • Badge visibility = light mention: badge/recent unlock/next badge chỉ là pulse ngắn.
  • Reward visibility = lightweight: chỉ hint nhẹ gắn với mission/challenge; không mở reward wallet/store.
  • Leaderboard/community visibility = optional teaser: chỉ hiển thị pulse hoặc light compare khi thật sự giúp động lực; chi tiết nằm ở surface chuyên dụng.
  • Summary, not analytics: snapshot phải giúp ra quyết định, không thay report dài.
  • AI is strategic here: nếu render AI ở program landing, AI phải đọc như strategy coach, không đọc như command palette hay chat FAQ.
  • Plan-first drawer: nếu AI Tutor drawer mở từ program landing, tab mặc định phải là Kế hoạch.
  • Streak is phase-weighted: early phase có thể nhắc streak nhẹ; committed/achieved/comeback không dùng streak làm hero metric.
  • Program landing dùng cùng AI Tutor persona của toàn hệ, nhưng surface chính ở đây là Program Strategy Panel.
  • Program Strategy Panel nên nằm ngay dưới hero hoặc gắn liền với snapshot đầu trang.
  • Archetype bắt buộc của surface này là strategy_panel:
    • được phép có strategic summary + ordered next steps,
    • không bắt buộc evidence block như result/report pages,
    • ưu tiên vì sao nên ưu tiên skill/module này hơn là liệt kê nhiều task ngang hàng.
  • Baseline CTA của AI ở surface này:
    • Tạo kế hoạch học,
    • Giải thích chiến lược này,
    • Đi tới skill nên làm tiếp.
  • What-if strategy được phép trong chat/drawer nhưng phải giữ rule:
    • mọi phân tích giả định chạy trên scenario state,
    • không tự ghi đè actual plan/goal,
    • chỉ commit sau confirm của user.
  • AI surface ở landing không được biến thành task wall hoặc analytics report.
  • Mỗi block nên được mô tả theo format:
    • là gì
    • mục đích
    • hoạt động bằng cách nào
  • Tên block phải nói lên job-to-be-done, không nói theo implementation thuần kỹ thuật.
  • Mỗi card chỉ có 1 primary CTA.
  • Mỗi gợi ý chỉ có 1 lý do ngắn.
  • Nếu dùng daily missions ở landing, có thể giữ label Today Mission Pack, nhưng subcopy phải nói rõ đây là checklist 2..3 nhiệm vụ trong ngày.
  • Khi có hai block gần nghĩa nhau, ưu tiên:
    • block nào đưa user vào hành động rõ hơn,
    • block nào ít cần giải thích hơn,
    • block nào ít trùng với module chủ quản hơn.
  • Không biến program landing thành:

    • Learning Management dashboard
    • Goal ETA / forecast dashboard
    • Profile / Achievements archive
    • Reward center
    • Standalone social feed
    • Task wall
    • Home retention dashboard
  • Dữ liệu nên ở đúng nơi:

    • tiến trình sâu -> Learning Management
    • badge archive / achievement board -> Profile
    • leaderboard chi tiết -> surface community/practice phù hợp
    • browse chi tiết -> Exercise Bank
  • Nếu một nội dung giúp user chọn ưu tiên module/lane, ưu tiên đặt ở Personal Snapshot hoặc Program Identity.
  • Nếu một nội dung giúp user bấm học ngay, ưu tiên đặt ở Today / This-week Strategy Translation.
  • Nếu một nội dung giúp user thấy mình đang tiến bộ, ưu tiên đặt ở Current vs Target Snapshot.
  • Nếu một nội dung giúp user thấy mình đang lệch ở đâu, ưu tiên đặt ở Priority Skill/Module Map.
  • Nếu một nội dung giúp user cảm thấy đang học cùng cộng đồng, ưu tiên đặt ở optional community teaser, không cho cướp baseline strategy layer.
  • Nếu một nội dung chủ yếu để xem sâu / so sánh / archive, không đặt ở landing, chỉ deeplink sang module chủ quản.
  • Nếu một nội dung cần nhiều giả định mô hình để trả lời kiểu khi nào đạt band, ưu tiên đặt ở màn tiến trình chi tiết thay vì landing baseline.
  • Nếu một nhu cầu đặc biệt có thể giải quyết bằng cách đổi trọng số của block hiện có, luôn ưu tiên cách đó trước khi tạo block/mode mới.
  • Nếu cần tăng động lực hoàn thành mỗi ngày, ưu tiên biểu diễn thành Today plan hoặc Today Mission Pack gọn, không thêm một block nhiệm vụ dài riêng biệt.
  • Activation / low-data
    • goal context ngắn, quick starter rõ, streak có thể surfacing nhẹ.
  • Active learning
    • ưu tiên today plan + weekly goal + countdown + current vs target.
  • Committed
    • ưu tiên target gap + weak skill + readiness + module strategy; streak lùi xuống proof phụ.
  • Achieved / maintenance
    • chuyển sang maintenance + next journey; không kéo user quay về loop streak.
  • Comeback
    • chỉ dùng comeback flow nhẹ, quick win, re-anchor target; không dùng streak loss làm hero signal.
  • snapshot cá nhân chưa?
  • một đường vào học ngay chưa?
  • goal + gap + priority chưa?
  • đường browse tự do chưa?
  • Có block nào đang làm thay LM/Profile/Leaderboard/Reward không?
  • Có block nào trùng vai và nên gộp/bỏ không?
  • 2026-03-16: Chốt Program Strategy Panel theo archetype strategy_panel; program landing cho phép strategic summary + ordered steps thay vì ép theo fixed inline card contract.
  • 2026-03-14: Chuyển contract program landing từ action/community hub sang strategy hub; community trở thành optional teaser, streak thành signal phase-weighted, và baseline được chốt theo goal -> current vs target -> priority map -> strategy translation -> browse.
  • 2026-03-13: Bổ sung Program Strategy Panel làm semantics bắt buộc của Program Identity + Personal Snapshot; AI ở program landing mặc định là strategy coach, drawer tab Kế hoạch, và mọi what-if strategy phải theo rule scenario state -> confirm-before-write.
  • 2026-03-11: Chuyển guideline từ mô hình 3 câu hỏi ngang vai sang 1 câu hỏi chính + 2 nhu cầu hỗ trợ, và chốt rule priority cue -> action layer.
  • 2026-03-11: Chốt program landing là strategic action hub; thêm guardrail cho goal context, forecast, và one primary leaderboard axis để tránh drift thành analytics/community dashboard.
  • 2026-03-10: Khởi tạo guideline ngắn cho program post-login surfaces theo cấu trúc snapshot -> action -> community -> browse.