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

কনটেক্সট-ভিত্তিক ব্যক্তিগত প্রম্পট কী
কনটেক্সট-ভিত্তিক ব্যক্তিগত প্রম্পট হল ছোট, সময়োপযোগী বার্তা যা এমন মুহূর্তে ব্যবহারকারীর সামনে আসে যেখানে ওই প্রম্পটটি সহায়ক হবে বলে আশা করা যায়। নির্দিষ্ট সময়ে বারবার রিমাইন্ডার পাঠানোর বদলে, অ্যাপটি কনটেক্সট সিগন্যাল (যেমন সময়, অবস্থান, কার্যকলাপ, ক্যালেন্ডার, বা সাম্প্রতিক আচরণ) ব্যবহার করে কখন নাজ দেওয়া উচিত তা নির্ধারণ করে।
সহজ উদাহরণ
কয়েকটি সহজে কল্পনাযোগ্য প্রম্পট:
- বাড়ি পৌঁছানোর পরে: “আজকের একটি সাফল্য 2 মিনিটে লিখে ফেলুন।”
- মিটিং শেষ হলে: “ভুলে না যাওয়ার জন্য দ্রুত ফলো-আপ টাস্ক লিখুন।”
- কর্মঘণ্টার মধ্যে এক ঘন্টার জন্য অচল থাকলে: “উঠে কাঁধ ও গলা টেনশনটা শিথিল করুন—দুই মিনিট।”
- মার্কেটে গেলে: “শপিং শুরু করার আগে আপনার তালিকা দেখে নিন।”
মূল ধারণা: প্রম্পট একটি মুহূর্তের সঙ্গে জড়িত, কেবল ঘড়ির সাথে নয়।
মানুষ এগুলো কী জন্য ব্যবহার করে
অধিকাংশ কনটেক্সট-অ্যাওয়ার প্রম্পট নিচের একটি ফলাফলের দিকে কাজ করে:
- অভ্যাস সহায়তা: ব্যায়াম, হাইড্রেশন, ভাষা অনুশীলন, বা পড়া নিয়মিত রাখা।
- এতর্কতা ও জার্নালিং: কাজ শেষে, ব্যায়ামের পরে বা ঘুমানোর আগে যেখানে ভাবনা تازা থাকে তখন ক্যাপচার করা।
- প্র্যাকটিকাল রিমাইন্ডার: অবস্থান বা রুটিন-ভিত্তিক চেকলিস্ট (ওষুধ, কাজে যাওয়া, প্যাকিং)।
- হালকা কোচিং: ছোট হস্তক্ষেপগুলো যেমন “স্টপ করে শ্বাস নিন”, “ভাবনাটা রিফ্রেম করুন”, বা “পরবর্তী ধাপ পরিকল্পনা করুন।”
এই পোস্টে কি থাকছে (এবং কি থাকবে না)
এই গাইডটি অ্যাপ পরিকল্পনা ও তৈরির দিকে মনোনিবেশ করবে: কনটেক্সট সিগন্যাল বেছে নেওয়া, প্রাইভেসি-ফ্রেন্ডলি ডেটা ফ্লো ডিজাইন করা, প্রম্পট ইঞ্জিন তৈরি করা, এবং ব্যবহারকারীকে বিরক্ত না করে নটিফিকেশন ডেলিভারি করা।
এটি অস্পষ্ট “AI ম্যাজিক” বিক্রি করবে না বা নিখুঁত পূর্বাভাসের প্রতিশ্রুতি দেবে না। কনটেক্সট সিস্টেমগুলো জটিল, এবং সাফল্য ধীরে ধীরে আসে।
লক্ষ্য হওয়ার মতো সফলতার মানদণ্ড
একটি ভাল কনটেক্সট-ভিত্তিক প্রম্পট অ্যাপটি হওয়া উচিত:
- উপকারী: প্রম্পট দ্রুত কর্ম বা অন্তর্দৃষ্টি দেয়।
- সময়োপযোগী: ব্যবহারকারী সেটা প্রাসঙ্গিক মুহূর্তে দেখে, ঘন্টা পরে নয়।
- বিরক্তিকর নয়: প্রম্পট বিরল, স্কিপ করা যায় এমন, এবং টিউন করা সহজ।
- প্রাইভেসি-সম্মানজনক: স্পষ্ট সম্মতি, ন্যূনতম সংগ্রহ, এবং শক্তিশালী ব্যবহারকারী নিয়ন্ত্রণ।
একটি স্পষ্ট ইউজ কেস ও প্রম্পট লাইব্রেরি বেছে নিন
কনটেক্সট-ভিত্তিক প্রম্পট অ্যাপ অনেক কিছু করতে পারে, কিন্তু প্রথম সংস্করণে কয়েকটি জিনিস অসাধারণভাবে ভালো করুন। একটি প্রধান ইউজ কেস বেছে নিন (উদাহরণ: “কাজে ফোকাস রাখতে সাহায্য” বা “নিয়মিত জার্নালিং”), তারপর তার চারপাশে একটি ছোট, উচ্চ-গুণমান প্রম্পট লাইব্রেরি তৈরি করুন।
3–5 লক্ষ্যে ব্যবহারকারী (এবং তাদের “হেল্প মোমেন্ট”) বেছে নিন
আপনি যে কয়েকজনের জন্য ডিজাইন করছেন তাদের নিয়ে লিখে নিন এবং তারা কোন মুহূর্তে নাজ পাবে তা উল্লেখ করুন:
- ব্যস্ত পেশাজীবী: মিটিংগুলোর মাঝে বদল, দিনশেষে সারসংক্ষেপ।
- ছাত্র: ক্যাম্পাসে পৌঁছানো, স্টাডি ব্লক শুরু, লেকচারের পরে।
- নতুন অভিভাবক: সংক্ষিপ্ত শান্ত সময়, সন্ধ্যার রিসেট, বাজার ভ্রমণ।
- ফিটনেস শুরু করা মানুষ: জিমে পৌঁছানো, ওয়াকের পরে কুলডাউন, বিছানায় যাবার আগে।
- উদ্বিগ্ন ওভারথিঙ্কার: যাত্রাবাড়ি, কোনো চাপসংক্রান্ত ইভেন্টের আগে, সামাজিক প্ল্যানের পরে।
প্রম্পট ক্যাটেগরি নির্ধারণ করুন (স্ক্যানেবল রাখুন)
বাস্তব উদ্দেশ্যের সঙ্গে মিলানো ক্যাটেগরি ব্যবহার করুন: স্বাস্থ্য, ফোকাস, জার্নালিং, চলমান কাজ, শেখা। পরবর্তীতে বাড়ালেও, পরিষ্কার সেট সেটআপ দ্রুত করে এবং সুপারিশ স্পষ্ট করে।
নমুনা প্রম্পট + তাদের কনটেক্সট ট্রিগার ড্রাফট করুন
একটি সহায়ক কোচের মতো প্রম্পট লিখুন: সংক্ষিপ্ত, নির্দিষ্ট, এবং করা সহজ।
- ফোকাস: “একটি কাজ কী যা আজকে অগ্রসর করবে?” (সাপ্তাহিক দিন, সকাল 9–11, কাজে থাকা অবস্থান)
- জার্নালিং: “আজকের একটি ছোট সাফল্য নাম বলুন—সামান্যও গণ্য।” (সন্ধ্যা, ফোন চার্জে, বাড়ি)
- চলমান কাজ: “আপনি দোকানের কাছে—কিছু কি নেওয়ার আছে?” (সংরক্ষিত বাজার লোকেশনের কাছে, যদি আপনি এখনও ভিতরে না থাকেন)
- স্বাস্থ্য: “দুই মিনিট: কাঁধ ও ঘাড় স্ট্রেচ করুন।” (60 মিনিট অক্রিয়তার পরে)
- শেখা: “একটা ফ্ল্যাশকার্ড সেশন রিভিউ করবেন?” (কমিউট সময়, হেডফোন সংযুক্ত)
ক্লান্তি রোধে ফ্রিকোয়েন্সি সীমা নির্ধারণ করুন
ডিফল্ট হিসেবে আপনার ধারণার চেয়ে কম রাখুন। একটি ব্যবহারিক সূচনা: প্রতিদিন 1–3 প্রম্পট, কুলডাউন উইন্ডো (উদাহরণ: একই প্রম্পট 3–4 ঘন্টার মধ্যে আবার না দেখানো), এবং প্রতিটি ক্যাটেগরির জন্য সাপ্তাহিক ক্যাপ। “আজকে প্রম্পট বিরতি” সহজে অ্যাক্সেসযোগ্য করুন।
কোন কনটেক্সট সিগন্যালগুলো আপনি ব্যবহার করবেন তা বেছে নিন
আপনার অ্যাপ ফোন থেকে সেন্স বা অনুমিত তথ্য থেকে “কনটেক্সট” পায়। লক্ষ্য নয় সবকিছু সংগ্রহ করা—বরং এক ছোট সেট বেছে নিন যা নির্ভরযোগ্যভাবে পূর্বাভাস দেয় কখন প্রম্পট উপকারী হবে।
সাধারণ কনটেক্সট সিগন্যাল (এবং তারা কিসের জন্য ভালো)
সময়: সকালে/রাতে রুটিন, দিনশেষ রিফ্লেকশন, সাপ্তাহিক চেক-ইন।
অবস্থান: "বাড়ি পৌঁছানো" জার্নালিং, "জিমে" মোটিভেশন, "মার্কেটের কাছে" শপিং রিমাইন্ডার।
গতি/ক্রিয়াকলাপ: হাঁটা বনাম ড্রাইভিং বনাম অচল থাকা—কারো বিরক্ত না করার উদ্দেশ্যে দরকারি।
ডিভাইস অবস্থা: স্ক্রিন অন/অফ, ডো নট ডিস্টার্ব, ব্যাটারি লেভেল, হেডফোন সংযুক্ত—ব্যবহারকারীর উপলব্ধতার জন্য চমৎকার।
ক্যালেন্ডার: মিটিং-এর আগে/পরে, কমিউট উইন্ডো, ট্রাভেল ডে।
আবহাওয়া (ঐচ্ছিক): বৃষ্টিভেজা মুডের প্রম্পট, আউটডোর অভ্যাস টিপস—কিন্তু এটাকে কেন্দ্রবিন্দু বানাবেন না।
“প্রয়োজনীয়” এবং “ভালো হলে আছে” আলাদা করুন
স্কোপ বাস্তব রাখতে, একটি মিষ্টি সেট সংজ্ঞায়িত করুন যা আপনি আত্মবিশ্বাসের সঙ্গে চালাতে পারবেন:
- অবশ্যই (MVP): সময় + ডিভাইস অবস্থা, অপশনালি সহজ লোকেশন (বাড়ি/কাজ) যদি অনুমতি সুবিধাজনক হয়।
- ভালো হলে আছে: মোশান/অ্যাকটিভিটি, ক্যালেন্ডার ইন্টিগ্রেশন, আবহাওয়া।
এই বিভাজন আপনাকে জটিল লজিক বাড়ানোর আগে ব্যবহারকারীরা সত্যিই কনটেক্সট-ভিত্তিক প্রম্পট চায় কিনা তা যাচাই করতে সাহায্য করবে।
প্ল্যাটফর্ম সীমাবদ্ধতা বিবেচনা করুন
মোবাইল OS ব্যাটারি রক্ষার জন্য ব্যাকগ্রাউন্ড কাজ সীমিত করে। পরিকল্পনা করুন:
- ব্যাকগ্রাউন্ড এক্সিকিউশন সীমাবদ্ধতা (বিশেষ করে iOS): স্থায়ী পোলিংয়ের বদলে শিডিউলার চেক ও OS-সাপোর্টেড জিওফেন্স প্রেফার করুন।
- ব্যাটারি ইম্প্যাক্ট: ক্রমাগত GPS খরচবহুল; সম্ভব হলে কোর্স লোকেশন বা significant-change আপডেট ব্যবহার করুন।
- অনুমতি প্রম্পট: শুধুই যখন ফিচার পরিষ্কারভাবে দরকার তবেই জিজ্ঞাসা করুন, এবং অনুমতি দেয়ার পরে অবিলম্বে মূল্য দিন।
সংবেদনশীল অনুমান এড়িয়ে চলুন যতক্ষণ না সত্যিই দরকার
সংবেদনশীল বৈশিষ্ট্য (স্বাস্থ্য অবস্থা, ধর্ম, পরিচয়, সম্পর্ক) কনটেক্সট থেকে অনুমান করা বিপজ্জনক। যদি কোনো সিগন্যাল ব্যক্তিগত কিছু ইঙ্গিত করে, তাহলে বা তো ব্যবহার করবেন না, অথবা কড়াভাবে opt-in রাখুন স্পষ্ট ভাষায় এবং সহজ অফ-সুইচ দিন।
প্রাইভেসি, সম্মতি এবং ব্যবহারকারী নিয়ন্ত্রণ ডিজাইনে রাখুন
প্রাইভেসি কেবল একটি চেকবক্স নয়—এটি একটি কোর প্রোডাক্ট ফিচার। লোকেরা নিরাপদ না মনে করলে তারা অনুমতি বন্ধ করবে, প্রম্পট উপেক্ষা করবে, বা আনইনস্টল করবে। আপনার অ্যাপটি তখনও কাজ করবে এমনভাবে ডিজাইন করুন যাতে সর্বনিম্ন ডেটা ব্যবহার করে এবং নিয়ন্ত্রণ সহজ হয়।
সর্বনিম্ন চাওয়া—সঠিক মুহূর্তে
শুরু করুন জিরো অপশনাল পারমিশন দিয়ে এবং মান অর্জন করে অনুমতি অর্জন করুন।
- সত্যিই যা লাগবে তা মানচিত্র করুন (উদাহরণ: নটিফিকেশন, মোশান, লোকেশন)।
- জাস্ট-ইন-টাইম অনুমতি জিজ্ঞাসা করুন—এর দ্বারা ব্যবহারকারী মূল্যটি বুঝে স্বীকার করবে।
- কী সংগ্রহ করা হবে এবং কেন তা এক বাক্যে স্পষ্ট করুন (ব্যবহারকারীর ভাষায়)।
অন-ডিভাইস বনাম সার্ভার প্রসেসিং: বাস্তবিক ট্রেড-অফ
কনটেক্সট সনাক্তকরণ ও প্রম্পট সিলেকশনে অন-ডিভাইস প্রসেসিং প্রেফার করুন। এটা সংবেদনশীল ডেটা ফোন ছেড়ে যাওয়া কমায়, অফলাইনে কাজ করে, এবং বেশি বিশ্বাসযোগ্য লাগে।
সার্ভার প্রসেসিং সিঙ্ক, অগ্রগতি বিশ্লেষণ, ও র্যাঙ্কিং উন্নত করতে সাহায্য করতে পারে, কিন্তু ঝুঁকি ও কমপ্লায়েন্স বাড়ায়। যদি সার্ভার ব্যবহার করেন, ডেরাইভড সিগন্যাল (উদাহরণ: “commute=true”) পাঠান কাঁচা ট্রেইল নয়, এবং যেটা লাগে তা ছাড়া কিছু স্টোর করবেন না।
ব্যবহারকারীকে স্পষ্ট নিয়ন্ত্রণ দিন
প্রথম দিন থেকেই নিয়ন্ত্রণ পরিকল্পনা করুন:
- পজ প্রম্পট (এক দিন, এক সপ্তাহ, বা “যতক্ষণ আমি চালু না করি”)
- কোয়ায়েট আওয়ারস এবং ছুটি দিন, প্লাস “আমি ব্যস্ত না হলে মাত্র” অপশন
- ইতিহাস মুছুন (শেষ প্রম্পট, গত এক সপ্তাহ, বা সব) এবং পার্সোনালাইজেশন রিসেট
ডেটা যতক্ষণ দরকার ততক্ষণই রাখুন
সহজ রিটেনশন নিয়ম যোগ করুন: যা দরকার তাই রাখুন, যতক্ষণ প্রয়োজন ততক্ষণ। উদাহরণ: ডিবাগের জন্য কাঁচা ইভেন্ট 7–14 দিন রাখুন, তারপর কেবল অ্যাগ্রিগেটেড পছন্দগুলো রাখুন (যেমন “বিকেলে প্রম্পট পছন্দ”)—অথবা ব্যবহারকারী opts-out করলে মুছে ফেলুন।
ডেটা মডেল: ইভেন্ট, নিয়ম, এবং পছন্দ
একটি কনটেক্সট-ভিত্তিক প্রম্পট অ্যাপ তার ডেটা মডেলের ওপর নির্ভর করে। এটি সরল ও স্পষ্ট রাখলে আপনি সহজে ব্যাখ্যা করতে পারবেন “আমি এটা কেন পেলাম?” এবং অদ্ভুত আচরণ ডিবাগ করা সহজ হবে।
“কনটেক্সট ইভেন্ট” মডেল
প্রতিটি সনাক্তকৃত সিগন্যালকে একটি ইভেন্ট হিসেবে বিবেচনা করুন। একটি ন্যূনতম স্ট্রাকচার হতে পারে:
- timestamp: কখন ঘটেছে (এবং অপশনালি কখন সনাক্ত করা হয়)
- signal:
arrived_home,walking,calendar_meeting_start,headphones_connected–র মত নর্মালাইজড টাইপ - confidence: 0–1 স্কোর (বা low/medium/high) যাতে নিয়মগুলো অনিশ্চিত সনাক্তকরণে ভিন্নভাবে আচরণ করতে পারে
ছোট মেটাডেটাও রাখতে পারেন (যেমন লোকেশন লেবেল “Home”, মোশান “Walking”), কিন্তু কাঁচা GPS ট্রেইল শুধু তখনই লগ করুন যখন সত্যিই দরকার।
“প্রম্পট রুল” মডেল
একটি রুল কনটেক্সটকে প্রম্পটের সাথে যুক্ত করে। রুলগুলো এমনভাবে মডেল করুন যাতে প্রতিবার একইভাবে মূল্যায়ন করা যায়:
- conditions: প্রয়োজনীয় সিগন্যাল (এবং ঐচ্ছিক “NOT” সিগন্যাল)
- schedule window: সময়-অবধি ও সপ্তাহের দিন সীমা
- cooldown: “X ঘন্টার মধ্যে আবার ফায়ার করবে না”
- priority: একই সাথে একাধিক রুল মিললে কোনটি আগে হবে
একটি enabled ফ্ল্যাগ এবং snoozed until ফিল্ড যোগ করুন যাতে ব্যবহারকারীর অ্যাকশনগুলো সহজে রাজ্যে রূপান্তর হয়।
পার্সোনালাইজেশনের পছন্দ
রুল থেকে পার্সোনালাইজেশন আলাদা রাখুন যাতে ব্যবহারকারী আচরণ বদলে দিতে পারে লজিক না বদলে:
- লক্ষ্য (যেমন জার্নালিং, হাইড্রেশন, মাইন্ডফুল বিরতি)
- পছন্দের টোন (সহায়ক, সরাসরি, খেলাধুলার মতো)
- অপ্ট-আউট (বিষয়, সময়, এমন কনটেক্সট যেমন “কখনই কাজে”)
নিরাপদ ডিফল্ট এবং ফলব্যাক
কনটেক্সট অনুপস্থিত হতে পারে (অনুমতি না, সেন্সর বন্ধ, কম confidence)। ফলব্যাক পরিকল্পনা করুন:
- কনফিডেন্স কম হলে রুলকে কেবল সময় দিয়ে ম্যাচ করার অনুমতি দিন
- একটি সাধারণ প্রম্পটে degrade করুন যা ব্যবহারকারীর লক্ষ্যকে টার্গেট করে
- অনিশ্চিত প্রম্পটের পরিবর্তে কম প্রম্পট দেখাতে পছন্দ করুন—বিশ্বাস রক্ষা করতে
এই মডেল আপনাকে ভবিষ্যতে বাড়ার জায়গা দিয়ে এখনই পূর্বানুমানযোগ্য আচরণ দেয়।
প্রম্পট ইঞ্জিন বানানো (নিয়ম ও র্যাঙ্কিং)
প্রম্পট ইঞ্জিন হল “মস্তিষ্ক” যা বাস্তব জীবনকে সময়োপযোগী নাজে রূপান্তর করে। এটাকে বোঝার মতো ও ডিবাগযোগ্য রাখুন, তবু ব্যক্তিগত মনে করানো উচিত।
একটি সরল ডিসিশন ফ্লো
একটি ব্যবহারিক ফ্লো এভাবে দেখায়:
- সিগন্যাল সংগ্রহ করুন (সময়, লোকেশন ক্যাটেগরি, মোশান স্টেট, ক্যালেন্ডার স্ট্যাটাস, অ্যাপ ব্যবহার, হেডফোন সংযুক্ত ইত্যাদি)
- রুল মূল্যায়ন করুন উপযুক্ত প্রম্পট ক্যাটেগরির শর্টলিস্ট বানাতে
- একটি প্রম্পট নির্বাচন করুন সেই শর্টলিস্ট থেকে র্যাঙ্কিং স্ট্র্যাটেজি ব্যবহার করে
- ডেলিভার Chosen channel (in-app card, notification, widget) এবং কি ঘটল লগ করুন
“প্রম্পট স্প্যাম” প্রতিরোধকারী সেফগার্ড
ভালো প্রম্পট হওয়া সত্ত্বেও অতিরিক্ত ঘন হলে বিরক্তিকর হয়ে ওঠে। প্রথম থেকেই গার্ডরেইল যোগ করুন:
- কুলডাউন্স: প্রতিটি প্রম্পট ও ক্যাটেগরির জন্য
- প্রতিদিনের সর্বোচ্চ প্রম্পট: একটি কঠোর ক্যাপ
- কোয়ায়েট টাইমস: ঘুমের ঘন্টা, মিটিং, ড্রাইভিং, ফোকাস মোড
- কনফ্লিক্ট রেজলিউশন: একাধিক রুল মিলে গেলে সর্বোচ্চ-মানের কনটেক্সটকে প্রাধান্য দিন
র্যাঙ্কিং ও নির্বাচন স্ট্র্যাটেজি
সরল থেকে শুরু করুন, পরে উন্নীত করুন:
- ক্যাটেগরির মধ্যে র্যান্ডম (শেষ N প্রম্পট না পুনরাবৃত্তি করার শর্ত সহ)
- স্কোরিং: কনটেক্সট ম্যাচের জন্য পয়েন্ট বরাদ্দ (উদাহরণ: সন্ধ্যায় বাড়িতে +3, ব্যায়ামের পরে +2)
- রিসেন্সি-অ্যাওয়ার: সম্প্রতি দেখা প্রম্পটকে ডাউন-র্যাঙ্ক করুন; এমন প্রম্পটগুলোকে আপ-র্যাঙ্ক করুন যেগুলোতে ব্যবহারকারী প্রতিক্রিয়া দেখান
প্লেইন-ল্যাঙ্গুয়েজ ব্যাখ্যা
প্রতিটি প্রদত্ত প্রম্পটে একটি ছোট “আমি এটা কেন দেখাচ্ছি?” লাইন থাকা উচিত। উদাহরণ: “আপনি সাধারণত ওয়ার্কআউটের পরে প্রতিফলন করেন, এবং 10 মিনিট আগে একটি ওয়ার্কআউট শেষ করেছেন।” এটা বিশ্বাস গড়ে তোলে এবং ব্যবহারকারীর ফিডব্যাক কার্যকর করে।
অ্যাপ আর্কিটেকচার: অন-ডিভাইস প্রথম, ক্লাউড অপশনাল
অন-ডিভাইস-ফার্স্ট আর্কিটেকচার কনটেক্সট ডিটেকশনকে দ্রুত, প্রাইভেট ও নির্ভরযোগ্য রাখে—এমনকি নেটওয়ার্ক না থাকলেও। ক্লাউডকে সিঙ্ক ও লার্নিং-এর জন্য অ্যাড-অন হিসেবে বিবেচনা করুন, কোর বিহেভিয়ারের উপর নির্ভরশীল না করে।
কোর কম্পোনেন্টস (ফোনে)
- কনটেক্সট কালেক্টর: পারমিশনকৃত সিগন্যাল পড়ে এবং সেগুলোকে সাদামাটা “কনটেক্সট ফ্যাক্ট”-এ নরমালাইজ করে।
- লোকাল স্টোর: ছোট ডেটাবেস (উদাহরণ: SQLite) প্রম্পট লাইব্রেরি, ব্যবহারকারী পছন্দ, নিয়ম, এবং প্রম্পট ইতিহাসের জন্য।
- প্রম্পট ইঞ্জিন: কনটেক্সট ফ্যাক্টগুলিকে নিয়মের সাথে মিলায় এবং প্রার্থীগণকে র্যাঙ্ক করে।
- ডেলিভারি লেয়ার: নটিফিকেশন শিডিউল করে এবং ইন-অ্যাপ সারফেস (হোম উইজেট/কার্ড) পরিচালনা করে, "shown/dismissed/completed" ট্র্যাক করে।
এগুলো সবই লগইন ছাড়াই কাজ করা উচিত।
অপশনাল ব্যাকএন্ড (মাত্র প্রয়োজনে)
সার্ভার পাতলা রাখুন:
- সিঙ্ক সার্ভিস: ব্যবহারকারী অ্যাকাউন্ট + এনক্রিপ্টেড সিঙ্কিং সেটিংস ও ইতিহাস
- অ্যানালিটিক্স সার্ভিস: একত্রিত ইভেন্ট কাউন্ট (যেমন “প্রম্পট দেখানো হয়েছে”, “প্রম্পট সম্পন্ন”), কড়া opt-in সহ
- রিমোট কনফিগ: নতুন ডিফল্ট প্রম্পট বা র্যাঙ্কিং ওজন টুইক করার নিরাপদ উপায়—অ্যাপ আপডেট না করেই
অফলাইন-প্রথম আচরণ
নেটওয়ার্ক না থাকলে:
- কনটেক্সট সনাক্তকরণ ও রুল মূল্যায়ন স্বাভাবিকভাবে চলছে
- নোটিফিকেশন শিডিউলিং লোকাল ট্রিগার ব্যবহার করে
- অ্যানালিটিক্স/সিঙ্কের জন্য ইভেন্ট স্থানীয়ভাবে কিউ করা হয় টাইমস্ট্যাম্প সহ
কনেকটিভিটি ফিরে এলে ব্যাকগ্রাউন্ড সিঙ্ক কিউড ইভেন্ট আপলোড করে এবং কনফ্লিক্ট রেসল্ভ করে। কনফ্লিক্টে সরল পছন্দ: সাধারণ পছন্দের জন্য last-write-wins, আর অ্যাপেন্ড-ওনলি ডেটার জন্য মার্জ।
ব্যাটারি-সম্মান করে ব্যাকগ্রাউন্ড জব
OS-নেটিভ শিডিউলার ব্যবহার করুন (iOS BackgroundTasks, Android WorkManager) এবং ব্যাচিং ডিজাইন করুন:
- ঘন পোলিং এড়ান; কোর্স ট্রিগার (সময় উইন্ডো, significant location changes, geofences, activity transitions) নির্ভর করুন
- কেবল যখন কনটেক্সট অর্থবাহীভাবে বদলে যায় তখন র্যাঙ্ক করুন
- কুল-ডাউন যোগ করুন (উদাহরণ: ডিসমিসালের 15–30 মিনিট পরে আবার গণনা না করা)
কোন জিনিসগুলো ডিভাইস জুড়ে সিঙ্ক করবেন
কনটিনিউটি বাড়ায় এমন জিনিস সিঙ্ক করুন, কাঁচা সেন্সর ডেটা নয়:
- হ্যাঁ: পছন্দ, চালু সিগন্যাল, নিয়ম, কাস্টম প্রম্পট, প্রম্পট ইতিহাস (shown/completed/dismissed), quiet hours, cooldown state
- শয়তো: স্ট্রিক ও সামারি
- ডিফল্ট না: নির্দিষ্ট লোকেশন ট্রেস, মোশান টাইমলাইন, পূর্ণ কনটেক্সট লগ
এই বিভাজন ব্যবহারকারীদের ডিভাইস জুড়ে সঙ্গত অভিজ্ঞতা দেয় এবং সংবেদনশীল প্রসেসিং অন-ডিভাইসে রাখতে সাহায্য করে।
প্রম্পট UX: সহজ সেটআপ ও কম বাধা
কনটেক্সট-ভিত্তিক প্রম্পট অ্যাপ তখনই কাজ করে যখন এটি ঝামেলাহীন লাগে। সেরা UX মুহূর্তের সময় সিদ্ধান্ত কমায়, আবার ব্যবহারকারীদের পরবর্তী সময়ে কাস্টমাইজ করার সুযোগ দেয়।
হোম স্ক্রিন: এক নজরে, এক ট্যাপ
হোম স্ক্রিনকে আজকের প্রম্পট এবং দ্রুত ফলো-থ্রোর দিকে সাজান। সাধারণ স্ট্রাকচার কার্যকর:
- আজকের প্রম্পট: পরবর্তী 1–3 আইটেম, স্পষ্ট লেবেল দিয়ে যেমন “এখন”, “পরে”, বা “আজ সন্ধ্যায়”
- আসন্ন: একটি লাইটওয়েট তালিকা/টাইমলাইন যাতে ব্যবহারকারী চমকিত না হয়
- কুইক অ্যাকশনস: “Snooze,” “Skip,” “Do now,” এবং “Swap prompt”
প্রতিটি প্রম্পট কার্ডকে এক বাক্য, এক প্রধান অ্যাকশনে সীমাবদ্ধ রাখুন। যদি প্রম্পট বেশি প্রসঙ্গ প্রয়োজন হয়, তাহলে ডিফল্টভাবে না দেখান—এর বদলে “আমি এটা কেন দেখাচ্ছি?” পেছনে রাখুন।
সহজ সেটআপ এবং “এডিট রুলস” স্ক্রিন
অনবোর্ডিংকে প্রশ্নপত্র নয় এমনভাবে রাখুন। ছোট ডিফল্ট দিয়ে শুরু করুন, তারপর একটি Edit Rules স্ক্রিন দিন যা দৈনন্দিন সেটিংসের মতো দেখায়:
- সাধারণ কনটেক্সটের জন্য টগলস (সকাল, কমিউট, বাড়ি পৌঁছানো, কোয়ায়েট টাইম)
- ফ্রিকোয়েন্সির জন্য স্লাইডার (“কম / স্বাভাবিক / বেশি”) এবং সেন্সিটিভিটির জন্য (“শুধু নিশ্চিত হলে”)
- পরিষ্কার Do Not Disturb ব্লক (ঘন্টা ও দিন)
নিয়মগুলোকে সাধারণ ভাষায় নাম দিন (“কর্ম শেষে রিল্যাক্স”) টেকনিক্যাল কন্ডিশন নয়।
অ্যাকটিভিটি লোগ: বিশ্বাস, শেখা, ও আনডু
একটি Activity Log যোগ করুন যা কী ফায়ার করেছে, কখন, এবং অ্যাপ কী সনাক্ত করেছে তা দেখায় (“প্রম্পট পাঠানো হয়েছে কারণ: জিমে পৌঁছানো”)। ব্যবহারকারীকে দিন:
- আনডু (স্কিপ করা প্রম্পট পুনরায় চালু করা)
- মিউট একটি রুল ("এক সপ্তাহের জন্য এগুলো বন্ধ করুন")
- হালকা ফিডব্যাক দিন (“More like this / Less like this”)
ডিফল্টভাবে অ্যাক্সেসিবিলিটি
পঠनीय টেক্সট সাইজ, হাই-কনট্রাস্ট অপশন, বড় ট্যাপ টার্গেট, এবং স্পষ্ট বোতামের লেবেল রাখুন। রিডিউসড মোশন সাপোর্ট করুন, কেবল রঙে নির্ভর করবেন না, এবং স্ক্রিন রিডারের সাথে মূল ফ্লো ব্যবহারযোগ্য করুন।
নটিফিকেশন ও ডেলিভারি—বিরক্ত না করে
নটিফিকেশনই এমন জায়গা যেখানে একটি সাহায্যকারী অ্যাপ দ্রুত বিরক্তিকর হয়ে যেতে পারে। লক্ষ্য হচ্ছে সঠিক প্রম্পট সঠিক মুহূর্তে ডেলিভারি করা—এবং যখন মুহূর্তটি সঠিক না তখন সহজে অবহেলা করা যায়।
সঠিক ডেলিভারি চ্যানেল বেছে নিন
কম অনগঠনকারী অপশন দিয়ে শুরু করুন এবং শুধুমাত্র যখন উপকার দেখা যায় তখন বাড়ান:
- ইন-অ্যাপ কার্ড: পরবর্তী অ্যাপ ওপেন পর্যন্ত অপেক্ষা করতে পারে এমন প্রম্পটের জন্য উত্তম
- লোকাল নটিফিকেশন: অন-ডিভাইস কনটেক্সট ট্রিগারের জন্য চমৎকার; প্রাইভেট এবং অফলাইন-সামঞ্জস্যপূর্ণ
- পুশ নটিফিকেশন (শুধু প্রয়োজন হলে): সার্ভার-সাইড ইভেন্টের জন্য—দুর্লভ ও ব্যবহারকারীর অনুমোদিত রাখুন
নিয়ম: যদি সিদ্ধান্ত অন-ডিভাইসে নেওয়া যায়, লোকাল নটিফিকেশন পাঠান।
ব্যবহারকারীকে শান্তির নিয়ন্ত্রণ দিন (সেটিংস ছাড়া)
কয়েকটি উচ্চ-প্রভাব নিয়ন্ত্রণ যোগ করুন যা বিরক্তি রোধ করে:
- কোয়ায়েট আওয়ারস (উদাহরণ: রাত 10–সকাল 8) এবং “পরের সকালে ডেলিভার” অপশন
- ফোকাস মোড আচরণ: সব প্রম্পট পজ বা শুধুমাত্র নির্বাচিত ক্যাটেগরি অনুমোদিত
- প্রতি-ক্যাটেগরি নিয়ন্ত্রণ: টগল এবং ফ্রিকোয়েন্সি সীমা (উদাহরণ: “স্বাস্থ্য: সর্বোচ্চ 2/দিন”, “জার্নালিং: 3/সপ্তাহ”)
এই নিয়ন্ত্রণগুলো প্রথম প্রম্পট অভিজ্ঞতা থেকেই অ্যাক্সেসযোগ্য রাখুন (“বেশি পাচ্ছেন? ফ্রিকোয়েন্সি সেট করুন”) যাতে ব্যবহারকারী মেনু খুঁজতে না হয়।
ধৈর্যশীল ও কার্যকর নোটিফিকেশন কপি লিখুন
নোটিফিকেশন টেক্সট দ্রুত তিনটি প্রশ্নের উত্তর দেওয়া উচিত: কেন এখন, কী করতে হবে, এবং কত সময় লাগবে।
সংক্ষিপ্ত রাখুন, অপরাধবোধজনক শব্দ এড়ান, এবং এমন ক্রিয়াপদ ব্যবহার করুন যা কর্মের জন্য আমন্ত্রণ জানায়:
- “দ্রুত চেক-ইন: আপনার এনার্জি কেমন? (10 সেক)”
- “আপনি বাড়ি পৌঁছেছেন—1 মিনিটের রিসেট করবেন?”
- “আপনার মিটিংয়ের আগে: একটি উদ্দেশ্য বেছে নিন?”
যদি আপনি কয়েক শব্দে “কেন এখন” ব্যাখ্যা করতে না পারেন, সেটি ইঙ্গিত যে ট্রিগার খুব দুর্বল।
ডীপ-লিংকিং: সঠিক স্থানে নিয়ে যাবেন (প্রাসঙ্গিক কনটেক্সট সহ)
একটি ট্যাপ ব্যবহারকারীকে সাধারণ হোম স্ক্রিনে ফেলে দেবেন না। সরাসরি প্রাসঙ্গিক প্রম্পটে ডীপ-লিংক করুন, ডিটেক্টেড কনটেক্সট সহ এবং ঠিক করার উপায় দিন।
উদাহরণ: নটিফিকেশন ট্যাপ → প্রম্পট স্ক্রিন যেখানে লেখা থাকবে “ট্রিগারিং কারণ: জিমে পৌঁছেছেন • সন্ধ্যা 6:10” এবং অ্যাকশনগুলো থাকবে Do now, Snooze, Not relevant, Change this rule। “Change this rule” অপশন রাগকে ব্যবহারকারী প্রতিক্রিয়ায় রূপান্তর করে।
এমন ব্যক্তিগতকরণ লুপ যা স্বচ্ছ লাগে
পার্সোনালাইজেশন এমনভাবে হওয়া উচিত যেন অ্যাপটি শোনে—অনুমান করে না। সবচেয়ে নিরাপদ পথ হল স্পষ্ট নিয়ম দিয়ে শুরু করে ব্যবহারকারীর হালকা ফিডব্যাকের মাধ্যমে উন্নতি করা।
হালকা ফিডব্যাক, ঠিক যেখানে গুরুত্বপূর্ণ
প্রম্পটের পরে দ্রুত ট্যাপযোগ্য অ্যাকশন দিন:
- Helpful / Not helpful
- Snooze (30 মি, 2 ঘন্টা, আগামীকাল ইত্যাদি)
- ফ্রিকোয়েন্সি পরিবর্তন (বেশি / কম)
সরল ভাষা রাখুন এবং অবিলম্বে ফল দেখান। “Not helpful” করলে দীর্ঘ সার্ভে চাপাবেন না—একটি ছোট ঐচ্ছিক ফলো-আপ যথেষ্ট (“ভুল সময়” বা “ভুল বিষয়”)।
ফিডব্যাককে ব্যাখ্যাযোগ্য সমন্বয়ে পরিণত করুন
ফিডব্যাক নিয়ম ও র্যাঙ্কিং টিউন করতে ব্যবহার করুন সেভাবে যাতে আপনি বর্ণনা করতে পারেন:
- সকালে কোনো ক্যাটেগরির জন্য বারবার “Not helpful” হলে সকালের স্কোর কমিয়ে দিন
- ব্যবহারকারী মিটিংয়ের সময় স্নুজ করলে, অ-মহড়া ক্যাটেগরির জন্য মিটিং-টাইম অগ্রাধিকার কমান
- যদি “Helpful” বেশি ঘটে ওয়ার্কআউট পরে, তাহলে ওই ট্রিগারকে বাড়ান
পরিবর্তন হলে সেটা দৃশ্যমান করে জানান: “আমরা 9am-এর আগে কাজ-সংক্রান্ত প্রম্পট কম দেখাব” বা “ব্যস্ত দিনে আমরা সংক্ষিপ্ত প্রম্পট প্রাধান্য দেব।” হঠাৎ পরিবর্তন এড়ান।
ব্যবহারকারী বুঝতে পারবে এমন পার্সোনালাইজেশন সেটিংস
একটি ছোট “Preferences” এলাকা দিন যেখানে নিয়ন্ত্রণ থাকবে:
- টোন (নরম, সরাসরি, খেলা-ধাঁচ)
- দৈর্ঘ্য (এক-লাইন বনাম সংক্ষিপ্ত প্যারাগ্রাফ)
- ক্যাটেগরি ও লক্ষ্য (জার্নালিং, হ্যাবিট, ফোকাস, কৃতজ্ঞতা)
এই সেটিংগুলো একটি পরিষ্কার চুক্তি: ব্যবহারকারী জানতে পারবে অ্যাপ কি অপ্টিমাইজ করবে।
সংবেদনশীল পার্সোনালাইজেশনের প্রতি কঠোর থাকুন
কনটেক্সট ডেটা থেকে সংবেদনশীল বৈশিষ্ট্য (স্বাস্থ্য, সম্পর্ক, আর্থিক) অনুমান করবেন না। সংবেদনশীল এলাকায় পার্সোনালাইজ করার জন্য ব্যবহারকারীকে স্পষ্টভাবে সক্ষম করতে হবে, এবং সহজভাবে তা বন্ধ করার উপায় দিন বাকি সেটিংস না হারিয়ে।
কনটেক্সট ট্রিগার ও এজ কেস পরীক্ষার কৌশল
কনটেক্সট-ভিত্তিক প্রম্পট তখনই “স্মার্ট” লাগে যখন সেগুলো সঠিক মুহূর্তে ফায়ার করে—এবং চুপ থাকে যখন মুহূর্তটি সঠিক নয়। টেস্টিংকে উভয়টাই কভার করতে হবে: সঠিকতা (ট্রিগার হয় কি না?) এবং restraint (এটা এড়ায় কি না?)।
দুইভাবে ট্রিগার টেস্ট করুন: সিমুলেটর ও বাস্তব জীবন
ডেস্ক থেকে বারবার পরীক্ষা করার জন্য দ্রুত সিমুলেশন দিয়ে শুরু করুন। বেশিরভাগ মোবাইল ডেভ টুল আপনাকে লোকেশন পরিবর্তন, সময় শিফট, কনেকটিভিটি পরিবর্তন, ব্যাকগ্রাউন্ড/ফরগ্রাউন্ড ট্রানজিশন সিমুলেট করতে দেয়। এগুলো ব্যবহার করে আপনার রুল ও র্যাঙ্কিং লজিক ডিটারমিনিস্টিকভাবে যাচাই করুন।
তারপর বাস্তবে হাঁটা ও ড্রাইভ করুন। সিমুলেটর GPS ড্রিফ্ট, খারাপ সেলুলার, বা পকেটে ফোন থাকলে সেন্সর আচরণ ধরা দেয় না। একটি ব্যবহারিক পদ্ধতি হল প্রতিটি প্রম্পট টাইপের জন্য ছোট টেস্ট স্ক্রিপ্ট তৈরি করা এবং বাস্তব ডিভাইসে এন্ড-টু-এন্ড চালানো।
ইচ্ছাকৃতভাবে ভাঙার জন্য এজ কেস
কনটেক্সট সিস্টেম বিরক্তিকরভাবে ব্যর্থ হয়—তাই এগুলো আগে থেকেই টেস্ট করুন:
- নিম্ন ব্যাটারি / লো পাওয়ার মোড (ব্যাকগ্রাউন্ড সনাক্তকরণ gracefully degrade করে?)
- GPS অনুমতি না দেওয়া বা GPS অনুপলব্ধ (টাইম-অনলি বা Wi‑Fi ফলব্যাক আছে?)
- টাইম জোন পরিবর্তন ও ডেলাইট সেভিং (শিডিউল ঠিক থাকে?)
- প্লেন মোড, অফলাইন, ঝটপট কনেকটিভিটি (নেটওয়ার্কে কিছু ব্লক করে কি?)
- অ্যাপ জোর করে বন্ধ করা বা ডিভাইস রিস্টার্ট (পেন্ডিং ট্রিগারগুলি ঠিকভাবে পুনর্নির্মিত হয়?)
লক্ষ্য নিখুঁত আচরণ নয়—বুদ্ধিমত্তার বদলে বোধগম্য আচরণ যাতে ব্যবহারকারী কখনও বিস্মিত বা বিরক্ত না হয়।
কেবল “ফায়ার হয়েছে কি না” নয়, মান মাপুন
ফলাফল নির্দেশক ইনস্ট্রুমেন্ট করুন যাতে বলা যায় প্রম্পট সাহায্য করছে কি না:
- প্রম্পট ওপেন রেট (ব্যবহারকারী জড়িত হয়েছে?)
- স্নুজ (সময় একটু ভুল ছিল)
- ডিসেবল/আনসাবস্ক্রাইব (প্রম্পট অনিচ্ছাকৃত বা অতিরিক্ত)
- হালকা ফিডব্যাক (“Helpful” / “Not now” / “Not relevant”)
এই সিগন্যালগুলো আপনাকে র্যাঙ্কিং ও থ্রটলিং টিউন করতে সাহায্য করবে অনুমানের ওপরে নির্ভর না করে।
ক্র্যাশ রিপোর্টিং ও কর্মক্ষমতা চেক যোগ করুন
কম ও এমভিপি হলেও বেসিক ক্র্যাশ রিপোর্টিং ও স্টার্টআপ/পারফরম্যান্স মেট্রিক্স থাকা উচিত। কনটেক্সট ডিটেকশন ব্যাটারি-সংবেদনশীল হতে পারে, তাই ব্যাকগ্রাউন্ড CPU/wake-ups ট্র্যাক করুন এবং নিশ্চিত করুন ট্রিগারগুলো ব্যাকগ্রাউন্ডে মূল্যায়ন করার সময় অ্যাপ প্রতিক্রিয়াশীল থাকে।
MVP লঞ্চ প্ল্যান ও ইটারেশন রোডম্যাপ
একটি কনটেক্সট-ভিত্তিক প্রম্পট অ্যাপের MVP-র কাজ প্রমাণ করা উচিত: মানুষ সময়োপযোগী প্রম্পট মেনে নেবে এবং কাজ করবে। প্রথম রিলিজকে সঙ্কীর্ণ রাখুন যাতে দ্রুত শেখা যায়।
ন্যূনতম MVP স্কোপ (প্রথম রিলিজ)
কিছু সীমাবদ্ধ কিন্তু উচ্চমান উপাদানে লক্ষ্য করুন:
- 15–30 উচ্চ-গুণমান প্রম্পট 2–3 ক্যাটেগরিতে (উদাহরণ: জার্নালিং, হ্যাবিট, মুড চেক-ইন)
- 2–4 কনটেক্সট ট্রিগার যা আপনি নির্ভরযোগ্যভাবে সাপোর্ট করতে পারবেন (সময় উইন্ডো + একটি সেন্সর যেমন বাড়ি পৌঁছানো বা হাঁটা)
- বেসিক শিডিউলিং কন্ট্রোল: কোয়ায়েট আওয়ারস, প্রতিদিনের সর্বোচ্চ প্রম্পট, স্নুজ, ক্যাটেগরি ডিসেবল
- সহজ ইতিহাস: কী ফায়ার করেছে এবং ব্যবহারকারী কী করেছে (ডান/স্নুজ/অবহেলা)
- প্রতিটি নটিফিকেশনে একটি “কেন এই প্রম্পট?” ব্যাখ্যা
অনুমতি উপার্জন করে অনবোর্ডিং
মান দেখিয়ে শুরু করুন, অনুমতি নয় দিয়ে। প্রথম স্ক্রিনে একটি বাস্তবসম্মত নটিফিকেশন উদাহরণ দেখান এবং উপকারিতা বলুন (“সংক্ষিপ্ত প্রম্পটগুলো আপনি বেছে নেওয়া মুহূর্তগুলোতে”)। তারপর:
- ব্যবহারকারীকে একটি লক্ষ্য ও একটি প্রম্পট ক্যাটেগরি বেছে নিতে বলুন
- তাদেরquiet hours ও ফ্রিকোয়েন্সি সেট করতে দিন
- প্রয়োজন হলে অনুমতি জিজ্ঞাসা করুন (যেমন “বাড়ি পৌঁছানো” ট্রিগার চালু করলে লোকেশন অনুমতি)
দ্রুত প্রোটোটাইপিং নোট (দ্রুত পরীক্ষা করতে চাইলে)
যদি দ্রুত অভিজ্ঞতা যাচাই করতে চান, একটি ভিব-কোডিং প্ল্যাটফর্ম যেমন Koder.ai আপনাকে কোর অংশগুলি (প্রম্পট লাইব্রেরি UI, রুল এডিটর, অ্যাকটিভিটি লগ, এবং পাতলা ব্যাকএন্ড) দ্রুত প্রোটোটাইপ করতে সাহায্য করতে পারে—তারপর কপি ও গার্ডরেইল নিয়ে পুনরাবৃত্তি করুন। এটি বিশেষ করে React-ভিত্তিক ওয়েব ড্যাশবোর্ড (ইন্টার্নাল টেস্টিং), Go + PostgreSQL ব্যাকএন্ড, এবং সোর্স কোড এক্সপোর্টের জন্য সহায়ক।
স্টোর লিস্টিংটি বাস্তব আচরণ প্রতিফলিত করুক
স্ক্রিনশট ও কপিটি প্রথম দিনই অ্যাপ আসলেই কী করে তা দেখুক: প্রতিদিন কত প্রম্পট, স্নুজ কত সহজ, এবং প্রাইভেসি কীভাবে হ্যান্ডেল হয়—সবই। নিখুঁত সঠিকতার ইঙ্গিত দেবেন না; কন্ট্রোল ও সীমা বর্ণনা করুন।
পোস্ট-লঞ্চ ইটারেশন লুপ
প্রাইভেসি সম্মান করে অ্যানালিটিক্স শিপ করুন: প্রদত্ত, খোলা, স্নুজ, ডিসেবল, এবং টাইম-টু-অ্যাকশন ইত্যাদি। কয়েকটি ব্যবহার পর একটি ইন-অ্যাপ “এটি সহায়ক ছিল?” যোগ করুন।
সাপ্তাহিকভাবে ডিফল্ট ও প্রম্পট কপি নিয়ে দ্রুত ইটারেট করুন, তারপর মাসিকভাবে নতুন ট্রিগার যোগ করুন। সহজ রোডম্যাপ: প্রথমে নির্ভুলতা উন্নত করুন, তারপর প্রম্পট লাইব্রেরি বাড়ান, এবং কোর লুপ কাজ করলে উন্নত পার্সোনালাইজেশন যোগ করুন।
সাধারণ প্রশ্ন
কিন্তু কনটেক্সট-ভিত্তিক ব্যক্তিগত প্রম্পট কী?
এগুলো ছোট, সময়োপযোগী নাজ (nudge) যা একটি প্রাসঙ্গিক পরিস্থিতি সনাক্ত হলে (সময়, অবস্থান, ক্রিয়াকলাপ, ক্যালেন্ডার, ডিভাইসের অবস্থা, সাম্প্রতিক আচরণ) ফায়ার করে—নিয়মিত নির্দিষ্ট সময়ে নয়।
লক্ষ্য হচ্ছে এমন মুহূর্তে প্রম্পট দেখানো যখন সেটা সবচেয়ে উপকারী হবে—যেমন মিটিং-এর পরে বা বাড়িতে পৌঁছানোর ঠিক পরে।
কিভাবে একটি ভাল প্রথম ইউজ কেস বেছে নিব?
একটি প্রধান লক্ষ্য নিয়ে শুরু করুন (যেমন: নিয়মিত জার্নাল রাখা বা কাজের সময় ফোকাস বজায় রাখা), তারপর সেই “হেল্প মোমেন্ট” গুলোর জন্য একটি ছোট প্রম্পট লাইব্রেরি তৈরি করুন।
একটি সঙ্কীর্ণ প্রথম সংস্করণ টিউন, টেস্ট এবং ব্যবহারকারীর কাছে বোঝানো সহজ করে তোলে।
MVP-তে কোন কোন কনটেক্সট সিগন্যাল ব্যবহার করা উচিত?
বিশ্বাসযোগ্য, কম ব্যাটারি-ব্যয়ী এবং সহজে ব্যাখ্যা যোগ্য সিগন্যালগুলোকে অগ্রাধিকার দিন:
- সময় + ডিভাইস অবস্থা (MVP-র জন্য প্রায়ই যথেষ্ট)
- সহজ স্থান লেবেল যেমন Home/Work (ব্যবহারকারী অনুমতি দিলে)
- মোশান/অ্যাকটিভিটি যাতে ড্রাইভিং বা কসরত-এর সময় পরিব্যক্ত না করা হয়
- ক্যালেন্ডার মিটিং-এর আগে/পরে ট্রিগার করার জন্য
আবহাওয়া ও অন্যান্য এক্সট্রা গুলোকে অপশনাল ভাবুন।
কিভাবে নটিফিকেশন ফ্যাটিগ ও “প্রম্পট স্প্যাম” রোধ করব?
প্রথমদিন থেকেই কড়া গার্ডরেইল ব্যবহার করুন:
- হার্ড ক্যাপ (যেমন প্রতিদিন 1–3 প্রম্পট)
- প্রতিটি প্রম্পট ও ক্যাটেগরির জন্য কুলডাউন
- কোয়ায়েট আওয়ারস এবং “আজকের জন্য বিরতি”
- যখন একাধিক নিয়ম মিলে যায় তখন কনফ্লিক্ট রেজলিউশন
প্রম্পটের সংখ্যা আপনার ধারণার চাইতে কম রাখুন; ব্যবহারকারীরা চাইলে বাড়াতে পারবেন।
কনটেক্সট ডিটেকশন ও প্রম্পট সিলেকশন অন-ডিভাইসে করা উচিৎ না সার্ভারে?
প্রাসঙ্গিক কনটেক্সট শনাক্ত ও প্রম্পট বাছাইয়ের জন্য ডিভাইসে প্রক্রিয়াকরণকে অগ্রাধিকার দিন। এটি দ্রুত, অফলাইন-এ কাজ করে এবং সংবেদনশীল ডেটা ফোন ছেড়ে না যাওয়ায় বিশ্বাসযোগ্য লাগে।
সিঙ্ক বা অ্যানালিটিক্সের জন্য সার্ভার হলে, কাঁচা ট্র্যাকিংয়ের বদলে সংশ্লিষ্ট সিগন্যাল (যেমন “commute=true”) পাঠান এবং বিছিন্ন রাখুন।
প্রাইভেসি ও সম্মতি কীভাবে হ্যান্ডেল করা উচিত?
সর্বনিম্ন অনুমতি চাইলেই নিন, এবং ঠিক সেই মুহূর্তে–যখন ওই ফিচারটি ব্যবহার হচ্ছে ততক্ষণ ধরেই জিজ্ঞাসা করুন (just-in-time)।
উদাহরণস্বরূপ: শুধু তখন লোকেশন অনুমতি চাইবেন যখন ব্যবহারকারী “কাজে পৌঁছালে প্রম্পট দিন” চালু করছে। সহজ ভাষায় এক বাক্যে বলুন কেন দরকার—("পদক্ষেপ সনাক্ত করতে" বলার চেয়ে "আপনি হাঁটলে এটা জানার জন্য" বলুন)।
স্পষ্ট নিয়ন্ত্রন দিন: pausa, quiet hours, ইতিহাস মুছতে দেওয়া ইত্যাদি।
কনটেক্সট ট্রিগার ও প্রম্পট নিয়মের জন্য সাদামাটা ডেটা মডেল কী হওয়া উচিত?
মুখ্য তিনটি জিনিস আলাদা করে মডেল করুন:
- কনটেক্সট ইভেন্ট (টাইমস্ট্যাম্প, নরম্যালাইজড সিগন্যাল, confidence)
- প্রম্পট নিয়ম (শর্ত, সময়সীমা, কুলডাউন, অগ্রাধিকার, enabled/snoozed)
- প্রেফারেন্স (লক্ষ্য, টোন, opt-outs)
এই আলাদা স্তরগুলো আচরণকে পূর্বানুমানযোগ্য করে এবং “আমি এটা কেন পেলাম?” সহজে বোঝায়।
প্রম্পট ইঞ্জিন ও র্যাঙ্কিং লজিক কিভাবে বানাব?
নির্ধারণমূলক ফ্লো ব্যবহার করুন:
- বর্তমান কনটেক্সট ফ্যাক্ট সংগ্রহ করুন
- উপযুক্ত ক্যাটেগরি/প্রম্পট খুঁজে পেতে নিয়মগুলি মূল্যায়ন করুন
- প্রার্থীগণকে র্যাঙ্ক করুন (সরল স্কোরিং বা র্যান্ডম-বিহীন-রিপিটস দিয়ে শুরু)
- ডেলিভার করুন এবং ফলাফল লগ করুন (shown/dismissed/completed)
একটি ছোট “কেন দেখানো হচ্ছে?” লাইন যোগ করুন—এটি বিশ্বাস গড়ে তোলে এবং ডিবাগ সহজ করে।
কোন ডেলিভারি চ্যানেল ব্যবহার করা উচিত (ইন-অ্যাপ বনাম লোকাল বনাম পুশ) ?
চ্যানেলকে তাত্পর্য এবং হস্তক্ষেপের স্তরের সাথে মিলান:
- ইন-অ্যাপ কার্ড: অপ্রয়োজনীয় প্রম্পট যা পরবর্তী অ্যাপ ওপেন পর্যন্ত অপেক্ষা করতে পারে
- লোকাল নটিফিকেশন: অন-ডিভাইস কনটেক্সট ট্রিগারের জন্য সেরা; প্রাইভেট ও অফলাইন-প্রিয়
- পুশ নটিফিকেশন: শুধুমাত্র যখন সার্ভার-চালিত ইভেন্ট দরকার; কদাচিত ও অনুমোদিত রাখুন
ট্যাপ করলে সরাসরি সংশ্লিষ্ট প্রম্পটে ডীপ-লিংক হওয়া উচিত, প্রাসঙ্গিক কনটেক্সট দেখিয়ে।
কনটেক্সট ট্রিগার ও এজ কেস টেস্ট করার সেরা উপায় কী?
উভয় ধরনেই পরীক্ষা করুন: সিমুলেটর আর বাস্তব জীবন।
সিমুলেটর দিয়ে দ্রুত, পুনরাবৃত্তিমূলক টেস্ট করুন—অফিসে বসেই লোকেশন, সময়, কনেকটিভিটি ইত্যাদি সিমুলেট করা যায়। এরপর বাস্তবে হাঁটা বা ড্রাইভ করে দেখুন—GPS ড্রিফ্ট, পকেটে থাকা ফোন ইত্যাদি জটিল আচরণগুলো ধরে নিতে।
যথেষ্ট টেস্ট কেস লিখুন (যেমন: “জিমে পৌঁছানো”), এবং এন্ড-টু-এন্ড টেস্ট বাস্তব ডিভাইসে চালান।