টিভি নেভিগেশন

টিভি ডিভাইসগুলোতে অ্যাপের জন্য সীমিত সংখ্যক নেভিগেশন কন্ট্রোল থাকে। আপনার টিভি অ্যাপের জন্য একটি কার্যকর নেভিগেশন স্কিম তৈরি করা নির্ভর করে এই সীমিত কন্ট্রোলগুলো বোঝার পাশাপাশি অ্যাপটি চালানোর সময় ব্যবহারকারীদের সীমাবদ্ধতাগুলো বোঝার উপর। টিভির জন্য আপনার অ্যান্ড্রয়েড অ্যাপ তৈরি করার সময়, টাচস্ক্রিনের পরিবর্তে রিমোট কন্ট্রোলের বাটন ব্যবহার করে ব্যবহারকারী কীভাবে নেভিগেট করে, সেদিকে বিশেষ মনোযোগ দিন।

নীতিমালা

এর লক্ষ্য হলো নেভিগেশনকে স্বাভাবিক ও পরিচিত করে তোলা, যা ইউজার ইন্টারফেসকে ছাপিয়ে যাবে না বা বিষয়বস্তু থেকে মনোযোগ সরিয়ে নেবে না। নিম্নলিখিত নীতিগুলো টিভি অ্যাপজুড়ে একটি সামঞ্জস্যপূর্ণ ও স্বজ্ঞাত ইউজার অভিজ্ঞতার ভিত্তি স্থাপন করতে সাহায্য করে।

দক্ষ

কন্টেন্টে পৌঁছানো সহজ করুন। ব্যবহারকারীরা ন্যূনতম সংখ্যক ক্লিকের মাধ্যমে দ্রুত কন্টেন্ট অ্যাক্সেস করতে চান। আপনার তথ্য এমনভাবে সাজান যাতে সবচেয়ে কম স্ক্রিনের প্রয়োজন হয়।

অনুমানযোগ্য

ব্যবহারকারীদের কাছে নেভিগেশনকে অনুমানযোগ্য করে তুলতে সর্বোত্তম অনুশীলন এবং সুপারিশগুলো অনুসরণ করুন। অপ্রয়োজনে নেভিগেশন প্যাটার্ন নতুন করে তৈরি করবেন না, কারণ এটি বিভ্রান্তি এবং অনিশ্চয়তার সৃষ্টি করে।

স্বজ্ঞাত

বহুল প্রচলিত ব্যবহারকারীদের আচরণকে নির্বিঘ্নে সমর্থন করার জন্য নেভিগেশনকে যথেষ্ট সরল করুন। অপ্রয়োজনীয় নেভিগেশন স্তর যোগ করে এটিকে অতিরিক্ত জটিল করবেন না।

নিয়ন্ত্রক

কন্ট্রোলার বিভিন্ন শৈলীতে পাওয়া যায়, একেবারে সাধারণ রিমোট কন্ট্রোল থেকে শুরু করে জটিল গেম কন্ট্রোলার পর্যন্ত। সব কন্ট্রোলারে একটি ডিরেকশনাল প্যাড (ডি-প্যাড) ছাড়াও সিলেক্ট, হোম এবং ব্যাক বাটন থাকে। অন্যান্য বাটনগুলো মডেল অনুযায়ী ভিন্ন হয়।

একটি টেলিভিশন রিমোট কন্ট্রোল
চিত্র ১. টিভি রিমোটের একটি উদাহরণ।

ডি-প্যাড
টিভিতে নেভিগেশনের প্রধান পদ্ধতি হলো ডি-প্যাড, যাতে উপরে, নিচে, বামে এবং ডানে নির্দেশকারী হার্ডওয়্যার বাটন রয়েছে। ডি-প্যাড চাপ দেওয়া বাটনের দিকে একটি বস্তু থেকে নিকটতম বস্তুতে ফোকাস স্থানান্তর করে।

বোতাম নির্বাচন করুন
স্ক্রিনে থাকা আইটেমটিকে ফোকাসসহ নির্বাচন করে।

হোম বোতাম
ব্যবহারকারীকে সিস্টেমের হোম স্ক্রিনে নিয়ে যায়।

ব্যাক বাটন
ব্যবহারকারীদের পূর্ববর্তী দৃশ্যে ফিরে যাওয়ার সুযোগ দেয়।

