Không khó để bạn bắt gặp trong JD có 1 bullet point này “Strongly understanding of platform guideline (iOS Human Interface guideline & Android Material design guideline).
Nó là gì và tại sao mình cần quan tâm?
OS là gì?
OS (Operating System – Hệ điều hành) chính là “linh hồn” của thiết bị. iOS (Apple) và Android (Google) không chỉ điều khiển phần cứng, mà còn định hình luôn cách người dùng tương tác với ứng dụng với phần mềm.
Ví dụ:
iOS nổi tiếng với sự tối giản, mượt mà, gesture-driven.
Android lại đặc trưng bởi sự linh hoạt, đa dạng thiết bị, nhiều tuỳ chỉnh.
Khi thiết kế app, chúng ta không thể “vẽ ra một thế giới riêng” tách khỏi OS, bởi người dùng sẽ luôn so sánh app với trải nghiệm họ đã quen thuộc trên chính chiếc điện thoại của mình → Nếu quá khác thì bạn đang không tận dụng tốt mental model sẵn có của user, một phần sẽ ảnh hưởng không tốt lên UX.
Design patten là gì?
Design pattern là những giải pháp lặp đi lặp lại đã được “chuẩn hoá” để giải quyết vấn đề quen thuộc, nói cách đơn giản hơn thì nó là “component” & cách interaction mà bạn hay dùng trong thiết kế ấy.
→
Human Interface Guideline (iOS) & Material Design Guideline (Android) là 2 nơi quy chuẩn các design pattern cho 2 native OS.
Pattern giúp user dễ học – dễ nhớ – dễ dùng, vì họ không cần “học lại từ đầu” ở mỗi app. Nó ứng dụng nhiều cho tiêu chí “Consistency & Standard” trong Usability heuristic.
Vài “văn hoá” của 2 OS
Back navigation
iOS: back = vuốt từ cạnh trái hoặc nút back trên top-left.
Android: back = gesture cạnh trái/phải hoặc nút back system.
Navigation model
iOS: Tab bar cố định, Hierarchical navigation.
Android: Bottom navigation + Navigation Drawer.
Action placement
iOS: hay dùng Action Sheet. Khi dùng OS bạn sẽ thường gặp nút CTA bên iOS được đặt phía trên.
Android: hay dùng Modal Bottom Sheet hoặc Dialog. Bên Android cũng có nét đặc trưng nút FAB (bạn sẽ thường gặp trong các app của Google như Gmail, Drive, Authenticator,…). Tuy nhiên thì mình thấy giờ tuỳ app mà iOS cũng dùng (vd: Thread, Airbnb,…), nó không còn mang nặng nét đặc trưng nữa.
Thói quen thao tác cho Delete item
Android: Overflow menu / long-press
Feedback
Android: Snackbar, Toast.
Các component đặc trưng của 2 OS: date picker, permission modal, modal, bottom sheet, picker, notification banner, UI control element… cũng có nét khá biệt.
Design language
Style
Android: prefer elevation (shadow)
Typography
Android: font Roboto/Google Sans
Ngoài ra còn có cái OS UI đặc trưng mà các brand tự build riêng như: MIUI (Xiaomi); OneUI (Samsung); oxygenOS (OnePlus); Harmony OS (Huawei)…
Biết để làm gì?
Biết pattern nào cần tuân thủ để user cảm thấy native, pattern nào có thể linh hoạt. Nên ưu tiên dùng các critical pattern như navigation cơ bản (back, action sheet vs bottom sheet, swipe vs long press…), các input thông dụng (date picker, toggle, picker…)
Biết văn hoá trải nghiệm của từng hệ sinh thái để không tạo cảm giác “app iOS bị Android hoá” hoặc ngược lại → Nếu app ưu tiên trải nghiệm mượt mà, theo đúng thói quen người dùng, thì nên native hơn.
Chuẩn bị các alterative interaction cho trường hợp design cross-platform. Ví dụ: iOS có thói quen swipe để xem thêm các action items, nhưng Android lại không quen với cách interaction này, họ quen với click “overflow menu” hoặc “long-press” → mình cũng cần bổ sung thêm cách interaction này để phục vụ cho tệp Anroid user.
Note: mặc dù có khác biệt nhưng không phải lúc nào cũng phải follow y khuôn các pattern của 2 OS, các app hiện tại dần dần cũng quy về chung 1 loại pattern dùng chung rồi, có thể
xem thêm ở bài này.
Reference
Relevant Item