আমি নিশ্চিত যে আপনি স্ট্রিকের কথা শুনেছেন বা একটি অ্যাপ ব্যবহার করেছেন। কিন্তু কখনও ভেবেছেন কেন স্ট্রিকগুলি এত জনপ্রিয় এবং শক্তিশালী? ঠিক আছে, অ্যাপগুলি আপনার যতটা সম্ভব মনোযোগ দিতে চায় তা স্পষ্টতই, কিন্তু তা বাদ দিয়ে, আপনি কি জানেন যে জনপ্রিয় শেখার অ্যাপ Duolingo যখন স্ট্রিকগুলি প্রদর্শনের জন্য iOS উইজেটগুলি চালু করেছিল, তখন ব্যবহারকারীর প্রতিশ্রুতি 60% বেড়ে গিয়েছিল৷ ষাট শতাংশ হল আচরণের একটি বিশাল পরিবর্তন এবং প্রদর্শন করে যে কীভাবে "স্ট্রীক" প্যাটার্নগুলি ব্যস্ততা এবং ড্রাইভ ব্যবহার বাড়াতে ব্যবহার করা যেতে পারে। সবচেয়ে মৌলিকভাবে, একটি স্ট্রীক হল পরপর দিনের সংখ্যা যা একজন ব্যবহারকারী একটি নির্দিষ্ট কার্যকলাপ সম্পূর্ণ করে। কিছু লোক এটিকে একটি "গ্যামিফাইড" অভ্যাস বা সামঞ্জস্যপূর্ণ ব্যবহারকে উত্সাহিত করার জন্য ডিজাইন করা একটি মেট্রিক হিসাবেও সংজ্ঞায়িত করে। কিন্তু রেখাগুলি একটি অ্যাপে একটি মেট্রিক বা একটি রেকর্ডের বাইরেও অতিক্রম করে; এটা তার চেয়ে বেশি মনস্তাত্ত্বিক। মানুষের সহজাত প্রবৃত্তি সঠিক কারণগুলির দ্বারা প্রভাবিত করা সহজ। এই তিনটি বিষয়ের দিকে তাকান: অগ্রগতি, গর্ব এবং হারিয়ে যাওয়ার ভয় (সাধারণত FOMO বলা হয়)। এই সব কি মিল আছে? প্রচেষ্টা। আপনি কোন কিছুতে যত বেশি পরিশ্রম করবেন, তত বেশি এটি আপনার পরিচয়কে আকার দেয় এবং এভাবেই আচরণগত মনোবিজ্ঞানের জগতে রেখাগুলি অতিক্রম করে। এখন, মহান শক্তির সাথে মহান দায়িত্ব আসে, এবং এর কারণে, রেখাগুলির একটি অন্ধকার দিক রয়েছে। এই নিবন্ধে, আমরা একটি কার্যকর স্ট্রিক সিস্টেম তৈরির পিছনে মনোবিজ্ঞান, ইউএক্স এবং ডিজাইনের নীতিগুলিতে যাব। আমরা দেখব (1) কেন আমাদের মস্তিস্ক প্রায় সহজাতভাবে স্ট্রীক কার্যকলাপে সাড়া দেয়, (2) কীভাবে স্ট্রিক ডিজাইন করা যায় এমন উপায়ে যা ব্যবহারকারীদের সত্যিকারের সাহায্য করে এবং (3) একটি স্ট্রিক প্যাটার্ন তৈরিতে জড়িত প্রযুক্তিগত কাজ। স্ট্রীক্সের পিছনে মনোবিজ্ঞান একটি কার্যকর স্ট্রিক সিস্টেম ডিজাইন এবং তৈরি করার জন্য, আমাদের বুঝতে হবে এটি কীভাবে আমাদের মস্তিষ্কের তারের সাথে সারিবদ্ধ হয়। যেমন, কী এটাকে এতটা কার্যকর করে তোলে যে আমরা আমাদের স্ট্রিকগুলি রক্ষা করার জন্য এত তীব্র উত্সর্গ বোধ করি? তিনটি আকর্ষণীয়, ভাল-নথিভুক্ত মনোবিজ্ঞানের নীতি রয়েছে যা স্ট্রিকগুলিকে এত শক্তিশালী এবং আসক্ত করে তোলে তা সমর্থন করে। ক্ষতি বিমুখতা এটি সম্ভবত streaks পিছনে শক্তিশালী শক্তি. আমি এটি বলছি কারণ বেশিরভাগ সময়, আপনি প্রায় জীবনে এটি এড়াতে পারবেন না। এইভাবে চিন্তা করুন: যদি একজন বন্ধু আপনাকে $100 দেয়, আপনি খুশি হবেন। কিন্তু আপনি যদি আপনার মানিব্যাগ থেকে $100 হারিয়ে ফেলেন, তাহলে সেটা আরও বেশি ক্ষতি করবে। এই পরিস্থিতিগুলির মানসিক ওজন সমান নয়। লাভ ভালো লাগার চেয়ে ক্ষতি অনেক বেশি কষ্ট দেয়। আসুন এটিকে আরও এগিয়ে নিয়ে যাই এবং বলি যে আমি আপনাকে $100 দিচ্ছি এবং আপনাকে একটি জুয়া খেলতে বলি। আপনার আরও $100 জেতার 50% সম্ভাবনা এবং আসল $100 হারানোর 50% সম্ভাবনা রয়েছে। আপনি এটা নিতে হবে? আমি করব না। অধিকাংশ মানুষ হবে না. এটি ক্ষতি বিরাগ। আপনি যদি এটি সম্পর্কে চিন্তা করেন, এটি যৌক্তিক, এটি বোধগম্য, এটি মানবিক। ক্ষতি ঘৃণার পিছনে ধারণাটি হ'ল আমরা সমান মূল্যের কিছু পাওয়ার আনন্দের চেয়ে দ্বিগুণ কিছু হারানোর বেদনা অনুভব করি। মনস্তাত্ত্বিক পরিপ্রেক্ষিতে, লাভের চেয়ে ক্ষতি বেশি থাকে। আপনি সম্ভবত এটি কিভাবে streaks সম্পর্কিত দেখতে. একটি লক্ষণীয় ধারা তৈরি করতে, এটি প্রচেষ্টা প্রয়োজন; একটি ধারা বাড়ার সাথে সাথে এর পিছনের প্রেরণা বিবর্ণ হতে শুরু করে; বা আরও সঠিকভাবে, এটি গৌণ হতে শুরু করে। এখানে একটি উদাহরণ: বলুন যে আপনার বন্ধুর অ্যাপল ওয়াচে তাদের "মুভ রিংগুলি" বন্ধ করার তিন দিনের স্ট্রীক রয়েছে। তাদের লক্ষ্য অর্জন এবং ধারাবাহিক হতে চাওয়ার বাইরে তাদের হারানোর প্রায় কিছুই নেই। একই সময়ে, আপনার একটি চিত্তাকর্ষক 219 দিনের স্ট্রীক চলছে। সম্ভাবনা আপনি এটি হারানোর ভয় দ্বারা ফাঁদ হয়. আপনি সম্ভবত এই সময়ে কৃতিত্বের কথা ভাবছেন না; এটি আপনার বিনিয়োগ করা প্রচেষ্টাকে রক্ষা করার বিষয়ে আরও বেশি, এবং এটি ক্ষতির বিমুখতা। ডুওলিঙ্গো ব্যাখ্যা করে যে কীভাবে ক্ষতি বিমুখতা একজন ব্যবহারকারীর দীর্ঘ স্ট্রীক ভাঙতে অনিচ্ছায় অবদান রাখে, এমনকি তাদের অলসতম দিনেও। একটি উপায়ে, একটি স্ট্রীক একটি অভ্যাসে পরিণত হতে পারে যখন ক্ষতির বিমুখতা স্থির হয়। ফগ বিহেভিয়ার মডেল (B = MAP) এখন যেহেতু আমরা দীর্ঘ স্ট্রীকগুলিতে বিনিয়োগ করা প্রচেষ্টা হারানোর ভয় বুঝতে পারি, আরেকটি প্রশ্ন হল: স্ট্রিকটি বড় হওয়ার আগেই, দিনের পর দিন আমাদের প্রথম স্থানে জিনিসটি কী করতে বাধ্য করে? ফগ বিহেভিয়ার মডেলের কথা এটাই। এটি তুলনামূলকভাবে সহজ। একটি আচরণ (B) শুধুমাত্র তখনই ঘটে যখন তিনটি কারণ - প্রেরণা (M), ক্ষমতা (A), এবং প্রম্পট (P) - একই মুহূর্তে সারিবদ্ধ। সুতরাং, সমীকরণ B=MAP। যদি এই কারণগুলির মধ্যে একটি, এমনকি একটি, সেই মুহূর্তে অনুপস্থিত থাকে, আচরণটি ঘটবে না। সুতরাং, একটি স্ট্রিক সিস্টেম দক্ষ এবং পুনরাবৃত্ত হওয়ার জন্য, তিনটি কারণ অবশ্যই উপস্থিত থাকতে হবে: প্রেরণা এটি ভঙ্গুর এবং এমন কিছু নয় যা ধারাবাহিকভাবে উপস্থিত থাকে। এমন দিন আছে যখন আপনি আছেনস্প্যানিশ শিখতে পাম্প, এবং আপনি এমনকি ভাষা শেখার জন্য ইচ্ছাশক্তির সামান্যও অনুভব করবেন না। একটি অভ্যাস গড়ে তোলার জন্য নিজের দ্বারা অনুপ্রেরণা অবিশ্বাস্য এবং প্রথম দিন থেকেই একটি হেরে যাওয়া যুদ্ধ। অনুপ্রেরণার সীমাবদ্ধতার জন্য ক্ষতিপূরণ করার ক্ষমতা, ক্ষমতা গুরুত্বপূর্ণ। এই প্রেক্ষাপটে, সক্ষমতা মানে কর্মের সহজতা, অর্থাৎ, প্রচেষ্টা এত সহজ যে এটি সম্ভব নয় বলা অবাস্তব। বেশিরভাগ অ্যাপ ইচ্ছাকৃতভাবে এটি ব্যবহার করে। Apple Fitness-এর জন্য আপনার স্ট্যান্ড লক্ষ্যে টিক টিকিয়ে রাখতে আপনাকে এক ঘণ্টার মধ্যে এক মিনিট দাঁড়াতে হবে। Duolingo শুধুমাত্র একটি সম্পূর্ণ পাঠ প্রয়োজন। এই কাজগুলির জন্য এত বেশি পরিশ্রমের প্রয়োজন হয় না। বাধা এত কম যে এমনকি আপনার খারাপ দিনগুলিতেও, আপনি এটি করতে পারেন। কিন্তু একটি চলমান স্ট্রিকের সম্মিলিত প্রচেষ্টা যেখানে সেই স্ট্রিক হারানোর ধারণাটি শুরু হয়। প্রম্পট এটিই সমীকরণটি সম্পূর্ণ করে। মানুষ স্বাভাবিকভাবেই বিস্মৃত হয়, তাই হ্যাঁ, ক্ষমতা আমাদের সেখানে 90% পেতে পারে। কিন্তু একটি প্রম্পট কাজ করার জন্য আমাদের মনে করিয়ে দেয়। স্ট্রীকগুলি ডিজাইনের দ্বারা অবিচল থাকে, তাই ব্যবহারকারীদের ক্রমাগত কাজ করার জন্য স্মরণ করিয়ে দিতে হবে। একটি প্রম্পট কতটা শক্তিশালী হতে পারে তা দেখার জন্য, অ্যাপের আইকনে সামান্য লাল ব্যাজ সামঞ্জস্যপূর্ণ ব্যবহার বাড়িয়েছে কিনা তা দেখতে Duolingo একটি A/B পরীক্ষা করেছে। এটি দৈনিক সক্রিয় ব্যবহারকারীদের 6% বৃদ্ধি করেছে। শুধু একটি লাল ব্যাজ। মডেল সীমাবদ্ধতা এই সমস্ত বলা হচ্ছে, ফগ মডেলের একটি সীমাবদ্ধতা রয়েছে যেখানে সমালোচক এবং আধুনিক গবেষণা লক্ষ্য করেছে যে একটি নকশা যা প্রম্পটের উপর খুব বেশি নির্ভর করে, যেমন আক্রমনাত্মক বিজ্ঞপ্তি, মানসিক ক্লান্তি তৈরির ঝুঁকি। ক্রমাগত বিজ্ঞপ্তি এবং ওভারটাইম ব্যবহারকারীদের মন্থন করতে পারে। সুতরাং, যে জন্য সতর্ক. জিগারনিক প্রভাব আপনি যখন প্রকল্পের একটি কাজ অর্ধেক করে ফেলেন তখন আপনি কেমন অনুভব করেন? এটি অনেক লোককে বিরক্ত করে কারণ অসম্পূর্ণ কাজগুলি আমরা যে জিনিসগুলি সম্পূর্ণ করি তার চেয়ে বেশি মানসিক স্থান দখল করে। যখন কিছু হয়ে যায় এবং চলে যায়, আমরা তা ভুলে যাই। যখন কিছু পূর্বাবস্থায় রেখে দেওয়া হয়, তখন এটি আমাদের মনের উপর চাপ দেয়। ঠিক এই কারণেই ডিজিটাল পণ্যগুলি কৃত্রিম অগ্রগতি সূচকগুলি ব্যবহার করে, যেমন Upwork-এর প্রোফাইল সমাপ্তি বার, একজন ব্যবহারকারীকে জানাতে যে তাদের প্রোফাইল শুধুমাত্র "60% সম্পূর্ণ"। এটি ব্যবহারকারীকে তারা যা শুরু করেছে তা শেষ করতে ধাক্কা দেয়।