মাইক্রোফোন বোতাম
গুগল অ্যাসিস্ট্যান্ট অথবা ভয়েস ইনপুট চালু করে।

ডি-প্যাড নেভিগেশন

টিভি ডিভাইসে, ব্যবহারকারীরা ডি-প্যাড অথবা অ্যারো কী ব্যবহার করে নেভিগেট করেন। এই ধরনের কন্ট্রোল নড়াচড়াকে কেবল উপরে, নিচে, বামে এবং ডানে সীমাবদ্ধ রাখে। একটি চমৎকার টিভি-উপযোগী অ্যাপ তৈরি করতে হলে, আপনাকে এমন একটি নেভিগেশন স্কিম প্রদান করতে হবে, যার মাধ্যমে ব্যবহারকারী এই সীমিত কন্ট্রোলগুলো ব্যবহার করে আপনার অ্যাপটি কীভাবে নেভিগেট করতে হয় তা দ্রুত শিখে নিতে পারে।

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক লেআউট উপাদানগুলির মধ্যে দিকনির্দেশক নেভিগেশন স্বয়ংক্রিয়ভাবে পরিচালনা করে, তাই সাধারণত আপনার অ্যাপের জন্য অতিরিক্ত কিছু করার প্রয়োজন হয় না। তবে, নেভিগেশনে কোনো সমস্যা আছে কিনা তা খুঁজে বের করার জন্য আপনার একটি ডি-প্যাড কন্ট্রোলার দিয়ে নেভিগেশনটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা উচিত।

আপনার অ্যাপের নেভিগেশন সিস্টেমটি টিভি ডিভাইসের ডি-প্যাডের সাথে ভালোভাবে কাজ করে কিনা, তা পরীক্ষা করতে এই নির্দেশিকাগুলো অনুসরণ করুন:

  • নিশ্চিত করুন যে, ডি-প্যাড কন্ট্রোলার ব্যবহারকারী স্ক্রিনে দৃশ্যমান সমস্ত কন্ট্রোল ব্যবহার করতে পারেন।
  • ফোকাস থাকা অবস্থায় তালিকা স্ক্রল করার জন্য, নিশ্চিত করুন যে ডি-প্যাডের আপ এবং ডাউন বাটনগুলো তালিকাটি স্ক্রল করে এবং সিলেক্ট বাটনটি তালিকার একটি আইটেম নির্বাচন করে। যাচাই করুন যে ব্যবহারকারীরা তালিকার কোনো একটি উপাদান নির্বাচন করতে পারেন এবং কোনো উপাদান নির্বাচিত হলেও তালিকাটি স্ক্রল হয়।
  • নিশ্চিত করুন যে কন্ট্রোলগুলোর মধ্যে পরিবর্তন করা সহজ এবং অনুমানযোগ্য।

দিকনির্দেশক নেভিগেশন পরিবর্তন করুন

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক আপনার লেআউটগুলিতে ফোকাসযোগ্য উপাদানগুলির আপেক্ষিক অবস্থানের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে একটি দিকনির্দেশক নেভিগেশন স্কিম প্রয়োগ করে। একটি ডি-প্যাড কন্ট্রোলার ব্যবহার করে আপনার অ্যাপে তৈরি হওয়া নেভিগেশন স্কিমটি পরীক্ষা করুন। পরীক্ষার পরে, যদি আপনি সিদ্ধান্ত নেন যে ব্যবহারকারীরা আপনার লেআউটগুলির মধ্যে একটি নির্দিষ্ট উপায়ে চলাচল করুক, তাহলে আপনি আপনার কন্ট্রোলগুলির জন্য সুস্পষ্ট দিকনির্দেশক নেভিগেশন সেট আপ করতে পারেন।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি TextView লেআউট অবজেক্টের জন্য পরবর্তী ফোকাস পাওয়ার কন্ট্রোলটি নির্ধারণ করতে হয়:

<TextView android:id="@+id/Category1" android:nextFocusDown="@+id/Category2" />

নিম্নলিখিত সারণিতে অ্যান্ড্রয়েড ইউজার ইন্টারফেস উইজেটগুলির জন্য উপলব্ধ সমস্ত নেভিগেশন অ্যাট্রিবিউট তালিকাভুক্ত করা হয়েছে:

