[مراجعة تحليلية] سلبيات واجهات الاستخدام في أنظمة التشغيل
شخصياً أجد واجهات الاستخدام اليوم قديمة من ناحية الأفكار التي تعتمد عليها، أول نسخة من ماك هي نفس آخر نسخة من ماك، مع فرق التطور في أمور كثيرة، لكن الأساس هو نفسه لم يتغير، مفهوم سطح المكتب يستخدم منذ ما يزيد عن ٣٠ عاماً الآن.
وكنت أعلم جيداً أنني سأجد من يتحدث عن لينكس ليقول ما قلته حول تعديل لينكس، هذا لا يعني الكثير حقيقة، مستخدمي لينكس لا زالوا قلة مقارنة بمستخدمي ماك وويندوز، يزداد عددهم، يتحسن لينكس وأجده أفضل من ويندوز، لكنه لا زال قليل الانتشار مقارنة مع ويندوز، وما تقوله أننا تعودنا هو المشكلة في رأيي، لأن هذا التعود يجعل الأفكار المنثورة في أبحاث كثيرة غير مألوفة ولا يستطيع البعض تخيلها ما لم تطبق عملياً ويستخدمها لفترة كافية لكي يفهمها.
بخصوص نظام الملفات، ما أعنيه هنا هي الواجهة الرسومية، أسفل هذه الواجهة وتقنيات النظام ولا يهمني لا يهتم بها المستخدم، بالنسبة لمعظم الناس واجهة الاستخدام الرسومية هي كل شيء، وأعني بنظام الملفات هي تلك البرامج التي تتعامل مع الملفات، مدير الملفات أو File manager، في ويندوز File Explorer وفي ماك Finder، وكذلك سطح المكتب لأنه مكان لوضع الملفات، هذا ما يتعامل معه المستخدم.
وبخصوص تسمية الملفات، هي مشكلة يفترض ألا تكون موجودة في الأصل، يمكن لمطوري أنظمة التشغيل وواجهات الاستخدام الرسومية أن يجنبوا المستخدم هذه المشكلة، ودعني أسألك، هل رأيت حواسيب الناس؟ لا أعني المبرمجين ومحترفي استخدام الحاسوب وأمثالهم، بل عامة الناس، من يستخدمها لأمور يومية، شخصياً رأيت العديد من هذه الحواسيب والطابع العام لها أنهم يضعون ملفاتهم على سطح المكتب، ولا يختارون أسماء جيدة لها ولا ينظمونها، بل رأيت من لديه ٣ صفحات لسطح المكتب، خاصية لم أكن أعرف أنها متوفرة في ويندوز.
حفظ الاسم تلقائياً يمكن أن يكون بدون أي مشكلة ذكرتها، أن يتطلب اسم الملف كلمات بلا فراغات فهذه مشكلة في أنظمة التشغيل، ألا يستطيع التعامل مع حروف لغات مختلفة فهذه مشكلة نظام التشغيل، أما مكان الحفظ، فهذه مشكلة وجدنا حلولاً لها في شبكة الويب، عندما ترفع صورة إلى فليكر فهي موجودة أمامك في أول صفحة، رفعت ٢٠ صورة ستجدها مرتبة بحسب وقت رفع الصور، كتبت وثيقة في غوغل درايف ستجدها في غوغل درايف وغالباً في أعلى قائمة الملفات، لم لا يمكن فعل ذلك في أنظمة التشغيل؟ ليس لأن ذلك صعب أو مستحيل بل لأننا ما زلنا نتعامل معها بنفس العقلية التي طورتها قبل ٣٠ عاماً.
التصنيفات ليست معقدة، وتعديل نظام الملفات ثمن يستحق أن يدفع ... هذا إن كان ذلك ضرورياً، أذكر تجارب في واجهة جنوم لنظام لينكس لتطبيق هذه الفكرة، التصنيفات تستخدم اليوم في كثير من خدمات الويب، فليكر يستخدمها منذ ٢٠٠٤ كما أذكر، موقع ديليشس لحفظ الروابط يستخدمها قبل فليكر، الفكرة معروفة ولا أدري ما الذي يؤخر مايكروسوفت وأبل ومجتمع لينكس من تطبيقها.
روابط symlink تتيح لك وضع ملف في مكانين، كيف ستضع عشرات الملفات في مئات الأماكن؟ هذا حل غير عملي، التصنيفات كما في خدمات الويب أبسط.
سأطلع على JoilOS، أعرفه لكن لم أتابعه، لاحظ أنني لا أبحث عن حل لنفسي، أنتقد لأنني أجد مشكلة في أنظمة التشغيل ولن أتوقف حتى تتغير هذه الأنظمة، لو وجدت حلاً لنفسي فلن أتوقف لأنني أريد من الناس أن يدركوا أن ما يستخدمونه ليس فعالاً وهناك أفكار أفضل، أريد أن أقنعهم بهذا.
بخصوص الفأرة ولوحة المفاتيح، لا أرى فيهما مشكلة، حتى الآن لا أجد شاشات اللمس تغني عنهما، وتقنية Leap أعجبتني لكنني لا يمكنني الحكم عليها ما لم أجربها، وهي قد تغني عن الفأرة لكنها لن تغني عن لوحة المفاتيح.
لا بد أن يكون هناك برنامج ليتعامل مع نظام الملفات وينشئ الملفات ويعدلها.
صحيح، لذلك ما أقترحه هو أن يكون هذا البرنامج جزء من نظام التشغيل نفسه، زر صغير في زاوية الشاشة واسمه "ملف جديد ..." يمكنه أن يكون وسيلة لإنشاء الملفات الجديدة، على افتراض أن البرامج تدعم هذه الخاصية، ونظام الملفات أو مدير الملفات يتعامل مع كل الخصائص الأخرى، كالحذف والنقل والترتيب وعرض الملفات بالطريقة المناسبة للمستخدم، كل هذه الخصائص يجب ألا تكون موجودة في البرامج، البرنامج وظيفته التعامل مع المحتويات فقط.
لا بأس بالحديث النظري، هذا كل ما أريده لأنني لا أبحث عن حل لنفسي كما ذكرت في ردي السابق، لينكس أستخدمه وأعرفه جيداً وأعلم أنه ليس الحل، وإن كنت أفترض أنني إذا أردت برمجة واجهة استخدام سأعتمد على نواة لينكس وبرامجه كأساس، لكن إلى ذلك الوقت ليس لدي سوى الكلام النظري وربما تطبيق عملي ببرمجة نموذج اختباري من خلال Node-Webkit، ولا أظن أن مايكروسوفت أو أبل أو حتى مجتمع لينكس لديه الرغبة في أي تغيير، أدرك كل هذا، لذلك النقاش نظري الآن ولا بأس بذلك.
ما هو الحل الأكثر عملية من نظام التصنيفات (Tags)؟ إن كان هناك شيء آخر فأخبرني لأنني إن اقتنعت به سأكتب عنه وأدعوا لاستخدامه، حالياً نظام التصنيفات أجد حلاً عملياً خصوصاً أن كثيراً من الناس يعرفون استخدامه في تويتر وإنستغرام وفليكر وفايسبوك وغيرها من المواقع.
كمستخدم قد تحتاج للتصنيفات الكثيرة لأن حياتك فيها الكثير من التفاصيل، قد لا تحتاج أنت لذلك لكن لا شك لدي أن هناك أناس يرغبون بذلك، والأخ خالد الشقروني وضع رابطاً في رده هنا لمدير ملفات يستخدم التصنيفات، بالتالي هناك أناس يستخدمون مثل هذا البرنامج لكي يجدوا حلاً مختلفاً لما توفره أنظمة التشغيل.
نظام JoilOS ونظام كروم، كلاهما نظام تشغيل بواجهة ذات أفكار تقليدية، بعد أن أطلعت على الأول وأعرف الثاني أجد الاختلاف أنهما يستخدمان تقنيات الويب لمحاكاة سطح المكتب وهذه فرصة ضائعة لكليهما لأنهما يستطيعان تقديم المختلف عن المألوف.
أما لينكس، فكما ترى، لا أبحث عن حل لنفسي، أريد حلاً للناس وليس لي فقط، على الأقل تطبيق قابل للعمل على ماك وويندوز وربما لينكس، لا أستطيع فعل ذلك الآن، لذلك الكلام نظري إلى أن أستطيع البرمجة وأصنع ما أريد، إلى ذلك الوقت، النقاش حول هذه الأفكار والإمكانيات سيكون مفيداً للبعض، على الأقل لتغيير الوعي بما نستخدمه اليوم.
بالمناسبة، هناك حل جذري لكن لن يقبله كثير من الناس خصوصاً محترفي استخدام الحاسوب، الحل هو إلغاء نظام الملفات - كواجهة - وإلغاء فكرة التطبيقات كذلك، لتصبح المحتويات هي الأساس، والواجهة تعمل بنظام التقريب أو ZUI وهذه تعني Zoomable User Interface، إن كان هناك ملف نصي مثلاً، يعرض كمستطيل طويل، تقترب منه لتقرأ محتوياته ولتحريرها، وتبتعد عنه لتغلقه، هذه الفكرة مختلفة كلياً عن واجهة الاستخدام التقليدية، لكن لكل حادث حديث، لدي مقالة حول هذه الواجهة لاحقاً.
أعجبتني الأفكار. الكثير منها يحتاج إلى تمكين من النظام وإيجاد سبل لتشارك البيانات بين النظام والتطبيقات.
في ويندوز يوجد نظام لتصنيف الملفات عبر الوسوم tags ولكنه بسيط جدا.
توجد بعض التطبيقات لإدارة الملفات تعتمد على وسم الملفات أنظر مثلا:
سأحاول تطبيق بعض هذه الأفكار في برامجي.
يجب أن نتخلّص من قيود خبرة السنوات السابقة عن كيفيّة استخدام الحاسوب وبرامجه؛ حتى نستطيع أن نبتكر طرق أخرى جديدة.
الأفكار بحاجة لبعض التغييرات التي يتفق عليها مصنعي الأنظمة والبرامج، لكي تتعامل البرامج مع المحتويات فقط وتحفظها تلقائياً ويتعامل النظام مع الملفات وكما قلت، إيجاد طرق للتشارك بالبيانات بين النظام والتطبيقات، كل هذا يمكن فعله.
خاصية ويندوز لتصنيف الملفات عبر الوسوم، هل من رابط؟ لأنني لأول مرة أسمع عنها وأود رؤيتها.
شكراً على رابط ذلك البرنامج، أدرك وجود برامج مثل هذه، ما أقوله أن هذا هو عمل نظام التشغيل نفسه.
بالتوفيق، لدي مزيد من المقالات حول نفس الموضوع، سأضعها هنا في أريبيا، أتمنى أن تجد فيها فائدة.
أوافقك، هذه هي رسالتي، قد لا تكون الحلول التي أطرحها عملية أو مفيدة، وهذا لن يغير حقيقة أننا نستخدم الحاسوب بنفس الأفكار منذ عقود.
خاصية ويندوز لتصنيف الملفات عبر الوسوم، هل من رابط؟
حديث ذو شجون :)
بصراحة، ليست من أنصار التغيير لمجرد التغيير، ولا أرى ضيراً في أن يكون التغيير في واجهات الاستخدام مبنياً على معارفنا وخبراتنا السابقة، تخيل أن تجد نفسك مضطراً للتعلم من الصفر مثلاً كلما ظهر إصدار جديد من برنامج معين أو نظام تشغيل معين. هذا من حيث المبدأ، لكني أتفق معك في كل ما ذهبت إليه إجمالاً، وهذه بعض الحلول التي ألجأ إليها عادة لمواجهة بعض المشكلات التي طرحتها أنت:
فيما يتعلق بتسمية الملفات وحفظها، لاحظ أننا نتحدث هنا عن الملفات النصية فقط (الوثائق والمستندات)، دون الصور والوسائط المتعددة، شخصياً لم أعد أستخدم شيئاً من محررات النصوص والمستندات المألوفة تقريباً، وأصبحت أدون كل ما أريد تقريباً في برنامج تدوين الملاحظات Zim المتوفر في مستودعات لينكس النظامية. اطلع عليه وجربه.
واجهة لتصفح الملفات بغض النظر عن بنيتها الهيكلية: كنت قد أعددت هذا العرض التقديمي قبل بضع سنوات في الجامعة لتسليط الضوء على هذه المشكلة والحلول المتوفرة لها في لينكس:
، لا أدري إن كانت هذه الحلول قد شهدت تطوراً الآن، ولعل أحداً من القراء يفيدنا بشأنها.
- بخصوص التصنيفات، ثمة حل بدائي جداً بهذا الشأن، وهو ميزة الوسوم البصرية Emblems المضمنة في مدير الملفات Nautilus، ومرة أخرى هو حل بدائي جداً لا يمكن التعويل عليه.
أعرف Zim وسبق أن جربته لأشهر، لم أثبت عليه، أصبحت أعتمد على الورق وأجد راحتي فيه، فكرة قاعدة البيانات كنظام ملفات تعجبني وتذكرني بمنتج من أبل وهو أبل نيوتن حيث كان يستخدم هذه الفكرة وكان ميزة فريدة له ولا زالت وأعجب كيف لم تستفد أبل اليوم من أفكار نيوتن.
لست من محبي التغيير كذلك، ما حدث في أوبونتو مثلاً من الانتقال إلى يونتي والتخلي عن جنوم كان سبباً كافياً لتركه، لم أكن أرغب في هذا التغيير لأنه لم يكن ضرورياً في رأيي، أما ما أطرحه في المقال فهي أمور أرى أنه من الضروري أن تتغير.
هناك أمورٌ أشكلة علي:
هل النظام(مستعرض الملفات) مسؤول عن الواجهة التي تعرض الملف أو تعدله؟
ما هي مسؤولية البرنامج هل يتحكم في الواجهة أم لا يتعدى طبقة البيانات؟(مثل مكتبات تحرير ملفات PDF)
كيف يتعرف النظام على أنواع الملفات التالية (الصور، الأصوات، الفيديو، المستندات) بدون اسم؟
كيف يتصرف النظام مع الملفات المجهولة خصوصا غير (الصور، الأصوات، الفيديو، المستندات)؟
كيف يتمدد النظام في دعمه للأنواع الجديدة؟
-
أعجبتني فكرة التصنيفات Tags
"أشكلت" وليس "أشكلة" :-)
بعض هذه الأسئلة سأجيب عنها في مقال لاحق، لذلك أطلب منك الانتظار إلى أن أنشر ذلك المقال، لكن هذه إجابات مختصرة:
مستعرض الملفات وظيفته عرض الملفات وترتيبها بالطريقة التي يريدها المستخدم، أعني هنا "إيقونات" الملفات وأسمائها وبدرجة ما محتوياتها، الصورة مثلاً تعرض كصورة، ملف الفيديو يعرض كصورة فيها زر "<" لتشغيل الفيديو، كذلك الملف الصوتي، ملف PDF يعرض الصفحة الأولى كما تفعل أنظمة التشغيل اليوم، وهكذا، وفي نفس الوقت يمكن لمستعرض الملفات أن يعدل الملف إن كان بسيطاً، مثلاً ملف نصي، صورة تحتاج لتعديلات بسيطة، عرض ملف فيديو بحجم أكبر، هذه مهمات بسيطة يفترض ألا تحتاج لبرامج منفصلة، وبالمناسبة Finder في ماك يطبق هذه الخصائص لكنه لا زال يعرض الملفات بأسلوب تقليدي، مجلدات وملفات، ليس هناك مرونة أكثر لتقديم وسائل عرض مختلفة، مثل الترتيب الزمني أو الترتيب حسب التصنيفات أو حسب نوع المحتويات.
لم أفهم سؤالك الثاني، أرجو التوضيح.
سيكون هناك اسم للملفات، لم أقل أن الملفات يجب أن تحفظ بلا اسم، وبالمناسبة ما أدعو له هو الفصل بين نظام الملفات كتقنية يحتاجها النظام للتعامل مع المحتويات وواجهة نظام الملفات التي يتعامل معها المستخدم، البرامج ستحفظ المحتويات في ملفات، إن كان الملف نصياً سيكون أول سطر فيه أو جزء منه هو اسم الملف، الصور والصوتيات والفيديو محتوياتها هي اسمها، الصورة قد يكون اسمها 00000SC.jpg لكن المستخدم يفترض ألا يحتاج لهذا الاسم وبالتالي لا يجب أن يراه، الاسم ضروري للنظام فقط، المستخدم يرى الصورة نفسها، كذلك الحال مع ملفات الفيديو والصوتيات وبدرجة ما المستندات.
لن تكون هناك ملفات مجهولة.
النظام يمكنه أن يدعم ملفات جديدة بوضع معيار قياسي لذلك، مثلاً المستخدم ثبت برنامجاً للتصاميم الهندسية، هذا البرنامج يفترض أن يخبر النظام بهذا النوع الجديد من الملفات وأنه المسؤول عن محتوياتها.
مرة أخرى، هناك كثير من التفاصيل التي سأكتب عنها لاحقاً في مقال آخر، هذا المقال الآن هو بداية سلسلة.
"أشكلت" وليس "أشكلة" :-)
جزاك الله خيرًا على التنبيه ^-^
-
الاسم ضروري للنظام فقط
سبب إعتماد النظام على الاسماء هو المستخدم
فإذا استغنى المستخدم عن الاسم سيتعمل النظام معه بالمعرفات(ID)
-
لم أفهم سؤالك الثاني، أرجو التوضيح.
هل الواجهة موحدة للصور مثلا والبرامج مسؤولة عن فك تشفير الملف فقط؟
وإذا كان الواجهة موحدة هل يمكن إضافة ميزات لها
-
لن تكون هناك ملفات مجهولة.
وضح لم أفهم؟
يمكن أن تكون الوسيلة هي المعرفات، ولست أقول أن المستخدم سيستغني عن الاسماء، سأعطيك مثال، ينقر المستخدم على زر "ملف جديد .." ثم يختار "وثيقة نصية" فتظهر له نافذة المحرر النصي، يكتب في أول سطر مثلاً "ملخص كتاب كذا وكذا" ثم يكتب ملاحظاته ويغلق البرنامج، في هذه اللحظة يحفظ البرنامج هذا الملف النصي باسم "ملخص كتاب كذا وكذا" ومستعرض الملفات يعرض الملف في أعلى القائمة، هناك اسم للملف، لكن المستخدم لم يختره ولم يحتج حتى لحفظ الملف.
الواجهة موحدة، ربما ... لم أفكر بالتفصيل هنا، لذلك أرجو انتظار مقالاتي القادمة.
الملفات غير المتعلقة بالمستخدم لن تظهر له، أي ملفات لا علاقة لها بما ينتجه المستخدم ستكون مخفية عنه، بالتالي لن تكون هناك ملفات مجهولة للمستخدم.
منذ بضعة أيام كنت أشاهد هذا الفيديو عن نظام Haiku الذي ما يزال في مراحله البدائية، النظام يستمد أفكاره من نظام قديم اسمه BeOS لم يكن مفتوح المصدر، ويهدف لأن يكون متوافقًا معه على مستوى التطبيقات في المراحل الأولى. لفت نظري حديث المطوّرين عن نظام الملفّات، فهم يهدفون إلى جعله قابلاً للاستعلام بطريقة تشبه قواعد البيانات (Query)، وبحيث يمكنك تصنيف الملفات بعلامات أو وسوم (labels) والبحث عنها بسهولة بالإضافة لكون أنواع الملفات نفسها قابلة للاستعلام، وأما البرامج فتطلب من نظام الملفات هذه المعلومات لتعمل عليها، كبرنامج الصور مثلاً يستعلم عن ملفات الصور ليعرضها للمستخدم أو يعدّلها. الأمر ليس ثوريًّا فهو مطبّق إلى حدّ ما في معظم الأنظمة، لكنه هنا يحدث على مستوى نظام الملفّات نفسه دون الحاجة إلى برامج إضافية في طبقة الواجهة. ها هو الفيديو:
أعرف نظام BeOS ونظام هايكو ولا أوافقك بأنه في مراحل بدائية بل وصل لمراحل متقدمة ويقترب كثيراً من وصوله إلى مرحلة يمكن استخدامه بشكل يومي، وكما أعلم نظام بي أو هايكو يعامل كل شيء على شكل ملفات، وبالتالي تستطيع أن تشكل مجلداً ليعمل على أنه نوع من التطبيقات، فمثلاً تصنع Query خاص للبريد الإلكتروني وتجمعها في نافذة واحدة ويصبح لديك ما يشبه تطبيقاً للبريد الإلكتروني، قد تكون معلوماتي غير دقيقة فهذا ما أذكره من قرائتي حول النظام قبل سنوات.
هايكو يقدم جزء من الحل للمشاكل التي ذكرتها في الموضوع، لا زالت هناك مشاكل أخرى لم يعالجها أي نظام تشغيل.
التعليقات