আরেকটি উদাহরণ দেখা যাক। একটি করণীয় তালিকা অ্যাপে আপনার পাঁচটি কাজ রয়েছে এবং দিনের শেষে, আপনি সেগুলির মধ্যে মাত্র চারটি সম্পন্ন হয়েছে বলে চেক করেন। সেই একটি অসমাপ্ত কাজের কারণে আমরা অনেকেই অসম্পূর্ণ বোধ করব। এটি, ঠিক সেখানে, জেইগারনিক প্রভাব। জিগার্নিক ইফেক্টটি মনোবিজ্ঞানী ব্লুমা জেইগারনিক দ্বারা প্রদর্শিত হয়েছিল, যিনি বর্ণনা করেছিলেন যে আমরা আমাদের স্মৃতিতে অসম্পূর্ণ কাজগুলিকে সম্পন্ন করা কাজের চেয়ে বেশি সময় ধরে সক্রিয় রাখি। একটি স্ট্রিক প্যাটার্ন স্বাভাবিকভাবেই ইউএক্স ডিজাইনে এতে ট্যাপ করে। ধরা যাক আপনি একটি শেখার ধারার 63 তম দিনে আছেন। সেই সময়ে, আপনি অসমাপ্ত ব্যবসার একটি চলমান প্যাটার্নে আছেন। আপনার মস্তিষ্ক এটি সম্পর্কে খুব কমই ভুলে যাবে কারণ এটি আপনার মনের পিছনে বসে আছে। এই মুহুর্তে, আপনার মস্তিষ্ক আপনাকে বিজ্ঞপ্তি পাঠায়। আপনি যখন এই মনস্তাত্ত্বিক শক্তিগুলিকে একত্রিত করেন, তখন আপনি সত্যিকার অর্থে বুঝতে শুরু করেন কেন স্ট্রিকগুলি কেবল একটি নিয়মিত অ্যাপ বৈশিষ্ট্য নয়; তারা মানুষের আচরণ পুনর্নির্মাণ করতে সক্ষম। কিন্তু লাইন বরাবর কোথাও — আমি ঠিক কখন বলতে পারি না, যেহেতু এটি প্রত্যেকের জন্য আলাদা — জিনিসগুলি এমন একটি বিন্দুতে পৌঁছে যায় যেখানে একটি স্ট্রীক "মজা" থেকে এমন কিছুতে চলে যায় যা আপনি মনে করেন যে আপনি হারাতে পারবেন না। আপনি 58 দিনের প্রচেষ্টা নষ্ট করতে চান না, তাই না? এটিই একটি স্ট্রিক সিস্টেমকে কার্যকর করে তোলে। সঠিকভাবে করা হলে, স্ট্রিকগুলি ব্যবহারকারীদের চমকপ্রদ অভ্যাস গড়ে তুলতে সাহায্য করে যা একটি লক্ষ্য অর্জন করে। এটি প্রতিদিন পড়া বা ধারাবাহিকভাবে জিমে আঘাত করা হতে পারে। এই পুনরাবৃত্তিমূলক ক্রিয়াগুলি (কখনও কখনও ছোট) সময়ের সাথে যৌগিক এবং আমাদের দৈনন্দিন জীবনে স্পষ্ট হয়ে ওঠে। কিন্তু প্রতিটি মুদ্রার দুটি দিক আছে। অভ্যাস এবং বাধ্যতা মধ্যে পাতলা লাইন আপনি যদি অনুসরণ করে থাকেন তবে আপনি ইতিমধ্যে বলতে পারেন যে স্ট্রিক সিস্টেমের একটি অন্ধকার দিক রয়েছে। অভ্যাস গঠন একটি পুনরাবৃত্ত লক্ষ্য সঙ্গে ধারাবাহিকতা সম্পর্কে. বাধ্যতা, তবে, এমন একটি লক্ষ্যে কাজ করার ধারাবাহিকতা যার আর প্রয়োজন নেই কিন্তু ভয় বা চাপের বাইরে রাখা। এটি একটি ক্ষুর-পাতলা লাইন। আপনি চিন্তা না করে প্রতিদিন সকালে আপনার দাঁত ব্রাশ করেন; এটি স্বয়ংক্রিয় এবং সহজাত, ভাল শ্বাস নেওয়ার একটি স্পষ্ট লক্ষ্য সহ। এটি একটি ধারা যা একটি ভাল অভ্যাস গঠন করে। একটি নৈতিক স্ট্রিক সিস্টেম ব্যবহারকারীদের শ্বাস নেওয়ার জায়গা দেয়। যদি, কোন কারণে, আপনি সকালে ব্রাশ না করেন, আপনি দুপুরে ব্রাশ করতে পারেন। দীর্ঘ প্রচেষ্টা হারানোর ভয় ছাড়াই অপূর্ণতা অনুমোদিত। বাধ্যতা বিপরীত পথ নেয়, যেখানে একটি স্ট্রীক আপনাকে উদ্বিগ্ন করে তোলে, আপনি অপরাধী বা এমনকি ক্লান্ত বোধ করেন এবং কখনও কখনও, মনে হয় আপনার সমস্ত কিছু সত্ত্বেও আপনি কিছুই করতে পারেননি।কাজ আপনি চাচ্ছেন বলে কাজ করেন না, বরং আপনার অগ্রগতি শূন্যে রিসেট দেখে অবচেতনভাবে ভীত হয়ে পড়েন। কেউ এমনকি এটি নিখুঁতভাবে বর্ণনা করেছেন, "আমি অনুভব করেছি যে আমি প্রতারণা করছি, কিন্তু কেবল পাত্তা দিইনি। আমার স্ট্রীক ছাড়া আমি কিছুই নই"। এটি দেখায় যে চরম হোল্ড স্ট্রিকগুলি একজন ব্যক্তির উপর থাকতে পারে। এই পরিমাণে যে ব্যবহারকারীরা তাদের স্ব-মূল্যকে মূল লক্ষ্য বা কারণের পরিবর্তে একটি নির্বিচারে মেট্রিকের সাথে সংযুক্ত করতে শুরু করে যে তারা প্রথম স্থানে স্ট্রীকটি শুরু করেছিল। স্ট্রীক হয়ে ওঠে তারা কে, শুধু তারা কি করে তা নয়। একটি ভাল-পরিকল্পিত নৈতিক স্ট্রিক সিস্টেম ব্যবহারকারীর জন্য উত্সাহের মতো অনুভব করা উচিত, চাপ বা বাধ্যবাধকতা নয়। এটি অন্তর্নিহিত এবং বহির্মুখী প্রেরণার ভারসাম্যের সাথে সম্পর্কিত। বহিরাগত প্রেরণা (বাহ্যিক পুরষ্কার, শাস্তি এড়ানো) ব্যবহারকারীদের শুরু করতে পারে, কিন্তু অন্তর্নিহিত অনুপ্রেরণা (স্প্যানিশ শেখার মতো ব্যক্তিগত লক্ষ্যের জন্য কাজটি করা কারণ আপনি সত্যিকারের একজন প্রিয়জনের সাথে যোগাযোগ করতে চান) দীর্ঘমেয়াদী ব্যস্ততার জন্য শক্তিশালী। একটি ভাল সিস্টেমকে বাহ্যিক উপাদানগুলির যত্ন সহকারে অভ্যন্তরীণ অনুপ্রেরণার দিকে অভিকর্ষ করা উচিত, অর্থাত্ ব্যবহারকারীদের তারা কতদূর এসেছে তা মনে করিয়ে দেয়, তারা কী হারাতে পারে তা নিয়ে তাদের হুমকি দেয় না। আবার, এটি একটি সূক্ষ্ম লাইন. একটি স্ট্রিক সিস্টেম ডিজাইন করার সময় একটি সাধারণ পরীক্ষা হল আসলে কিছু সময় নেওয়া এবং আপনার পণ্যগুলি আপনার তৈরি করা উদ্বেগের সমাধান বিক্রি করে অর্থ উপার্জন করে কিনা তা চিন্তা করা। যদি হ্যাঁ, আপনি ব্যবহারকারীদের শোষণ করছেন এমন একটি উচ্চ সম্ভাবনা রয়েছে। তাই পরবর্তী প্রশ্ন হয়ে যায়, যদি আমি স্ট্রিক ব্যবহার করতে পছন্দ করি, তাহলে আমি কীভাবে এটি এমনভাবে ডিজাইন করব যা ব্যবহারকারীদের তাদের লক্ষ্য অর্জনে সত্যিকারের সাহায্য করে? গুড স্ট্রিক সিস্টেম ডিজাইনের ইউএক্স আমি বিশ্বাস করি যে এখানেই বেশিরভাগ প্রকল্প হয় একটি কার্যকর স্ট্রিক সিস্টেমকে পেরেক দেয় বা সম্পূর্ণরূপে তালগোল পাকিয়ে ফেলে। আসুন একটি ভাল স্ট্রিক ডিজাইনের কিছু UX নীতির মধ্য দিয়ে যাই। এটা অনায়াস রাখুন আপনি সম্ভবত এটি আগে শুনেছেন, হতে পারে পারমাণবিক অভ্যাসের মতো বই থেকে, তবে এটি উল্লেখ করার মতো যে অভ্যাস গঠনের সহজ উপায়গুলির মধ্যে একটি হল অ্যাকশনটিকে ছোট এবং সহজ করে তোলা। এটি আমরা ফগ আচরণ মডেল থেকে আলোচনা করা সক্ষমতার কারণের অনুরূপ। যেকোন স্ট্রীক ডিজাইনের প্রথম নিয়মটি হল প্রগতি অর্জনের সময় প্রয়োজনীয় পদক্ষেপ যতটা সম্ভব ছোট করা উচিত। যদি একটি দৈনিক ক্রিয়া সম্পন্ন করার জন্য ইচ্ছাশক্তির প্রয়োজন হয়, তবে সেই ক্রিয়াটি পাঁচ দিন অতিক্রম করবে না। কেন? আপনি একটানা পাঁচ দিন অনুপ্রাণিত হতে পারবেন না। কেস ইন পয়েন্ট: আপনি যদি একটি মেডিটেশন অ্যাপ চালান, তাহলে আপনাকে স্ট্রীক বজায় রাখার জন্য ব্যবহারকারীদের 20-মিনিটের সেশনের মধ্য দিয়ে যেতে হবে না। পরিবর্তে এক মিনিট চেষ্টা করুন, হয়তো ত্রিশ সেকেন্ডের মতো ছোট কিছু। প্রবাদটি হিসাবে, জলের ফোঁটাগুলি শক্তিশালী সমুদ্র তৈরি করে)। ছোট ছোট প্রচেষ্টা সময়ের সাথে সাথে বড় অর্জনে সংকলিত হয়। এটি লক্ষ্য হওয়া উচিত: ঘর্ষণ অপসারণ, বিশেষ করে যখন মুহূর্ত কঠিন হতে পারে। ব্যবহারকারীরা যখন চাপ বা অভিভূত হয়, তখন তাদের জানাতে হবে যে কেবল কয়েক সেকেন্ডের জন্যও দেখানো চেষ্টা হিসাবে গণ্য হয়। পরিষ্কার ভিজ্যুয়াল প্রতিক্রিয়া প্রদান করুন মানুষ প্রকৃতিগতভাবে চাক্ষুষ। বেশিরভাগ সময়, আমাদের বিশ্বাস করার জন্য কিছু দেখতে হবে; জিনিসগুলিকে আরও ভালভাবে বোঝার জন্য এবং বিষয়গুলিকে দৃষ্টিভঙ্গিতে রাখার জন্য এটি কল্পনা করার প্রয়োজন রয়েছে। এই কারণেই স্ট্রিক প্যাটার্নগুলি প্রায়শই ভিজ্যুয়াল উপাদানগুলি ব্যবহার করে, যেমন গ্রাফ, চেকমার্ক, অগ্রগতি রিং এবং গ্রিড, প্রচেষ্টাকে কল্পনা করতে। GitHub এর অবদানের গ্রাফটি দেখুন। এটি সামঞ্জস্যের একটি সহজ ভিজ্যুয়ালাইজেশন। তবুও বিকাশকারীরা এটিকে অক্সিজেনের মতো শ্বাস নেয়।

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

