<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SkyJin</title>
    <description>The latest articles on DEV Community by SkyJin (@skyjinxx).</description>
    <link>https://dev.to/skyjinxx</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3300123%2F060d3d7d-660e-4870-87d8-e9f2e17ec11b.png</url>
      <title>DEV Community: SkyJin</title>
      <link>https://dev.to/skyjinxx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/skyjinxx"/>
    <language>en</language>
    <item>
      <title>iPadOS Scribble Interfering with Apple Pencil Canvas Drawing in Web Browsers</title>
      <dc:creator>SkyJin</dc:creator>
      <pubDate>Sat, 12 Jul 2025 07:38:28 +0000</pubDate>
      <link>https://dev.to/skyjinxx/ipados-scribble-interfering-with-apple-pencil-canvas-drawing-in-web-browsers-3ba7</link>
      <guid>https://dev.to/skyjinxx/ipados-scribble-interfering-with-apple-pencil-canvas-drawing-in-web-browsers-3ba7</guid>
      <description>&lt;p&gt;&lt;em&gt;A debugging journey that led to an unexpected system-level solution&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Use Case
&lt;/h2&gt;

&lt;p&gt;I've been working on drawing directly on web pages using Apple Pencil on iPad. This approach has several advantages over traditional screenshot annotation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Persistent positioning&lt;/strong&gt;: Notes stay anchored to their location even when scrolling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic interaction&lt;/strong&gt;: Can switch between tabs to reference other content while keeping annotations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live web content&lt;/strong&gt;: Works with interactive elements and real-time updates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless workflow&lt;/strong&gt;: No need to manage separate screenshot files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is particularly useful for online whiteboards, web-based drawing applications, study materials, and any scenario where you want to annotate web content while maintaining full page functionality.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;While using Orion Browser (which supports Chrome extensions on iPad) with the Page Marker extension, I encountered a consistent issue: when drawing quickly with Apple Pencil, certain stroke patterns would have missing segments. Specifically, rapid "vertical-horizontal-vertical" strokes would consistently drop the third stroke.&lt;/p&gt;

&lt;p&gt;This made the drawing experience frustratingly unreliable, breaking the natural flow of handwriting and sketching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Initial Investigation
&lt;/h2&gt;

&lt;p&gt;I assumed this was a technical compatibility issue and investigated several potential causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Browser extension compatibility&lt;/strong&gt;: Orion's Chrome extension support might have limitations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Touch event throttling&lt;/strong&gt;: Mobile browsers might be dropping rapid touch events for performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apple Pencil gesture conflicts&lt;/strong&gt;: System-level gestures might be interfering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Canvas API limitations&lt;/strong&gt;: WebKit might have restrictions on rapid drawing operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The issue was consistent enough that I started planning to develop a custom Safari extension to work around these perceived limitations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Debugging Process
&lt;/h2&gt;

&lt;p&gt;I dove deep into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apple Pencil touch event handling in Safari&lt;/li&gt;
&lt;li&gt;iOS Safari extension development APIs&lt;/li&gt;
&lt;li&gt;Canvas drawing optimization techniques&lt;/li&gt;
&lt;li&gt;Touch event debugging using Safari's Web Inspector&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I even set up an Xcode project and began exploring the Safari Web Extensions framework, convinced I needed a native solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unexpected Discovery
&lt;/h2&gt;

&lt;p&gt;While testing different Apple Pencil settings during development, I discovered that &lt;strong&gt;disabling iOS Scribble completely resolved the issue&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This was surprising because I was drawing on Canvas elements, not text fields where Scribble would typically be expected to work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Happens
&lt;/h2&gt;

&lt;p&gt;Scribble operates at the iOS system level, monitoring Apple Pencil input globally across all applications and contexts. When it detects stroke patterns that might be handwriting, it intercepts the touch events for text recognition processing.&lt;/p&gt;

&lt;p&gt;The "vertical-horizontal-vertical" pattern I was drawing was likely being interpreted as potential text input (possibly the letter "H", number "4", or editing gestures), causing Scribble to capture the third stroke before it could reach the Canvas drawing API.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Settings → Apple Pencil → Scribble → Off&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This immediately fixed the dropped stroke issue, making Canvas drawing smooth and reliable.&lt;/p&gt;

</description>
      <category>ipad</category>
    </item>
    <item>
      <title>Rethinking Window Management: A Concept for an Infinite Canvas OS</title>
      <dc:creator>SkyJin</dc:creator>
      <pubDate>Thu, 10 Jul 2025 09:53:56 +0000</pubDate>
      <link>https://dev.to/skyjinxx/rethinking-window-management-a-concept-for-an-infinite-canvas-os-2gih</link>
      <guid>https://dev.to/skyjinxx/rethinking-window-management-a-concept-for-an-infinite-canvas-os-2gih</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; Hello everyone. I'm just a regular user who is very interested in productivity and the tools we use every day. This post is an attempt to document some of my personal thoughts and ideas about operating system window management. My analysis of different paradigms (like temporal vs. spatial ordering) might be flawed or imprecise. I'm mainly writing this down to capture an idea that I found interesting.&lt;/p&gt;




&lt;p&gt;We spend a significant part of our computing lives dealing with "windows." The act of switching between them is one of our most frequent operations. From the classic &lt;code&gt;Alt + Tab&lt;/code&gt; to macOS's Mission Control and Stage Manager, we seem to have plenty of options.&lt;/p&gt;