বৈশিষ্ট্য ফাংশন
nextFocusDown ব্যবহারকারী নিচে নেভিগেট করলে পরবর্তী কোন ভিউতে ফোকাস আসবে তা নির্ধারণ করে।
nextFocusLeft ব্যবহারকারী বাম দিকে নেভিগেট করলে পরবর্তী কোন ভিউতে ফোকাস পড়বে তা নির্ধারণ করে।
nextFocusRight ব্যবহারকারী ডানদিকে নেভিগেট করলে পরবর্তী কোন ভিউতে ফোকাস পড়বে তা নির্ধারণ করে।
nextFocusUp ব্যবহারকারী উপরে নেভিগেট করলে পরবর্তী কোন ভিউটি ফোকাস পাবে তা নির্ধারণ করে।

এই সুস্পষ্ট নেভিগেশন অ্যাট্রিবিউটগুলোর কোনো একটি ব্যবহার করতে, এর মান লেআউটের অন্য কোনো উইজেটের android:id তে সেট করুন। নেভিগেশন ক্রমটি একটি লুপ হিসেবে সেট করতে ভুলবেন না, যাতে শেষ কন্ট্রোলটি ফোকাসকে আবার প্রথমটিতে ফিরিয়ে নিয়ে যায়।

স্পষ্ট মনোযোগ এবং নির্বাচন প্রদান করুন

টিভি ডিভাইসে একটি অ্যাপের নেভিগেশন পদ্ধতির সাফল্য নির্ভর করে ব্যবহারকারী দ্রুত বুঝতে পারছেন কিনা যে কোন ইউজার ইন্টারফেস এলিমেন্টটি ফোকাসে আছে। আপনি যদি ফোকাস করা আইটেমটির স্পষ্ট ইঙ্গিত না দেন, এবং ফলস্বরূপ ব্যবহারকারী কোন আইটেমটির উপর কাজ করতে পারবেন তা স্পষ্ট না করেন, তবে তারা দ্রুত হতাশ হয়ে আপনার অ্যাপ থেকে বেরিয়ে যেতে পারেন। একই কারণে, আপনার অ্যাপ চালু হওয়ার সাথে সাথেই অথবা যখনই এটি নিষ্ক্রিয় থাকে, তখন এমন একটি আইটেমকে ফোকাসে রাখা জরুরি যার উপর ব্যবহারকারী কাজ করতে পারবেন।

আপনার অ্যাপের লেআউট এবং বাস্তবায়নে, ব্যবহারকারীরা এরপর কী পদক্ষেপ নিতে পারবে তা নির্ধারণে সাহায্য করার জন্য রঙ, আকার, অ্যানিমেশন অথবা এগুলোর সংমিশ্রণ ব্যবহার করুন। আপনার অ্যাপ্লিকেশন জুড়ে ফোকাস নির্দেশ করার জন্য একটি অভিন্ন স্কিম ব্যবহার করুন।

অ্যান্ড্রয়েড ফোকাস করা এবং নির্বাচিত কন্ট্রোলগুলিতে হাইলাইট প্রয়োগ করার জন্য ড্রয়েবল (Drawable) স্টেট লিস্ট রিসোর্স প্রদান করে। নিম্নলিখিত কোড উদাহরণটি দেখায় কিভাবে একটি বাটনের জন্য ভিজ্যুয়াল আচরণ সক্রিয় করতে হয়, যা নির্দেশ করে যে একজন ব্যবহারকারী কন্ট্রোলটিতে নেভিগেট করে সেটিকে নির্বাচন করেছেন:

<!-- res/drawable/button.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/button_pressed" /> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- focused -->
    <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- hovered -->
    <item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>

নিম্নলিখিত লেআউট XML নমুনা কোডটি একটি Button পূর্ববর্তী অবস্থার তালিকা ড্রয়েবলটি প্রয়োগ করে:

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/button" />

ফোকাসযোগ্য ও নির্বাচনযোগ্য কন্ট্রোলগুলোর মধ্যে পর্যাপ্ত প্যাডিং রাখতে ভুলবেন না, যাতে সেগুলোর চারপাশের হাইলাইটগুলো স্পষ্টভাবে দেখা যায়।

ব্যাক বাটন নেভিগেশন

প্ল্যাটফর্মের অ্যাপগুলোর মধ্যে সামঞ্জস্য বজায় রাখতে, ব্যাক বাটনের আচরণ যেন এই নির্দেশিকাগুলো অনুসরণ করে তা নিশ্চিত করুন।