গুড টাইমিং ব্যবহার করুন আমি আগে উল্লেখ করেছি যে মানুষ সাধারণত প্রকৃতির দ্বারা বিস্মৃত হয়, এবং সেই প্রম্পটগুলি এগিয়ে যাওয়ার গতি বজায় রাখতে সাহায্য করতে পারে। প্রম্পট ছাড়াই, বেশিরভাগ নতুন ব্যবহারকারী চালিয়ে যেতে ভুলে যান। জীবন ব্যস্ত হতে পারে, প্রেরণা অদৃশ্য হয়ে যায় এবং জিনিসগুলি ঘটে। এমনকি দীর্ঘ সময়ের ব্যবহারকারীরাও প্রম্পট থেকে উপকৃত হন, যদিও বেশিরভাগ সময়, তারা ইতিমধ্যেই অভ্যাস লুপের ভিতরে লক হয়ে যায়। তবুও, এমনকি সবচেয়ে প্রতিশ্রুতিবদ্ধ ব্যক্তি ঘটনাক্রমে একটি দিন মিস করতে পারেন। আপনার স্ট্রিক সিস্টেমের সবচেয়ে স্পষ্টভাবে অনুস্মারক প্রয়োজন. সবচেয়ে বেশি ব্যবহৃত প্রম্পট রিমাইন্ডার হল পুশ নোটিফিকেশন। পুশ বিজ্ঞপ্তির সাথে কাজ করার সময় সময় সত্যিই গুরুত্বপূর্ণ। অ্যাপের ধরনও গুরুত্বপূর্ণ। সকাল 9 টায় "আপনি আজ অনুশীলন করেননি" বলে একটি বিজ্ঞপ্তি পাঠানো একটি শেখার অ্যাপের জন্য কেবল অদ্ভুত কারণ অনেকের কাছে একটি পাঠ শেষ করার কথা ভাবার আগে দিনে কিছু করার থাকে। আমরা যদি একটি ফিটনেস অ্যাপ সম্পর্কে কথা বলি, যদিও, এটিযুক্তিসঙ্গত এবং এমনকি দিনের আগে মনে করিয়ে দেওয়ারও আশা করা যেতে পারে। পুশ বিজ্ঞপ্তিগুলি অ্যাপ বিভাগ অনুসারে উল্লেখযোগ্যভাবে পরিবর্তিত হয়। উদাহরণস্বরূপ, ফিটনেস অ্যাপগুলি ভোরবেলা বিজ্ঞপ্তিগুলির সাথে উচ্চতর ব্যস্ততা দেখুন (7-8 AM), যখন উত্পাদনশীলতা অ্যাপগুলি দুপুরের দিকে আরও ভাল পারফর্ম করতে পারে। জিনিসগুলি এক-আকার-ফিট-সমস্ত বলে ধরে নেওয়ার পরিবর্তে আপনার ব্যবহারকারীদের আচরণের উপর ভিত্তি করে A/B পরীক্ষা করা মূল বিষয়। একটি মেডিটেশন অ্যাপের জন্য যা কাজ করে তা একটি কোডিং ট্র্যাকারের জন্য কাজ নাও করতে পারে। অন্যান্য প্রম্পট পদ্ধতি হল অ্যাপ আইকনে লাল বিন্দু এবং এমনকি অ্যাপ উইজেট। অধ্যয়ন পরিবর্তিত হয়, কিন্তু গড় ব্যক্তি দিনে 50-150 বার (PDF) তাদের ডিভাইস আনলক করে। যদি কোনও ব্যবহারকারী কোনও অ্যাপ বা উইজেটে একটি লাল বিন্দু দেখেন যা প্রতিবার তাদের ফোন আনলক করার সময় একটি বর্তমান স্ট্রিক নির্দেশ করে, এটি প্রতিশ্রুতি বাড়ায়। শুধু এটা অতিরিক্ত করবেন না; প্রম্পট একটি অনুস্মারক হিসাবে পরিবেশন করা উচিত, একটি ন্যাগ নয়। মাইলস্টোন উদযাপন করুন একটি স্ট্রিক সিস্টেমের আবেগকে পুনরুজ্জীবিত করার জন্য মাইলফলক উদযাপন করার চেষ্টা করা উচিত, বিশেষ করে ব্যবহারকারীদের জন্য একটি স্ট্রিকের গভীরে। যখন একজন ব্যবহারকারী দিন 7, দিন 30, দিন 50, দিন 100, দিন 365 হিট করে, তখন আপনার এটি থেকে একটি বড় চুক্তি করা উচিত। কৃতিত্ব স্বীকার করুন — বিশেষ করে দীর্ঘ সময়ের ব্যবহারকারীদের জন্য।

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