&lt;p&gt;But I've always felt that each of these methods has its own trade-offs, and none of them perfectly align with our brain's intuitive way of thinking. Recently, after using whiteboard software like Heptabase and Obsidian Canvas, and design tools like Figma, a concept began to take shape in my mind:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if all the windows on our desktop weren't a "stack of papers" we have to constantly shuffle through, but "cards" placed on an "infinite canvas"?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1: A Look at the "Logic" and "Pain Points" of Our Current Tools
&lt;/h3&gt;

&lt;p&gt;Before building up a new idea, I wanted to outline my understanding of our current window management methods:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Alt + Tab&lt;/code&gt; / &lt;code&gt;Command + Tab&lt;/code&gt;: The Logic of Time (Temporal Order)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Its core principle is "most recently used." The window you just left is always first in line. This makes it incredibly efficient for repeatedly switching between two apps.&lt;/li&gt;
&lt;li&gt;The pain point is just as clear: when you have a dozen windows open and need to find one you used five minutes ago, the process becomes a tedious memory game.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mission Control: The Logic of a Visual Overview&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With a single gesture, all windows are laid out for you to see. This is great for batch operations, like closing multiple windows or dragging one to a different virtual desktop.&lt;/li&gt;
&lt;li&gt;For me, however, the problem is the lack of order. The layout can change each time you trigger it, so I can't use my spatial memory to locate things. I have to visually scan and filter everything, every single time, which creates a high cognitive load.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Stage Manager &amp;amp; Tabs: An Attempt at Linear Order&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I've noticed that interfaces with tabs, like in a web browser or with plugins like Groupy 2 on Windows, provide a very clear &lt;strong&gt;one-dimensional spatial logic&lt;/strong&gt;. I can drag and drop to define that "Window A is to the left of Window B," and this order is fixed and user-controlled.&lt;/li&gt;
&lt;li&gt;macOS's Stage Manager is similar in spirit, creating a vertical list of windows on the side. This is an improvement over the chaos of Mission Control because it provides a fixed visual anchor. However, its order seems to be managed by the system based on recency, giving the user less direct control than traditional tabs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All these methods try to strike a balance between efficiency and intuition, but something always feels slightly off.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2: My Concept — The "Whiteboard OS"
&lt;/h3&gt;

&lt;p&gt;The core of this idea is to fundamentally change the desktop metaphor from a "stack of papers" to an "infinite canvas."&lt;/p&gt;

&lt;p&gt;In this "Whiteboard OS":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Everything lives on the canvas:&lt;/strong&gt; Your application windows, widgets, sticky notes, calendars... everything is an object on the canvas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixed relative positions:&lt;/strong&gt; Unless you intentionally move them, your "VS Code window" will always be below your "Browser window," and your "Terminal" will always be to the right of "VS Code." You can use your &lt;strong&gt;spatial memory&lt;/strong&gt; to navigate your workspace, just like navigating a familiar city.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infinite zoom and pan:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;You could zoom out to get a high-level view of all your tasks and their layouts. A "zoom-to-fit" button would be essential.&lt;/li&gt;
&lt;li&gt;You could zoom in to focus on one or two core windows for deep work.&lt;/li&gt;
&lt;li&gt;You could pan across the entire canvas by holding the &lt;code&gt;Spacebar&lt;/code&gt; and dragging the mouse, just like in Figma.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;New interaction models:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gestural navigation:&lt;/strong&gt; For example, a three-finger swipe could move a "selection frame" between windows on the canvas, following the direction of your swipe (up, down, left, right).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legacy support:&lt;/strong&gt; &lt;code&gt;Command + Tab&lt;/code&gt; could still be used for its original purpose: quickly toggling between the last two active windows without needing to look.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Creating relationships:&lt;/strong&gt; You could draw "lines" to connect related windows, forming a "project group." For instance, a web development project might involve VS Code, a terminal, a browser, design mockups, and a requirements doc. Connecting them would allow you to minimize or focus the entire group with a single click.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 3: Is This Realistic?
&lt;/h3&gt;

&lt;p&gt;I know this might sound like a daydream. Building a new OS from scratch is not feasible for an individual.&lt;/p&gt;

&lt;p&gt;But I realized this might not require a new OS. Instead, it could be a &lt;strong&gt;new Desktop Shell or Window Manager&lt;/strong&gt; running on top of an existing system, most likely &lt;strong&gt;Linux&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Of course, the challenges would be immense:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; Rendering dozens of live windows on a smoothly zoomable canvas would be graphically intensive (though Stage Manager proves real-time previews are possible).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interaction Design:&lt;/strong&gt; How do you elegantly select a tiny window when zoomed out? How do you design a "tidy up" function that doesn't destroy the user's mental map?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Ecosystem:&lt;/strong&gt; This is perhaps the biggest hurdle. Even if someone built this shell on Linux, how many of us would be unable to use it as our primary OS because the professional software we rely on (Adobe, Office, etc.) isn't supported?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;So, for now, this remains just a concept I wanted to document.&lt;/p&gt;

&lt;p&gt;It's an idea born from daily frustrations and inspired by modern tools. Documenting it is simply a way to give the thought a more concrete form.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>microsoft</category>
    </item>
  </channel>
</rss>
