في علم الحاسوب، تعد **واجهة المعالجة المباشرة** نمطًا لتفاعل الإنسان والحاسوب يتضمن التمثيل المستمر للكائنات محط الاهتمام وللإجراءات والتغذية الراجعة السريعة والعكسية والتزايدية. والهدف من ذلك هو السماح للمستخدم بمعالجة الكائنات المقدمة إليه مباشرة باستخدام الإجراءات التي تنسجم على نحو حر على الأقل مع العالم المادي. إن الحصول على استعارات العالم الحقيقي للكائنات والإجراءات قد يسر على المستخدم تعلم واستخدام أية واجهة (ربما يقول البعض بأن الواجهة هي أمر عادي أو مدرك بالحس إلى حد كبير)، وستسمح التغذية الراجعة السريعة والمتزايدة للمستخدم بارتكاب أخطاء أقل وإكمال المهام في وقت أقل، لأنه سيكون بمقدوره رؤية نتائج أي إجراء قبل إكماله. ومن أمثلة المعالجة المباشرة تغيير حجم شكل رسومي، مثل تغيير حجم مستطيل من خلال سحب زواياه أو حوافه باستخدام الفأرة.

وقد طرح هذا المصطلح العالم [بن شنديرمان (Ben Shneiderman)] في عام 1983 في سياق التطبيقات المكتبية واستعارة سطح المكتب. وغالبًا ما يركز الأفراد العاملين في البيئة الأكاديمية وعلماء الحاسوب الذين يجرون بحوثًا بشأن واجهات المستخدم في المستقبل على التحكم الملموس والتغذية الراجعة الملموسة، أو التحكم الصوتي والتغذية الراجعة الصوتية بصورة أكبر من التركيز على التغذية الراجعة المرئية التي توفرها معظم واجهات المستخدم الرسومية. وفي مثل هذه الحالات، لا يعد مصطلح «واجهة المستخدم الرسومية» ملائمًا. ونتيجة لذلك، حقق مصطلح «واجهة المعالجة المباشرة» انتشارًا أكبر في هذه البيئات.

على النقيض من واجهات المستخدم الرسومية/ الإطارات والرموز والقوائم وجهاز إشارة (WIMP)
------------------------------------------------------------------------------------

ترتبط المعالجة المباشرة إلى حد بعيد بالواجهات التي تستخدم الإطارات والرموز والقوائم وجهاز إشارة (واجهة المستخدم الرسومية باستخدام [الإطارات والرموز والقوائم وجهاز إشارة (WIMP)]) حيث أن هذه الواجهات تتضمن بصورة دائمة تقريبًا المعالجة المباشرة بدرجة ما على الأقل. ومع ذلك، ينبغي ألا يحدث لبس بين المعالجة المباشرة وهذه المصطلحات الأخرى، حيث أنها لا تتضمن استخدام الإطارات أو حتى أي إخراج رسومي. على سبيل المثال، يمكن تطبيق مفاهيم المعالجة المباشرة للواجهات المخصصة للمستخدمين المصابين بالعمى أو بضعف البصر باستخدام مجموعة مؤتلفة من الأجهزة والبرمجيات الصوتية والملموسة.

كما يمكن تصميم واجهة WIMP لا تستفيد عن عمد من المعالجة المباشرة. على سبيل المثال، سمحت معظم إصدارات الواجهات الإطارية (مثل مايكروسوفت ويندوز) للمستخدمين بتغيير موضع أي إطار من خلال سحبه بالماوس، ولكن دون إعادة رسم الإطار الكامل باستمرار في المواضع المتوسطة أثناء السحب. على سبيل المثال، يمكن يدلاً عن ذلك رسم حد مستطيل الشكل للإطار أثناء السحب، مع إعادة رسم محتويات الإطار بالكامل فقط عند تحرير المستخدم لزر الماوس. وكان هذا الأمر ضروريًا في أجهزة الحاسوب القديمة التي كانت تفتقر لوجود ذاكرة و/أو قدرة وحدة المعالجة المركزية على إعادة رسم البيانات سريعًا خلف الإطار الذي يجري سحبه.

في الواجهات الرسومية لنقاط البيع
--------------------------------

