<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2026-02-24</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2026/2/using-and-customizing-text-input-controls</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2026-02-24</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/13d586d4-ff0c-4110-aacf-50fce7483048/TextFieldExamples.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>TextField controls. From left to right, the applications are Contacts, Reminders, Spotlight, Passwords and the Apple Account section in Settings</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/a795a9ed-1106-4eb6-b489-ae6820fe94aa/TextFieldDefaultMultiplatform.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>TextField controls, with the default styling, on iPhone(left), Mac(center) and Apple Vision Pro(right)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/01fc8b21-f528-47d9-b99c-6990f97b265e/TextFieldStylingExamples.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>TextField controls, with various styling configurations, on iPhone(left) and Mac(center)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/3d2ab5f9-ac7e-463d-96b7-8007774a8526/PhonePadKeyboard.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>PhonePad Keyboard Styling, on iOS(left) and visionOS(right)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/2536a837-3941-4650-8f15-15637ca1a45e/CustomizedKeyboard.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>Example of a custom keyboard with Password autocomplete, a toolbar and a custom submit label</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/e7aad46f-2912-41f2-85f8-b376492e402b/TextFieldValidation.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>Disabled (left) and Enabled (right) Button, based on Input Validation</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/2f1119ce-00e6-49e1-9d8e-f42ac4038f22/SecureFieldScreenshot.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>SecureField control, in normal use (left) and during a screen capture (right)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/9b775cc5-fdbb-4050-8fb3-20c73c8c8809/SecureFieldTextFieldWithScreenshotComparison.webp</image:loc>
      <image:title>The Prudent Protocol - Using and customizing Text Input Controls - Make it stand out</image:title>
      <image:caption>SecureFIeld and TextField differences for screenshots.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/10/from-a-cli-task-to-a-run-main-loop</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-10-04</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/3265de03-7f68-4d5e-9da6-54731183c855/SwiftBuilds.webp</image:loc>
      <image:title>The Prudent Protocol - From a CLI task to a run (main) loop - Make it stand out</image:title>
      <image:caption>A Swift Program - from the Human Domain to the CPU Domain</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/10/exploring-swift-creating-a-simple-cli-tool</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-10-04</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/the-journey-of-a-touch-part-ii</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-11-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/5b5e93f9-457d-4520-bf0d-22e22e19f728/JourneyOfATouch_IOKit_Backboadd.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part V - Make it stand out</image:title>
      <image:caption>Routing events from IOKit to Backboardd</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/10f36323-d0c0-4014-9eb5-890c8aac3897/JourneyOfATouch_BBoard_SpringBoard_App.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part V - Make it stand out</image:title>
      <image:caption>Routing Events from Backboardd to applications</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/d9856583-d2ce-47e1-bcc9-70ef37a537c4/JourneyOfATouch_RunLoop.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part V - Make it stand out</image:title>
      <image:caption>Handling touch events in an Application</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/9723ef13-3fc0-4fd3-890f-98aa97048956/JourneyOfATouch_ActionExecution.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part V - Make it stand out</image:title>
      <image:caption>Updating the CALayer Tree and the Application’s State</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/bbdef66e-5586-4093-abc4-3e85443f8d76/JourneyOfATouch_RenderLoop.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part V - Make it stand out</image:title>
      <image:caption>Reacting to Events and Rendering - the Render Loop</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/the-journey-of-a-touch</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-11-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/31cdd52c-aa40-491c-858b-0fb5422188a2/JourneyOfATouch_SampleScreenshot.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>“The Journey of a Touch”. The initial state (left) and the final state, after the button had been pressed 10 times (right)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/81386c86-ef96-47f8-ad5b-21b6bae899ba/JourneyOfATouch_Overview.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Journey of a Touch - High Level Overview of the main components</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/5c42a313-9673-4bdc-8a94-edb9328227df/JourneyOfATouch_CapturingATouchEvent.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Capturing a touch event and sending it to the SoC - Generic (in/out-cell, no bus specifications)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/08210e54-2e93-4cf6-9392-5dc5b97242fe/JourneyOfATouch_SOC_SPI_OOB-IRQ.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Capturing a touch event and sending it to the SoC - SPI and Out-of-Band Hardware Interrupt</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/11d8c9ed-e534-439e-a14e-0e566491ca61/JourneyOfATouch_ServicingTheInterrupt.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Handling (servicing) the hardware (primary) interrupt</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/ebc00576-a982-42b7-ad01-55dcb6fbf116/JourneyOfATouch_SecondaryInterrupt.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Handling the secondary Interrupt</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/98329723-5942-4b5d-b741-f50849bc1142/JourneyOfATouch_CapturingATouch_DMA_SPI.webp</image:loc>
      <image:title>The Prudent Protocol - The Journey of a Touch - Part IV - Make it stand out</image:title>
      <image:caption>Capturing and processing Touch Data with a DMA-enabled SPI interface</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/starting-with-the-basics-part-iii</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-11-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/f1ebef97-0d81-40cf-86a7-6aa58f39c16e/Drivers_MouseTree.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part III - Make it stand out</image:title>
      <image:caption>Device Tree for a Mouse, on MacOS</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/cd0fa083-ec90-457c-b730-db0065048cf1/Drivers_SPITrackpad.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part III - Make it stand out</image:title>
      <image:caption>Apple SPI trackpad, as seen by the IO Registry</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/479b855f-8a20-4c7b-92ff-82d74058b2ec/Drivers_Device-UserSpace.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part III - Make it stand out</image:title>
      <image:caption>Main classes involved in the communication between a device and a user space application</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/067f8b84-532d-4759-a776-27053603ae98/IOHIDEventServicePlugin.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part III - Make it stand out</image:title>
      <image:caption>IOHIDEventServicePlugin in an IOKit stack trace</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/g5qv4lnf57yoyo4fx6xoq3nryjmirx</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-11-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/fafc87d4-9c78-4cc4-bd3e-8d0ec1c9e9f2/OS_App_Internals_ActivityMonitor_ProcSelection.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Activity Monitor - Process Selection</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/94f1f05f-d945-4de5-914a-a04c48b0e7ce/OS_App_Internals_ActivityMonitor_SampleProcess.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Activity Monitor - Sample Process</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/fe84f195-12d3-4952-bb9e-f24374c99625/OS_App_Internals_ActivityMonitor_SampleResults.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Activity Monitor - Sample Results</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/01e17ccd-e66e-4baa-9614-58fa8999d079/Instruments_Open.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Xcode - Opening the Instruments App</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/32b4d6a7-ec55-4a60-bbb1-a1eeb24d5765/Instruments_InterfaceOverview.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Instruments Application - Interface Overview</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/9a024dbe-f114-4c35-92d0-1df33db07777/Instruments_ProcessBindSelection.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Instruments Application - Process Bind Selection</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/7696c38a-2ce8-4aa1-9e18-a35b79b8f38e/Instruments_RecordingSessionSetup.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Instruments Application - Prepare Recording Session</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/187a5ac2-8568-49ec-a4c1-9af249f35f7b/Instruments_RecordingSessionExample.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Instruments Application - Recorded Session Example</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/0144d3df-08d2-4e63-974c-694e5ff6d115/Instruments_RecordingSessionFilters.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part II - Make it stand out</image:title>
      <image:caption>Instruments Application - Recorded Session Example with Filters</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/about-swift-applications-and-apple-operating-systems</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-11-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/8c237047-a557-4bb3-9084-2fb24a2745d6/Button_Contexts.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part I - Make it stand out</image:title>
      <image:caption>The concept of a Button, represented in various contexts</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/c14e7482-9268-4569-bc46-bcb50dd41e6a/FrameworksVsLibraries.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part I - Make it stand out</image:title>
      <image:caption>Frameworks vs Libraries</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/7db39cc8-2a3b-40bb-92a5-97ccc1cbb0f5/SetupvsFrequentAccessMemory.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part I - Make it stand out</image:title>
      <image:caption>Separation between Application Memory Addresses</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/d084baf6-5f97-4dd6-abc9-176e140dd5f4/MemoryCells.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part I - Make it stand out</image:title>
      <image:caption>DRAM Memory Cell (Left) and DRAM Memory SubArray (Right)</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/cfd3cc09-fd6a-4b4e-a8d6-6f88ef46966f/DataTransfer_SerialVsParallel.webp</image:loc>
      <image:title>The Prudent Protocol - Starting with the basics - Part I - Make it stand out</image:title>
      <image:caption>Serial (left) and Parallel(right) Data Buses with dedicated global clock line</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/2025/9/taking-the-first-byte</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2026-02-22</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/category/SwiftUI</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/category/Intro+to+Apple</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/Systems+Design</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/SecureField</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/TextField</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/Swift</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/Swift+Build+Tools</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/SwiftUI</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/User+Journeys</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/prudent-protocol/tag/Operating+Systems</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.prudentleap.com/home</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2026-03-02</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6721f9295c6d593f58a1c57b/1758999719985-VPMI9OK8XMHFQRIXVAL0/unsplash-image-a6OQfCcnoYg.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.prudentleap.com/books</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-09-30</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/applications</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2026-03-20</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/cookies</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-09-30</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/data-privacy-and-gdpr</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-09-30</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/terms-and-conditions</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-09-30</lastmod>
  </url>
  <url>
    <loc>https://www.prudentleap.com/under-construction</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-09-30</lastmod>
  </url>
</urlset>

