Tmux را به سیستم عامل تبدیل کنید
آدرس مقاله: https://matduggan.com/what-does-my-dream-os-ui-look-like/ آدرس نظرات: https://news.ycombinator.com/item?id=49937540 امتیاز: 187 # نظرات: 115
من اخیرا سخنرانی اسکات جنسون را با عنوان "آیا ما واقعا برای همیشه از همان Desktop UX استفاده می کنیم؟" تماشا کردم. https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s. او یک مجری عالی است، واقعا گویا و مختصر است. اسپیکری که اگر فرصتی به شما داده شود، با کمال میل می توانید بیش از 3 ساعت به آن گوش دهید. که برای صحبت در مورد مدیریت پنجره کاملا قابل تحسین است.
نکته کلی بحث این بود که "اپل و مایکروسافت دیگر در فضای سیستم عامل دسکتاپ نوآوری نمی کنند، بنابراین تصمیم گیری در مورد اینکه دسکتاپ آینده چگونه خواهد بود به عهده همه ماست". من می توانم استدلال کنم که وضعیت واقعی بسیار ظریف تر از این است، آنها ایده هایی را امتحان می کنند که فقط بسیار محافظه کار هستند. همانطور که جنسون اشاره میکند، بسیاری از مواردی که ما به عنوان «نحوه کار رایانهها» در نظر میگیریم، راهحلی برای سختافزاری بود که سالها پیش دیگر از آن استفاده نکردیم. پس چرا ما هنوز آن مبادلات را می پذیریم؟
برای روشن شدن، من یک طراح UI/UX نیستم. من نمی دانم دارم چه کار می کنم و مهارت لازم برای این کار را ندارم. من این را بیشتر به عنوان یک تمرین فکری و امیدوارم که انگیزه ای برای ترغیب دیگران به فکر کردن در مورد همین مشکل ایجاد کنم. با این حال، من از انتخاب های بد دیگران رنج برده ام، که به نظر می رسد بیشتر مدارک مورد نیاز است.
TL;DR: چیزی که من می خواهم این است که "tmux is the OS" است، اما من tmux را می خواهم جایی که یک فرد معمولی بتواند از آن استفاده کند. من همیشه از آن استفاده میکنم، عالی است، اما آیا راهی وجود دارد که بتوان تجربه شگفتانگیز یک سیستم پیمایشپذیر، مستمر در جلسه، جداشدنی و وظیفهگرا را به افراد عادی منتقل کرد؟
من فکر می کنم شما می توانید مشکل را به اجزای زیر تقسیم کنید:
املاک و مستغلات صفحه نمایش من دائما در حال تغییر است و من تعداد زیادی از آن را دارم.
من حدود 6 بار در روز از صفحه لپ تاپ خود به مانیتور دسکتاپ خود به صفحه لپ تاپ برمی گردم. وقتی روی مانیتور بزرگ یا چند مانیتورم هستم، همپوشانی پنجره ها معنی ندارد زیرا فضای زیادی دارم.
افراد مختلف از ویندوز به طور کاملا متفاوت استفاده می کنند.
ما سه گروه متمایز از افراد داریم که میخواهیم آنها را طراحی کنیم، در حالی که اکثر سیستمعاملهای مدرن فقط برای اولین مورد بهینهسازی میشوند.
در سال 2026 همه بی سر و صدا موافق هستند که اکثر نرم افزارهای شما در برگه مرورگر اجرا می شود. این برنامه های کاربردی وب طیف گسترده ای از موارد استفاده را که در طول تاریخ متعلق به برنامه های محلی بوده اند، پوشش خواهند داد. سیستم عامل دسکتاپ من با یک مرورگر مانند یک برنامه معمولی رفتار می کند، در حالی که در واقع به یک سیستم عامل مجازی که در داخل سیستم عامل میزبان من اجرا می شود نزدیک تر است.
مفهوم "فایل سیستم" مفهومی است که به طور فزاینده ای ضعیف است.
یادداشت های من در Apple Notes متعلق به Apple Notes هستند نه سیستم فایل من. متون من در پایگاه داده iMessage قرار دارند، نه در پوشه Documents. تیمها و محتوای Slack در داخل آن برنامهها زندگی میکنند، مگر اینکه به صورت دستی آن را بیرون بیاورم، و وقتی این کار را انجام میدهم، یک کپی میسازم. فایرفاکس با خوشحالی یک پی دی اف را به من نشان می دهد، اما PDF با macOS زنده نمی ماند مگر اینکه اقدامی برای ایجاد آن انجام دهم.
بنابراین من اولین کسی نیستم که این مشکل را می بینم. برخی از آن حل شد، اما در جهتی متفاوت از آنچه من می خواهم. برخی از آن حل شد، اما برای افراد عادی نه.
من با سندی شروع کردم که مدام می دیدم بقیه به آن استناد می کنند. هندرسون، دی. آستین و استوارت کی. کارت. اتاق ها: استفاده از چندین فضای کاری مجازی برای کاهش اختلاف فضا در یک رابط کاربری گرافیکی مبتنی بر پنجره. ACM Transactions on Graphics (TOG) 5 (1986): 211 - 243. جالب است که حتی در دهه 80 درک کاملا واضحی وجود داشت که سیستم فعلی برای مدیریت ویندوز خیلی خوب نیست. طرحی که آنها در مورد آن صحبت می کردند چیزی شبیه به این بود که در مقایسه با جایی که ما هستیم بسیار پیشرفته است.
پنجره اندازه گیری شده هندرسون و کارت از روشی استفاده می کند که سیستم عامل ها حافظه را اندازه گیری می کنند. صفحه نمایش رم است. یک پنجره بسته صفحه ای است که با دیسک تعویض شده است. و پنجره ها، مانند صفحات حافظه، به طور تصادفی لمس نمی شوند: شما در یک مجموعه کوچک از آنها، دو تا ده، می نشینید، و این مجموعه وظیفه است. برنامهها حدود 98 درصد از زمان خود را در یکی از این مجموعهها صرف میکنند و تقریبا نیمی از هزینه اجرا در 2 درصد زمان صرف شده برای جابهجایی بین آنها اتفاق میافتد. کل طراحی اتاقها قبل از اینکه بخواهید، مجموعه بعدی را از قبل بارگذاری میکرد.
آنها این را به عنوان کاهش "عیب دانش در کاربر" توصیف کردند که بهترین عبارت در ادبیات است و من قصد دارم از آن استفاده کنم تا زمانی که کسی جلوی من را بگیرد. فقط آن را در یک جلسه شرکتی امتحان کنید: "ما باید خطای دانش در کاربر را کاهش دهیم".
یکی از مقالههای جانبی جالبتری که پیدا کردم، «هیچ وظیفهای باقی نمانده است؟ بررسی ماهیت کار تکه تکهشده» بود. لینک . بیشتر به این دلیل که چیزی را تایید میکند که مدتها به آن مشکوک بودم، که برای مدت طولانی تمرکز بر روی سیستمهای مدرن بیوه کردن، در واقع نحوه کار افراد نیست. عنوان مقاله همراه یک نقل قول واقعی از شرکت کنندگان است: "دیوانگی مداوم، ثابت و چند وظیفه ای." مردم هر روز در حدود ده «حوزه کاری» هر بار دقایقی را دزدی می کردند.
نزدیکترین چیزی که میخواستم از کاغذ WindowScape: A Task Oriented Window Manager است. لینک .
WindowScape گروه بندی صریح را به طور کامل حذف کرد، بنابراین اکنون هر بار که ترتیب را تغییر می دادید، عکس می گرفت و شما به جای پر کردن ظروف به داخل عکس ها باز می گردید. من عاشق تشخیص تک خطی آنها در مورد هر سیستمی هستم که قبل از آنها وجود دارد: "لزوم قرار گرفتن ویندوز در یک گروه واحد، کاربران را مجبور می کند زودتر تصمیم بگیرند که یک پنجره جدید به کجا تعلق دارد." استعاره عکس همچنین مشکلی را که من با برگههای مرورگر به آن برخورد خواهم کرد، برطرف میکند: یک پنجره میتواند در بسیاری از عکسها ظاهر شود، زیرا، همانطور که میگویند، "مردم میدانند که میتواند چندین عکس از یک شی وجود داشته باشد که فقط یک شی زیربنایی وجود داشته باشد.
نکته این است که عکسها تبخیر شدند. این شکافی است که فکر میکنم شما میخواهید آن را حل کنید.
برای اولین مشکل، ما کم و بیش قبلا برای همپوشانی پنجره ها حل کرده ایم. یک مدیر پنجره کاشی کاری تضمین می کند که شما در حال به حداکثر رساندن املاک صفحه نمایش خود هستید به گونه ای که می توانید بدون نیاز به تغییر دستی پنجره ها بین طرح بندی های مختلف جابجا شوید. اساسا 2 مشکل با کاشی کاری مدیران پنجره وجود دارد که اکنون وجود دارد.
مرورگرها به عنوان سیستم عامل های کوچک: مردم سعی کرده اند این را حل کنند، اما در جهت اشتباه. آنها مرورگر را بیشتر به یک سیستم عامل تبدیل کردند به جای اینکه محتویات آن را شهروندان درجه یک سیستمی کنند که قبلا دارید.
آنها همچنین اساسا مفهوم ویندوز را از سیستم عامل "در اختیار گرفتند".
نمودارهای بالا و یک نوشتن خوب از Arc در اینجا موجود است: https://blakecrosley.com/guides/design/arc.
همه اینها از منظر "مرورگر اکنون سیستم عامل است" منطقی است، اما من فکر می کنم این یک ایده اساسا ناقص است. اگر یک برنامه وب به عنوان یک برنامه کاربردی عمل می کند، باید پنجره خودش باشد. اگر مکمل برنامه دیگری باشد، باید یک پنجره مرتبط با برنامه دیگری باشد و اجازه داشته باشد که دارای برگه های زیادی باشد تا ایده مرورگر را به عنوان پورتالی برای همه تحقیقات و جستجو منعکس کند.
از گذر از پیشرفت تاریخی افرادی که سعی در حل این مشکل داشتند، شوکه شدم. من اولین کسی نیستم که سعی می کنم این مشکل را حل کنم، حتی ممکن است 10000 نفر هم نباشم.
بنابراین به وضوح متوجه می شویم که مشکلی وجود دارد. چرا اینها مثل آتش از زمین بلند نشده اند؟ من فکر می کنم چند مشکل مختلف در اینجا وجود دارد.
تایم لاین برای شرکت در گزارشدهی فعالیت به برنامهها نیاز داشت و اکثر آنها هرگز این کار را نکردند. همچنین همه چیز را ثبت کرد که بهعنوان ترسناک خوانده میشد (که مشکلی است که ایدهی من نیز وجود داشت)، و رابط کاربری ویژگیهای Edge را که هیچکس نمیخواست، ظاهر شد، بنابراین احساس میشد که مرورگر بیشتر از یک ویژگی فشار میآورد. ست ها در جایی بین استراتژی داخلی و هرج و مرج سازگاری با برنامه از بین رفتند، جایی که سوال جالب این است که چرا هیچ کس آنقدر با صدای بلند آن را درخواست نکرد تا آن را ذخیره کند. مدیر صحنه سعی کرد جهانی باشد و هیچ کس را راضی نکرد. «فعالیتهای KDE» یک «opt-in» است، و «opt-in» به این معناست که افرادی که بیشتر به آن نیاز دارند، هرگز آن را پیکربندی نمیکنند.
الگوی موجود در گورستان: ایده ها اشتباه نیستند، آنها فقط پیش فرض نیستند، یا در سطح سیستم عاملی که می توانند همه برنامه ها را ببینند انجام نشده اند. هر چیزی که می خواهم باید ساختاری باشد.
من از 23 سپتامبر ده ها سند را باز، دانلود و ایجاد کرده ام (این را در 28 سپتامبر می نویسم). من حتی یک سرنخ لعنتی ندارم که MacOS چگونه این پنجره را پر می کند. شاید خرابه شاید طبق معیارهایی که من نمیفهمم، طبق خواسته کار میکند.
اما ایده اینجاست. ایدهآل این خواهد بود که «در سراسر رایانه و برنامههای من، فایلهای اخیری که با آنها تعامل داشتهام چیست» و آن را گسترش دهید تا شامل ایمیلها و Teams/Slacks و همه چیز شود. من باید بتوانم همه چیز را در دستگاهم ببینم، در آن جستجو کنم و اهمیتی نداشته باشم که در Slack یا iCloud یا هر چیز دیگری ذخیره شده است. تک جداره شیشه.
مایکروسافت آن را امتحان کرد، مردم آن را دوست نداشتند، اما من فکر می کنم این مفهوم منطقی است.
پس چه چیزی تغییر کرده است؟ چرا ممکن است بتوانیم این مشکل را اکنون در حالی که قبلا بسیار پیچیده بود، برطرف کنیم؟ این جایی است که فکر میکنم یک LLM محلی ممکن است منطقی باشد، اگر بتوانید راهی برای انجام آن بیابید، جایی که مشکلاتی بیشتر از حل آن ایجاد نمیکند.
بنابراین ما در اینجا به چه چیزی نگاه می کنیم. مفهوم سازماندهی آن حول ایده وظایف است. هنگامی که یک کار را تعریف می کنید، این به شما امکان می دهد تمام پنجره ها را با هم سازماندهی کنید، از جمله برگه های خاص مرورگر جدا شده و مرتبط با کار، نه با مفهوم "مرورگر". شما هنوز از انعطاف پذیری تعریف نگرش پذیرهایی که خارج از نمای دقیق کاشی کاری وجود دارند برخوردار هستید.
دسکتاپ یک بوم بی نهایت است. هر صفحه نمایش فیزیکی یک دریچه دید روی آن است.
شما در نهایت با "قرارداد انتقالی" زیر مواجه خواهید شد تا مشکل اولیه من "در مورد بسیاری از مانیتورها/مانیتورهای جدید چه می شود" را حل کنید.
سیستم عامل در نهایت یاد می گیرد که کدام مانیتور کانونی است. صفحه نمایشی که در 90 درصد مواقع کلیدها را دریافت می کند کانونی است. پنجره هایی که قابل مشاهده هستند اما به ندرت فوکوس دریافت می کنند قابل مشاهده هستند. این از تله متری فوکوس قابل استنباط است و نیازی به ردیابی چشم یا پیکربندی ندارد. و هنگامی که صفحه لپ تاپ کوچک است، به جای کاشی های کامل، به یک نوار نازک نگاه می شود که دقیقا همان کاری است که tmux قبلا انجام می دهد.
یک بستر که سه نوع کاربر ما را پوشش می دهد. ماکزیمایزرها، نزدیک به بیشینه سازها و هماهنگ کننده ها را به خاطر دارید؟ روی بوم آنها فقط تعداد ستون ها هستند. ماکسیمایزر یک ستون با عرض کامل است. یک نزدیک به حداکثر یک ستون به اضافه نوار نگاه است. یک هماهنگ کننده N ستون است. هیچ کس به هیچ کاری مجبور نمی شود. به همین دلیل است که طراحی می تواند یک پیش فرض باشد که در آن فعالیت های KDE یک اولویت بود. این به این دلیل است که زیرلایه سبکی را تحمیل نمی کند، فقط از تنبیه هر سبکی که قبلا دارید متوقف می شود.
حریم خصوصی به یک پرچم درجه یک تبدیل می شود که توسط دولت ماشین هدایت می شود. خصوصی یک ویژگی یک پنجره یا برگه است، نه یک منطقه از صفحه. محتوای خصوصی مسدود می شود مگر اینکه دستگاه بتواند ایمنی را تضمین کند. قانونی که به قیمت ایده بد مورد علاقهام (داستان زیر) به آن رسیدم: وضعیت حریم خصوصی را از حقایق قابل مشاهده توسط ماشین مانند نمایشگرهای متصل، یا جلسات ضبط فعال و هرگز از حالتهای انسانی استنباطشده مانند توجه یا بیکاری استخراج کنید.
به یک صفحه نمایش جدید متصل شوید و به طور پیش فرض یک صفحه نمایش "آماده برای ارائه" دریافت می کند. شما به صراحت آن را هدف قرار می دهید: این کار، این پنجره، یا بوم را گسترش دهید. نمایشگرهای شناخته شده از رقص رد می شوند. اشتراکگذاری صفحه همان رویداد بدون کابل است. اگر در باز نشد نیازی به نظم و انضباط مدل ندارید و اگر پیش فرض نشت نکند نیازی به حافظه ندارید.
هیچ کدام از اینها عجیب و غریب نیست. نمای ارائهدهنده اصلی اپل به مدت بیست سال همراه با اسلایدهای روی پروژکتور، یادداشتهای روی صفحه نمایش شما ارسال میشود. اپل هرگز این الگو را به سیستم عامل ارتقا نداد، حتی اگر منطقی باشد. من نمای ارائه کننده را به عنوان یک دسکتاپ ابتدایی می خواهم.
برگه های مرورگر به پنجره های واقعی جدا می شوند و به هر کاری که به آن تعلق دارند می پیوندند. "مرورگر" دیگر جایی نیست که ویندوز زندگی می کند.
همه اینها تا زمانی که به "چگونه این چیزها را حول وظایف سازماندهی می کنید" منطقی است. من فکر می کنم برای کاربران متخصص تر آنها قادر به انجام این کار خواهند بود، اما بخشی از مشکل این است که ما نمی خواهیم آنها هرگز مجبور نباشند دوباره در یک فایل پیکربندی رها شوند. ماوس و کشیدن وسایل به اطراف برای اینکه چگونه این کار را انجام دهد خیلی سخت است. در حالت ایدهآل، من باید بتوانم چیزی را بپرسم که به اطلاعات موجود در هر یک از این برگهها و پنجرههای مرورگر دسترسی داشته باشد و به من کمک کند آن را در یک جریان منطقی سازماندهی کنم.
من آن را "همپوشانی زلزله" می نامم، زیرا من پیر هستم و ایده ورودی متنی که از بالا با یک میانبر جهانی وارد می شود، همیشه برای من کرکره ترمینال زلزله بوده است. جوانترها همین الگو را از پوشش Discord میدانند، که من تصمیم گرفتهام از آن عصبانی نباشم. با این حال در نمودار قبلی به عنوان یک جعبه دوستانه تر "Ask" نشان داده شده است.
اما جریان اصلی این است که شما از LLM بخواهید که در سازماندهی به شما کمک کند، با جستجوی اطلاعات از طریق یک سرور MCP محدود با یک لیست فعل مجموعه، به شما نشان میدهد که به چه چیزی فکر میکند و سپس پیشنمایشی از ظاهر طرحبندی به شما میدهد. مدل هرگز مستقیما مدیر پنجره را لمس نمی کند. پیشنهاد می کند و شما y را فشار می دهید.
مردم به ندرت کارهای کاملا جدید را انجام می دهند: یک طراح گرافیک زندگی خود را در "باز کردن فایل ها از فضای ذخیره سازی شبکه، ایجاد تغییرات، ذخیره خروجی، چسباندن در چت، تکرار" می گذراند. مردم به ندرت در زمینه های جدید نمایش می نشینند: فقط لپ تاپ، میز، اتاق کنفرانس. مردم به ندرت نمایشگرهای رمان را وصل می کنند. تازگی در همه جا نادر است، بنابراین دستگاه گران قیمت یک بار طبقه بندی، پیشنهاد، پیش نمایش، تأیید فقط به ندرت اجرا می شود، و همه چیز در این بین پخش مجدد قطعی است. شما یک بار یک سری وظایف محدود را سازماندهی می کنید و برای همیشه از آنها استفاده می کنید.
بلیط ها را بررسی کنید، Vim و یک مرورگر را باز کنید، بلیط را کار کنید، به روز رسانی را بنویسید، روابط عمومی را باز کنید، آن را برای بررسی پست کنید، بلیط بعدی. میتوانید پیکربندی را به کابوس JSON تبدیل کنید و دیگر به آن اهمیت ندهید، زیرا تنها خواننده مورد نظر مدلی است که برایش مهم نیست. فایل پیکربندی دیگر رابط نیست.
بزرگترین مشکل در اینجا حافظه فضایی خواهد بود. مردم درک می کنند که اشیا در کامپیوترشان کجا با یکدیگر ارتباط دارند و اگر تغییر کنند دوست ندارند. به این فکر کنید که "اگر آمدم و میز فیزیکی شما را با جابجایی وسایل و تنظیم صندلی شما خراب کردم". بنابراین من گمان می کنم که شما نیاز به اجرای یک مدل سختگیرانه "پیوست، جایگزین نکنید" داشته باشید.
در واقع یک نام برای این وجود دارد. کیرش و ماگلیو آن را کنش معرفتی می نامند، که در آن بازیکنان تتریس بیشتر از نیاز بازی مهره ها را می چرخانند، زیرا چرخش نحوه تفکر آنها در مورد قطعه است. پیوند طرحبندی پنجره شما در حال انجام است. کمکی که در اواسط فکر آن را "بهینه سازی" می کند، حرف شما را قطع می کند.
این مشکلی است که من با امتحان کردن این ایده با آن مواجه شدم. LLM های مدرن در واقع در "این چیزها را لمس نکنید، هرگز آن چیزها را لمس نکنید" خیلی خوب نیستند. بنابراین مشخص نیست که آیا این یک ایده واقعی است یا نه. یک راه حل خسته کننده: LLM پیشنهاد می کند، کد قطعی احمقانه اجرا می شود، و مجری از لمس هر چیزی که پین شده است خودداری می کند. اگر در باز نشد نیازی به نظم و انضباط ندارید.
شما هنوز به یک عنصر رابط کاربری سطح بالا برای کاربران نیاز دارید و من فکر میکنم این جایی است که مفهوم جامعتر فایل سیستم میتواند وارد شود.
اکنون وظایف تقریبا با دایرکتوری ها قابل مقایسه هستند. اما همه چیز از مفهوم سطح بالای اولیه "وظایف" سرچشمه می گیرد و سپس به چیزهای فردی سرازیر می شود. یک برنامه هرگز کار نیست. این یک "پنجره چت، یک مرورگر، شاید پیش نمایش" است. آیا می توانیم سعی کنیم آن را بسازیم؟
بنابراین امید من این بود که در اینجا بتوانم یک نمونه دسکتاپ لینوکس را پست کنم. اما همانطور که مشخص است (غیرقابل تعجب) ساختن چیزی شبیه به این اجرا اصلا پیچیده است. برخی از ایدههای زیربنایی به خوبی کار میکنند (میانبر ترمینال جهانی کشویی از بالا، کاشیهای قابل پیمایش)، اما هنوز هم بسیار بد است. من به کار کردن روی آن ادامه میدهم و ببینم آیا میتوانم چیزی را بهعنوان نسخهی نمایشی اجرا کنم، بنابراین اگر علاقهمند هستید، مرا به یک RSS Reader اضافه کنید یا فقط... منتظر بمانید.
به منظور افشای کامل، فکر میکنم برای اجرای یک نسخه نمایشی کاربردی، آخر هفتههای زیادی طول میکشد. پس من تمام تلاشم را می کنم، اما صبور باش.
بنابراین در تلاش برای راهاندازی و اجرا در یک VM لینوکس، بلافاصله با مشکلات منطقی جدی در طراحی خود مواجه شدم. فکر میکنم خواندن شکستها بیشتر از موفقیتها جالب است، پس بیایید در مورد آنها صحبت کنیم.
نمیدانم این ایده اساسی ایده خوبی است یا نه، اما اینکه منتظر ماندن MacOS و Windows برای انجام کاری بهتر یا جالب در این فضا نباشید و تصمیم بگیرید خودتان آن را امتحان کنید، رهایی بخش است. قبرستان آن بالا مملو از ایده های خوب است که از توزیع مردند. ما برای یک آزمایش رادیکال که به صورت پیش فرض ارسال می شود به تاخیر افتاده ایم.
چشمگیرترین بخش کل این تجربه این بود که طراحی اصلی پنجره های همپوشانی تا چه حد یک هک برای دور زدن محدودیت های سخت افزاری اساسی بود و چقدر پس از راه اندازی آن مردم به وضوح مشکلات را مشاهده کردند. من تعجب می کنم که چقدر این اتفاق در فناوری می افتد، جایی که شما مشکلی را می بینید، مقالات دانشگاهی در مورد آن مشکل را جستجو می کنید و فقط حجم عظیمی از اطلاعات را از افرادی پیدا می کنید که می گویند "اوه بله، این 100٪ یک مشکل است و ما باید به زودی آن را حل کنیم". شاید این پست الهام بخش کسی باهوش تر از من باشد تا در نهایت آن را حل کند.
متن اصلی (انگلیسی)
Make Tmux the OS
Article URL: https://matduggan.com/what-does-my-dream-os-ui-look-like/ Comments URL: https://news.ycombinator.com/item?id=49937540 Points: 187 # Comments: 115