একজন ডেভেলপার বসে একটি ফ্রি সফটওয়্যার লিখতে। তাদের স্কিল আছে। তারা জানেন প্রোগ্রামটিকে কীভাবে তাদের ইচ্ছামতো কাজ করাতে হবে। কিন্তু ইউজার ইন্টারফেস ডিজাইনের সাথে তাদের কোনো অভিজ্ঞতা নেই, এবং না তাদের কাছে এমন টিম আছে যে স্ল্যাক নিতে পারে। সেটি ঠিক আছে। তারা জুনুনে কাজ করছেন, এবং তারা যেভাবে পারে তেভাবে জোড়া দিয়েছে।
বছর পর বছর, আপনি আপনার কম্পিউটারে বসে আপনার লিনাক্স অপারেটিং সিস্টেমের অ্যাপ স্টোর থেকে একটি প্রোগ্রাম ডাউনলোড করেন। বর্ণনায় লেখা আছে এটি আপনার দরকারের কাজটি করবে। আপনি ইনস্টল বাটন চাপলেন, পাসওয়ার্ড টাইপ করলেন, এবং অ্যাপটি আপনার ইনস্টল করা সব অ্যাপের পাশে প্রদর্শিত হচ্ছে।
আপনি যা প্রথমে লক্ষ্য করেন সেটি হলো অ্যাপের আইকন বাকিদের পাশে আউট অফ প্লেস দেখাচ্ছে। আপনি সেটি ক্লিক করলেন যেনecause যদি প্রোগ্রামটি কাজটি করে, আপনি একটি বিরক্তিকর আইকন নজরअন্দাজ করতে পারেন। তারপর আপনার হৃদয় ডूबে যায়। অ্যাপের ইন্টারফেসও ঠিক তেমনই আউট অফ প্লেস। আরও খারাপ: আপনি বুঝতে পারছেন না কীভাবে সেটি ব্যবহার করতে হবে!
এই কারণেই ডেস্কটপগুলোর হিউম্যান ইন্টারফেস গাইডলাইন থাকে। উইন্ডোজ, macOS, iOS, এবং অ্যান্ড্রয়েড—সellas কাছে এই গাইডলাইন আছে। লিনাক্সেরও আছে।
হিউম্যান ইন্টারফেস গাইডলাইন কী?
হিউম্যান ইন্টারফেস গাইডলাইন (HIG) হলো নির্দেশাবলি এবং স্ট্যান্ডার্ড যা অ্যাপ ক্রিয়েটরদের দেখায় কীভাবে সফটওয়্যার বানাতে হবে যাতে সেটি একটি নির্দিষ্ট ইন্টারফেসে স্বাভাবিক লাগে এবং একটি অভিজ্ঞতা তৈরি করে যা ইউজারদের জন্য সহজ। এগুলো একটি ডেভেলপারকে বলে দেয় বাটনগুলো কতটুকু দূরে থাকবে, আইকন কত বড় হবে, এবং মেনু আইটেম সাজানোর উপযুক্ত পদ্ধতি।
যদি প্রজেক্টগুলো এই গাইডলাইন মেনে চলে, তখন আপনি এক অ্যাপ থেকে অন্য অ্যাপে যাওয়ার সময় একইরকম অভিজ্ঞতা পাবেন। শুধু সেটি নয়। একবার আপনি একটি প্রোগ্রাম ব্যবহার শিখলে, আপনার পরের প্রোগ্রামটি কীভাবে ব্যবহার করবেন সেটা জানার ভালো ধারণা থাকে।
এই গাইডলাইনগুলো ডেভেলপার এবং ইউজার দুজনের জন্যই গুরুত্বপূর্ণ। خوشবেসরে, লিনাক্সের সবচেয়ে জনপ্রিয় ডেস্কটপ এনভায়রনমেন্টের কিছুর নিজস্ব HIG আছে।
কোন লিনাক্স ডেস্কটপ এনভায়রনমেন্টগুলোর HIG আছে?
হিউম্যান ইন্টারফেস গাইডলাইন অ্যাপের সাথে বেশি সম্পর্কিত, ডেস্কটপ ইন্টারফেসের দিকগুলোর চেয়ে। এই কারণেই, যেসব ডেস্কটপ এনভায়রনমেন্ট নিজস্ব অ্যাপ সুইটের সাথে আসে, সেগুলোর ডেভেলপারদের জন্য রিকমেন্ডেশন থাকার সম্ভাবনা বেশি। এখানে বড় مواردগুলো রয়েছে।
GNOME
GNOME-এর HIG可以说 হলো ডেস্কটপ এনভায়রনমেন্টটির লিনাক্স ডেস্কটপে সবচেয়ে বড় অবদানের একটি। একটি সময় যখন অধিকাংশ লিনাক্স সফটওয়্যার বা ব্যবহার করা কঠিন ছিল বা বিলাস্বভাবেই অসঙ্গতিপূর্ণ, GNOME-এর স্রষ্টারা একটি আলাদা পথ চিত্রিত করল। সফটওয়্যার সহজে বুঝা যাবে, এবং এটা একটি ব্যক্তির কম্পিউটারের অন্য সব প্রোগ্রামের মতো অনুভূত হবে, প্রজেক্টটি আরগু করল। ফলাফল? প্রচুর অ্যাপ GNOME-এ স্বাভাবিক লাগে।
গত দশকে সেই কনসিস্টেন্সি কিছুটা ডোলানো হয়েছে। GNOME যেহেতু অধিকাংশ অন্যান্য ডেস্কটপ থেকে আলাদা একটি ডিজাইন achtervolg করছে, GNOME-এ ফিট হওয়া একটি অ্যাপ অন্যদিকে আউট অফ প্লেস লাগে, এবং বিপরীতটিও। কিন্তু আপনি যদি শুধু GNOME-এর জন্য নির্দিষ্ট অ্যাপগুলোতে থাকেন, তবে আপনি লিনাক্স ডেস্কটপের সবচেয়ে সহজ এবং ইন্টিগ্রেটেড অভিজ্ঞতাগুলোর একটি পাবেন।
KDE
KDE-এর HIG অনেকটাই ডেস্কটপটার মতো। KDE কমিউনিটির প্লাজমা ডেস্কটপ হয়তো যেকোনো অপারেটিং সিস্টেমের জন্য সবচেয়ে কাস্টমাইজযোগ্য ইন্টারফেস। যেমন ইউজারদের সফটওয়্যারের সাথে যা ইচ্ছা করার স্বাধীনতা আছে, সেভাবেই ডেভেলপারদেরও।
KDE চেষ্টা করে ডিফল্টে সিম্পল, প্রয়োজনে পাওয়ারফুল। অর্থাৎ আপনি একটি মিডিয়া প্লেয়ারে বাটন দিয়ে মিউজিক ম্যানেজ করতে পারেন বা একটি ফটো ম্যানেজারে পিকচার দেখতে পারেন, কিন্তু মেনুবারে বিস্তৃত অপশনের সেট থাকতে পারে। KDE-এর জন্য ডিজাইন করা অধিকাংশ সফটওয়্যার আপনাকে টুলবার সরাতে, বাটন যোগ করতে, এবং অন্যদিকে দৃশ্যমান কন্ট্রোলগুলো পরিবর্তন করতে দেবে। প্লাজমা ডেস্কটপ আমাদের দেখায়, কনসিস্টেন্সির মানে হলো না পারডাউন বা বেসিক।
Elementary OS
Elementary OS অন্য অধিকাংশ লিনাক্স অপারেটিং সিস্টেমের जैसा নही। এটি নিজস্ব প্যানথিয়ন ডেস্কটপ এনভায়রনমেন্টের সাথে আসে, এবং যদিও আপনি সেটি অন্য কিছুর জন্য সওয়াপ করতে পারেন, এটা Elementary OS ব্যবহারের উদ্দেশ্য নষ্ট করবে। ডিজাইন হয়তো Elementary টিমের ফ্রি ও ওপেন সোর্স ইকোসিস্টেমে সবচেয়ে বড় অবদান।
যেহেতু এটিই বিষয়, Elementary-এর HIG প্রজেক্টের একটি কεντ্রীয় অংশ। ডকুমেন্টটি পড়া এবং রেফারেন্স করা সহজ, প্রতিটি ইন্টারফেস দিক কভার করা লাগে এবং প্রচুর উদাহরণ রয়েছে। ডেভেলপাররা মনোযোগ দিতে চাইতে পারেন, কারণ Elementary টিম এবং Elementary ইউজাররা অন্যান্য লিনাক্স কমিউনিটির চেয়ে ইনকনসিস্টেন্সির प्रति বেশি সংবেদনশীল।
অন্যান্য ডেস্কটপ এনভায়রনমেন্টের কী?
ভলান্টিয়ার-রান এন্টিটি হওয়ায়, কিছু প্রজেক্টের কেউ詳細 HIG ড্রাফট করার জন্য সময় নেনি। একই সাথে, ডেস্কটপ এনভায়রনমেন্ট সব প্রজেক্টের জন্য একই জিনিস বোঝায় না। কিছু, যেমন উপরে তালিকাভুক্ত, একটি ডেস্কটপ এনভায়রনমেন্টকে একটি সম্পূর্ণ অভিজ্ঞতা হিসেবে দেখে যা আপনার কম্পিউটার বুট হওয়ার মুহূর্ত থেকে যা দেখেন সেটি ম্যানেজ করে, অধিকাংশ অ্যাপসহ।
অন্যরা তাদের সৃষ্টিকে ডেস্কটপ ইন্টারফেস বা উইন্ডো ম্যানেজার হিসেবে বেশি দেখে। এগুলো প্যানেল, অ্যাপলেট, এবং উইন্ডোর মধ্যে স্যুইচ করার পথ দেয়, কিন্তু অ্যাপ তৈরি করার কাজ নেয় না। এগুলো আপনাকে লিনাক্সের জন্য ইতিমধ্যে থাকা সফটওয়্যার চালানোর উপায় দেয়, ইন্টিগ্রেশন কম ফোকাস। সকলেই উইন্ডোজের অভ্যাসে আছি, যেখানে মাইক্রোসফটের HIG থাকা সত্ত্বেও অ্যাপগুলোর মধ্যে কনসিস্টেন্সি হার্ডলি আছে। সবাই চায় না প্রতিটি অ্যাপ একইরকম অনুভূত হোক।
আপনি আপনার প্রিয় ডেস্কটপের সাথে কীভাবে ইন্টারঅ্যাক্ট করেন?
আমি পছন্দ করি আমার অ্যাপগুলো প্রতিটির একসাথে লুক এবং ফিল থাকতে। এটিই একটি কারণ আমি লিনাক্স আবিষ্কার করলে এক্সাইটেড ছিলাম। আমি আগে মনে করতাম যদি কনসিস্টেন্ট অভিজ্ঞতা চাই তবে Mac কেনতে হবে—কিন্তু GNOME এবং KDE উভয়ই আমাকে দেখিয়েছে অ্যাপল একমাত্র ইন্টিগ্রেটেড ডেস্কটপ অফার করছে না।
Elementary OS তখন ছিলো না, এবং এটি কিছু سال 있었다 আমি সেটি চেক আউট করার সিদ্ধান্ত নেওয়ার আগে। টিমটি এই ডেস্কটপ দিকটির ওপর যে মনোযোগ দেয় সেটি রিয়েলি টপ নッチ।
তুলনার জন্য, মাইক্রোসফট, অ্যাপল, এবং গুগলের হিউম্যান ইন্টারফেস গাইডলাইন এখানে:
- উইন্ডোজ
- macOS এবং iOS
- অ্যান্ড্রয়েড
হিউম্যান ইন্টারফেস গাইডলাইন সম্পর্কে আপনি কী অনুভব করেন? ভিজ্যুয়াল ইনকনসিস্টেন্সি আপনাকে বিরক্ত করে? জটিল ডিজাইন সম্পর্কে কী মনে করেন? আপনি কি উদাসীন? আমি আপনাকে নিচে কমেন্টে আপনার মতামত শেয়ার করতে আমন্ত্রণ জানাচ্ছি।