ব্যাক বাটনের অনুমানযোগ্য আচরণ ব্যবহার করুন

একটি সহজ ও অনুমানযোগ্য নেভিগেশন অভিজ্ঞতা তৈরি করতে, ব্যবহারকারী যখন রিমোটের ব্যাক বাটন চাপবেন, তখন তাকে পূর্ববর্তী গন্তব্যে নিয়ে যাওয়া হবে।

টপ নেভিগেশন ব্যবহার করার সময় নেভিগেশনের প্রবাহ
চিত্র ২. টপ নেভিগেশন ব্যবহার করে প্রবাহ।
সাইড নেভিগেশন ব্যবহার করার সময় নেভিগেশনের প্রবাহ
চিত্র ৩. সাইড নেভিগেশন ব্যবহার করে প্রবাহ।

যদি ব্যবহারকারী কোনো মেনু আইটেম থেকে পৃষ্ঠার মাঝখানে থাকা কোনো কার্ডে যান এবং তারপর ব্যাক বাটন চাপেন, তাহলে তার ফলাফল নির্ভর করবে অ্যাপটি টপ নেভিগেশন নাকি লেফট নেভিগেশন ব্যবহার করছে তার উপর:

  • অ্যাপটি টপ নেভিগেশন ব্যবহার করে: দ্রুত স্ক্রল করার মাধ্যমে ব্যবহারকারীকে পেজের শীর্ষে ফিরিয়ে নিয়ে যায় এবং মেনুতে ফোকাস সক্রিয় করে।
  • অ্যাপটি বাম নেভিগেশন ব্যবহার করে: বাম পাশের মেনুটি সক্রিয় করুন এবং বর্তমানে সক্রিয় মেনু আইটেমটিতে ফোকাস করুন।

নিশ্চিত করুন যে ব্যাক বাটনটি কোনো কনফার্মেশন স্ক্রিন দ্বারা অবরুদ্ধ নয় অথবা এটি কোনো অনন্ত লুপের অংশ নয়।

ব্যবহারকারীদের কাছে একটি ডায়ালগ বক্স আসে, যেখানে জিজ্ঞাসা করা হয় তারা প্রস্থান করতে চান কিনা।
চিত্র ৪. প্রস্থান গেটিং

করবেন না।
অ্যাপ থেকে বের হওয়ার ক্ষেত্রে বাধা সৃষ্টি করা পরিহার করুন। ব্যবহারকারীদের কোনো নিশ্চিতকরণ ছাড়াই অ্যাপ থেকে বেরিয়ে যেতে দিন।


মেনু বন্ধ করা এবং খোলার মধ্যে নেভিগেশন চক্রাকারে ঘুরছে
চিত্র ৫. নেভিগেশন লুপ

করবেন না।
মেনু বারবার বন্ধ ও খোলার অন্তহীন চক্রে পড়বেন না। আদর্শগতভাবে, ব্যাক বাটন চাপলে অ্যাপ থেকে বেরিয়ে যাওয়া উচিত। মেনুতে কোনো এক্সিট বাটন দেখাবেন না, যদি না সেটি কোনো বিশেষ ক্ষেত্র হয়, যেমন বাচ্চাদের প্রোফাইল।

আপ বা ব্যাক বাটন প্রদর্শন করবেন না।

হ্যান্ডহেল্ড ডিভাইসের মতো নয়, টিভিতে পেছনের দিকে যাওয়ার জন্য রিমোটের ব্যাক বাটন ব্যবহার করা হয়। স্ক্রিনে ভার্চুয়াল ব্যাক বাটন দেখানোর কোনো প্রয়োজন নেই:

স্ক্রিনে একটি ভার্চুয়াল ব্যাক বাটন প্রদর্শিত হয়েছিল।
চিত্র ৬. নরম পিছনের বোতাম

করবেন না।

প্রয়োজনে একটি বাতিল বোতাম দেখান

যদি শুধুমাত্র নিশ্চিতকরণ, বাতিলকরণ বা ক্রয়ের মতো দৃশ্যমান কাজগুলোই থাকে, তবে একটি 'বাতিল' (Cancel) বাটন রাখা ভালো, যা আপনাকে পূর্ববর্তী গন্তব্যে ফিরিয়ে নিয়ে যাবে।