طور [جين موشر] واجهة مستخدم رسومية لنقاط البيع بشاشة لمس رسومية (ViewTouch) في حاسوب [Atari ST] وتم تثبيتها لأول مرة في المطاعم في عام 1986، وهو مثال مبكر لواجهة مستخدم رسومية معينة لتطبيق توضح كل خصائص المعالجة المباشرة.

وقد تم استنساخ واجهة المستخدم الرسومية المزودة بشاشة لمس والخاصة بنقاط البيع، التي طورها موشر، على نطاق واسع وتُستخدم على الصعيد العالمي ظاهريًا في كل شاشات عرض نقاط البيع الحديثة. وعلى الرغم من أنها كانت في مراحلها المبكرة، فقد احتوت على ميزات عدة من قبيل «إضاءة» كل من «الأزرار» (الودجات) وأزرار «علامات التبويب» المحددة التي تشير إلى الموضع الحالي للمستخدم في المعاملة أثناء تنقل المستخدم بين صفحات التطبيق.
وفي عام 1995، تم تطوير واجهة المستخدم الرسومية ViewTouch إلى إدارة إطار نظام النافذة اكس، مما قدّم فائدة واجهة المعالجة المباشرة إلى المستخدمين غير المزودين بأية أجهزة أخرى خلاف شاشات العرض المتصلة بشبكات والتي تعتمد على بروتوكول عرض شبكة اكس. وهذا التطبيق هو مثال عملي ومفيد للفائدة التي تعود من واجهة المعالجة المباشرة. ويتحرر المستخدمون من ضرورة استخدام لوحات المفاتيح والماوس، بل وحتى الحاسوبات المحلية نفسها، في الوقت الذي يتمكنون فيه من العمل في بيئة تعاونية مع بعضهما البعض في مجموعات ظاهرية على مستوى العالم بمجرد التفاعل مع إطار رموز رسومية على شاشة لمس متصلة بشبكة.

في الرسوميات الحاسوبية
----------------------

نظرًا لصعوبة تصوير ومعالجة الجوانب المختلفة للرسوميات الحاسوبية، بما في ذلك إنشاء هندسة الأشكال وتحرير وتحريك وتخطيط الكائنات والكاميرات ووضع الإضاءة والمؤثرات الأخرى، تعد المعالجة المباشرة جزءً بالغ الأهمية في الرسوميات الحاسوبية ثلاثية الأبعاد. وتوجد ودجات للمعالجة المباشرة القياسية، إضافة إلى العديد من الودجات الفريدة التي يتم تطويرها إما كحل أفضل لمشكلة قديمة أو كحل لمشكلة جديدة و/أو مشكلة فريدة. وتحاول الودجات السماح للمستخدم بتعديل أي كائن في أي اتجاه محتمل، في الوقت الذي تقدم فيه أيضًا إرشادات أو قيودًا سهلة للسماح للمستخدم بتعديل أي كائن بسهولة في الاتجاهات الأكثر شيوعًا، في الوقت الذي تحاول فيه أن تكون مدركة بالحس قدر الإمكان فيما يتعلق بوظيفة الودجة. وتعد ودجات [التحويل] الثلاث الأكثر انتشارًا قياسية تقريبًا وهي على النحو التالي:

* ودجة الانزلاق، التي تتألف عادة من ثلاثة أسهم محاذية للمحاور المتعامدة متمركزة على الكائن المراد انزلاقه. يؤدي سحب وسط الودجة إلى انزلاق الكائن مباشرة أسفل مؤشر الماوس في المستوى بمحاذاة مستوى الكاميرا، بينما يؤدي سحب أي من الأسهم الثلاثة إلى انزلاق الكائن على طول المحور الملائم. يمكن محاذاة المحاور مع محاور فضاء العالم الافتراضي أو محاور فضاء الكائنات أو أي فضاء آخر.
* ودجة [الاستدارة]، التي تتألف عادة من ثلاث دوائر محاذية للمحاور الثلاثة المتعامدة، ودائرة واحدة محاذية لمستوى الكاميرا. يؤدي سحب أية دائرة من الدوائر إلى تدوير الكائن حول المحور المناسب، بينما سيؤدي السحب إلى أي مكان آخر إلى تدوير الكائن بشكل حر (استدارة كرة المسار الظاهرية).
* ودجة [المقياس]، التي تتألف عادة من ثلاثة خطوط قصيرة محاذية للمحاور المتعامدة التي تنتهي بمربعات، ومربع واحد في وسط الودجة. يؤثر سحب أي من المربعات الثلاثة المحاذية للمحور على أي مقياس غير منتظم على طول ذلك المحور وحده، بينما يؤثر سحب المربع الأوسط على أي مقياس منتظم على كل المحاور الثلاثة في نفس الوقت.

