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

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

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

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

ছবি ৪. ডিপ লিঙ্ক অনুসরণ করলে Sunflower অ্যাপের জন্য আগে থেকে থাকা ব্যাক স্ট্যাক পরিবর্তিত হয়।
লক্ষ্য করুন যে Sunflower ব্যাক স্ট্যাকের পরিবর্তে সিন্থেটিক ব্যাক স্ট্যাক ব্যবহার করা হয়েছে এবং উপরে অ্যাভোকাডো ডিটেল স্ক্রিন রয়েছে। My Garden স্ক্রিন, যা হল শুরুর গন্তব্য, সেটিও ব্যাক স্ট্যাকে যোগ করা হয়েছে। আসল Sunflower ব্যাক স্ট্যাক চলে গেছে, এর মধ্যে অ্যাপের কাছে থাকা এই তথ্যও অন্তর্ভুক্ত যে ব্যবহারকারী আগে Apple বিবরণ স্ক্রিনে ছিলেন। এইসব কিছু গুরুত্বপূর্ণ কারণ সিন্থেটিক ব্যাক স্ট্যাক বাস্তবসম্মত হতে হবে। এটি এমন একটি ব্যাক স্ট্যাকের সাথে মিলতে হবে যা অ্যাপের মাধ্যমে অর্গ্যানিকভাবে নেভিগেট করে অর্জন করা যেতে পারে।
এই প্রয়োজন পূরণ করতে, যে সিন্থেটিক ব্যাক স্ট্যাক তৈরি করা হয় সেটি NavGraph-এর উপর ভিত্তি করে
তৈরি করা একটি সরলীকৃত ভার্সন। নেস্টিং ছাড়া সাধারণ NavGraph-এর জন্য, এতে
শুরুর গন্তব্য এবং ডিপ লিঙ্ক গন্তব্য থাকবে। আরও
জটিল, নেস্টেড নেভিগেশন গ্রাফের জন্য,
সিন্থেটিক ব্যাক স্ট্যাকে ডিপ লিঙ্ক গন্তব্যের পূর্বসূরি যেকোনও নেস্টেড
গ্রাফের শুরুর গন্তব্যও থাকবে।
নেভিগেশন কম্পোনেন্ট ডিপ লিঙ্কিং সাপোর্ট করে এবং আপনার নেভিগেশন গ্রাফে কোনও গন্তব্যে লিঙ্ক করার সময় আপনার জন্য একটি বাস্তবসম্মত ব্যাক স্ট্যাক আবার তৈরি করে।