ধ্বংসাত্মক ক্রিয়াকলাপের পাশাপাশি একটি বাতিল বোতাম প্রদর্শিত হয়।
চিত্র ৭। সফট ক্যানসেল বাটন।

করুন।

ব্যাক নেভিগেশন বাস্তবায়ন করুন

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক সাধারণত ডি-প্যাডের মতোই ব্যাক নেভিগেশনও ভালোভাবে পরিচালনা করে। আপনি যদি নেভিগেশন কম্পোনেন্ট ব্যবহার করেন, তবে বিভিন্ন ধরনের নেভিগেশন গ্রাফ সমর্থন করতে পারবেন। মাঝে মাঝে, আপনার কিছু কাস্টম আচরণ প্রয়োগ করার প্রয়োজন হতে পারে, যেমন ব্যাক বাটন দিয়ে একটি দীর্ঘ তালিকার শুরুতে ফোকাস রিসেট করা।

ComponentActivity , যা FragmentActivity এবং AppCompatActivity এর বেস ক্লাস, আপনাকে এর OnBackPressedDispatcher ব্যবহার করে ব্যাক বাটনের আচরণ নিয়ন্ত্রণ করতে দেয়, যা আপনি getOnBackPressedDispatcher() কল করে পেতে পারেন।

আরও তথ্যের জন্য, কাস্টম ব্যাক নেভিগেশন প্রদান দেখুন।

টিভিতে প্লেব্যাক নিয়ন্ত্রণ

টিভির সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলোর মধ্যে ভিডিও প্লেব্যাক অন্যতম। অ্যান্ড্রয়েড টিভির বিভিন্ন অ্যাপের ভিডিও প্লেয়ারগুলো যেন একই রকম আচরণ করে, তা নিশ্চিত করা জরুরি। টিভির জন্য প্লেব্যাক কন্ট্রোল নির্দেশিকা দেখুন।

লাইভ ট্যাব নেভিগেশন

টিভি অ্যাপের গুণগত মানের শর্তাবলী মেনে চলার পাশাপাশি, লাইভ ট্যাবে লাইভ টিভি ফিড সমন্বিত অ্যাপগুলিকে অবশ্যই নিম্নলিখিত বিভাগগুলিতে বর্ণিত বাধাহীন প্লেব্যাক এবং ডিরেক্ট-ব্যাক শর্তাবলীও পূরণ করতে হবে।

ঘর্ষণহীন প্লেব্যাক

গুগল টিভি এবং অ্যান্ড্রয়েড টিভি থেকে যেকোনো লাইভ বা লিনিয়ার চ্যানেলের ডিপ লিঙ্কের পর অ্যাপের ভেতরের কার্যকলাপে বাধাহীন প্লেব্যাক প্রযোজ্য হয়।

যখন কোনো ব্যবহারকারী একটি ডিপ লিঙ্কে ক্লিক করেন, তখন নিম্নলিখিত নিয়মগুলি প্রযোজ্য হয়:

  • কোনো বিলম্ব নয়: সাইন-ইন বা সাইন-আপ প্রক্রিয়া অথবা ব্র্যান্ডিং ভিডিওর মতো স্ক্রিন দ্বারা বাধা বা বিলম্ব না ঘটিয়ে ব্যবহারকারীদের সরাসরি চ্যানেল প্লেব্যাকে নিয়ে যেতে হবে।
  • কোল্ড বুট ব্যতিক্রম: যদি ডিপ লিঙ্কটি কোল্ড বুট থেকে টার্গেট অ্যাপ লোড করা শুরু করে, তবে বুট-আপ বিলম্বের অনুমতি দেওয়া হয়। এই ক্ষেত্রে অ্যাপ বুট-আপ ব্র্যান্ডিং ভিডিও বা অ্যানিমেশনও অনুমোদিত।
  • লোডিং বিলম্ব ব্যতিক্রম: যদি চ্যানেলে টিউন করতে কয়েক সেকেন্ড সময় লাগে, তবে ব্র্যান্ডিং প্রদর্শনের অনুমতি আছে। এর সময়কাল শুধুমাত্র চ্যানেলটি লোড হতে যে সময় লাগে, ততটুকুই হতে হবে।

