{"$schema": "https://raw.githubusercontent.com/guitaripod/wwdc-sessions/master/schema/transcript.schema.json", "id": "wwdc2026-259", "language": "eng", "source": "https://developer.apple.com/videos/play/wwdc2026/259", "wordCount": 3982, "segments": [{"start": 7.0, "text": "Hello! I'm Devin!"}, {"start": 8.0, "text": "And I'm Maxwell!"}, {"start": 9.0, "text": "We are both members of the Xcode Intelligence team."}, {"start": 12.0, "text": "And we're excited to show you"}, {"start": 14.0, "text": "how using agents in Xcode can enhance your development."}, {"start": 17.0, "text": "In Xcode 26.3"}, {"start": 20.0, "text": "we introduced coding agents along with tools to help you tackle complex,"}, {"start": 23.0, "text": "multi-step tasks."}, {"start": 25.0, "text": "In Xcode 27, you can be even more productive."}, {"start": 29.0, "text": "We've expanded the tools Xcode provides and redesigned how you interact with agents."}, {"start": 34.0, "text": "All with the goal of keeping you focused on the work that you enjoy."}, {"start": 38.0, "text": "You drive the vision for your code, and Xcode helps you get there faster"}, {"start": 42.0, "text": "and with confidence."}, {"start": 44.0, "text": "Xcode adapts to you,"}, {"start": 46.0, "text": "whether you are just getting started with agents"}, {"start": 48.0, "text": "or consider them an essential part of your workflow."}, {"start": 51.0, "text": "Together with Devin, I'll walk you through using agents in Xcode"}, {"start": 54.0, "text": "throughout your development."}, {"start": 56.0, "text": "I'll start by exploring a project to gain an understanding of its structure."}, {"start": 60.0, "text": "I'll use that understanding to plan and build out a new feature."}, {"start": 65.0, "text": "Then, Devin will refine what I've built."}, {"start": 68.0, "text": "And finally, he'll orchestrate multiple conversations"}, {"start": 71.0, "text": "to accomplish specific tasks."}, {"start": 73.0, "text": "Let's get started!"}, {"start": 74.0, "text": "When Maxwell and I are not at the office working on apps,"}, {"start": 77.0, "text": "we're spending time at the gym."}, {"start": 79.0, "text": "We've wanted something that helps us track exercises in our workouts."}, {"start": 82.0, "text": "We want something that is personalized and adaptive to how we train."}, {"start": 87.0, "text": "So, together we're building an app that has exactly the features we want."}, {"start": 91.0, "text": "I just got this app off the ground using an agent in Xcode,"}, {"start": 95.0, "text": "and it already has the basic functionality we need."}, {"start": 98.0, "text": "It has a workout page to track exercises."}, {"start": 101.0, "text": "And a history section to show previous sessions."}, {"start": 105.0, "text": "This app is really great."}, {"start": 106.0, "text": "One thing that I would like is if I could see how I'm progressing over time,"}, {"start": 110.0, "text": "now that I'm tracking all these workouts."}, {"start": 111.0, "text": "I was thinking the same thing!"}, {"start": 113.0, "text": "We need an insights view."}, {"start": 115.0, "text": "That sounds like a great idea."}, {"start": 117.0, "text": "I'll start by creating a prototype"}, {"start": 119.0, "text": "to show analytics using previous session data."}, {"start": 122.0, "text": "Perfect!"}, {"start": 123.0, "text": "I can refine it from there once everything is in place."}, {"start": 126.0, "text": "Devin has the project in a great starting place,"}, {"start": 129.0, "text": "and I want to familiarize myself with everything he's done already."}, {"start": 132.0, "text": "So I'll start by using Xcode as a guide to both explore the project"}, {"start": 136.0, "text": "and learn what options I have for adding insights data."}, {"start": 139.0, "text": "When you use agents in Xcode to explore, they can see your whole project."}, {"start": 143.0, "text": "From your source code, build settings, and even open files and active selections,"}, {"start": 149.0, "text": "agents are tuned into exactly what you're working on in the moment."}, {"start": 153.0, "text": "To start exploring,"}, {"start": 155.0, "text": "I'll hold Option and Shift while clicking on the button in the toolbar"}, {"start": 158.0, "text": "to create a new conversation."}, {"start": 160.0, "text": "This opens a conversation as a separate editor pane"}, {"start": 163.0, "text": "so I can also see individual files and look into specific ones as I explore."}, {"start": 169.0, "text": "I'll ask the agent to summarize the project's data models"}, {"start": 172.0, "text": "and current view hierarchy, and provide a walkthrough."}, {"start": 175.0, "text": "I'll send this prompt, and the agent uses Xcode's tools"}, {"start": 178.0, "text": "to gather context, and piece together the project's structure."}, {"start": 184.0, "text": "When jumping into a new project,"}, {"start": 186.0, "text": "it can be challenging to determine where you should start."}, {"start": 188.0, "text": "When reading complex architecture and a collection of source files,"}, {"start": 193.0, "text": "piecing together how everything connects to build an understanding"}, {"start": 196.0, "text": "can take considerable time."}, {"start": 199.0, "text": "Xcode can help you here."}, {"start": 201.0, "text": "You can ask for a walkthrough to distill down the architecture"}, {"start": 204.0, "text": "into something easier to understand,"}, {"start": 207.0, "text": "complete with rich details like outlines of data flow,"}, {"start": 211.0, "text": "tables of key areas and source code references."}, {"start": 215.0, "text": "When you want to investigate at a deeper level"}, {"start": 218.0, "text": "you can navigate directly to key files."}, {"start": 222.0, "text": "The walkthrough is complete,"}, {"start": 223.0, "text": "and I can read through it to build an understanding at a high level."}, {"start": 227.0, "text": "And if I want to look deeper into our workout views,"}, {"start": 229.0, "text": "I can click on the links and jump directly into the individual files."}, {"start": 234.0, "text": "This walkthrough is a great reference."}, {"start": 236.0, "text": "But I don't want to lose all this detail in one conversation,"}, {"start": 239.0, "text": "I'd like to preserve it."}, {"start": 241.0, "text": "That way I, or anyone else on my team, can reference it later"}, {"start": 245.0, "text": "and get up to speed faster."}, {"start": 247.0, "text": "I've read all the source files that I need to for now,"}, {"start": 250.0, "text": "so I'll close the other editor pane and focus in on just the conversation."}, {"start": 255.0, "text": "I'll ask Xcode to draft up two architecture documents"}, {"start": 258.0, "text": "with the information gathered,"}, {"start": 259.0, "text": "and place them directly in the project with the source code."}, {"start": 265.0, "text": "In this conversation, the agent started from scratch."}, {"start": 268.0, "text": "It needed to search, read, and investigate all the code in the project"}, {"start": 272.0, "text": "to reach an understanding."}, {"start": 274.0, "text": "This discovery loop takes time away from getting started on the work you enjoy."}, {"start": 280.0, "text": "But instead of losing that effort,"}, {"start": 282.0, "text": "it can be captured into a documented knowledge base in your project."}, {"start": 286.0, "text": "This knowledge base can be dynamic and evolve right alongside the codebase."}, {"start": 291.0, "text": "Now, when you or your team start on a new feature,"}, {"start": 293.0, "text": "you have a map to quickly find the relevant files and get started."}, {"start": 298.0, "text": "All the information from the walkthrough has been collected into two documents"}, {"start": 302.0, "text": "that I can see as new artifacts alongside the transcript."}, {"start": 307.0, "text": "When working with agents in Xcode,"}, {"start": 309.0, "text": "there are two distinct areas of information that you'll see."}, {"start": 312.0, "text": "On the left, there is the transcript, this is where you see your conversation,"}, {"start": 316.0, "text": "including commentary on progress, tool calls, running sub-agents, and more."}, {"start": 323.0, "text": "On the right, we have artifacts."}, {"start": 325.0, "text": "These are things that are created: files, edits, and previews."}, {"start": 329.0, "text": "You can focus on everything produced in the latest message,"}, {"start": 332.0, "text": "or look at the entire conversation as a whole."}, {"start": 336.0, "text": "After this exploration,"}, {"start": 337.0, "text": "I have a good understanding of the project in its current state."}, {"start": 340.0, "text": "So now I can start working to add insights,"}, {"start": 343.0, "text": "with some tables to visualize them."}, {"start": 345.0, "text": "I'm not completely familiar with how to implement tables in SwiftUI"}, {"start": 349.0, "text": "and the nuanced details of SwiftData models that will need to be adjusted."}, {"start": 353.0, "text": "So, I'll use Xcode to research these APIs and gain an understanding."}, {"start": 358.0, "text": "I'll create a new conversation for this."}, {"start": 360.0, "text": "so I'll open the coding assistant in the sidebar,"}, {"start": 362.0, "text": "click new conversation, and choose an agent."}, {"start": 365.0, "text": "I'll ask about the areas I'm unfamiliar with,"}, {"start": 368.0, "text": "like what relationships I'll need for the SwiftData Models,"}, {"start": 371.0, "text": "and what options I have for creating tables in SwiftUI."}, {"start": 374.0, "text": "I'll also reference the two documents I created earlier."}, {"start": 378.0, "text": "I'll send this prompt, and the two documents are read right away"}, {"start": 381.0, "text": "to gain context on the project."}, {"start": 383.0, "text": "Since I asked about options for adding tables,"}, {"start": 386.0, "text": "Apple Document Search is invoked automatically"}, {"start": 389.0, "text": "to gain more understanding of SwiftUI table support."}, {"start": 392.0, "text": "When adopting APIs or entirely new frameworks,"}, {"start": 396.0, "text": "having the most current information is important to get the best result."}, {"start": 399.0, "text": "However, depending on the agent you're using,"}, {"start": 402.0, "text": "its base knowledge might not include the latest framework information."}, {"start": 406.0, "text": "With Apple Document Search,"}, {"start": 407.0, "text": "your agent can access high quality documentation"}, {"start": 410.0, "text": "to help you ensure your project"}, {"start": 412.0, "text": "is adopting the right solution for the feature you're building."}, {"start": 415.0, "text": "I now have a nice walkthrough of the APIs I'll want to use,"}, {"start": 419.0, "text": "complete with key details to consider that I might not have realized otherwise."}, {"start": 423.0, "text": "Details like ensuring my SwiftData model relationships are right,"}, {"start": 427.0, "text": "and the best presentation of data on smaller screen sizes."}, {"start": 430.0, "text": "With this, I have a good understanding of both the project"}, {"start": 433.0, "text": "and the APIs that I'll need to build out my feature."}, {"start": 437.0, "text": "Exploring with agents in Xcode"}, {"start": 439.0, "text": "is a fast way to familiarize yourself with a new project,"}, {"start": 443.0, "text": "or an unfamiliar feature of an existing one."}, {"start": 446.0, "text": "Agents can see your entire project context,"}, {"start": 449.0, "text": "can supplement that context with high quality documentation from Apple,"}, {"start": 453.0, "text": "and can provide guided explanations for new areas,"}, {"start": 456.0, "text": "so you can get started faster than ever."}, {"start": 458.0, "text": "Now that I have a good understanding of the project,"}, {"start": 461.0, "text": "I can start building towards my goal of adding insights."}, {"start": 464.0, "text": "In the same conversation, I'll put Xcode in plan mode by using the slash command."}, {"start": 469.0, "text": "Plan mode allows you to be the architect,"}, {"start": 471.0, "text": "outlining your approach before any code gets written."}, {"start": 475.0, "text": "I'll specify that I want to add a new tab for workout insights."}, {"start": 479.0, "text": "I'll provide a high level overview of the features I want,"}, {"start": 482.0, "text": "outlining any requirements to make sure that this stays focused."}, {"start": 486.0, "text": "I'll specify the device specific details learned from the explore phase"}, {"start": 489.0, "text": "for presentation."}, {"start": 492.0, "text": "And finally, I'll ask for a preview to ensure the new tab looks like I expect."}, {"start": 497.0, "text": "I'll send the prompt and enter plan mode."}, {"start": 500.0, "text": "Xcode works with the agent"}, {"start": 502.0, "text": "to start planning how to implement the insights tab."}, {"start": 506.0, "text": "When you build with agents in Xcode, you can turn ideas into features so quickly."}, {"start": 511.0, "text": "Because of this, your workflow naturally shifts,"}, {"start": 514.0, "text": "ensuring you have the right plan,"}, {"start": 516.0, "text": "that captures your ideas and the architecture you want to build,"}, {"start": 519.0, "text": "becomes a more important step."}, {"start": 522.0, "text": "When you focus on planning, you ensure that later on,"}, {"start": 524.0, "text": "refinement is spent polishing up the feature that you want"}, {"start": 527.0, "text": "rather than fixing a poorly built foundation."}, {"start": 530.0, "text": "Xcode gives you the tools to make this happen."}, {"start": 533.0, "text": "It turns planning into a discussion,"}, {"start": 535.0, "text": "aligning on strategy before moving to implementation."}, {"start": 538.0, "text": "Speaking of discussion, I have a general idea"}, {"start": 541.0, "text": "for what metrics I want to show."}, {"start": 543.0, "text": "But I want to make sure I agree with what's included in the plan."}, {"start": 547.0, "text": "I'll send a follow up, asking for some ideas."}, {"start": 549.0, "text": "This queues up the message so that once the agent is finished with its current work"}, {"start": 553.0, "text": "it can address my question."}, {"start": 555.0, "text": "Queuing messages like this allows me to express my ideas in the moment"}, {"start": 559.0, "text": "rather than waiting for the agent to finish what it's currently doing."}, {"start": 564.0, "text": "Xcode has submitted my message to the agent,"}, {"start": 566.0, "text": "and it's come back with some options to choose from."}, {"start": 568.0, "text": "Looking at what it provids, I think that a per exercise view"}, {"start": 572.0, "text": "and a top level summary will be good presentations to start out with,"}, {"start": 576.0, "text": "so I'll choose those options and send my response."}, {"start": 581.0, "text": "When you use queued messages to provide additional requirements,"}, {"start": 584.0, "text": "and the agent is able to ask questions for clarity,"}, {"start": 587.0, "text": "you create a tight communication loop between you and the agent."}, {"start": 590.0, "text": "And because you're involved in the discussion throughout the process,"}, {"start": 593.0, "text": "you end up with a much stronger, well thought out plan."}, {"start": 597.0, "text": "Looks like the plan is finished!"}, {"start": 599.0, "text": "We can see the full plan in markdown, which allows me to review it"}, {"start": 602.0, "text": "and make any edits that I need directly."}, {"start": 605.0, "text": "This looks pretty thorough to me though, and captures everything discussed earlier."}, {"start": 609.0, "text": "So I'll approve"}, {"start": 611.0, "text": "and Xcode starts working with the agent to implement the plan."}, {"start": 616.0, "text": "The first change has already been made,"}, {"start": 618.0, "text": "and we can see the exact diff of the modification as an artifact."}, {"start": 622.0, "text": "Source code modifications and new files appear as artifacts as they're made"}, {"start": 626.0, "text": "and are added to your project."}, {"start": 628.0, "text": "Allowing you to stay in sync and review the code changes"}, {"start": 631.0, "text": "to make sure they are what you expect."}, {"start": 636.0, "text": "Looks like all the source changes have been made,"}, {"start": 638.0, "text": "and the agent has moved onto validation."}, {"start": 640.0, "text": "Xcode's build tool is being used to ensure that the changes are correct"}, {"start": 644.0, "text": "and it looks like there are initially some issues."}, {"start": 646.0, "text": "But since build errors are communicated directly to the agent,"}, {"start": 650.0, "text": "it knows exactly what failed,"}, {"start": 651.0, "text": "can quickly iterate, and build again to make sure it's right."}, {"start": 656.0, "text": "The agent is also updating our architecture documents"}, {"start": 658.0, "text": "with the new code, making sure this knowledge base stays up to date."}, {"start": 666.0, "text": "Now, it's moved onto previews,"}, {"start": 668.0, "text": "after resolving some issues with the SwiftData changes,"}, {"start": 671.0, "text": "it renders a preview on the current run destination."}, {"start": 674.0, "text": "Previews are also artifacts,"}, {"start": 676.0, "text": "so we can click on the rendered preview and take a look."}, {"start": 679.0, "text": "It looks great, and is exactly what I was looking for on iPhone,"}, {"start": 683.0, "text": "a concise view with a top level summary."}, {"start": 686.0, "text": "Xcode provides agents with the same tools that you have"}, {"start": 688.0, "text": "to ensure that new code does exactly what it's supposed to."}, {"start": 692.0, "text": "From building the project, to rendering a preview of a new UI,"}, {"start": 695.0, "text": "you can have confidence that the code is correct."}, {"start": 699.0, "text": "Let's take a look on iPad so we can see the new tables as well."}, {"start": 702.0, "text": "I'll run this on an iPad simulator so I can see it on device hub."}, {"start": 706.0, "text": "We have the new insights view with a collection of data"}, {"start": 709.0, "text": "about our recent training and most recent exercises."}, {"start": 712.0, "text": "And we can see even more detail with the exercise breakdown table."}, {"start": 717.0, "text": "Now that I'm happy with the UI that we see in the simulator,"}, {"start": 719.0, "text": "I want to make sure all the changes are built on a solid foundation."}, {"start": 723.0, "text": "I'll ask Xcode to write some unit tests"}, {"start": 726.0, "text": "for the changes made to the swift data models."}, {"start": 729.0, "text": "I can see my existing test suite is picked up for the project,"}, {"start": 732.0, "text": "so these tests will be grounded alongside the other testing that we already have."}, {"start": 738.0, "text": "In addition to build and preview, agents can use Xcode's test tools"}, {"start": 742.0, "text": "to ensure that the new code is correct by writing new tests"}, {"start": 745.0, "text": "or running existing ones."}, {"start": 747.0, "text": "When agents are provided these opportunities to validate work as they go,"}, {"start": 751.0, "text": "you can focus on the high level goals for the feature."}, {"start": 755.0, "text": "The agent wrote a whole suite of tests to validate the new changes,"}, {"start": 758.0, "text": "and it was able to run and verify all twelve new test cases passed."}, {"start": 762.0, "text": "Now we can know with confidence that the insights view is reliable."}, {"start": 767.0, "text": "Building in Xcode lets you focus on the vision for a feature."}, {"start": 771.0, "text": "You can align on ideas with plan mode, steer discussion in real time,"}, {"start": 776.0, "text": "view artifacts as they're produced,"}, {"start": 778.0, "text": "and use Xcode's validation tools to ensure new code is correct."}, {"start": 782.0, "text": "Throughout every part of the development process,"}, {"start": 784.0, "text": "Xcode is with you to build it right."}, {"start": 787.0, "text": "This is a great start."}, {"start": 788.0, "text": "With Xcode I've been able to get the insights view prototyped in no time."}, {"start": 793.0, "text": "Now, that we have this analytics data, I think the app needs a fresh perspective,"}, {"start": 797.0, "text": "from someone with an eye for detail."}, {"start": 800.0, "text": "Hey Devin, the insights view is off to a great start,"}, {"start": 803.0, "text": "and already has some great analytics for previous workouts."}, {"start": 807.0, "text": "I do think though that this app could really use some visualizations"}, {"start": 810.0, "text": "to show progress over time."}, {"start": 812.0, "text": "Do you want to take over from here?"}, {"start": 813.0, "text": "Absolutely!"}, {"start": 814.0, "text": "I think Swift Charts would be perfect for that."}, {"start": 817.0, "text": "Maxwell has left this project in a great state."}, {"start": 820.0, "text": "We have a good starting place for adding some visualizations,"}, {"start": 823.0, "text": "so let's jump right in!"}, {"start": 824.0, "text": "in! So far, we've shown you how you can use agents to explore a new codebase,"}, {"start": 829.0, "text": "plan out features, and build them with ease."}, {"start": 831.0, "text": "Now, we need to take the next step:"}, {"start": 834.0, "text": "getting things to look and feel exactly how we want."}, {"start": 837.0, "text": "I really like what Maxwell has done on our analytics screen."}, {"start": 840.0, "text": "To bring it to life, we're going to add some charts using Swift Charts."}, {"start": 844.0, "text": "Now, how a chart looks, how animations feel,"}, {"start": 848.0, "text": "and what colors work with your app's style,"}, {"start": 850.0, "text": "these are subjective preferences that often change as you work."}, {"start": 853.0, "text": "You can iterate on visual design incredibly fast,"}, {"start": 857.0, "text": "which is why staying in the loop for every change matters…"}, {"start": 859.0, "text": "making sure the end result reflects your vision."}, {"start": 863.0, "text": "You can communicate your intent with more than just text"}, {"start": 866.0, "text": "using images, sketches, and documents to show exactly what you have in mind."}, {"start": 871.0, "text": "And when you know exactly where an adjustment belongs,"}, {"start": 873.0, "text": "you can point directly to that spot in your code with inline annotations"}, {"start": 877.0, "text": "resulting in focused, targeted changes."}, {"start": 880.0, "text": "Let me show you what this looks like."}, {"start": 882.0, "text": "I'm rather new to Swift Charts,"}, {"start": 884.0, "text": "so I'll start by exploring what chart styles would work for our data."}, {"start": 888.0, "text": "Here's the prompt."}, {"start": 889.0, "text": "I'm asking what options would work best for the Insights view."}, {"start": 898.0, "text": "These are all great options, but I want to see them in context."}, {"start": 902.0, "text": "Let's generate previews for each chart type using artificial workout data."}, {"start": 914.0, "text": "With Xcode, we go from text descriptions to working prototypes in seconds,"}, {"start": 919.0, "text": "so instead of just imagining what a chart might might look like"}, {"start": 922.0, "text": "we just look at it."}, {"start": 924.0, "text": "Now I can see what these charts actually look like with realistic data."}, {"start": 928.0, "text": "The \"volume over time\" option is the clear winner."}, {"start": 932.0, "text": "It shows our progress in the weight room at a glance,"}, {"start": 935.0, "text": "which is exactly what we want."}, {"start": 937.0, "text": "The previews look great,"}, {"start": 939.0, "text": "but there are still a few things I'd like to personalize."}, {"start": 942.0, "text": "Let me grab my iPad to sketch out a museum worthy chart design."}, {"start": 947.0, "text": "I have Freeform open on my iPad let me sketch out what I'm picturing."}, {"start": 953.0, "text": "Wow, that really is museum worthy."}, {"start": 956.0, "text": "Yeah, it's really coming together."}, {"start": 959.0, "text": "Ok, maybe I shouldn't quit my day job"}, {"start": 962.0, "text": "but thankfully, I think this gets the idea across!"}, {"start": 967.0, "text": "Now I'll send my sketch and ask for a line chart to be added"}, {"start": 970.0, "text": "directly to the InsightsView, matching the style I've drawn."}, {"start": 974.0, "text": "While that's being implemented,"}, {"start": 976.0, "text": "let me explain what's happening behind the scenes."}, {"start": 978.0, "text": "With access to previews in Xcode, agents don't just generate code and stop."}, {"start": 983.0, "text": "Previews can be rendered incrementally to visually verify results,"}, {"start": 987.0, "text": "confirming that what was generated matches what you asked for."}, {"start": 990.0, "text": "If something doesn't look right,"}, {"start": 992.0, "text": "adjustments are made before you even need to step in."}, {"start": 996.0, "text": "And here's what that looks like in practice."}, {"start": 998.0, "text": "My sketch was interpreted and translated"}, {"start": 1000.0, "text": "into a chart that matches exactly what I was looking for."}, {"start": 1004.0, "text": "You can see that a preview was rendered along the way"}, {"start": 1006.0, "text": "that self-verification loop in action."}, {"start": 1010.0, "text": "This is looking great!"}, {"start": 1013.0, "text": "There are still a couple of things I'd like to tweak though."}, {"start": 1016.0, "text": "I want to add a subtle animation to the chart,"}, {"start": 1018.0, "text": "and change the color scheme to match our app's theme."}, {"start": 1021.0, "text": "I know exactly where these changes should go,"}, {"start": 1024.0, "text": "and with inline annotations, I can point to that exact spot in my code."}, {"start": 1029.0, "text": "I'll leave two annotations right in the chart view."}, {"start": 1032.0, "text": "One here, asking to add a fade-in animation."}, {"start": 1036.0, "text": "And another here, asking to adjust the trend line color to match our theme"}, {"start": 1041.0, "text": "Inline annotations carry something that a typical conversation prompt doesn't,"}, {"start": 1046.0, "text": "the exact location in your code where you want to make a change."}, {"start": 1050.0, "text": "When you annotate a specific line,"}, {"start": 1052.0, "text": "the surrounding code becomes part of the context."}, {"start": 1055.0, "text": "The annotation doesn't just say what to change, it shows where,"}, {"start": 1059.0, "text": "so the result is precise and scoped to exactly what you intended."}, {"start": 1067.0, "text": "This looks incredible."}, {"start": 1070.0, "text": "Every step of that process kept us in the driver's seat."}, {"start": 1073.0, "text": "We chose the chart type."}, {"start": 1075.0, "text": "We sketched the design."}, {"start": 1076.0, "text": "We pointed to exactly where the final adjustments belonged."}, {"start": 1079.0, "text": "The creative direction was ours the entire time."}, {"start": 1083.0, "text": "In Xcode, you have the tools to make refinement even better:"}, {"start": 1087.0, "text": "Rich previews to see changes with realistic data;"}, {"start": 1090.0, "text": "Inline annotations to direct your changes right from your source code;"}, {"start": 1094.0, "text": "and image Attachments to show exactly what you have in mind."}, {"start": 1098.0, "text": "For more on design-focused techniques for working with agents,"}, {"start": 1101.0, "text": "check out \"Create UI Prototypes using Agents in XCode\" session."}, {"start": 1105.0, "text": "Next, I'll show you how to orchestrate comprehensive feature development"}, {"start": 1109.0, "text": "by translating our app into new languages, and making it accessible."}, {"start": 1113.0, "text": "For Maxwell and me, it's really important that the apps we develop are accessible."}, {"start": 1117.0, "text": "A friend of ours at the gym primarily speaks Filipino,"}, {"start": 1120.0, "text": "and we'd love for him to be able to use this app just as easily as we can."}, {"start": 1125.0, "text": "Accessibility and localization are how you make sure your app works for everyone."}, {"start": 1129.0, "text": "And with agents, incorporating these features into your app"}, {"start": 1132.0, "text": "is easier than ever."}, {"start": 1134.0, "text": "Xcode provides a rich set of tools that extend what you can accomplish."}, {"start": 1139.0, "text": "Maxwell and I have already shown you tools like Document Search, Preview Rendering,"}, {"start": 1143.0, "text": "and Run All Tests in action but there are many more."}, {"start": 1147.0, "text": "Some are built into Xcode, some are provided by Apple framework teams,"}, {"start": 1151.0, "text": "and you can even add your own."}, {"start": 1153.0, "text": "The right tools are discovered and used automatically based on the task at hand."}, {"start": 1158.0, "text": "I'll start a new conversation for localization,"}, {"start": 1161.0, "text": "asking to translate every user-facing string into Filipino"}, {"start": 1164.0, "text": "and configure the strings catalog."}, {"start": 1167.0, "text": "I'll send this off."}, {"start": 1168.0, "text": "You can see the machine translation tools being discovered."}, {"start": 1171.0, "text": "These provide the context needed to translate our app,"}, {"start": 1175.0, "text": "and the work can now begin."}, {"start": 1178.0, "text": "This is orchestration in action."}, {"start": 1180.0, "text": "I described a high-level goal: \"localize the app into Filipino\""}, {"start": 1184.0, "text": "and the right tools were discovered automatically."}, {"start": 1186.0, "text": "From here, the work gets broken into parallel pieces,"}, {"start": 1190.0, "text": "and smaller sub-agents are deployed to located"}, {"start": 1192.0, "text": "and translate strings across the app."}, {"start": 1196.0, "text": "While localization runs, I'll start a second conversation for accessibility,"}, {"start": 1200.0, "text": "asking to add VoiceOver labels and accessibility identifiers"}, {"start": 1203.0, "text": "to all interactive elements."}, {"start": 1209.0, "text": "There are now multiple workflows running at once."}, {"start": 1212.0, "text": "Accessibility is implementing changes across our views,"}, {"start": 1216.0, "text": "and localization is coordinating translation through sub-agents."}, {"start": 1219.0, "text": "What's interesting about localization"}, {"start": 1221.0, "text": "is that the translation tools aren't being called by us directly"}, {"start": 1225.0, "text": "they're invoked by the sub-agents under the hood."}, {"start": 1228.0, "text": "The main conversation read those tools for context,"}, {"start": 1231.0, "text": "broke the work into pieces,"}, {"start": 1232.0, "text": "and each subagent is now calling on specific translation capabilities"}, {"start": 1237.0, "text": "as it works through its portion of the app."}, {"start": 1240.0, "text": "This is the power of orchestration:"}, {"start": 1242.0, "text": "you describe the goal, and the right tools are used at the right level"}, {"start": 1246.0, "text": "some by the main workflow for planning,"}, {"start": 1248.0, "text": "others by sub-agents for execution."}, {"start": 1251.0, "text": "And through all of this, you can check in on progress at any time."}, {"start": 1255.0, "text": "Now it's time for the most important part, reviewing the results."}, {"start": 1260.0, "text": "The app is localized in Filipino."}, {"start": 1263.0, "text": "Our 'Start Workout' button, the 'History' tab, the 'Insights' section,"}, {"start": 1267.0, "text": "all translated."}, {"start": 1269.0, "text": "And the strings catalog has entries for every user-facing string in the app."}, {"start": 1273.0, "text": "Let's enable VoiceOver."}, {"start": 1277.0, "text": "\"VoiceOver On\""}, {"start": 1279.0, "text": "\"Start New Workout button\""}, {"start": 1282.0, "text": "\"Landscape\""}, {"start": 1283.0, "text": "\"Charge port to the right\""}, {"start": 1285.0, "text": "\"Start New Workout\""}, {"start": 1286.0, "text": "\"Workouts\" \"Back button\""}, {"start": 1288.0, "text": "\"Workouts\" \"Heading\""}, {"start": 1292.0, "text": "\"VoiceOver Off\""}, {"start": 1294.0, "text": "Every primary element is labeled and navigable."}, {"start": 1298.0, "text": "What would have previously been hours of repetitive work"}, {"start": 1300.0, "text": "was accomplished across two parallel conversations."}, {"start": 1303.0, "text": "And we stayed in control the entire time."}, {"start": 1307.0, "text": "Working with agents in Xcode puts you in the driver's seat."}, {"start": 1311.0, "text": "Orchestration is where you get to describe high-level goals,"}, {"start": 1314.0, "text": "and Xcode determines how to accomplish them"}, {"start": 1316.0, "text": "discovering the right tools, coordinating sub-agents,"}, {"start": 1320.0, "text": "and completing tasks in parallel."}, {"start": 1322.0, "text": "And through powerful Xcode tools, you can direct impactful work"}, {"start": 1326.0, "text": "like localization and accessibility with a single prompt."}, {"start": 1329.0, "text": "This app is really starting to come together."}, {"start": 1332.0, "text": "For sure!"}, {"start": 1333.0, "text": "The analytics look great, and the charts really help us see our progress at a glance."}, {"start": 1338.0, "text": "Using Xcode made it easy to get off the ground quickly,"}, {"start": 1341.0, "text": "and there's still so much that we could add."}, {"start": 1343.0, "text": "Throughout this session, Xcode supported how each of us needed to work,"}, {"start": 1347.0, "text": "and kept us in the loop at each step."}, {"start": 1350.0, "text": "With Xcode, you can work the way you want to with agents"}, {"start": 1354.0, "text": "whether that's exploring, building, refining, or orchestrating."}, {"start": 1359.0, "text": "Let's reflect on everything that we used to build out this new feature."}, {"start": 1363.0, "text": "It started with exploration, using Xcode Tools and Apple Document Search"}, {"start": 1368.0, "text": "to map out the code base and learn about the APIs that we wanted to use."}, {"start": 1372.0, "text": "When it was time to build,"}, {"start": 1373.0, "text": "we used plan mode to design an architecture before writing any code,"}, {"start": 1377.0, "text": "and relied on queued messages and agent questions"}, {"start": 1380.0, "text": "to align with the agent on the ideas."}, {"start": 1383.0, "text": "Once we had a prototyped feature,"}, {"start": 1384.0, "text": "we used Xcode's Build, Preview, and Test tools to verify our work."}, {"start": 1390.0, "text": "When we refined the UI, we attached images to express ideas,"}, {"start": 1394.0, "text": "inline Annotations to guide changes grounded in the source code,"}, {"start": 1397.0, "text": "and Previews to verify the appearance."}, {"start": 1400.0, "text": "And finally, we orchestrated larger goals,"}, {"start": 1403.0, "text": "leveraging tools for localization and accessibility,"}, {"start": 1406.0, "text": "with sub-agents working in parallel."}, {"start": 1409.0, "text": "Here's what you can do next."}, {"start": 1411.0, "text": "Download Xcode 27 and start using agents on your own project."}, {"start": 1415.0, "text": "Explore the agentic tools available in Xcode,"}, {"start": 1418.0, "text": "add your own,"}, {"start": 1419.0, "text": "and check out the \"Create UI Prototypes using Agents in Xcode\""}, {"start": 1422.0, "text": "and \"Translate your app with agents in Xcode\" sessions"}, {"start": 1425.0, "text": "for a deeper dive into the concepts we discussed today."}, {"start": 1428.0, "text": "Now we both have time to head to the gym and test out the new features."}, {"start": 1432.0, "text": "Meet you there!"}, {"start": 1434.0, "text": "Thanks for watching!"}]}