স্ট্রিক ফ্রিজ ব্যবহারকারীদের ইচ্ছাকৃতভাবে জরিমানা ছাড়া একটি দিন মিস করার অনুমতি দেয়। অতিরিক্ত সময় একটি রিসেট ট্রিগার করার আগে স্বাভাবিক সময়সীমা অতিক্রম করার কয়েক ঘন্টা (2-3) অনুমতি দিন। ক্ষয় মডেল একটি হার্ড রিসেটের পরিবর্তে, স্ট্রিকটি অল্প পরিমাণে কমে যায়, যেমন, প্রতি মিস করা দিনে স্ট্রিক থেকে 10 দিন কাটা হয়।

একটি উত্সাহজনক টোন ব্যবহার করুন একটি স্ট্রীক বিরতি যখন ব্যবহারকারীদের দেখানো দুটি বার্তা তুলনা করা যাক:

"আপনি আপনার 42 দিনের স্ট্রীক হারিয়েছেন। আবার শুরু করুন।" "আপনি সরাসরি 42 দিনের জন্য দেখিয়েছেন। এটি অবিশ্বাস্য অগ্রগতি! এটি আবার চেষ্টা করতে চান?"

উভয়ই একই তথ্য প্রকাশ করে, কিন্তু মানসিক প্রভাব ভিন্ন। প্রথম বার্তাটি সম্ভবত একজন ব্যবহারকারীকে হতাশ বোধ করবে এবং তাদের প্রস্থান করতে বাধ্য করবে। দ্বিতীয় বার্তাটি ইতিমধ্যে যা অর্জন করা হয়েছে তা উদযাপন করে এবং ব্যবহারকারীকে আবার চেষ্টা করার জন্য মৃদুভাবে উৎসাহিত করে। স্ট্রিক সিস্টেম ডিজাইন চ্যালেঞ্জ আমরা একটি স্ট্রিক সিস্টেম তৈরির প্রযুক্তিগত বৈশিষ্ট্যগুলিতে যাওয়ার আগে, আপনি যে চ্যালেঞ্জগুলির মুখোমুখি হতে পারেন সে সম্পর্কে আপনার সচেতন হওয়া উচিত। জিনিসগুলি জটিল হতে পারে, যেমন আপনি আশা করতে পারেন। টাইমজোন পরিচালনা করা ডেভেলপারদের মোকাবেলা করা সবচেয়ে কঠিন ধারণাগুলির মধ্যে সময় এবং তারিখ পরিচালনা করার একটি কারণ রয়েছে। বিন্যাস, আন্তর্জাতিকীকরণ এবং আরও অনেক কিছু বিবেচনা করার আছে। আমি আপনাকে এই জিজ্ঞাসা: একটি দিন হিসাবে গণনা কি? আমরা জানি যে পৃথিবী বিভিন্ন সময় অঞ্চলে চলে, এবং যেন তা যথেষ্ট নয়, কিছু অঞ্চলে ডেলাইট সেভিং টাইম (DST) থাকে যা বছরে দুবার হয়। আপনি এমনকি এই প্রান্ত কেস পরিচালনা করতে শুরু করবেন না? আগামীকালের "শুরু" হিসাবে কী গণনা করা হয়? কিছু বিকাশকারী একটি কেন্দ্রীয় টাইমজোন ব্যবহার করে এটি এড়াতে চেষ্টা করে, যেমন UTC। কিছু ব্যবহারকারীর জন্য, এটি সঠিক ফলাফল দেবে, কিন্তু কিছুর জন্য, এটি এক ঘন্টা, দুই ঘন্টা বা তার বেশি বন্ধ হতে পারে। এই অসঙ্গতি ব্যবহারকারীর অভিজ্ঞতা নষ্ট করে। আপনি পর্দার আড়ালে সময় কিভাবে পরিচালনা করেন ব্যবহারকারীরা কম যত্নশীল; তারা আশা করে যে তারা যদি রাত 11:40 এ একটি স্ট্রীক অ্যাকশন সঞ্চালন করে, তাহলে তাদের প্রেক্ষাপটে এটি সেই সঠিক সময়ে নিবন্ধন করা উচিত। আপনার ব্যবহারকারীর স্থানীয় সময় অঞ্চলের উপর ভিত্তি করে "একদিন" সংজ্ঞায়িত করা উচিত, সার্ভারের সময় নয়। অবশ্যই, আপনি সহজ নিতে পারেনমধ্যরাত ইউটিসি-তে সমস্ত ব্যবহারকারীর জন্য বিশ্বব্যাপী রুট এবং রিসেট স্ট্রীকগুলি, কিন্তু আপনি খুব বেশি অন্যায় তৈরি করছেন। ক্যালিফোর্নিয়ায় কারও কাছে লন্ডনে বসবাসকারী কারও চেয়ে তাদের কাজ শেষ করার জন্য সর্বদা আট অতিরিক্ত ঘন্টা থাকে। এটি একটি অন্যায্য নকশা ত্রুটি যা নির্দিষ্ট ব্যবহারকারীদের তাদের অবস্থানের কারণে শাস্তি দেয়। এবং যদি লন্ডনে সেই ব্যক্তিটি শুধুমাত্র পরিদর্শন করে, একটি কাজ সম্পন্ন করে, তারপর অন্য টাইমজোনে ফিরে আসে? এই সবের একটি কার্যকর সমাধান হল ব্যবহারকারীদের অনবোর্ডিং এর সময় স্পষ্টভাবে তাদের টাইমজোন সেট করতে বলা (বিশেষত প্রথম প্রমাণীকরণের পরে)। একটি সূক্ষ্ম নোট অন্তর্ভুক্ত করা একটি ভাল ধারণা যে টাইমজোন তথ্য প্রদান করা শুধুমাত্র অ্যাপের জন্য ব্যক্তিগতভাবে শনাক্তযোগ্য ডেটা হিসাবে ব্যবহার না করে সঠিকভাবে অগ্রগতি ট্র্যাক করার জন্য ব্যবহার করা হয়। এবং এটি একটি পরিবর্তনযোগ্য সেটিং করা আরেকটি ভাল ধারণা। আমি পরামর্শ দিই যে কেউ একটি অ্যাপে সরাসরি টাইমজোন লজিক পরিচালনা করা এড়িয়ে চলুন। Moment.js বা pytz (Python) ইত্যাদির মতো ট্রাই-এন্ড-ট্রু ডেট লাইব্রেরি ব্যবহার করুন। এর মতো জটিল কিছুর জন্য চাকাটিকে নতুন করে উদ্ভাবনের প্রয়োজন নেই। মিসড ডেস এবং এজ কেস আরেকটি চ্যালেঞ্জ যা নিয়ে আপনার উদ্বিগ্ন হওয়া উচিত তা হল অনিয়ন্ত্রিত প্রান্তের ক্ষেত্রে যেমন ব্যবহারকারীরা অতিরিক্ত ঘুমানো, সার্ভার ডাউনটাইম, ল্যাগ, নেটওয়ার্ক ব্যর্থতা ইত্যাদি। অনুগ্রহ প্রক্রিয়ার ধারণা ব্যবহার করা, যেমন আমরা আগে আলোচনা করেছি, সাহায্য করতে পারে। দুই ঘন্টার একটি অনুগ্রহ উইন্ডো ব্যবহারকারী এবং বিকাশকারী উভয়কেই সাহায্য করতে পারে, এই অর্থে যে ব্যবহারকারীদের অনিয়ন্ত্রিত জীবন পরিস্থিতির জন্য কঠোরভাবে শাস্তি দেওয়া হয় না। বিকাশকারীদের জন্য, মাঝরাতে সার্ভার ডাউন হয়ে গেলে সেই অনিয়ন্ত্রিত মুহুর্তগুলিতে গ্রেস উইন্ডোগুলি সহায়ক। সর্বোপরি, ক্লায়েন্টকে কখনই বিশ্বাস করবেন না। সার্ভার-সাইডে সর্বদা যাচাই করুন। সার্ভার সত্যের একক উৎস হওয়া উচিত। প্রতারণা প্রতিরোধ আবার, আমি এটিকে যথেষ্ট জোর দিতে পারি না: সার্ভার-সাইড সবকিছু যাচাই করা নিশ্চিত করুন। ব্যবহারকারীরা মানুষ, এবং সুযোগ দেওয়া হলে মানুষ প্রতারণা করতে পারে। এটা অবশ্যম্ভাবী। আপনি চেষ্টা করতে পারেন:

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

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

