本文へ移動
cccskills
無料GitHub で公開

platform-conventions

Design to iOS and Android conventions — what each OS mandates, where they diverge, and when to unify. Use when shipping native apps. For breakpoint adaptation use `responsive-design`; for matching competitor patterns use `jakobs-law` (interaction-design).

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Platform Conventions

You are an expert in iOS Human Interface Guidelines and Material Design, and in the trade-offs between platform-native and cross-platform product design.

What You Do

You identify which UI patterns are platform-mandated conventions, map the meaningful differences between iOS and Android, and help teams decide when to follow each platform vs. when a unified cross-platform design is appropriate.

Why Platform Conventions Matter

Users spend the vast majority of their time in the OS and its native apps. They build strong muscle memory for navigation, controls, and interaction patterns. When your product departs from platform convention without clear reason, users spend cognitive budget understanding your product rather than using it.

Key Differences: iOS (HIG) vs. Android (Material Design 3)

Navigation

PatterniOSAndroid
Back navigationSwipe right from left edge; back button top-leftSystem back gesture (swipe from either edge) or predictive back; back arrow in app bar
Primary structureTab bar at bottom; sidebar on iPadNavigation bar at bottom or Navigation drawer (hamburger)
Navigation historyStack-based; each tab has its own stackSingle back stack across the app; tabs do not maintain independent history by default
Bottom navigationUp to 5 tabs; no labels required3–5 tabs; labels required

Design implication: iOS users expect swiping from the left edge to always go back; reserve that gesture zone. On Android, the system back gesture handles this — in-app swipe-from-left can be used for a drawer without conflicting.

Controls and Components

ComponentiOS conventionAndroid (Material 3) convention
Toggle switchUISwitch — pill shape, right-aligned in listsSwitch — thumb-and-track, can appear inline or in lists
Destructive confirmationAction sheet (bottom) with red destructive optionDialog with text buttons; red/error tone for destructive
Date/time pickerWheel picker or calendar inlineCalendar with text input alternative
Selection menusPicker wheel or action sheetExposed dropdown or modal bottom sheet
Primary buttonFilled rectangle, full-width in formsFilled button (rounded corners by default in M3)
Floating actionNot a convention — use contextual buttonsFAB — primary surface action, bottom-right
Pull to refreshNative UIRefreshControlSwipeRefreshLayout — same gesture, different visual

Typography

AttributeiOSAndroid
System fontSF Pro (text) / SF Compact (watch)Roboto / Google Sans
Dynamic typeRequired — users control text size system-wideScalable pixels (sp) — must respect system font scale
Type scaleiOS text styles (Large Title, Title 1–3, Body, etc.)Material type scale (Display, Headline, Title, Body, Label)

Both platforms require apps to respect the user's system font size preference. Hardcoded point sizes that do not scale are an accessibility failure on both.

Interaction and Gesture Conventions

GestureiOS behaviourAndroid behaviour
Swipe to deleteStandard in table viewsSwipe to dismiss/archive (context-dependent)
Long pressPeek / context menu (iOS 13+ context menus)Contextual action mode; long press to select
Pull to refreshStandardStandard
Pinch to zoomStandard in maps, imagesStandard
Back swipeReserved — always navigates backPredictive back gesture; apps can opt in to preview

Visual and Iconography

AreaiOSAndroid
Icon librarySF Symbols (thousands, variable weight, auto-scale)Material Symbols (rounded, outlined, sharp variants)
Corner radiusLarger, "squircle" curves (superellipse)Moderate — Material 3 uses prominent rounding on components
System coloursDynamic colors that adapt to dark/light automaticallyMaterial You dynamic color — generated from wallpaper
Modal presentationSheet that slides up from bottom, with grab handleBottom sheet (standard or modal) or full-screen dialog

Cross-Platform Design Decisions

When to follow each platform strictly

  • Native or near-native apps where platform fluency is a key quality signal (banking, health, utility apps)
  • Apps that integrate deeply with OS features (share sheet, widgets, Siri/Google Assistant)
  • Apps with a large base of platform-experienced power users

When a unified design is appropriate

  • Products with high feature parity across platforms where design consistency reduces maintenance cost
  • Products where cross-device continuity matters (e.g. users switch between iPhone and Android or web)
  • B2B tools where users interact primarily with the product's own design system, not OS affordances

The hybrid approach

Most cross-platform products adopt a middle path: a unified visual and component language, but with platform-specific adaptations for navigation (system-level conventions), system controls, and gesture conflicts. The product looks like itself; it behaves like the OS.

What Not to Do

  • Do not use a bottom tab bar on Android if it uses the gesture navigation that conflicts with a swipe-up action
  • Do not suppress the iOS swipe-back gesture — users who trigger it and nothing happens will be confused and trust drops
  • Do not use iOS action sheets on Android or Android dialogs on iOS as primary decision patterns
  • Do not ignore Dynamic Type / SP scaling on either platform — fixed text sizes are an accessibility failure
  • Do not transplant the FAB pattern to iOS without justification — it has no native precedent there

Best Practices

  • Read the current platform guidelines before each major design phase; both iOS HIG and Material 3 update frequently
  • Audit native apps on each platform for the interaction you are designing before proposing a solution
  • Maintain a component mapping document: what the design system calls a thing, what iOS calls it, what Android calls it
  • Test on real devices for each platform — simulator behaviour and gesture handling differ from physical devices
  • When in doubt about a platform-specific pattern, use what ships in the OS: it is already tested, already familiar

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Design an A/B experiment — hypothesis, variants, primary metric, and sample size. Use when a change can be measured quantitatively at scale. For observing behaviour qualitatively, use `test-scenario`.

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Audit an existing interface against WCAG, producing findings with severity ratings and remediation steps. Use when you have a design or build to assess now. Not for planning future sessions with assistive-technology users — use `accessibility-test-plan` (prototyping-testing).

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Plan accessibility testing — assistive technologies, participant criteria, WCAG coverage, and session protocol. Use when scheduling testing with real AT users. Not for evaluating a design yourself — use `accessibility-audit` (design-systems).

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Apply the Aesthetic-Usability Effect — polished, consistent interfaces are perceived as more usable and forgive minor friction. Use when justifying visual polish or diagnosing why a functional design tests badly. For emotional resonance specifically, use `interfaces-that-feel` (interaction-design).

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Cluster many qualitative data points into themes and insight statements. Use when synthesising across multiple sessions or sources. For a single transcript use `summarize-interview`; for one segment's inner state use `empathy-map`.

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Apply animation principles — easing, staging, follow-through — to one specific UI motion. Use when tuning how an animation feels. For product-wide duration and easing tokens use `motion-system` (design-systems); for a full interaction spec use `micro-interaction-spec`.

日本語の概要は準備中です。原文の説明を表示しています。

Owl-Listener/designer-skills2,9012026年9月6日 更新

Owl-Listener のスキルをすべて見る

このスキルの問題を報告する