Skype

Skype is Microsoft's veteran video-and-voice-calling app, and its design DNA is unmistakably call-first.

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

24tokens
9type steps
2radius steps
5pxspacing base

Skype, in one page

Skype is Microsoft's veteran video-and-voice-calling app, and its design DNA is unmistakably call-first. Long before it was a chat client it was *the* way to make free internet calls, and every screen still leads with that promise: the contacts list, the prominent call buttons in every conversation header, the dedicated Calls tab, and the full-screen video grid are the heart of the product. The visual identity is built on one signature color — Skype Blue, a bright cloud-cyan #00AFF0 (with a deeper, text-safe #0078D4 for filled surfaces). It's in the cloud logomark, the call FABs, the primary buttons, the tab selection, and the outgoing message bubble. The atmosphere is bright, friendly, and approachable: rounded shapes, soft gradients on avatars and video tiles, and a clean canvas.

The canvas is white (#FFFFFF) in light mode and a neutral near-black (#16161A) in dark mode — Skype's dark is a true neutral gray-black so the cloud blue stays vivid against it. Conversations are a vertical stack of rounded bubbles: outgoing in the deeper Skype Blue #0078D4 with white text and a small ~4pt tail on the bottom-right; incoming in a light gray #EBEBEF (light) / #2A2A30 (dark) with primary-color text and a tail on the bottom-left. Bubbles use a ~14pt radius. Below or beside each outgoing bubble sits a timestamp and a small delivery state ("Delivered" / "Seen"). The chat history is also a *call log*: every voice/video call appears as an inline call card — a rounded surface with a green phone glyph, "Group video call", duration, and participant count — interleaved with messages.

The other signature pillar is the video call grid. When a call is active, participants render as gradient-backed video tiles in an adaptive grid, with a small self-view, per-tile mic indicators, and a bottom control bar of large circular buttons: mute, video toggle, share, and a red end-call button (with a green accept button on incoming). Skype's call screen and contacts list are as central as its chat. Other distinctive components: presence dots (green = active, yellow = away, gray = offline) on every avatar, message reactions (a heart-led emoji strip on long-press that docks as a chip on the bubble), the contacts directory with search and "Active now", screen sharing, and the Meet Now / instant-meeting entry.

Typography is Microsoft's house style: Segoe UI (the Windows/Skype brand sans). On platforms without Segoe the closest free substitutes are Inter or Open Sans — clean, neutral, humanist. Hierarchy is product-UI: bold screen titles, semibold contact headlines, 15pt message body, small gray metadata. Color beyond blue is purposeful: green #2DC26B for accept-call and online presence, red #E8364F for end-call/destructive and unread badges, yellow #FFC400 for away presence. Skype Blue is the only saturated brand surface; everything else is neutral chrome.

Key Characteristics:

Do's and don'ts

Do

  • Make Skype Blue the brand — bright #00AFF0 on buttons/FABs/tabs, deep #0078D4 on the outgoing bubble
  • Use white (#FFFFFF) light canvas / neutral near-black (#16161A) dark — neutral so blue stays vivid
  • Render outgoing bubbles deep blue #0078D4, incoming gray (#EBEBEF / #2A2A30), ~14pt radius with a ~4pt tail
  • Keep calling one tap away — phone + video in every chat header, dedicated Calls + Contacts tabs
  • Interleave call history as inline call cards (glyph + duration + participants) in the chat
  • Show presence dots on every avatar — green active #2DC26B, yellow away #FFC400, gray offline
  • Use a gradient-tiled video grid with self-view, per-tile mic, and a big circular control bar
  • Use green #2DC26B for accept/online, red #E8364F for end-call/destructive/unread badges
  • Use deep-cyan ink #00343F for text on the bright #00AFF0 button (AA); white text on the deep-blue bubble
  • Use a clean humanist sans (Segoe UI → Inter/Open Sans), heavy 700/800 titles & buttons

Don't

  • Don't tint the dark canvas — Skype's dark mode is a neutral near-black #16161A, not color-cast
  • Don't tint incoming bubbles blue — they're neutral gray; only outgoing is brand blue
  • Don't use the bright #00AFF0 for the outgoing bubble — use the text-safe deep #0078D4
  • Don't put white text on the bright #00AFF0 button — use deep-cyan ink #00343F for contrast
  • Don't bury calling behind menus — it's call-first; header + Calls/Contacts tabs + call cards are mandatory
  • Don't hide call history — every call appears as an inline card in the conversation
  • Don't introduce a second brand accent — blue is it; green/yellow/red are presence/semantic only
  • Don't use thin type for titles/buttons — Skype's friendliness comes from heavy 700/800 weights
  • Don't use hard drop shadows on bubbles/call cards — they're flat; only floating menus elevate
  • Don't drop presence dots — people-status is core to Skype's identity
  • Don't animate aggressively — motion is soft spring, 0.15–0.32s

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Skype design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- The canvas is white: #ffffff
- Skype Blue: #00aff0
- Skype Blue Deep: #0078d4
- Skype Blue Pressed: #0091cc
- Skype Cyan: #34c3ff
- Canvas White: #ffffff
- Incoming Bubble: #ebebef
- Surface Gray: #f4f4f6
- Row Pressed: #e8e8ec
- Divider: #e2e2e6

Type:
- families: Segoe UI, Brand, Inter, Open Sans
- scale: 11, 13, 14, 15, 16, 17, 22, 26, 32
- weights: 400, 500, 600, 700, 800

Shape:
- radius: 14, 22

Spacing: 5, 8, 9, 13

Rules:
- Make Skype Blue the brand — bright `#00AFF0` on buttons/FABs/tabs, deep `#0078D4` on the outgoing bubble
- Use white (`#FFFFFF`) light canvas / neutral near-black (`#16161A`) dark — neutral so blue stays vivid
- Render outgoing bubbles deep blue `#0078D4`, incoming gray (`#EBEBEF` / `#2A2A30`), ~14pt radius with a ~4pt tail
- Keep calling one tap away — phone + video in every chat header, dedicated Calls + Contacts tabs
- Interleave call history as inline call cards (glyph + duration + participants) in the chat
- Show presence dots on every avatar — green active `#2DC26B`, yellow away `#FFC400`, gray offline

Avoid:
- Don't tint the dark canvas — Skype's dark mode is a neutral near-black `#16161A`, not color-cast
- Don't tint incoming bubbles blue — they're neutral gray; only outgoing is brand blue
- Don't use the bright `#00AFF0` for the outgoing bubble — use the text-safe deep `#0078D4`
- Don't put white text on the bright `#00AFF0` button — use deep-cyan ink `#00343F` for contrast
- Don't bury calling behind menus — it's call-first; header + Calls/Contacts tabs + call cards are mandatory
- Don't hide call history — every call appears as an inline card in the conversation

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary (Interactive)

  • Skype Blue (#00AFF0): The brand. Call FABs, primary buttons, tab selection, send button, links, icons.
  • Skype Blue Deep (#0078D4): Outgoing bubble, filled surfaces needing white-text contrast, pressed accents.
  • Skype Blue Pressed (#0091CC): Pressed state of bright-blue controls.
  • Skype Cyan (#34C3FF): Lighter accent, gradient top stop, links on dark, outline text.

Canvas & Surfaces (Light Mode)

  • Canvas White (#FFFFFF): Thread background, primary light canvas.
  • Incoming Bubble (#EBEBEF): Light gray incoming bubble.
  • Surface Gray (#F4F4F6): Grouped list background, search field, call cards on light.
  • Row Pressed (#E8E8EC): Pressed conversation/list rows.
  • Divider (#E2E2E6): Hairline separators between list rows and header.

Canvas & Surfaces (Dark Mode)

  • Dark Canvas (#16161A): Neutral near-black thread background.
  • Dark Surface 1 (#1F1F24): Nav bar, input bar, tab bar, elevated surfaces.
  • Dark Surface 2 (#2A2A30): Incoming bubble, call cards, control buttons, sheets.
  • Dark Divider (#34343C): Hairline separators on dark.

Text

  • Text Primary Light (#1B1B1F): Incoming bubble text, primary labels.
  • Text on Blue (#FFFFFF): Outgoing bubble text; on bright #00AFF0 buttons use #00343F deep-cyan-ink for AA.
  • Text Secondary (#6E6E78 light / #A4A4AE dark): Timestamps, list preview, contact subtitle.
  • Text Tertiary (#9A9AA4 light / #6F6F79 dark): Disabled, placeholder, "Delivered" micro-meta.
  • Text Primary Dark (#F2F2F4): Incoming bubble text and labels on dark.

Presence

  • Active / Online (#2DC26B): Green presence dot, also accept-call.
  • Away (#FFC400): Yellow presence dot.
  • Do Not Disturb (#E8364F): Red presence dot (shares the destructive red).
  • Offline / Invisible (#9A9AA4 ring): Gray hollow ring.

Semantic

  • Accept / Success Green (#2DC26B): Accept-call button, success toast, online.
  • End / Error Red (#E8364F): End-call button, delete, destructive, unread count badge.
  • Link (#0078D4 light / #4FBDF0 dark): Inline links inside bubbles.
  • Selection Highlight (#00AFF0 @ 18%): Text selection within a bubble.

Presence Color Matrix

StateDotColor
Active / Onlinefilled#2DC26B
Awayfilled#FFC400
Do Not Disturbfilled (minus glyph)#E8364F
Offlinehollow ring#9A9AA4
In a callfilled (phone glyph)#00AFF0
Type scaleRead the full spec

Font Family

  • Brand: Segoe UI — Microsoft's house humanist sans (proprietary; not redistributable cross-platform).
  • Recommended Free Substitute: Inter (by Rasmus Andersson, SIL OFL) — closest neutral humanist; or Open Sans (SIL OFL) for a slightly warmer match.
  • Fallback Stack: -apple-system, 'Segoe UI', BlinkMacSystemFont, 'SF Pro Text', 'Inter', Roboto, Helvetica, Arial, sans-serif
  • Numerals: proportional by default; tabular in timestamps and call durations.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Large TitleSegoe UI32pt8001.2-0.4pt"Chats" / "Calls" screen title
Title 1Segoe UI26pt7001.2-0.3ptCall summary / sheet headers
Title 3Segoe UI22pt7001.25-0.2ptGroup name, large contact name
HeadlineSegoe UI17pt7001.3-0.2ptContact name in chat header / list row title
Body / BubbleSegoe UI15pt4001.320ptMessage text
Body EmphasisSegoe UI15pt6001.320ptSender name in group bubbles, mentions
List PreviewSegoe UI14pt5001.350ptLast-message preview in chat list
FootnoteSegoe UI13pt6001.350ptCall card meta ("12 min · 3 participants")
CaptionSegoe UI11pt6001.350.1ptTimestamp separators, presence ("Active now")
ButtonSegoe UI16pt7001.00ptPrimary / call buttons
Tab LabelSegoe UI11pt6001.00.1ptBottom tab labels
BadgeSegoe UI11pt7001.00ptUnread count badges

Principles

  • Friendly and clean: Segoe/Inter at heavy 700/800 for titles & buttons feels confident and approachable.
  • Body stays light: message body at 15pt regular keeps chat readable and dense.
  • Dynamic Type supported: titles, headline, body, list previews scale; timestamps, tab labels, badges, presence text stay fixed.
  • White text on the deep blue bubble: outgoing bubble text is #FFFFFF; on the bright #00AFF0 button, text uses deep-cyan ink #00343F for WCAG AA.
  • Tracking near-zero: Segoe/Inter are comfortable at default tracking; only tiny captions get a small positive value.
Components and layoutRead the full spec

Buttons

Primary Button

  • Shape: Pill / rounded rectangle, 22pt corner radius
  • Background: #00AFF0
  • Text: #00343F (deep-cyan ink for AA on bright blue), Segoe UI 16pt weight 700
  • Padding: 13pt vertical, 26pt horizontal
  • Pressed: #0091CC + scale 0.98
  • Disabled: #00AFF0 @ 35% opacity

Call Button (Call / Accept)

  • Shape: pill 22pt radius (or 56pt circle in call control bar)
  • Background: #2DC26B (accept/call) — white icon+label
  • Used in the chat-header call action and incoming-call accept

End-Call Button

  • Background: #E8364F, white phone-down glyph, 56pt circle in the control bar / pill in sheets

Outline Button (secondary)

  • Background: transparent
  • Border: 1.5pt #00AFF0
  • Text: #0078D4 (light) / #34C3FF (dark), Segoe UI 15pt weight 700
  • Corner radius: 22pt
  • Pressed: #00AFF0 @ 10% fill

Text Button

  • Background: transparent
  • Text: #0078D4 / #34C3FF, Segoe UI 15pt weight 600 ("Share Screen", "Add People")
  • Pressed: opacity 0.5

Send Button (circular)

  • 36pt circle, background #00AFF0, paper-plane glyph #00343F 16pt
  • Mic icon (voice message) when the field is empty

Message Bubble (the core atom)

Outgoing Bubble

  • Background: #0078D4 (deep Skype Blue — text-safe)
  • Text: #FFFFFF, Segoe UI 15pt w400
  • Padding: 9pt vertical, 14pt horizontal
  • Corner radius: 14pt, bottom-right corner at 4pt (tail) when last in a same-sender run
  • Alignment: trailing, max width ~80% of thread
  • Footer: timestamp 10pt + delivery state, right-aligned below

Incoming Bubble

  • Background: #EBEBEF light / #2A2A30 dark
  • Text: #1B1B1F / #F2F2F4, Segoe UI 15pt w400
  • Corner radius: 14pt, bottom-left corner at 4pt (tail)
  • Alignment: leading; in groups, sender name in 15pt w600 #0078D4 above the first bubble

Grouping

  • Same sender consecutive: 5pt gap, only last bubble shows the tail
  • Sender change: 8pt gap
  • Day separator: centered 11pt caption, secondaryLabel, 8pt vertical margin

States

  • Sending: clock micro-glyph, bubble ~70% opacity until ack
  • Failed: red exclamation, tap to resend
  • With reaction: a small chip docked at the bottom-near corner (overlapping -12pt)
  • Edited: "Edited" in 11pt tertiaryLabel below the bubble
  • Reply quote: a thin blue left-bar + quoted snippet inside the bubble

Inline Call Card

  • A rounded surface interleaved in the chat history for every voice/video call
  • Background: #F4F4F6 light / #2A2A30 dark, 14pt corner radius, 10/14pt padding
  • Leading: 30pt circular icon, tinted by outcome — green phone #2DC26B @ 18% bg (answered), red #E8364F (missed/declined)
  • Title: "Group video call" / "Audio call" Segoe UI 13pt w700
  • Subtitle: "12 min · 3 participants" / "Missed · Tap to call back" 11pt secondaryLabel
  • Trailing (optional): a "Call back" pill button

Video Call Grid

  • Active-call screen: adaptive grid of participant tiles
  • Tile: gradient-backed (avatar fallback) or live video, 14pt corner radius
  • Name label bottom-left (11pt w600 white on a subtle scrim)
  • Per-tile mic indicator top-right: 18pt circle, rgba(0,0,0,0.45) bg, white mic/mic-off glyph
  • Self-view: smaller pinned tile (e.g., 62pt wide), bordered #34343C
  • Control bar (bottom): row of 52–56pt circular buttons — mute, video toggle, share, more, and a red end-call (green accept on incoming) — on a translucent dark scrim

Navigation

Chat Header (call-first)

  • Height: 56pt + safe area, hairline divider bottom
  • Leading: back chevron (chevron.left 17pt #00AFF0)
  • Center-left: 36pt circular avatar with a presence dot + name (Segoe UI 15pt w700) stacked over presence/status ("Active now" 11pt #2DC26B)
  • Trailing: phone icon + video icon (22pt #00AFF0) — call-first
  • Tapping the header opens the contact/profile screen

Chat List (Chats tab)

  • Large title "Chats" (32pt w800), search field, Meet Now / compose entry
  • Row: 72pt — leading 52pt circular avatar with presence dot, title (17pt w700), preview (14pt secondaryLabel, 1-line), trailing timestamp (13pt) + unread count badge (red #E8364F pill)
  • Swipe: Delete (red), More

Contacts Tab

  • Searchable directory, sectioned A–Z; "Active now" group at the top
  • Row: avatar + presence + name + status text; tap → profile with Chat / Audio / Video call actions

Bottom Tab Bar

  • Height: 50pt + safe area, background #FFFFFF / #1F1F24, hairline top divider
  • Tabs (4): Chats, Calls, Contacts, Notifications
  • Icon 22pt; active = #00AFF0 filled glyph + label; inactive = #9A9AA4 / #6F6F79
  • Labels: Segoe UI 11pt w600 always shown; unread badge on Chats/Notifications (red pill)

Input Fields

Compose Bar

  • Background: #FFFFFF / #1F1F24, hairline top divider, 8/16pt padding
  • Leading: + 22pt attachment (camera, gallery, file, location, contact, poll)
  • Center: pill field — 18pt radius, #F4F4F6 / #2A2A30 fill, placeholder "Type a message" tertiaryLabel
  • Inner-trailing: emoji face glyph 22pt
  • Trailing: 36pt circular send button #00AFF0; mic when empty (voice message)

Search Bar

  • Height: 36pt, #F4F4F6 / #2A2A30, 10pt radius
  • Leading magnifyingglass 15pt tertiaryLabel, placeholder "Search Skype"

Distinctive Components

Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptBubble max ~300pt; video grid caps at 4 tiles before paging
iPhone 13/14/15390ptStandard layout
iPhone 15/16 Pro393ptDynamic Island accommodated above header / call top bar
iPhone 15/16 Pro Max430ptWider bubbles (~344pt), larger video tiles
iPad (portrait)768ptSplit: list (~340pt) + conversation/call; content max ~700pt centered
iPad (landscape)1024pt+Persistent list + call grid full-pane; gallery video layout

Dynamic Type

  • Titles, headline, body, list preview, call-card title: full scale
  • Timestamps, tab labels, badges, presence text, per-tile mic/name labels: FIXED
  • Video tiles: fixed grid metrics (do not scale with text)

Orientation

  • Conversation supports rotation; bubbles reflow keeping the ~80% cap
  • Video call rotates to landscape (gallery layout) with PiP support
  • iPad keeps split view in both orientations; call grid uses the full pane

Touch Targets

  • Send / + / emoji buttons: 22–36pt glyph, 44pt hit
  • Bubble: full bubble is the long-press (reactions) target
  • Reaction glyphs: 28pt glyph, 44pt hit
  • Header call icons: 44pt hit each
  • Call-control buttons: 52–56pt (already ≥44pt)
  • List/contact row, tab: full-row / full-cell tap

Safe Area Handling

  • Top: header / call top bar respects safe area + Dynamic Island
  • Bottom: input bar + tab bar + call control bar respect home indicator; thread scrolls above keyboard
  • Keyboard: compose bar and emoji panel ride above the keyboard
  • Sides: 14pt bubble gutters; video tiles use the full width with 8pt gutters

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-skype {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #16161a;
  --heading-color: #16161a;
  --link-color: #0078d4;
  --link-hover-color: #005ba1;
  --border-color: #d5d5d6;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(22,22,26,0.06);
  --card-hover-shadow: 0 6px 18px rgba(22,22,26,0.12);
  --header-bg: #16161a;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #68686a;
  --button-bg: #00aff0;
  --button-text-color: #000000;
  --button-hover-bg: #008abd;
  --button-border: none;
  --button-border-radius: 22px;
  --button-secondary-bg: #f1f1f1;
  --button-secondary-text-color: #16161a;
  --button-secondary-hover-bg: #e3e3e4;
  --button-secondary-border: 1px solid #d5d5d6;
  --prompt-bg: #f3f3f4;
  --prompt-text-color: #16161a;
  --base-font: var(--font-inter);
  --heading-font: var(--font-open-sans);
  --card-border-radius: 22px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/messaging/skype/DESIGN.md · 26.2 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.