প্রতিটি ব্যবহারকারীর ডেটা একটি ডাটাবেসে সংরক্ষণ করুন। বর্তমান স্ট্রিক স্টোর (ডিফল্ট হিসাবে 0) একটি পূর্ণসংখ্যা হিসাবে সংরক্ষণ করুন। টাইমজোন পছন্দ সংরক্ষণ করুন, যেমন, IANA টাইমজোন স্ট্রিং (হয় স্থানীয় টাইমস্ট্যাম্প থেকে বা স্পষ্টভাবে ব্যবহারকারীকে তাদের টাইমজোন নির্বাচন করতে বলে)। উদাহরণস্বরূপ, "America/New_York"। ব্যবহারকারীর স্থানীয় টাইমজোনের সাথে সম্পর্কিত একটি টাইমজোন চেক সহ স্ট্রীক চলতে থাকে বা বিরতি হয় কিনা তা নির্ধারণ করতে সমস্ত যুক্তি পরিচালনা করুন।

এদিকে, ক্লায়েন্ট-সাইডে:

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

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

ব্যবহারকারী একটি যোগ্য স্ট্রীক ক্রিয়া সম্পন্ন করে। ক্লায়েন্ট মেটাডেটা হিসাবে সার্ভারে একটি ইভেন্ট পাঠায়। এটি হতে পারে "টাইমস্ট্যাম্প Z এ ব্যবহারকারী X সম্পন্ন করা কর্ম Y"। সার্ভার এই ইভেন্টটি গ্রহণ করে এবং মৌলিক যাচাই করে। এটি কি প্রকৃত ব্যবহারকারী? তারা কি প্রমাণীকৃত? কর্ম বৈধ? টাইমজোন কি সামঞ্জস্যপূর্ণ? যদি এটি পাস হয়, সার্ভার ডাটাবেস থেকে ব্যবহারকারীর স্ট্রিক ডেটা পুনরুদ্ধার করে। তারপরে, প্রাপ্ত অ্যাকশন টাইমস্ট্যাম্পটিকে ব্যবহারকারীর স্থানীয় টাইমজোনে রূপান্তর করুন। সার্ভারকে ব্যবহারকারীর স্থানীয় সময় অঞ্চলে ক্যালেন্ডারের তারিখগুলি (টাইমস্ট্যাম্প নয়) তুলনা করতে দিন: যদি একই দিনে হয়, তাহলে কর্মটি অপ্রয়োজনীয় এবং কোন পরিবর্তন নেইধারা যদি এটি পরের দিন হয়, তাহলে স্ট্রিক প্রসারিত হয় এবং 1 দ্বারা বৃদ্ধি পায়। এক দিনের বেশি ব্যবধান থাকলে ধারা ভেঙে যায়। যাইহোক, এখানে আপনি অনুগ্রহ মেকানিক্স প্রয়োগ করতে পারেন। যদি গ্রেস মেকানিজম মিস হয়ে যায়, তাহলে স্ট্রিকটি 1 এ রিসেট করুন।