যদি ব্যবহারকারী সাইন আউট করা থাকেন বা সাবস্ক্রাইব করা না থাকে, তাহলে সাইন-ইন বা সাইন-আপ প্রক্রিয়াটি সম্পন্ন করার জন্য আপনি একটি পেইড চ্যানেলের প্লেব্যাক ব্লক করতে পারেন।

সরাসরি-পিছনে

যখন ব্যবহারকারীরা লাইভ ট্যাবের কোনো ডিপ লিঙ্ক থেকে একটি অ্যাপ চালু করার পর ব্যাক বাটন চাপেন, তখন কত সময় অতিবাহিত হয়েছে তা নির্বিশেষে, একটিমাত্র ব্যাক বাটন চাপেই তাঁদেরকে লাইভ ট্যাবে ফিরিয়ে আনতে হবে। গুগল টিভি এবং অ্যান্ড্রয়েড টিভির সমস্ত লাইভ ট্যাব ডিপ লিঙ্কের জন্য এই সরাসরি ফিরে আসার বৈশিষ্ট্যটি আবশ্যক।

লাইভ ট্যাবের ডিপ লিঙ্কগুলোকে একটি সংযুক্ত ডিপ লিঙ্ক প্যারামিটার দ্বারা চিহ্নিত করা হয়: ?exit_on_back=[true|false] । অ্যাপটি লাইভ ট্যাব থেকে চালু করা হয়েছে কিনা তা নির্ধারণ করতে অ্যাপগুলোকে অবশ্যই এই প্যারামিটারটি পার্স করতে হবে। যদি exit_on_back true হয়, তবে অ্যাপগুলোকে অবশ্যই সরাসরি ফিরে যাওয়ার (direct-back) আচরণটি প্রয়োগ করতে হবে।

উল্লেখ্য যে, যদি ব্যবহারকারী ডিপ লিঙ্কের পর প্রথম বাটন হিসেবে ব্যাক বাটন ছাড়া অন্য কোনো বাটন চাপেন, তাহলে সরাসরি ব্যাক করার শর্তটি প্রযোজ্য হবে না এবং শুধুমাত্র সাধারণ ব্যাক বাটনের আচরণই কার্যকর থাকবে।

উদাহরণস্বরূপ, ধরুন একটি ডিপ লিঙ্ক অনুসরণ করার পর ব্যবহারকারী ডি-প্যাডের সিলেক্ট বাটন চাপলেন, যার ফলে একটি কন্ট্রোলস ওভারলে ভেসে উঠল। ব্যবহারকারী ওভারলেটি অদৃশ্য হওয়া পর্যন্ত অপেক্ষা করলেন এবং তারপর ব্যাক বাটন চাপলেন। যেহেতু ডিপ লিঙ্কটি অনুসরণ করার পর প্রথম যে বাটনটি চাপা হয়েছিল সেটি ছিল ডি-প্যাডের সিলেক্ট বাটন, তাই সরাসরি ফিরে যাওয়ার শর্তটি প্রযোজ্য নয়। এর পরিবর্তে, অ্যাপের সাধারণ ব্যাক স্ট্যাক লজিকটি কার্যকর হবে।

ব্যাক বাটন বারবার চাপলে ব্যবহারকারীকে কোনো অনন্ত লুপ ছাড়াই অ্যাপ রুটে এবং তারপর আবার গুগল টিভি বা অ্যান্ড্রয়েড টিভিতে ফিরিয়ে আনতে হবে। আরও তথ্যের জন্য, ‘পূর্বাভাসযোগ্য ব্যাক বাটন আচরণ’ বিভাগটি দেখুন।

একটি সুসংজ্ঞায়িত নেভিগেশন আর্কিটেকচার ব্যবহারকারীদের বুঝতে সাহায্য করে যে তারা আপনার অ্যাপে কোথায় আছেন এবং কীভাবে বিভিন্ন কন্টেন্ট অ্যাক্সেস করতে হয়। নেভিগেশন ডিজাইনের নিম্নলিখিত দিকগুলো বিবেচনা করুন।

নির্দিষ্ট প্রারম্ভিক গন্তব্য

লঞ্চার থেকে অ্যাপটি চালু করার পর ব্যবহারকারী প্রথম যে স্ক্রিনটি দেখেন, ব্যাক বাটন চেপে লঞ্চারে ফিরে আসার পরেও সেটিই শেষ স্ক্রিন হিসেবে দেখা যায়।