وبناء على الاستخدامات الشائعة المحددة لأي كائن، يمكن استخدام أنواع مختلفة من الودجات. على سبيل المثال، يتم تحديد الإضاءة في رسوميات الحاسوب، مثلها في ذلك مثل أي كائن آخر، عن طريق التحويل (الانزلاق والاستدارة)، ولكن يتم وضعها أحيانا وتوجيهها ببساطة باستخدام مواقع نقاط النهاية الخاصة بها، وذلك يعزى إلى أنه من البديهي تحديد موقع مصدر الإضاءة ثم تحديد هدف الإضاءة أكثر من تدوير الإضاءة حول محاور الإحداثيات بهدف وضعها في موقع معروف.

وقد تكون الودجات الأخرى فريدة تخص أداة بعينها، مثل عناصر التحكم بالحواف لتغيير مخروط ضوء موضعي والنقاط والمقابض لتحديد الموقع والمتجه المماسي لنقطة التحكم بالشريحة أو الدوائر متغيرة الحجم لتحديد عرض فلتر الضباب أو حجم الرسام أو أهداف [الحركة العكسية] لليدين والقدمين أو أقراص وعينات الألوان للاختيار السريع للألوان. وربما تتضمن الودجات المعقدة بعض الأساليب النابعة من [التصور العلمي] لتقديم البيانات ذات الصلة بفاعلية (مثل حقول الموجهات لمؤثرات الجسيمات أو الصور ذات الألوان الاصطلاحية لعرض مخططات الذروة).

ولا تزال المعالجة المباشرة، إضافة إلى تصميم الواجهة بشكل عام، بالنسبة لمهام رسوميات الحاسوب ثلاثية الأبعاد، تمثل منطقة نشطة للاختراع والابتكار، حيث لا تعتبر عملية إنتاج صور يتم تكوينها بواسطة الكمبيوتر مدركة بالحس أو يسيرة بشكل عام مقارنة بصعوبة ما ينوي المستخدم فعله، وبشكل خاص ما يتعلق بالمهام المعقدة. فعلى سبيل المثال، تتسم واجهة مستخدم معالجة النصوص بسهولة التعلم بالنسبة للمستخدمين الجدد وتكفي لمعظم مهام معالجة النصوص، لذلك فهي واجهة مستخدم قياسية يسهل إيجاد حلول لها في الغالب، بينما تتسم واجهات مستخدم رسوميات الحاسوب ثلاثية الأبعاد عادة بصعوبة التعلم والاستخدام وليست قوية بالقدر الكافي للمهام المعقدة، أو قوية بشكل كاف ولكن بالغة الصعوبة من حيث التعلم والاستخدام، ولذلك سوف تتباين المعالجة المباشرة وواجهات المستخدم إلى حد بعيد من تطبيق إلى آخر.

المراجع
-------

1. ↑  Dreier، Matthias. "Direct Manipulation. A Step Beyond Programming Languages". *IEEE Transactions on Computers*. ج. 16 ع. 8: 57–69. مؤرشف من الأصل (HTML) في 2012-02-08. اطلع عليه بتاريخ 2010-12-28. `{{استشهاد بدورية محكمة}}`: الوسيط غير المعروف `|شهر=` تم تجاهله (مساعدة)

* Frohlich, David M."The history and future of direct manipulation," *Behaviour & Information Technology* 12, 6 (1993), 315-329.
* Shneiderman, Ben. *Designing the user interface: strategies for effective human-computer-interaction.*(1987)
* Hutchins, Edwin L.. James D. Hollan, and Donald Norman.*Direct manipulation interfaces*. (1985)
* Shneiderman, Ben. "Direct manipulation: a step beyond programming languages," *IEEE Computer* 16(8) (August 1983), 57-69.

انظر أيضا
---------

(OAI)

* أيقونة بوابةبوابة علم الحاسوب