আপনি যদি মাইলফলক অর্জনের জন্য ঐতিহাসিক ডেটা সংরক্ষণ করতে চান, তাহলে "দীর্ঘতম স্ট্রিক" বা "মোট সক্রিয় দিন" এর মতো ভেরিয়েবল আপডেট করুন। সার্ভার তারপর ডাটাবেস আপডেট করে এবং ক্লায়েন্টকে সাড়া দেয়। এরকম কিছু:

{ "বর্তমান_স্ট্রিক": 48, "দীর্ঘতম_স্ট্রিক": ৫০, "মোট_সক্রিয়_দিন": 120, "স্ট্রীক_এক্সটেন্ডেড": সত্য, }

আরও পরিমাপ হিসাবে, সার্ভারের হয় পুনরায় চেষ্টা করা উচিত বা প্রত্যাখ্যান করা উচিত এবং প্রক্রিয়া চলাকালীন কিছু ব্যর্থ হলে ক্লায়েন্টকে অবহিত করা উচিত। স্থিতিস্থাপকতা জন্য বিল্ডিং যেমন আগে উল্লেখ করা হয়েছে, ব্যবহারকারীরা বাগ বা সার্ভার ডাউনটাইমের কারণে একটি স্ট্রিক হারান ভয়ানক UX, এবং ব্যবহারকারীরা এটির জন্য পতনের আশা করেন না। এইভাবে, আপনার স্ট্রিক সিস্টেমে সেই পরিস্থিতিগুলির জন্য সুরক্ষা ব্যবস্থা থাকা উচিত। সার্ভারটি রক্ষণাবেক্ষণের জন্য (বা যে কোনও কারণে) বন্ধ থাকলে, এটিকে ঠিক করার জন্য অতিরিক্ত ঘন্টার একটি অস্থায়ী উইন্ডোর অনুমতি দেওয়ার কথা বিবেচনা করুন যাতে ক্রিয়াগুলি দেরিতে জমা দেওয়া যায় এবং এখনও গণনা করা যায়। আপনি ব্যবহারকারীদের অবহিত করতেও বেছে নিতে পারেন, বিশেষ করে যদি পরিস্থিতি চলমান স্ট্রিককে প্রভাবিত করতে সক্ষম হয়। দ্রষ্টব্য: একটি অ্যাডমিন ব্যাকডোর স্থাপন করুন যেখানে ডেটা ম্যানুয়ালি পুনরুদ্ধার করা যেতে পারে। বাগগুলি অনিবার্য, এবং কিছু ব্যবহারকারী আপনার অ্যাপকে কল করবে বা সমর্থন করতে পৌঁছাবে যে তাদের স্ট্রিকটি তারা নিয়ন্ত্রণ করতে পারেনি এমন একটি কারণে ভেঙে গেছে। তদন্তের পরে, ব্যবহারকারী সঠিক হলে আপনি ম্যানুয়ালি স্ট্রিকগুলি পুনরুদ্ধার করতে সক্ষম হবেন। উপসংহার একটি জিনিস পরিষ্কার থেকে যায়: মানুষের মনস্তত্ত্ব মৌলিক স্তরে কীভাবে কাজ করে তার কারণে স্ট্রিকগুলি সত্যিই শক্তিশালী। সর্বোত্তম স্ট্রিক সিস্টেমটি এমন একটি যা ব্যবহারকারীরা সচেতনভাবে চিন্তা করেন না। এটি অবিলম্বে ফলাফল বা দৃশ্যমান অগ্রগতির একটি রুটিন হয়ে দাঁড়িয়েছে, যেমন দাঁত ব্রাশ করা, যা একটি নিয়মিত অভ্যাসে পরিণত হয়েছে। এবং আমি কেবল এটি বলতে যাচ্ছি: সমস্ত পণ্যের একটি স্ট্রিক সিস্টেমের প্রয়োজন হয় না। আপনি কি প্রতিদিনের সক্রিয় ব্যবহারকারীদের চান বলেই কি সত্যিই ধারাবাহিকতা জোর করা উচিত? উত্তর খুব ভাল হতে পারে "না"।

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free