চাহিদামতো ডেলিভারির জন্য UX নির্দেশিকা

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

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

সাধারণত, এইসব মডিউল তুলনামূলকভাবে ছোট (১০ এমবির কম) হলে এবং কোনও নেটওয়ার্ক বা অন্যান্য সমস্যা না থাকলে, ব্যবহারকারীরা খুব দ্রুত অন-ডিমান্ড মডিউল ডাউনলোড করে ব্যবহার করতে পারেন। অর্থাৎ, অ্যাপ ইনস্টল করার সময় মডিউলটি থাকলে যে অভিজ্ঞতা হত, সাধারণত তার থেকে কোনও পার্থক্য নেই।

এই পৃষ্ঠায় পেশাদার পদ্ধতি বর্ণনা করা হয়েছে যা আপনাকে নিম্নলিখিত কাজগুলি করতে সাহায্য করে:

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

এই গাইডটি পড়ার পরে, Play Core API স্যাম্পেল অ্যাপ ব্যবহার করে এই পেশাদার পদ্ধতিগুলি অ্যাকশনে দেখুন।

ব্যবহারকারীকে জানিয়ে রাখুন

কোনও ফিচার অবিলম্বে উপলভ্য না হলে, আপনাকে ব্যবহারকারীকে জানাতে হবে। ব্যবহারকারী Google Play থেকে ফিচার ডাউনলোড করার সিদ্ধান্ত নিলে, ডাউনলোডের প্রোগ্রেস দেখানো।

ডাউনলোডের প্রগ্রেস ও ইনস্টল করার স্ট্যাটাস দেখাতে আপনি অনুরোধের স্ট্যাটাস মনিটর করতে পারবেন। তবে, আপনি যে ধরনের UI দেখাতে চান তা ডাউনলোডের সাইজের উপর নির্ভর করতে পারে:

  • ছোট মডিউলের (~১০ এমবি বা তার কম) ক্ষেত্রে যা খুব দ্রুত ইনস্টল করা যায়, সেক্ষেত্রে স্পিনার বা "কন্টেন্ট ডাউনলোড হচ্ছে" মেসেজের মতো ইন্ডিকেটর ব্যবহার করার কথা বিবেচনা করুন।
  • বড় মডিউল ডাউনলোড ও ইনস্টল করতে কয়েক সেকেন্ড বা তার বেশি সময় লাগতে পারে, তাই ডাউনলোড ও ইনস্টল প্রোগ্রেস বার দেখানোর কথা বিবেচনা করুন, যেমনটি ছবি ১-এ দেখানো হয়েছে।

ছবি ১. চাহিদা অনুযায়ী ফিচার ডাউনলোড ও ইনস্টল করার সময় মেসেজ ও প্রোগ্রেস বার দেখানো

ইনস্টলেশন সংক্রান্ত দেরি ও ব্যর্থতা সম্পর্কে সুন্দরভাবে জানানো

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

ছবি ২. এই মুহূর্তে কোনও ফিচার কেন ইনস্টল করা যাচ্ছে না তা ব্যবহারকারীকে জানান

ছবি ৩. কোনও ফিচার ডাউনলোড হতে প্রত্যাশার চেয়ে বেশি সময় লাগলে ব্যবহারকারীকে তার কারণ ব্যাখ্যা করুন

বড় ফাইল ডাউনলোডের জন্য অনুমতি চাওয়ার আগে ভ্যালু দেখান

কোনও অন-ডিমান্ড মডিউল বড় (> ১৫০এমবি) হলে, Google Play-এর নিয়ম অনুযায়ী ব্যবহারকারীকে এটি ডাউনলোড করার আগে সম্মতি জানাতে হবে।

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

যেমন, ধরুন আপনি একটি ই-কমার্স অ্যাপ তৈরি করছেন এবং এর একটি ফিচার ব্যবহারকারীদের অগমেন্টেড রিয়েলিটি (AR) ব্যবহার করে সরাসরি তাদের অ্যাপার্টমেন্টে আসবাবপত্র রাখার সুবিধা দেয়। আপনি এই ধরনের মেসেজ অন্তর্ভুক্ত করতে পারেন, যেমন, "আপনি কি আপনার বসার ঘরে নতুন সোফা দেখতে চান?" এখনই অগমেন্টেড রিয়েলিটি ভিউয়ার ইনস্টল করুন।"

ব্যাকগ্রাউন্ডে ডাউনলোড ও ইনস্টল করুন

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

ছবি ৫-এ যেমন দেখানো হয়েছে, ব্যবহারকারী অ্যাপ ব্যবহার করা চালিয়ে যান এবং অন-ডিমান্ড ফিচারের ইনস্টলেশন সম্পূর্ণ হলে একটি বিজ্ঞপ্তি পান।

ছবি ৫. কোনও মডিউল ইনস্টল করা সম্পূর্ণ হলে, ব্যবহারকারীর প্রসঙ্গ হঠাৎ পরিবর্তন করার পরিবর্তে, ব্যবহারকারীকে জানান যে অনুরোধ করা ফিচারটি তার জন্য প্রস্তুত।

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

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

কোনও মডিউলের আর প্রয়োজন না থাকলে ডিভাইসের স্টোরেজ খালি করা

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

যেমন, আপনার অ্যাপে একটি শক্তিশালী অনবোর্ডিং ফ্লো থাকতে পারে, যাতে সম্ভবত রিচ মিডিয়া রয়েছে। ব্যবহারকারী অনবোর্ডিং ফ্লো সম্পূর্ণ করার পরে অথবা নির্দিষ্ট সময় ধরে অ্যাক্টিভ ব্যবহারকারী হিসেবে থাকার পরে, আপনি Play ফিচার ডেলিভারি API ব্যবহার করে Google Play-কে আপনার অ্যাপের শুধুমাত্র সেই কম্পোনেন্ট আনইনস্টল করার অনুরোধ করতে পারবেন।

উন্নত পরামর্শ

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

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

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

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

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