iPhone 18 Pro and iPhone Duo: The MacStories Overview

Wait 5 sec.

The iPhone Duo.Apple’s iPhone lineup is taking a different shape this year.At today’s Surprise and Shine event, the company introduced the iPhone 18 Pro and 18 Pro Max alongside the iPhone Duo, its first foldable iPhone. The Pro models build on the familiar design introduced last year, while the Duo marks the debut of an iPhone with a brand new form factor that combines a smaller, outer display with a larger, almost iPad mini-like internal display.As a longtime iPad user who’s long been fascinated by foldables (and I’ve tried some over the years, too), I’ve been eagerly anticipating Apple’s debut in this space. Based on what we’ve seen today, it looks like Apple was able to deliver on the promise of a new iPhone category that combines the best of iOS with concepts borrowed from iPadOS, turning the iPhone into a versatile pocket computer that epitomizes Apple CEO John Ternus’ concept of the “personal hub”.As we’ll see in this article, while the iPhone 18 Pro’s story largely revolves around the camera (unsurprisingly) and improved performance (some of the A20 Pro’s numbers are, in fact, a surprise merely a year after the A19 Pro), the iPhone Duo marks a new beginning for iOS, which now supports features that never existed on the platform before, as well as a series of interactions that Apple is exploring for the first time.Let’s dive in.iPhone 18 Pro and iPhone 18 Pro MaxLet’s start with the iPhone 18 Pro and Pro Max, which follow a familiar approach: take the existing design from last year’s Pro models and improve the cameras, performance, and battery life.Both phones feature the same 6.3-inch and 6.9-inch displays as last year, respectively, with 3,000 nits of peak outdoor brightness (also unchanged). The Dynamic Island is smaller, and because of that, it can now show more data – up to three Live Activities at once – without sacrificing Face ID.The new Dynamic Island with more Live Activities in the iPhone 18 Pro. “With iPhone 18 Pro, we’ve made advancements to the areas our users care about most: camera, performance, battery, and intelligence. And we didn’t just make incremental improvements in these areas — we took huge leaps forward to create the best Pro iPhone we’ve ever made,” said Greg Joswiak, Apple’s senior vice president of Worldwide Marketing. “iPhone 18 Pro makes it easy for anyone to capture stunning photos and videos using variable aperture, while providing more versatility for creators and more control for pros. Paired with impactful upgrades to Photographic Styles and powerful video capabilities, iPhone 18 Pro unlocks entirely new ways for users to express themselves.”CamerasAs you know, I’m not a professional photographer, and I seldom take advantage of the latest “pro” features in the iPhone’s camera. But I, too, have to admit that the camera additions to the 18 Pro line sound remarkable.The biggest change is the 48MP Fusion Main camera’s variable aperture. Six blades physically move inside the camera and adjust the opening between four settings: ƒ/1.48, ƒ/1.8, ƒ/2.8, and ƒ/4. In practice, this means the camera can let in more light in a dark scene or keep more people in focus in a group photo.This can happen automatically, but you can also take over with the Camera app’s new Pro controls, which include aperture, shutter speed, white balance, and a histogram. As of the release candidate version of iOS 27 released a few hours ago, the Camera app supports the long-rumored control customization (on all iPhone models, including the current 17 Pro), too, giving you even finer control over the, well, controls you want to see available at all times.New customizable controls in the Camera app for iOS 27.Of course, there are also 48MP Ultra Wide and 4x Telephoto cameras, plus the usual optical-quality 8x option. On the software side, Photographic Styles is gaining texture and grain controls, Cinematic effects can be applied after capture to videos shot at up to 60 fps, and time-lapse now supports 4K Dolby Vision. Audio Mix is getting improved voice processing and music isolation as well.What I find especially interesting, however, is the concept behind Apple Reference Image. When you take a photo in Reference mode, the Main camera captures signed sensor data that Private Cloud Compute authenticates and turns into an unalterable reference image. You can think of it as a digital negative. You can view the authenticated version of an image alongside the main one in Photos to see what was changed after capture, and, as Apple notes, this has interesting implications when it comes to AI. In an era where validating image authenticity is turning into a real challenge, I think we have to commend Apple for trying to do something in this field.Apple Reference Image in the Photos app.It’s also worth noting that Apple will add support for SynthID, the industry standard for watermarking images created with AI adopted by OpenAI, Google, and others. According to Apple, “SynthID will be available in a software update later this year and will be included for most edited images, depending on the edits applied”.Performance and BatteryThe new 2 nm A20 Pro features a 6-core CPU, 7-core GPU, and Dual 16-core Neural Engine. According to Apple, it offers up to 40% faster graphics and twice the AI processing power of A19 Pro.Now, having recently written about the potential of the M5 Ultra and M6 for local AI on the Mac, I’m obviously very keen to see what the A20 Pro will mean for running local LLMs on the iPhone 18 Pro (and iPhone Duo, since it has the same chipset). For instance, would this chip run an edge-optimized model such as Liquid’s LFM2.5-8B-A1B at higher than 30 tokens per second? What about small specialized models such as Desert Ant Labs’ family of small language models – how much more efficient would they be on the A20 Pro compared to the A19 Pro? I can’t wait to find out.In any case, to visualize Apple’s numbers announced today against current and previous generations of iPhones, I’ve put together some handy widgets and visualizations to help you put things in perspective..ms-widget{display:block;box-sizing:border-box;width:700px;max-width:90%;margin:0 auto;padding:0} /* ---------- Shared widget base. Every figure is one self-contained block under .bn. ---------- */ /* Colors follow MacStories: white page / #333 text in light, #202020 page / #bababa text in dark. */ .bn { --ink:#1d1d1f; --text:#333; --mute:#6e6e73; --bg:#fff; --soft:#f2f2f4; --line:#e4e4e7; --accent:#b00a0f; --accent-soft:rgba(176,10,15,.18); --bar:#d3d3d8; --onbar:#fff; --frfill:rgba(0,0,0,.035); --seg-on:#fff; --seg-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04); --card-shadow:0 1px 2px rgba(0,0,0,.03),0 10px 30px rgba(0,0,0,.05); } .theme-dark .bn, .pv:has(#pv-dark:checked) .bn { --ink:#f2f2f2; --text:#c9c9cb; --mute:#8e8e93; --bg:#171717; --soft:#262628; --line:#333336; --accent:#53c8f0; --accent-soft:rgba(83,200,240,.22); --bar:#3d3d43; --onbar:#171717; --frfill:rgba(255,255,255,.04); --seg-on:#454549; --seg-shadow:0 1px 3px rgba(0,0,0,.5); --card-shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35); } @media (prefers-color-scheme:dark) { .pv:has(#pv-auto:checked) .bn, .bn:not(.pv .bn):not(.theme-light .bn) { --ink:#f2f2f2; --text:#c9c9cb; --mute:#8e8e93; --bg:#171717; --soft:#262628; --line:#333336; --accent:#53c8f0; --accent-soft:rgba(83,200,240,.22); --bar:#3d3d43; --onbar:#171717; --frfill:rgba(255,255,255,.04); --seg-on:#454549; --seg-shadow:0 1px 3px rgba(0,0,0,.5); --card-shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35); } } .bn { display:block; position:relative; box-sizing:border-box; width:100%; max-width:100%; margin:1.4rem 0; padding:22px 22px 18px; border:1px solid var(--line); border-radius:18px; background:var(--bg); box-shadow:var(--card-shadow); color:var(--text); font:400 15px/1.5 system-ui,-apple-system,"Helvetica Neue",Helvetica,sans-serif; font-variant-numeric:tabular-nums; container-type:inline-size; text-align:left; } .bn * { box-sizing:border-box; margin:0; padding:0; } .bn .bn-t { font-size:20px; line-height:1.25; font-weight:600; color:var(--ink); letter-spacing:-.01em; text-wrap:balance; } .bn .bn-l { margin-top:6px; font-size:14px; line-height:1.5; color:var(--text); text-wrap:pretty; } .bn .bn-c { display:block; margin-top:14px; font-size:12px; line-height:1.5; color:var(--mute); text-wrap:pretty; } .bn .bn-tag { display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px; background:var(--soft); color:var(--mute); font-size:11px; font-weight:500; vertical-align:3px; letter-spacing:0; } @container (max-width:460px) { .bn { padding:18px 16px 14px; } } /* ---------- 1. Speed race. One shared clock drives every bar; bars are time, so the faster one stops short. ---------- */ @property --t { syntax:''; inherits:true; initial-value:0; } .bn-race { --t:0; animation:bn-clock 7.5s linear infinite; } @keyframes bn-clock { 0%{--t:0} 6.7%{--t:0} 60%{--t:1} 100%{--t:1} } .bn-race .bn-lanes { list-style:none; margin-top:16px; display:grid; gap:14px; } .bn-race .bn-lh { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px; } .bn-race .bn-ln { color:var(--ink); font-weight:500; } .bn-race .bn-claim { color:var(--accent); font-weight:600; white-space:nowrap; } .bn-race .bn-row { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:10px; margin-top:4px; } .bn-race .bn-k { font-size:12px; color:var(--mute); } .bn-race .bn-note { margin-top:5px; font-size:12px; line-height:1.4; color:var(--mute); text-wrap:pretty; } .bn-race .bn-track { position:relative; height:10px; border-radius:5px; background:var(--soft); overflow:hidden; } .bn-race .bn-fill { position:absolute; top:0; bottom:0; left:0; border-radius:5px; } .bn-race .bn-old { background:var(--bar); width:calc(min(1, var(--t)) * 100%); } .bn-race .bn-new { background:var(--accent); width:calc(min(1 / var(--r), var(--t)) * 100%); } @media (prefers-reduced-motion:reduce) { .bn-race { animation:none; --t:1; } } /* ---------- 2. Parameters as dots. Dense uses every dot; sparse lights a few at a time. ---------- */ .bn-params .bn-model { margin-top:16px; } .bn-params .bn-mh { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; font-size:14px; } .bn-params .bn-mh strong { color:var(--ink); font-weight:600; } .bn-params .bn-mh span { color:var(--mute); } .bn-params .bn-dots { display:grid; grid-template-columns:repeat(10, 26px); gap:8px; margin-top:8px; } .bn-params .bn-dense { grid-template-columns:repeat(3, 26px); } .bn-params .bn-dots i { display:block; width:26px; height:26px; border-radius:50%; background:var(--soft); border:1.5px solid var(--line); box-shadow:0 0 0 0 transparent; } .bn-params .bn-dense i { background:var(--ink); border-color:var(--ink); } .bn-params .bn-sparse i { animation:bn-light 8s linear infinite; animation-delay:calc(var(--d) * -1s); } @keyframes bn-light { 0%,3% { background:var(--soft); border-color:var(--line); box-shadow:0 0 0 0 transparent; } 8%,16% { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); } 21%,100% { background:var(--soft); border-color:var(--line); box-shadow:0 0 0 0 transparent; } } .bn-params .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px; font-size:12px; color:var(--mute); } .bn-params .bn-key i { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:-1px; border:1.5px solid var(--line); background:var(--soft); } .bn-params .bn-key i.on { background:var(--accent); border-color:var(--accent); } .bn-params .bn-key i.all { background:var(--ink); border-color:var(--ink); } @container (max-width:460px) { .bn-params .bn-dots { grid-template-columns:repeat(10, 24px); gap:7px; } .bn-params .bn-dense { grid-template-columns:repeat(3, 24px); } .bn-params .bn-dots i { width:24px; height:24px; } } @media (prefers-reduced-motion:reduce) { .bn-params .bn-sparse i { animation:none; } .bn-params .bn-sparse i:nth-child(4), .bn-params .bn-sparse i:nth-child(9), .bn-params .bn-sparse i:nth-child(13), .bn-params .bn-sparse i:nth-child(18) { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); } } /* ---------- 3. Battery on a day ruler. Hours are absolute, so all bars share one scale. ---------- */ .bn-day .bn-ruler { --max:48; margin-top:14px; display:grid; grid-template-columns:108px 1fr; column-gap:12px; align-items:center; } .bn-day .bn-axis { grid-column:2; position:relative; height:18px; font-size:11px; color:var(--mute); } .bn-day .bn-axis span { position:absolute; top:0; left:calc(var(--h) / var(--max) * 100%); transform:translateX(-50%); white-space:nowrap; } .bn-day .bn-axis span:first-child { transform:none; } .bn-day .bn-axis span:last-child { transform:translateX(-100%); } .bn-day .bn-g { grid-column:1 / -1; margin:10px 0 2px; font-size:12px; font-weight:500; color:var(--mute); } .bn-day .bn-hn { font-size:14px; color:var(--ink); padding:5px 0; line-height:1.3; } .bn-day .bn-cell { position:relative; padding:5px 0; } .bn-day .bn-cell::before { content:""; position:absolute; top:0; bottom:0; left:calc(24 / var(--max) * 100%); border-left:1px dashed var(--mute); opacity:.55; } .bn-day .bn-hb { position:relative; display:block; height:22px; width:calc(var(--h) / var(--max) * 100%); border-radius:6px; background:linear-gradient(90deg, var(--ink) 0 calc(24 / var(--h) * 100%), var(--accent) 0); } .bn-day .bn-hb b { position:absolute; right:8px; top:0; line-height:22px; font-size:12px; font-weight:600; color:var(--onbar); } .bn-day .bn-hb.bn-tbd { width:25%; background:transparent; border:1.5px dashed var(--mute); } .bn-day .bn-hb.bn-tbd b { right:auto; left:calc(100% + 8px); color:var(--mute); font-weight:500; white-space:nowrap; } .bn-day .bn-key { margin-top:12px; font-size:12px; color:var(--mute); } .bn-day .bn-key i { display:inline-block; width:12px; height:8px; border-radius:2px; background:var(--accent); margin:0 6px 0 2px; } @container (max-width:460px) { .bn-day .bn-ruler { grid-template-columns:86px 1fr; column-gap:8px; } .bn-day .bn-hn { font-size:13px; } } /* ---------- 6. Chip claims. One row per September, one cell per part; a full bar is a 2× claim. ---------- */ .bn-claims .bn-year { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); } .bn-claims .bn-yh { display:flex; align-items:baseline; gap:10px; font-size:14px; } .bn-claims .bn-yh b { color:var(--ink); font-weight:600; } .bn-claims .bn-yh span { color:var(--mute); } .bn-claims .bn-cells { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:8px; } .bn-claims .bn-cell { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--mute); line-height:1.3; } .bn-claims .bn-cell b { display:block; font-size:14px; color:var(--ink); font-weight:600; } .bn-claims .bn-cell b small { display:block; font-size:11px; font-weight:400; color:var(--mute); } .bn-claims .bn-cell i { display:block; position:relative; height:8px; flex:none; margin-top:auto; border-radius:4px; background:var(--soft); overflow:hidden; } .bn-claims .bn-cell i::after { content:""; position:absolute; top:0; bottom:0; left:0; width:calc(var(--g) * 100%); border-radius:4px; background:var(--accent); } .bn-claims .bn-cell.none b { color:var(--mute); font-weight:400; } .bn-claims .bn-cell.tbd b { color:var(--mute); font-weight:500; font-size:12px; } .bn-claims .bn-cell.tbd i { margin-top:auto; background:transparent; border:1.5px dashed var(--mute); } .bn-claims .bn-cell.tbd { padding-bottom:0; } .bn-claims .bn-note { margin-top:8px; font-size:12px; line-height:1.5; color:var(--mute); text-wrap:pretty; } @container (max-width:460px) { .bn-claims .bn-cells { gap:8px; } .bn-claims .bn-cell { font-size:11px; } .bn-claims .bn-cell b { font-size:13px; } } /* ---------- 7. Release dates. A real calendar; weekday headers and empty days go away on phones. ---------- */ .bn-dates .bn-cal { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; margin-top:14px; } .bn-dates .bn-wd { font-size:11px; color:var(--mute); text-align:center; padding-bottom:2px; } .bn-dates .bn-day { min-height:74px; padding:6px; border-radius:10px; background:var(--soft); display:flex; flex-direction:column; gap:4px; } .bn-dates .bn-day.bn-we { background:transparent; box-shadow:inset 0 0 0 1px var(--line); } .bn-dates .bn-day.bn-event { box-shadow:inset 0 0 0 2px var(--accent); background:var(--bg); } .bn-dates .bn-dn { font-size:12px; font-weight:600; color:var(--ink); display:flex; justify-content:space-between; align-items:baseline; gap:6px; } .bn-dates .bn-dn em { font-style:normal; font-weight:600; font-size:10px; color:var(--accent); } .bn-dates .bn-dn::before { content:attr(data-wd) " "; display:none; font-weight:400; color:var(--mute); } .bn-dates .bn-mo { display:none; font-style:normal; } .bn-dates .bn-first .bn-mo { display:inline; } .bn-dates .bn-chip { display:block; padding:3px 6px; border-radius:6px; font-size:11px; line-height:1.3; text-wrap:pretty; } .bn-dates .bn-chip.bn-preorder { box-shadow:inset 0 0 0 1.5px var(--ink); color:var(--ink); } .bn-dates .bn-chip.bn-os { background:var(--accent); color:#fff; } .bn-dates .bn-chip.bn-stores { background:var(--ink); color:var(--onbar); } .bn-dates .bn-skip { grid-column:1 / -1; padding:4px 0; font-size:11px; color:var(--mute); text-align:center; } .bn-mine .bn-claim { font-size:13px; line-height:1.45; color:var(--ink); } .bn-dates .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; font-size:12px; color:var(--mute); } .bn-dates .bn-key .bn-chip { display:inline-block; width:12px; height:12px; padding:0; border-radius:4px; margin-right:6px; vertical-align:-2px; } @container (max-width:560px) { .bn-dates .bn-cal { grid-template-columns:1fr; gap:6px; } .bn-dates .bn-wd, .bn-dates .bn-day.bn-quiet { display:none; } .bn-dates .bn-day { min-height:0; flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px; padding:8px 10px; } .bn-dates .bn-dn { width:100%; } .bn-dates .bn-dn::before { display:inline; } .bn-dates .bn-mo { display:inline; } .bn-dates .bn-chip { display:inline-block; } } /* ---------- 4. Where it works. Feature by region, filled or hollow. ---------- */ .bn-where .bn-grid { display:grid; grid-template-columns:minmax(0, 1fr) repeat(4, 66px); align-items:stretch; margin-top:14px; } .bn-where .bn-hd .bn-short { display:none; } .bn-where .bn-hd { font-size:11px; color:var(--mute); text-align:center; padding-bottom:6px; align-self:end; } .bn-where .bn-f { padding:10px 8px 10px 0; border-top:1px solid var(--line); } .bn-where .bn-fn { font-size:14px; color:var(--ink); font-weight:500; line-height:1.3; } .bn-where .bn-fs { display:block; margin-top:2px; font-size:12px; color:var(--mute); line-height:1.4; text-wrap:pretty; } .bn-where .bn-cell { border-top:1px solid var(--line); display:grid; place-items:center; } .bn-where .bn-m { display:block; width:14px; height:14px; border-radius:50%; } .bn-where .bn-m.yes { background:var(--ink); } .bn-where .bn-m.no { box-shadow:inset 0 0 0 1.5px var(--line); } .bn-where .bn-m.part { background:linear-gradient(90deg, var(--ink) 50%, transparent 50%); box-shadow:inset 0 0 0 1.5px var(--ink); } .bn-where .bn-m.na { width:10px; height:2px; border-radius:1px; background:var(--line); } .bn-where .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; font-size:12px; color:var(--mute); } .bn-where .bn-key .bn-m { display:inline-block; width:11px; height:11px; margin-right:6px; vertical-align:-1px; } .bn-where .bn-key .bn-m.na { width:10px; height:2px; vertical-align:3px; } @container (max-width:560px) { .bn-where .bn-grid { grid-template-columns:repeat(4, 1fr); } .bn-where .bn-grid > div:first-child { display:none; } .bn-where .bn-hd { font-size:10px; } .bn-where .bn-hd .bn-full { display:none; } .bn-where .bn-hd .bn-short { display:inline; } .bn-where .bn-f { grid-column:1 / -1; padding-bottom:6px; } .bn-where .bn-cell { border-top:0; padding-bottom:12px; } } /* ---------- 5. Your iPhone. One picker; every claim is shown against the phone you own. ---------- */ .bn-mine .bn-seg { display:grid; grid-template-columns:repeat(4, 1fr); gap:3px; margin-top:14px; padding:3px; border-radius:10px; background:var(--soft); } .bn-mine .bn-seg input { position:absolute; opacity:0; width:1px; height:1px; } .bn-mine .bn-seg label { flex:1; text-align:center; padding:6px 4px; border-radius:8px; font-size:13px; font-weight:500; color:var(--text); cursor:pointer; white-space:nowrap; } .bn-mine .bn-seg input:checked + label { background:var(--seg-on); color:var(--ink); box-shadow:var(--seg-shadow); } .bn-mine .bn-seg input:focus-visible + label { outline:2px solid var(--accent); outline-offset:2px; } .bn-mine .bn-vs { display:flex; align-items:center; gap:10px; margin-top:10px; } .bn-mine .bn-vs-l { font-size:12px; color:var(--mute); white-space:nowrap; } .bn-mine .bn-seg-s { flex:1; margin-top:0; } .bn-mine .bn-seg-s label { font-size:12px; padding:5px 4px; } .bn-mine .bn-rows { margin-top:6px; } .bn-mine .bn-r { display:grid; grid-template-columns:104px 1fr; gap:10px; align-items:center; border-top:1px solid var(--line); padding:12px 0; } .bn-mine .bn-r:first-child { border-top:0; } .bn-mine .bn-rn { font-size:14px; color:var(--ink); font-weight:500; line-height:1.3; } .bn-mine .bn-rn small { display:block; font-size:12px; font-weight:400; color:var(--mute); } .bn-mine .bn-v { display:none; } /* @iphone picker-css start */ .bn-mine:has(#bn-p14p:checked):has(#bn-n18p:checked) .bn-v14p-18p, .bn-mine:has(#bn-p14p:checked):has(#bn-n18m:checked) .bn-v14p-18m, .bn-mine:has(#bn-p14p:checked):has(#bn-nduo:checked) .bn-v14p-duo, .bn-mine:has(#bn-p14p:checked):has(#bn-nsame:checked) .bn-v14p-18p, .bn-mine:has(#bn-p14m:checked):has(#bn-n18p:checked) .bn-v14m-18p, .bn-mine:has(#bn-p14m:checked):has(#bn-n18m:checked) .bn-v14m-18m, .bn-mine:has(#bn-p14m:checked):has(#bn-nduo:checked) .bn-v14m-duo, .bn-mine:has(#bn-p14m:checked):has(#bn-nsame:checked) .bn-v14m-18m, .bn-mine:has(#bn-p15p:checked):has(#bn-n18p:checked) .bn-v15p-18p, .bn-mine:has(#bn-p15p:checked):has(#bn-n18m:checked) .bn-v15p-18m, .bn-mine:has(#bn-p15p:checked):has(#bn-nduo:checked) .bn-v15p-duo, .bn-mine:has(#bn-p15p:checked):has(#bn-nsame:checked) .bn-v15p-18p, .bn-mine:has(#bn-p15m:checked):has(#bn-n18p:checked) .bn-v15m-18p, .bn-mine:has(#bn-p15m:checked):has(#bn-n18m:checked) .bn-v15m-18m, .bn-mine:has(#bn-p15m:checked):has(#bn-nduo:checked) .bn-v15m-duo, .bn-mine:has(#bn-p15m:checked):has(#bn-nsame:checked) .bn-v15m-18m, .bn-mine:has(#bn-p16p:checked):has(#bn-n18p:checked) .bn-v16p-18p, .bn-mine:has(#bn-p16p:checked):has(#bn-n18m:checked) .bn-v16p-18m, .bn-mine:has(#bn-p16p:checked):has(#bn-nduo:checked) .bn-v16p-duo, .bn-mine:has(#bn-p16p:checked):has(#bn-nsame:checked) .bn-v16p-18p, .bn-mine:has(#bn-p16m:checked):has(#bn-n18p:checked) .bn-v16m-18p, .bn-mine:has(#bn-p16m:checked):has(#bn-n18m:checked) .bn-v16m-18m, .bn-mine:has(#bn-p16m:checked):has(#bn-nduo:checked) .bn-v16m-duo, .bn-mine:has(#bn-p16m:checked):has(#bn-nsame:checked) .bn-v16m-18m, .bn-mine:has(#bn-p17p:checked):has(#bn-n18p:checked) .bn-v17p-18p, .bn-mine:has(#bn-p17p:checked):has(#bn-n18m:checked) .bn-v17p-18m, .bn-mine:has(#bn-p17p:checked):has(#bn-nduo:checked) .bn-v17p-duo, .bn-mine:has(#bn-p17p:checked):has(#bn-nsame:checked) .bn-v17p-18p, .bn-mine:has(#bn-p17m:checked):has(#bn-n18p:checked) .bn-v17m-18p, .bn-mine:has(#bn-p17m:checked):has(#bn-n18m:checked) .bn-v17m-18m, .bn-mine:has(#bn-p17m:checked):has(#bn-nduo:checked) .bn-v17m-duo, .bn-mine:has(#bn-p17m:checked):has(#bn-nsame:checked) .bn-v17m-18m { display:block; } /* @iphone picker-css end */ .bn-mine .bn-pl { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:var(--mute); line-height:1.3; } .bn-mine .bn-pl b { color:var(--ink); font-weight:600; } .bn-mine .bn-b { display:block; height:10px; border-radius:5px; margin:3px 0 7px; } .bn-mine .bn-b { width:calc(var(--v) / var(--max) * 100%); } .bn-mine .bn-b.old { background:var(--bar); } .bn-mine .bn-b.new { background:var(--accent); margin-bottom:0; } .bn-mine .bn-b.tbd { width:28%; background:transparent; border:1.5px dashed var(--mute); margin-bottom:0; } .bn-mine .bn-pl b.bn-tbd { color:var(--mute); font-weight:500; } @container (max-width:460px) { .bn-mine .bn-r { grid-template-columns:1fr; gap:6px; } .bn-mine .bn-seg label { font-size:12px; padding:6px 2px; } .bn-mine .bn-vs { flex-direction:column; align-items:stretch; gap:4px; } .bn-mine .bn-seg-s label { font-size:11px; padding:5px 2px; } }New iPhones Compared to YoursPick your current iPhone model, then the new one. Grey is yours; red is the new one. 14 Pro 14 Pro Max 15 Pro 15 Pro Max 16 Pro 16 Pro Max 17 Pro 17 Pro Max Compare withSame size18 Pro18 Pro MaxDuoChipiPhone 14 ProA16 BioniciPhone 18 ProA20 ProiPhone 14 ProA16 BioniciPhone 18 Pro MaxA20 ProiPhone 14 ProA16 BioniciPhone DuoA20 ProiPhone 14 Pro MaxA16 BioniciPhone 18 ProA20 ProiPhone 14 Pro MaxA16 BioniciPhone 18 Pro MaxA20 ProiPhone 14 Pro MaxA16 BioniciPhone DuoA20 ProiPhone 15 ProA17 ProiPhone 18 ProA20 ProiPhone 15 ProA17 ProiPhone 18 Pro MaxA20 ProiPhone 15 ProA17 ProiPhone DuoA20 ProiPhone 15 Pro MaxA17 ProiPhone 18 ProA20 ProiPhone 15 Pro MaxA17 ProiPhone 18 Pro MaxA20 ProiPhone 15 Pro MaxA17 ProiPhone DuoA20 ProiPhone 16 ProA18 ProiPhone 18 ProA20 ProiPhone 16 ProA18 ProiPhone 18 Pro MaxA20 ProiPhone 16 ProA18 ProiPhone DuoA20 ProiPhone 16 Pro MaxA18 ProiPhone 18 ProA20 ProiPhone 16 Pro MaxA18 ProiPhone 18 Pro MaxA20 ProiPhone 16 Pro MaxA18 ProiPhone DuoA20 ProiPhone 17 ProA19 ProiPhone 18 ProA20 ProiPhone 17 ProA19 ProiPhone 18 Pro MaxA20 ProiPhone 17 ProA19 ProiPhone DuoA20 ProiPhone 17 Pro MaxA19 ProiPhone 18 ProA20 ProiPhone 17 Pro MaxA19 ProiPhone 18 Pro MaxA20 ProiPhone 17 Pro MaxA19 ProiPhone DuoA20 ProApple’s claimfrom its compare pageiPhone 18 Pro against iPhone 14 ProCPU up to 60% faster, GPU up to 2.8× faster. Up to 22 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 14 ProCPU up to 60% faster, GPU up to 2.8× faster. Up to 22 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 14 ProCPU up to 60% faster, GPU up to 2.8× faster. Neural Engine up to 4.5× faster. Up to 21 more hours of video on the outer display.iPhone 18 Pro against iPhone 14 Pro MaxCPU up to 60% faster, GPU up to 2.8× faster. Up to 16 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 14 Pro MaxCPU up to 60% faster, GPU up to 2.8× faster. Up to 16 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 14 Pro MaxCPU up to 60% faster, GPU up to 2.8× faster. Neural Engine up to 4.5× faster. Up to 15 more hours of video on the outer display.iPhone 18 Pro against iPhone 15 ProCPU up to 50% faster, GPU up to 2.1× faster. Up to 22 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 15 ProCPU up to 50% faster, GPU up to 2.1× faster. Up to 22 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 15 ProCPU up to 50% faster, GPU up to 2.1× faster. Neural Engine up to 2× faster. Up to 21 more hours of video on the outer display.iPhone 18 Pro against iPhone 15 Pro MaxCPU up to 50% faster, GPU up to 2.1× faster. Up to 16 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 15 Pro MaxCPU up to 50% faster, GPU up to 2.1× faster. Up to 16 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 15 Pro MaxCPU up to 50% faster, GPU up to 2.1× faster. Neural Engine up to 2× faster. Up to 15 more hours of video on the outer display.iPhone 18 Pro against iPhone 16 ProCPU up to 30% faster, GPU up to 80% faster. Up to 18 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 16 ProCPU up to 30% faster, GPU up to 80% faster. Up to 18 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 16 ProCPU up to 30% faster, GPU up to 80% faster. Neural Engine up to 2× faster. Up to 17 more hours of video on the outer display.iPhone 18 Pro against iPhone 16 Pro MaxCPU up to 30% faster, GPU up to 80% faster. Up to 12 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 16 Pro MaxCPU up to 30% faster, GPU up to 80% faster. Up to 12 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 16 Pro MaxCPU up to 30% faster, GPU up to 80% faster. Neural Engine up to 2× faster. Up to 11 more hours of video on the outer display.iPhone 18 Pro against iPhone 17 ProCPU up to 20% faster, GPU up to 40% faster. Up to 12 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 17 ProCPU up to 20% faster, GPU up to 40% faster. Up to 12 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 17 ProCPU up to 20% faster, GPU up to 40% faster. Neural Engine up to 2× faster. Up to 11 more hours of video on the outer display.iPhone 18 Pro against iPhone 17 Pro MaxCPU up to 20% faster, GPU up to 40% faster. Up to 6 more hours of video on iPhone 18 Pro Max.iPhone 18 Pro Max against iPhone 17 Pro MaxCPU up to 20% faster, GPU up to 40% faster. Up to 6 more hours of video on iPhone 18 Pro Max.iPhone Duo against iPhone 17 Pro MaxCPU up to 20% faster, GPU up to 40% faster. Neural Engine up to 2× faster. Up to 5 more hours of video on the outer display.Video playbackhours, Apple’s “up to”iPhone 14 Pro23hiPhone 18 Pro36hiPhone 14 Pro23hiPhone 18 Pro Max45hiPhone 14 Pro23hiPhone Duo44h outer display, 31h inneriPhone 14 Pro Max29hiPhone 18 Pro36hiPhone 14 Pro Max29hiPhone 18 Pro Max45hiPhone 14 Pro Max29hiPhone Duo44h outer display, 31h inneriPhone 15 Pro23hiPhone 18 Pro36hiPhone 15 Pro23hiPhone 18 Pro Max45hiPhone 15 Pro23hiPhone Duo44h outer display, 31h inneriPhone 15 Pro Max29hiPhone 18 Pro36hiPhone 15 Pro Max29hiPhone 18 Pro Max45hiPhone 15 Pro Max29hiPhone Duo44h outer display, 31h inneriPhone 16 Pro27hiPhone 18 Pro36hiPhone 16 Pro27hiPhone 18 Pro Max45hiPhone 16 Pro27hiPhone Duo44h outer display, 31h inneriPhone 16 Pro Max33hiPhone 18 Pro36hiPhone 16 Pro Max33hiPhone 18 Pro Max45hiPhone 16 Pro Max33hiPhone Duo44h outer display, 31h inneriPhone 17 Pro33hiPhone 18 Pro36hiPhone 17 Pro33hiPhone 18 Pro Max45hiPhone 17 Pro33hiPhone Duo44h outer display, 31h inneriPhone 17 Pro Max39hiPhone 18 Pro36hiPhone 17 Pro Max39hiPhone 18 Pro Max45hiPhone 17 Pro Max39hiPhone Duo44h outer display, 31h innerLongest zoomoptical, or optical-quality from 17 Pro oniPhone 14 Pro3×iPhone 18 Pro8×iPhone 14 Pro3×iPhone 18 Pro Max8×iPhone 14 Pro3×iPhone Duo2×iPhone 14 Pro Max3×iPhone 18 Pro8×iPhone 14 Pro Max3×iPhone 18 Pro Max8×iPhone 14 Pro Max3×iPhone Duo2×iPhone 15 Pro3×iPhone 18 Pro8×iPhone 15 Pro3×iPhone 18 Pro Max8×iPhone 15 Pro3×iPhone Duo2×iPhone 15 Pro Max5×iPhone 18 Pro8×iPhone 15 Pro Max5×iPhone 18 Pro Max8×iPhone 15 Pro Max5×iPhone Duo2×iPhone 16 Pro5×iPhone 18 Pro8×iPhone 16 Pro5×iPhone 18 Pro Max8×iPhone 16 Pro5×iPhone Duo2×iPhone 16 Pro Max5×iPhone 18 Pro8×iPhone 16 Pro Max5×iPhone 18 Pro Max8×iPhone 16 Pro Max5×iPhone Duo2×iPhone 17 Pro8×iPhone 18 Pro8×iPhone 17 Pro8×iPhone 18 Pro Max8×iPhone 17 Pro8×iPhone Duo2×iPhone 17 Pro Max8×iPhone 18 Pro8×iPhone 17 Pro Max8×iPhone 18 Pro Max8×iPhone 17 Pro Max8×iPhone Duo2×Peak brightnessoutdoorsiPhone 14 Pro2,000 nitsiPhone 18 Pro3,000 nitsiPhone 14 Pro2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 14 Pro2,000 nitsiPhone Duo3,000 nitsiPhone 14 Pro Max2,000 nitsiPhone 18 Pro3,000 nitsiPhone 14 Pro Max2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 14 Pro Max2,000 nitsiPhone Duo3,000 nitsiPhone 15 Pro2,000 nitsiPhone 18 Pro3,000 nitsiPhone 15 Pro2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 15 Pro2,000 nitsiPhone Duo3,000 nitsiPhone 15 Pro Max2,000 nitsiPhone 18 Pro3,000 nitsiPhone 15 Pro Max2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 15 Pro Max2,000 nitsiPhone Duo3,000 nitsiPhone 16 Pro2,000 nitsiPhone 18 Pro3,000 nitsiPhone 16 Pro2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 16 Pro2,000 nitsiPhone Duo3,000 nitsiPhone 16 Pro Max2,000 nitsiPhone 18 Pro3,000 nitsiPhone 16 Pro Max2,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 16 Pro Max2,000 nitsiPhone Duo3,000 nitsiPhone 17 Pro3,000 nitsiPhone 18 Pro3,000 nitsiPhone 17 Pro3,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 17 Pro3,000 nitsiPhone Duo3,000 nitsiPhone 17 Pro Max3,000 nitsiPhone 18 Pro3,000 nitsiPhone 17 Pro Max3,000 nitsiPhone 18 Pro Max3,000 nitsiPhone 17 Pro Max3,000 nitsiPhone Duo3,000 nitsDisplaydiagonaliPhone 14 Pro6.1-inchiPhone 18 Pro6.3-inchiPhone 14 Pro6.1-inchiPhone 18 Pro Max6.9-inchiPhone 14 Pro6.1-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 14 Pro Max6.7-inchiPhone 18 Pro6.3-inchiPhone 14 Pro Max6.7-inchiPhone 18 Pro Max6.9-inchiPhone 14 Pro Max6.7-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 15 Pro6.1-inchiPhone 18 Pro6.3-inchiPhone 15 Pro6.1-inchiPhone 18 Pro Max6.9-inchiPhone 15 Pro6.1-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 15 Pro Max6.7-inchiPhone 18 Pro6.3-inchiPhone 15 Pro Max6.7-inchiPhone 18 Pro Max6.9-inchiPhone 15 Pro Max6.7-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 16 Pro6.3-inchiPhone 18 Pro6.3-inchiPhone 16 Pro6.3-inchiPhone 18 Pro Max6.9-inchiPhone 16 Pro6.3-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 16 Pro Max6.9-inchiPhone 18 Pro6.3-inchiPhone 16 Pro Max6.9-inchiPhone 18 Pro Max6.9-inchiPhone 16 Pro Max6.9-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 17 Pro6.3-inchiPhone 18 Pro6.3-inchiPhone 17 Pro6.3-inchiPhone 18 Pro Max6.9-inchiPhone 17 Pro6.3-inchiPhone Duo7.6-inch inner, 5.4-inch outeriPhone 17 Pro Max6.9-inchiPhone 18 Pro6.3-inchiPhone 17 Pro Max6.9-inchiPhone 18 Pro Max6.9-inchiPhone 17 Pro Max6.9-inchiPhone Duo7.6-inch inner, 5.4-inch outerWeightiPhone 14 Pro206 giPhone 18 Pro211 giPhone 14 Pro206 giPhone 18 Pro Max249 giPhone 14 Pro206 giPhone Duo254 giPhone 14 Pro Max240 giPhone 18 Pro211 giPhone 14 Pro Max240 giPhone 18 Pro Max249 giPhone 14 Pro Max240 giPhone Duo254 giPhone 15 Pro187 giPhone 18 Pro211 giPhone 15 Pro187 giPhone 18 Pro Max249 giPhone 15 Pro187 giPhone Duo254 giPhone 15 Pro Max221 giPhone 18 Pro211 giPhone 15 Pro Max221 giPhone 18 Pro Max249 giPhone 15 Pro Max221 giPhone Duo254 giPhone 16 Pro199 giPhone 18 Pro211 giPhone 16 Pro199 giPhone 18 Pro Max249 giPhone 16 Pro199 giPhone Duo254 giPhone 16 Pro Max227 giPhone 18 Pro211 giPhone 16 Pro Max227 giPhone 18 Pro Max249 giPhone 16 Pro Max227 giPhone Duo254 giPhone 17 Pro206 giPhone 18 Pro211 giPhone 17 Pro206 giPhone 18 Pro Max249 giPhone 17 Pro206 giPhone Duo254 giPhone 17 Pro Max233 giPhone 18 Pro211 giPhone 17 Pro Max233 giPhone 18 Pro Max249 giPhone 17 Pro Max233 giPhone Duo254 gStarting priceU.S., entry storageiPhone 14 Pro$999, 128GBiPhone 18 Pro$1,199, 256GBiPhone 14 Pro$999, 128GBiPhone 18 Pro Max$1,299, 256GBiPhone 14 Pro$999, 128GBiPhone Duo$1,999, 256GBiPhone 14 Pro Max$1,099, 128GBiPhone 18 Pro$1,199, 256GBiPhone 14 Pro Max$1,099, 128GBiPhone 18 Pro Max$1,299, 256GBiPhone 14 Pro Max$1,099, 128GBiPhone Duo$1,999, 256GBiPhone 15 Pro$999, 128GBiPhone 18 Pro$1,199, 256GBiPhone 15 Pro$999, 128GBiPhone 18 Pro Max$1,299, 256GBiPhone 15 Pro$999, 128GBiPhone Duo$1,999, 256GBiPhone 15 Pro Max$1,199, 256GBiPhone 18 Pro$1,199, 256GBiPhone 15 Pro Max$1,199, 256GBiPhone 18 Pro Max$1,299, 256GBiPhone 15 Pro Max$1,199, 256GBiPhone Duo$1,999, 256GBiPhone 16 Pro$999, 128GBiPhone 18 Pro$1,199, 256GBiPhone 16 Pro$999, 128GBiPhone 18 Pro Max$1,299, 256GBiPhone 16 Pro$999, 128GBiPhone Duo$1,999, 256GBiPhone 16 Pro Max$1,199, 256GBiPhone 18 Pro$1,199, 256GBiPhone 16 Pro Max$1,199, 256GBiPhone 18 Pro Max$1,299, 256GBiPhone 16 Pro Max$1,199, 256GBiPhone Duo$1,999, 256GBiPhone 17 Pro$1,099, 256GBiPhone 18 Pro$1,199, 256GBiPhone 17 Pro$1,099, 256GBiPhone 18 Pro Max$1,299, 256GBiPhone 17 Pro$1,099, 256GBiPhone Duo$1,999, 256GBiPhone 17 Pro Max$1,199, 256GBiPhone 18 Pro$1,199, 256GBiPhone 17 Pro Max$1,199, 256GBiPhone 18 Pro Max$1,299, 256GBiPhone 17 Pro Max$1,199, 256GBiPhone Duo$1,999, 256GBNumbers come from Apple’s tech specs and launch announcements. From iPhone 17 Pro on, 8× is Apple’s optical-quality crop of the 4× telephoto, and iPhone Duo’s 2× is a crop of its main camera; earlier zooms are optical. Apple’s claims against your phone come from the compare modules on its iPhone 18 Pro and iPhone Duo pages. Bars share one scale per row..ms-widget{display:block;box-sizing:border-box;width:700px;max-width:90%;margin:0 auto;padding:0} /* ---------- Shared widget base. Every figure is one self-contained block under .bn. ---------- */ /* Colors follow MacStories: white page / #333 text in light, #202020 page / #bababa text in dark. */ .bn { --ink:#1d1d1f; --text:#333; --mute:#6e6e73; --bg:#fff; --soft:#f2f2f4; --line:#e4e4e7; --accent:#b00a0f; --accent-soft:rgba(176,10,15,.18); --bar:#d3d3d8; --onbar:#fff; --frfill:rgba(0,0,0,.035); --seg-on:#fff; --seg-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04); --card-shadow:0 1px 2px rgba(0,0,0,.03),0 10px 30px rgba(0,0,0,.05); } .theme-dark .bn, .pv:has(#pv-dark:checked) .bn { --ink:#f2f2f2; --text:#c9c9cb; --mute:#8e8e93; --bg:#171717; --soft:#262628; --line:#333336; --accent:#53c8f0; --accent-soft:rgba(83,200,240,.22); --bar:#3d3d43; --onbar:#171717; --frfill:rgba(255,255,255,.04); --seg-on:#454549; --seg-shadow:0 1px 3px rgba(0,0,0,.5); --card-shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35); } @media (prefers-color-scheme:dark) { .pv:has(#pv-auto:checked) .bn, .bn:not(.pv .bn):not(.theme-light .bn) { --ink:#f2f2f2; --text:#c9c9cb; --mute:#8e8e93; --bg:#171717; --soft:#262628; --line:#333336; --accent:#53c8f0; --accent-soft:rgba(83,200,240,.22); --bar:#3d3d43; --onbar:#171717; --frfill:rgba(255,255,255,.04); --seg-on:#454549; --seg-shadow:0 1px 3px rgba(0,0,0,.5); --card-shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35); } } .bn { display:block; position:relative; box-sizing:border-box; width:100%; max-width:100%; margin:1.4rem 0; padding:22px 22px 18px; border:1px solid var(--line); border-radius:18px; background:var(--bg); box-shadow:var(--card-shadow); color:var(--text); font:400 15px/1.5 system-ui,-apple-system,"Helvetica Neue",Helvetica,sans-serif; font-variant-numeric:tabular-nums; container-type:inline-size; text-align:left; } .bn * { box-sizing:border-box; margin:0; padding:0; } .bn .bn-t { font-size:20px; line-height:1.25; font-weight:600; color:var(--ink); letter-spacing:-.01em; text-wrap:balance; } .bn .bn-l { margin-top:6px; font-size:14px; line-height:1.5; color:var(--text); text-wrap:pretty; } .bn .bn-c { display:block; margin-top:14px; font-size:12px; line-height:1.5; color:var(--mute); text-wrap:pretty; } .bn .bn-tag { display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px; background:var(--soft); color:var(--mute); font-size:11px; font-weight:500; vertical-align:3px; letter-spacing:0; } @container (max-width:460px) { .bn { padding:18px 16px 14px; } } /* ---------- 1. Speed race. One shared clock drives every bar; bars are time, so the faster one stops short. ---------- */ @property --t { syntax:''; inherits:true; initial-value:0; } .bn-race { --t:0; animation:bn-clock 7.5s linear infinite; } @keyframes bn-clock { 0%{--t:0} 6.7%{--t:0} 60%{--t:1} 100%{--t:1} } .bn-race .bn-lanes { list-style:none; margin-top:16px; display:grid; gap:14px; } .bn-race .bn-lh { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px; } .bn-race .bn-ln { color:var(--ink); font-weight:500; } .bn-race .bn-claim { color:var(--accent); font-weight:600; white-space:nowrap; } .bn-race .bn-row { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:10px; margin-top:4px; } .bn-race .bn-k { font-size:12px; color:var(--mute); } .bn-race .bn-note { margin-top:5px; font-size:12px; line-height:1.4; color:var(--mute); text-wrap:pretty; } .bn-race .bn-track { position:relative; height:10px; border-radius:5px; background:var(--soft); overflow:hidden; } .bn-race .bn-fill { position:absolute; top:0; bottom:0; left:0; border-radius:5px; } .bn-race .bn-old { background:var(--bar); width:calc(min(1, var(--t)) * 100%); } .bn-race .bn-new { background:var(--accent); width:calc(min(1 / var(--r), var(--t)) * 100%); } @media (prefers-reduced-motion:reduce) { .bn-race { animation:none; --t:1; } } /* ---------- 2. Parameters as dots. Dense uses every dot; sparse lights a few at a time. ---------- */ .bn-params .bn-model { margin-top:16px; } .bn-params .bn-mh { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; font-size:14px; } .bn-params .bn-mh strong { color:var(--ink); font-weight:600; } .bn-params .bn-mh span { color:var(--mute); } .bn-params .bn-dots { display:grid; grid-template-columns:repeat(10, 26px); gap:8px; margin-top:8px; } .bn-params .bn-dense { grid-template-columns:repeat(3, 26px); } .bn-params .bn-dots i { display:block; width:26px; height:26px; border-radius:50%; background:var(--soft); border:1.5px solid var(--line); box-shadow:0 0 0 0 transparent; } .bn-params .bn-dense i { background:var(--ink); border-color:var(--ink); } .bn-params .bn-sparse i { animation:bn-light 8s linear infinite; animation-delay:calc(var(--d) * -1s); } @keyframes bn-light { 0%,3% { background:var(--soft); border-color:var(--line); box-shadow:0 0 0 0 transparent; } 8%,16% { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); } 21%,100% { background:var(--soft); border-color:var(--line); box-shadow:0 0 0 0 transparent; } } .bn-params .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px; font-size:12px; color:var(--mute); } .bn-params .bn-key i { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:-1px; border:1.5px solid var(--line); background:var(--soft); } .bn-params .bn-key i.on { background:var(--accent); border-color:var(--accent); } .bn-params .bn-key i.all { background:var(--ink); border-color:var(--ink); } @container (max-width:460px) { .bn-params .bn-dots { grid-template-columns:repeat(10, 24px); gap:7px; } .bn-params .bn-dense { grid-template-columns:repeat(3, 24px); } .bn-params .bn-dots i { width:24px; height:24px; } } @media (prefers-reduced-motion:reduce) { .bn-params .bn-sparse i { animation:none; } .bn-params .bn-sparse i:nth-child(4), .bn-params .bn-sparse i:nth-child(9), .bn-params .bn-sparse i:nth-child(13), .bn-params .bn-sparse i:nth-child(18) { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); } } /* ---------- 3. Battery on a day ruler. Hours are absolute, so all bars share one scale. ---------- */ .bn-day .bn-ruler { --max:48; margin-top:14px; display:grid; grid-template-columns:108px 1fr; column-gap:12px; align-items:center; } .bn-day .bn-axis { grid-column:2; position:relative; height:18px; font-size:11px; color:var(--mute); } .bn-day .bn-axis span { position:absolute; top:0; left:calc(var(--h) / var(--max) * 100%); transform:translateX(-50%); white-space:nowrap; } .bn-day .bn-axis span:first-child { transform:none; } .bn-day .bn-axis span:last-child { transform:translateX(-100%); } .bn-day .bn-g { grid-column:1 / -1; margin:10px 0 2px; font-size:12px; font-weight:500; color:var(--mute); } .bn-day .bn-hn { font-size:14px; color:var(--ink); padding:5px 0; line-height:1.3; } .bn-day .bn-cell { position:relative; padding:5px 0; } .bn-day .bn-cell::before { content:""; position:absolute; top:0; bottom:0; left:calc(24 / var(--max) * 100%); border-left:1px dashed var(--mute); opacity:.55; } .bn-day .bn-hb { position:relative; display:block; height:22px; width:calc(var(--h) / var(--max) * 100%); border-radius:6px; background:linear-gradient(90deg, var(--ink) 0 calc(24 / var(--h) * 100%), var(--accent) 0); } .bn-day .bn-hb b { position:absolute; right:8px; top:0; line-height:22px; font-size:12px; font-weight:600; color:var(--onbar); } .bn-day .bn-hb.bn-tbd { width:25%; background:transparent; border:1.5px dashed var(--mute); } .bn-day .bn-hb.bn-tbd b { right:auto; left:calc(100% + 8px); color:var(--mute); font-weight:500; white-space:nowrap; } .bn-day .bn-key { margin-top:12px; font-size:12px; color:var(--mute); } .bn-day .bn-key i { display:inline-block; width:12px; height:8px; border-radius:2px; background:var(--accent); margin:0 6px 0 2px; } @container (max-width:460px) { .bn-day .bn-ruler { grid-template-columns:86px 1fr; column-gap:8px; } .bn-day .bn-hn { font-size:13px; } } /* ---------- 6. Chip claims. One row per September, one cell per part; a full bar is a 2× claim. ---------- */ .bn-claims .bn-year { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); } .bn-claims .bn-yh { display:flex; align-items:baseline; gap:10px; font-size:14px; } .bn-claims .bn-yh b { color:var(--ink); font-weight:600; } .bn-claims .bn-yh span { color:var(--mute); } .bn-claims .bn-cells { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:8px; } .bn-claims .bn-cell { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--mute); line-height:1.3; } .bn-claims .bn-cell b { display:block; font-size:14px; color:var(--ink); font-weight:600; } .bn-claims .bn-cell b small { display:block; font-size:11px; font-weight:400; color:var(--mute); } .bn-claims .bn-cell i { display:block; position:relative; height:8px; flex:none; margin-top:auto; border-radius:4px; background:var(--soft); overflow:hidden; } .bn-claims .bn-cell i::after { content:""; position:absolute; top:0; bottom:0; left:0; width:calc(var(--g) * 100%); border-radius:4px; background:var(--accent); } .bn-claims .bn-cell.none b { color:var(--mute); font-weight:400; } .bn-claims .bn-cell.tbd b { color:var(--mute); font-weight:500; font-size:12px; } .bn-claims .bn-cell.tbd i { margin-top:auto; background:transparent; border:1.5px dashed var(--mute); } .bn-claims .bn-cell.tbd { padding-bottom:0; } .bn-claims .bn-note { margin-top:8px; font-size:12px; line-height:1.5; color:var(--mute); text-wrap:pretty; } @container (max-width:460px) { .bn-claims .bn-cells { gap:8px; } .bn-claims .bn-cell { font-size:11px; } .bn-claims .bn-cell b { font-size:13px; } } /* ---------- 7. Release dates. A real calendar; weekday headers and empty days go away on phones. ---------- */ .bn-dates .bn-cal { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; margin-top:14px; } .bn-dates .bn-wd { font-size:11px; color:var(--mute); text-align:center; padding-bottom:2px; } .bn-dates .bn-day { min-height:74px; padding:6px; border-radius:10px; background:var(--soft); display:flex; flex-direction:column; gap:4px; } .bn-dates .bn-day.bn-we { background:transparent; box-shadow:inset 0 0 0 1px var(--line); } .bn-dates .bn-day.bn-event { box-shadow:inset 0 0 0 2px var(--accent); background:var(--bg); } .bn-dates .bn-dn { font-size:12px; font-weight:600; color:var(--ink); display:flex; justify-content:space-between; align-items:baseline; gap:6px; } .bn-dates .bn-dn em { font-style:normal; font-weight:600; font-size:10px; color:var(--accent); } .bn-dates .bn-dn::before { content:attr(data-wd) " "; display:none; font-weight:400; color:var(--mute); } .bn-dates .bn-mo { display:none; font-style:normal; } .bn-dates .bn-first .bn-mo { display:inline; } .bn-dates .bn-chip { display:block; padding:3px 6px; border-radius:6px; font-size:11px; line-height:1.3; text-wrap:pretty; } .bn-dates .bn-chip.bn-preorder { box-shadow:inset 0 0 0 1.5px var(--ink); color:var(--ink); } .bn-dates .bn-chip.bn-os { background:var(--accent); color:#fff; } .bn-dates .bn-chip.bn-stores { background:var(--ink); color:var(--onbar); } .bn-dates .bn-skip { grid-column:1 / -1; padding:4px 0; font-size:11px; color:var(--mute); text-align:center; } .bn-mine .bn-claim { font-size:13px; line-height:1.45; color:var(--ink); } .bn-dates .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; font-size:12px; color:var(--mute); } .bn-dates .bn-key .bn-chip { display:inline-block; width:12px; height:12px; padding:0; border-radius:4px; margin-right:6px; vertical-align:-2px; } @container (max-width:560px) { .bn-dates .bn-cal { grid-template-columns:1fr; gap:6px; } .bn-dates .bn-wd, .bn-dates .bn-day.bn-quiet { display:none; } .bn-dates .bn-day { min-height:0; flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px; padding:8px 10px; } .bn-dates .bn-dn { width:100%; } .bn-dates .bn-dn::before { display:inline; } .bn-dates .bn-mo { display:inline; } .bn-dates .bn-chip { display:inline-block; } } /* ---------- 4. Where it works. Feature by region, filled or hollow. ---------- */ .bn-where .bn-grid { display:grid; grid-template-columns:minmax(0, 1fr) repeat(4, 66px); align-items:stretch; margin-top:14px; } .bn-where .bn-hd .bn-short { display:none; } .bn-where .bn-hd { font-size:11px; color:var(--mute); text-align:center; padding-bottom:6px; align-self:end; } .bn-where .bn-f { padding:10px 8px 10px 0; border-top:1px solid var(--line); } .bn-where .bn-fn { font-size:14px; color:var(--ink); font-weight:500; line-height:1.3; } .bn-where .bn-fs { display:block; margin-top:2px; font-size:12px; color:var(--mute); line-height:1.4; text-wrap:pretty; } .bn-where .bn-cell { border-top:1px solid var(--line); display:grid; place-items:center; } .bn-where .bn-m { display:block; width:14px; height:14px; border-radius:50%; } .bn-where .bn-m.yes { background:var(--ink); } .bn-where .bn-m.no { box-shadow:inset 0 0 0 1.5px var(--line); } .bn-where .bn-m.part { background:linear-gradient(90deg, var(--ink) 50%, transparent 50%); box-shadow:inset 0 0 0 1.5px var(--ink); } .bn-where .bn-m.na { width:10px; height:2px; border-radius:1px; background:var(--line); } .bn-where .bn-key { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; font-size:12px; color:var(--mute); } .bn-where .bn-key .bn-m { display:inline-block; width:11px; height:11px; margin-right:6px; vertical-align:-1px; } .bn-where .bn-key .bn-m.na { width:10px; height:2px; vertical-align:3px; } @container (max-width:560px) { .bn-where .bn-grid { grid-template-columns:repeat(4, 1fr); } .bn-where .bn-grid > div:first-child { display:none; } .bn-where .bn-hd { font-size:10px; } .bn-where .bn-hd .bn-full { display:none; } .bn-where .bn-hd .bn-short { display:inline; } .bn-where .bn-f { grid-column:1 / -1; padding-bottom:6px; } .bn-where .bn-cell { border-top:0; padding-bottom:12px; } } /* ---------- 5. Your iPhone. One picker; every claim is shown against the phone you own. ---------- */ .bn-mine .bn-seg { display:grid; grid-template-columns:repeat(4, 1fr); gap:3px; margin-top:14px; padding:3px; border-radius:10px; background:var(--soft); } .bn-mine .bn-seg input { position:absolute; opacity:0; width:1px; height:1px; } .bn-mine .bn-seg label { flex:1; text-align:center; padding:6px 4px; border-radius:8px; font-size:13px; font-weight:500; color:var(--text); cursor:pointer; white-space:nowrap; } .bn-mine .bn-seg input:checked + label { background:var(--seg-on); color:var(--ink); box-shadow:var(--seg-shadow); } .bn-mine .bn-seg input:focus-visible + label { outline:2px solid var(--accent); outline-offset:2px; } .bn-mine .bn-vs { display:flex; align-items:center; gap:10px; margin-top:10px; } .bn-mine .bn-vs-l { font-size:12px; color:var(--mute); white-space:nowrap; } .bn-mine .bn-seg-s { flex:1; margin-top:0; } .bn-mine .bn-seg-s label { font-size:12px; padding:5px 4px; } .bn-mine .bn-rows { margin-top:6px; } .bn-mine .bn-r { display:grid; grid-template-columns:104px 1fr; gap:10px; align-items:center; border-top:1px solid var(--line); padding:12px 0; } .bn-mine .bn-r:first-child { border-top:0; } .bn-mine .bn-rn { font-size:14px; color:var(--ink); font-weight:500; line-height:1.3; } .bn-mine .bn-rn small { display:block; font-size:12px; font-weight:400; color:var(--mute); } .bn-mine .bn-v { display:none; } /* @iphone picker-css start */ .bn-mine:has(#bn-p14p:checked):has(#bn-n18p:checked) .bn-v14p-18p, .bn-mine:has(#bn-p14p:checked):has(#bn-n18m:checked) .bn-v14p-18m, .bn-mine:has(#bn-p14p:checked):has(#bn-nduo:checked) .bn-v14p-duo, .bn-mine:has(#bn-p14p:checked):has(#bn-nsame:checked) .bn-v14p-18p, .bn-mine:has(#bn-p14m:checked):has(#bn-n18p:checked) .bn-v14m-18p, .bn-mine:has(#bn-p14m:checked):has(#bn-n18m:checked) .bn-v14m-18m, .bn-mine:has(#bn-p14m:checked):has(#bn-nduo:checked) .bn-v14m-duo, .bn-mine:has(#bn-p14m:checked):has(#bn-nsame:checked) .bn-v14m-18m, .bn-mine:has(#bn-p15p:checked):has(#bn-n18p:checked) .bn-v15p-18p, .bn-mine:has(#bn-p15p:checked):has(#bn-n18m:checked) .bn-v15p-18m, .bn-mine:has(#bn-p15p:checked):has(#bn-nduo:checked) .bn-v15p-duo, .bn-mine:has(#bn-p15p:checked):has(#bn-nsame:checked) .bn-v15p-18p, .bn-mine:has(#bn-p15m:checked):has(#bn-n18p:checked) .bn-v15m-18p, .bn-mine:has(#bn-p15m:checked):has(#bn-n18m:checked) .bn-v15m-18m, .bn-mine:has(#bn-p15m:checked):has(#bn-nduo:checked) .bn-v15m-duo, .bn-mine:has(#bn-p15m:checked):has(#bn-nsame:checked) .bn-v15m-18m, .bn-mine:has(#bn-p16p:checked):has(#bn-n18p:checked) .bn-v16p-18p, .bn-mine:has(#bn-p16p:checked):has(#bn-n18m:checked) .bn-v16p-18m, .bn-mine:has(#bn-p16p:checked):has(#bn-nduo:checked) .bn-v16p-duo, .bn-mine:has(#bn-p16p:checked):has(#bn-nsame:checked) .bn-v16p-18p, .bn-mine:has(#bn-p16m:checked):has(#bn-n18p:checked) .bn-v16m-18p, .bn-mine:has(#bn-p16m:checked):has(#bn-n18m:checked) .bn-v16m-18m, .bn-mine:has(#bn-p16m:checked):has(#bn-nduo:checked) .bn-v16m-duo, .bn-mine:has(#bn-p16m:checked):has(#bn-nsame:checked) .bn-v16m-18m, .bn-mine:has(#bn-p17p:checked):has(#bn-n18p:checked) .bn-v17p-18p, .bn-mine:has(#bn-p17p:checked):has(#bn-n18m:checked) .bn-v17p-18m, .bn-mine:has(#bn-p17p:checked):has(#bn-nduo:checked) .bn-v17p-duo, .bn-mine:has(#bn-p17p:checked):has(#bn-nsame:checked) .bn-v17p-18p, .bn-mine:has(#bn-p17m:checked):has(#bn-n18p:checked) .bn-v17m-18p, .bn-mine:has(#bn-p17m:checked):has(#bn-n18m:checked) .bn-v17m-18m, .bn-mine:has(#bn-p17m:checked):has(#bn-nduo:checked) .bn-v17m-duo, .bn-mine:has(#bn-p17m:checked):has(#bn-nsame:checked) .bn-v17m-18m { display:block; } /* @iphone picker-css end */ .bn-mine .bn-pl { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:var(--mute); line-height:1.3; } .bn-mine .bn-pl b { color:var(--ink); font-weight:600; } .bn-mine .bn-b { display:block; height:10px; border-radius:5px; margin:3px 0 7px; } .bn-mine .bn-b { width:calc(var(--v) / var(--max) * 100%); } .bn-mine .bn-b.old { background:var(--bar); } .bn-mine .bn-b.new { background:var(--accent); margin-bottom:0; } .bn-mine .bn-b.tbd { width:28%; background:transparent; border:1.5px dashed var(--mute); margin-bottom:0; } .bn-mine .bn-pl b.bn-tbd { color:var(--mute); font-weight:500; } @container (max-width:460px) { .bn-mine .bn-r { grid-template-columns:1fr; gap:6px; } .bn-mine .bn-seg label { font-size:12px; padding:6px 2px; } .bn-mine .bn-vs { flex-direction:column; align-items:stretch; gap:4px; } .bn-mine .bn-seg-s label { font-size:11px; padding:5px 2px; } }Battery Life of Pro ModelsApple’s “up to” video playback hours.012h1 day36h2 days2022iPhone 14 Pro23hiPhone 14 Pro Max29h2023iPhone 15 Pro23hiPhone 15 Pro Max29h2024iPhone 16 Pro27hiPhone 16 Pro Max33h2025iPhone 17 Pro33hiPhone 17 Pro Max39h2026iPhone 18 Pro36hiPhone 18 Pro Max45hiPhone Duo, outer display44hiPhone Duo, inner display31hinto the second daySources: Apple’s U.S. Tech Specs pages for iPhone 14 Pro through iPhone 18 Pro Max and iPhone Duo. The 17 Pro and 18 Pro figures are for eSIM-only models; models with a physical SIM get two hours less. iPhone Duo’s figures depend on which display is in use.Moving on to other performance-related changes, a redesigned vapor chamber with three times the surface area helps deliver up to 40% better sustained performance than iPhone 17 Pro. Given Apple’s focus on gaming and AI for these phones, I look forward to comparing heat dissipation between my 17 Pro and 18 Pro.As for battery life, Apple quotes up to 36 hours of video playback for the Pro and a whopping 45 hours for the Pro Max – the longest battery life ever in an iPhone. (There’s a caveat: those figures apply to eSIM-only models; versions with a physical SIM get two hours less.) Also new this year: both phones can charge to 50% in around 15 minutes with a compatible 60W-capable USB-C adapter that supports Adjustable Voltage Supply, whereas MagSafe and Qi2 still top out at 25W.Pricing and AvailabilityThe iPhone 18 Pro starts at $1,199 in the U.S., while the Pro Max starts at $1,299 (a $100 price hike compared to last year for both versions).Both models come in black, silver, glacier, and the new burgundy (which I think looks great), with storage ranging from 256GB to 2TB. Preorders open September 12 at 5 a.m. Pacific, with availability on September 18.iPhone DuoAlright, let’s now talk about the iPhone I’ve been dreaming of for the past several years.The basic idea is easy enough to understand: the iPhone Duo is a foldable device with a passport-style design that has a smaller screen on the outside, and can be opened to reveal a larger one. You’ve seen foldables before. This one goes from a 5.4-inch display that opens up to reveal a 7.6-inch one inside – effectively almost reaching the dimensions of an iPad mini. When taking a look at pictures and videos of the iPhone Duo in portrait and landscape, it’s hard not to think of Apple’s diminutive tablet.What’s more interesting, however, is what Apple has done with the iPhone Duo’s software to take advantage of that extra space. First off, it’s important to clarify that **the iPhone Duo does not run iPadOS **and it is not an iPad when you open it. The iPhone Duo runs a special version of iOS that was “inspired” by certain elements of the iPad – such as Split View multitasking, or inter-app drag and drop – but which also introduces new ideas never seen before in either iPadOS or iOS, such as tabletop layouts, Liquid Glass controls on the side of the screen, and more.Design, Displays, and…Apple Pencil?First, the hardware. The Duo is made of mirror-polished titanium and weighs 254 grams. Closed, it measures 117.8 × 84.1 × 11.3 mm; open, it’s 117.8 × 164.6 × 5.2 mm. Both OLED displays support ProMotion up to 120Hz, Always-On, and 3,000 nits of peak outdoor brightness. According to Apple, the inner screen gives you 50% more display area than an iPhone 18 Pro Max, and it supports any orientation.The inner display, just like high-end iPad Pro models, has a nano-texture finish, which has been designed to reduce glare and make the crease less visible. Note the distinction here: Apple isn’t saying there’s no crease; they’re saying the material “minimizes crease visibility”. Judging from early pictures and hands-on videos posted online, it appears that the crease will be slightly visible when the inner display is viewed from certain angles.During the event’s video, Apple was also very proud to show off the hinge mechanism they designed for the iPhone Duo, which is comprised of over 100 components that support the center of the display:Johny Srouji’s salary, visualized.Ceramic Shield protects the back of the device, with Ceramic Shield 2 on the outer display. The Duo also carries an IP68 rating for dust and water resistance. These are reassuring details in theory, but, as with any foldable, durability will have to be tested over time.Now, what is arguably a pain point of this first-generation iPhone Duo is the lack of Face ID. Instead, Apple has put Touch ID in the side button, similar to the iPad mini, so it works regardless of whether the phone is open or closed. After nine years of Face ID on the iPhone, it’s going to be tough to get reacquainted with Touch ID; I hope that Apple’s placement of the button and support for multiple fingerprints will alleviate those concerns. We’ll see.You can also unlock the Duo with an Apple Watch, which I assume is going to be similar to how this feature works with a nearby paired Mac. If that method works well, there’s a chance we won’t miss Face ID’s simplicity much, after all.Lastly, in a first for an iPhone, both screens will support the Apple Pencil (USB-C model). This is what it looks like:Sorry, wrong file. This is what it looks like:In the announcement video, Apple said Pencil integration will be available “later this year”.CamerasThe camera system is another area where the Duo differs from the Pro models. In the Duo, you get a 48MP Fusion Main camera with a fixed ƒ/1.6 aperture, plus a 48MP Fusion Ultra Wide with an ƒ/2.2 aperture and macro support. There’s no dedicated Telephoto lens, although the Main camera offers an optical-quality 2x option. The outer display has a 12MP Center Stage camera, while a separate FaceTime camera sits underneath the inner display and records video at up to 1080p and 60 fps. From Apple’s demo videos, it appears that the area surrounding the under-display camera will look slightly dimmer; I’d like to understand if this is something that will be visible at all times, or if it’s a UI decision to indicate where the camera actually is.The under-display camera “lights up” in software during a FaceTime call.What the Duo offers is also a series of features designed around the idea of having two screens. With Duo Preview, the person you’re photographing can see the live camera view on the outer display and adjust their pose or framing if they want to. You can use that screen to take selfies with the rear cameras, too. Kid Cue takes a more playful approach, putting Peanuts animations (and ideally something else, too?) on the outer display to get children to look at the camera while you’re framing a shot.With the Duo propped up thanks to one of its “halves”, the new** Smart Take** feature uses on-device AI to recognize when people are posing and automatically take their photo. And Duo FaceTime lets someone sitting with you join a call using the outer screen and camera, rather than having everyone squeeze into the same shot.We’ve seen some of these features on other foldables before, but I think Apple is offering a more complete, consistent package with these different “postures” for the iPhone Duo and the Camera app from the get-go.Performance and BatteryThe Duo runs the same A20 Pro as the Pro models, paired with its own vapor chamber.Battery life is a little more complicated to describe when a phone has two displays. Apple quotes up to 31 hours of video playback on the inner screen or 44 hours on the outer one. The company also gives a separate estimate of up to 24 hours of “typical use”, based on using the two screens equally. Obviously, how you divide your time between the displays will make a difference here.For charging, you’re looking at up to 50% in around 20 minutes with a 60W-capable wired adapter, or around 30 minutes with a compatible MagSafe charger and adapter. MagSafe and Qi2 both support up to 25W.iOS and MultitaskingAs a longtime iPad user, this is the part of the Duo’s story that interests me most. And I feel that, as someone who’s spent over a decade witnessing the iPad’s multitasking evolution, I’ve been waiting for this kind of iPhone model to arrive, and I can’t wait to get my hands on it.Apple will ship the iPhone Duo with iOS 27.1, and the iOS interface has been adapted to function as a hybrid of a miniaturized iPadOS and an enlarged iOS that moves several controls off to the side of the screen.For starters, Lock Screen controls, the Home Screen dock, and app navigation are moving to the side to make more vertical room for content. This makes sense given the device’s atypically short aspect ratio; as you can see from one of Apple’s shots, it seems like bottom tab bars will automatically be anchored on the right side of the screen and displayed vertically.The Music tab bar on iPhone Duo.More toolbars on the Duo.When you open the Duo, the Home Screen displays two pages at the same time, which you can customize with widgets. It’s unclear, at the moment, whether the dock will support adding more than four app icons to it (my money is, sadly, on “no”).The Home Screen.Even the Dynamic Island has been rethought as a vertical element along the side of both displays.Thus, the idea here is that iOS should follow along as you fold, rotate, or flip the Duo. This kind of layout flexibility is unprecedented for iOS, and when you factor in the fact that iOS 27 will be able to measure the angle to which the Duo is open in real time, it opens the door to some fascinating software design decisions. For example, iOS can dynamically adapt to a not-fully-open Duo and change the keyboard layout to move the keys away from the folding area:Or, it can put the keyboard on the part of the screen that’s sitting flat on a surface:Or, you can turn the device to portrait mode, and type on it as if it were a smaller iPad mini:Then there’s Split View, which brings two apps side by side to the iPhone for the first time. You can also open two windows of the same app (like on an iPad) and save pairs of apps to return to later (like on Android). At the moment, it seems like the only way to add apps to Split View is from the Home Screen on one side of the screen; I’d love to know if dragging apps from Spotlight will also be supported.Starting Split View from the Home Screen.Creating app pairs to come back to later.Another nice touch: StandBy no longer requires a charger on the Duo.Prop the phone up, and you can use either display for widgets, photos, or a clock. There are new Calendar and Weather faces, Shared Albums in the Photos face, and more customization options, too.Pricing and AvailabilityThe iPhone Duo starts at $1,999 in the U.S. and comes in night sky and star white, with 256GB, 512GB, 1TB, or 2TB of storage. Preorders open October 16 at 5 a.m. Pacific, with availability on October 23 and a second regional rollout on October 30.Apple is also selling a $79 Duo Case in navy blue and sand, plus a $129 Duo Folio with Kickstand in navy blue and taupe. The latter adds an adjustable stand for reading, watching videos, or FaceTime; both support MagSafe and can be ordered starting October 16. The full hardware specifications are available on Apple’s website.As you can probably tell from this story, I’m going to get an iPhone Duo as soon as possible, and it’s going to be my primary device for the foreseeable future. I’ve been waiting for Apple to make an iPhone inspired by the iPad for a long time.From what I’ve seen today, I think Apple is right: the iPhone Duo truly feels like the most transformational iPhone since the original.October 23 can’t come soon enough.You can follow all of our September 2026 Apple event coverage through our September 2026 Apple Event hub or subscribe to the dedicated September 2026 Apple event RSS feed.