ডিপ লিঙ্কিং ম্যানুয়াল নেভিগেশনের অনুকরণ করে।

ডিপ লিঙ্কিং হোক বা ম্যানুয়ালি কোনো নির্দিষ্ট গন্তব্যে যাওয়া হোক, ব্যবহারকারীরা ব্যাক বাটন ব্যবহার করে বিভিন্ন গন্তব্যের মধ্য দিয়ে নেভিগেট করে শুরুর গন্তব্যে ফিরে আসতে পারেন।

অ্যাপের ভেতরের কোনো ডিটেইলস পেজের ডিপ লিঙ্কের স্ক্রিনশট। ব্যাক চাপলে সেই অ্যাপের হোম স্ক্রিনে চলে যায় এবং আবার ব্যাক চাপলে মূল স্ক্রিনে ফিরে আসে।
চিত্র ৮. একটি বিবরণ পৃষ্ঠায় ডিপ লিঙ্কিং।

একটি অ্যাপ থেকে অন্য একটি অ্যাপে ডিপ লিঙ্কিং ম্যানুয়াল নেভিগেশনের অনুকরণ করে। উদাহরণস্বরূপ, যদি ব্যবহারকারী গুগল টিভি থেকে সরাসরি মুভিস্টার অ্যাপের কোনো ডিটেইলস পেজে যান এবং তারপর ব্যাক বাটন চাপেন, তাহলে তাকে মুভিস্টার অ্যাপের হোম পেজে নিয়ে যাওয়া হয়।

সমস্ত ফোকাসযোগ্য উপাদানগুলির দিকে স্পষ্ট পথ

ব্যবহারকারীদের স্পষ্ট নির্দেশনার মাধ্যমে আপনার ইউজার ইন্টারফেস (UI) ব্যবহার করতে দিন। যদি কোনো কন্ট্রোলে পৌঁছানোর সরাসরি পথ না থাকে, তবে সেটির স্থান পরিবর্তন করার কথা বিবেচনা করুন।

এমন একটি লেআউট যেখানে কন্ট্রোলগুলো একে অপরের উপর না পড়ে এমন জায়গায় স্থাপন করা হয়েছে।
চিত্র ৯. ফোকাস করার ক্ষমতা নিয়ন্ত্রণ।

করুন।
এখানে দেখানো সার্চ অ্যাকশনের মতো কন্ট্রোলগুলো এমন জায়গায় রাখুন, যাতে সেগুলো অন্য ক্লিকযোগ্য এলিমেন্টগুলোর সাথে ওভারল্যাপ না করে।

এমন একটি লেআউট যেখানে কন্ট্রোলগুলো সহজে পৌঁছানো যায় না এমন জায়গায় রয়েছে।
চিত্র ১০। ফোকাস করার ক্ষমতা নিয়ন্ত্রণ।

করবেন না।
এমন লেআউট এড়িয়ে চলুন যেখানে কন্ট্রোলগুলো সহজে নাগালের বাইরে থাকে। এখানে দেখানো সার্চ অ্যাকশনটি ডি-প্যাড দিয়ে ব্যবহার করা কঠিন হতে পারে।

কুঠার

আপনার লেআউটটি এমনভাবে ডিজাইন করুন যাতে অনুভূমিক এবং উল্লম্ব উভয় অক্ষের সুবিধা নেওয়া যায়। প্রতিটি দিককে একটি নির্দিষ্ট কাজ দিন, যাতে বড় হায়ারার্কিগুলোর মধ্যে দ্রুত নেভিগেট করা যায়।

উল্লম্ব বিভাগ এবং অনুভূমিক আইটেম ব্যবহার করে একটি লেআউট
চিত্র ১১। অতিক্রমণ।

করুন।
উল্লম্ব অক্ষ বরাবর বিভাগগুলোর মধ্যে চলাচল করা যায় এবং অনুভূমিক অক্ষ বরাবর প্রতিটি বিভাগের অন্তর্ভুক্ত আইটেমগুলো ব্রাউজ করা যায়।

একটি জটিল এবং নেস্টেড লেআউট হায়ারার্কি
চিত্র ১২। অতিক্রমণ।

করবেন না।
জটিল এবং স্তরীভূত বিন্যাস স্তরবিন্যাস পরিহার করুন।