ຂ້າພະເຈົ້າແນ່ໃຈວ່າທ່ານໄດ້ຍິນຂອງ streaks ຫຼືການນໍາໃຊ້ app ກັບຫນຶ່ງ. ແຕ່ເຄີຍສົງໄສວ່າເປັນຫຍັງ streaks ຈຶ່ງເປັນທີ່ນິຍົມແລະມີອໍານາດຫຼາຍ? ດີ, ມີຄວາມຊັດເຈນທີ່ແອັບຯຕ້ອງການຄວາມສົນໃຈຂອງເຈົ້າຫຼາຍເທົ່າທີ່ເປັນໄປໄດ້, ແຕ່ນອກຈາກນັ້ນ, ເຈົ້າຮູ້ບໍວ່າເມື່ອແອັບຯການຮຽນຮູ້ທີ່ນິຍົມ Duolingo ແນະນໍາ iOS widgets ເພື່ອສະແດງ streaks, ຄວາມມຸ່ງຫມັ້ນຂອງຜູ້ໃຊ້ເພີ່ມຂຶ້ນ 60%. ຫົກສິບເປີເຊັນແມ່ນການປ່ຽນແປງອັນໃຫຍ່ຫຼວງໃນພຶດຕິກໍາແລະສະແດງໃຫ້ເຫັນວິທີການ "streak" ຮູບແບບສາມາດນໍາໃຊ້ເພື່ອເພີ່ມການມີສ່ວນພົວພັນແລະຂັບລົດການນໍາໃຊ້. ໃນພື້ນຖານທີ່ສຸດ, streak ແມ່ນຈໍານວນມື້ຕິດຕໍ່ກັນທີ່ຜູ້ໃຊ້ເຮັດສໍາເລັດກິດຈະກໍາສະເພາະໃດຫນຶ່ງ. ບາງຄົນຍັງນິຍາມມັນເປັນນິໄສ "gamified" ຫຼື metric ອອກແບບມາເພື່ອຊຸກຍູ້ການນໍາໃຊ້ທີ່ສອດຄ່ອງ. ແຕ່ streaks ເກີນກວ່າການເປັນ metric ຫຼືບັນທຶກໃນ app; ມັນແມ່ນທາງດ້ານຈິດໃຈຫຼາຍກ່ວານັ້ນ. instincts ຂອງມະນຸດແມ່ນງ່າຍທີ່ຈະມີອິດທິພົນກັບປັດໃຈທີ່ຖືກຕ້ອງ. ເບິ່ງສາມປັດໃຈເຫຼົ່ານີ້: ຄວາມກ້າວຫນ້າ, ຄວາມພາກພູມໃຈ, ແລະຄວາມຢ້ານກົວທີ່ຈະຂາດຫາຍໄປ (ທົ່ວໄປເອີ້ນວ່າ FOMO). ທັງໝົດນີ້ມີຫຍັງແດ່? ຄວາມພະຍາຍາມ. ຄວາມພະຍາຍາມຫຼາຍທີ່ທ່ານເອົາໃຈໃສ່ເຂົ້າໄປໃນບາງສິ່ງບາງຢ່າງ, ມັນເຮັດໃຫ້ຕົວຕົນຂອງທ່ານຫຼາຍຂື້ນ, ແລະນັ້ນແມ່ນວິທີທີ່ streaks ຂ້າມເຂົ້າໄປໃນໂລກຂອງຈິດຕະວິທະຍາພຶດຕິກໍາ. ບັດນີ້, ດ້ວຍອຳນາດອັນຍິ່ງໃຫຍ່ຈະມາເຖິງໜ້າທີ່ຮັບຜິດຊອບອັນໃຫຍ່ຫລວງ, ແລະ ດ້ວຍເຫດນັ້ນ, ມັນຈຶ່ງມີດ້ານມືດທີ່ຈະເກີດຂຶ້ນ. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະເຂົ້າໄປໃນຈິດຕະວິທະຍາ, UX, ແລະຫຼັກການການອອກແບບທີ່ຢູ່ເບື້ອງຫຼັງການສ້າງລະບົບ streak ທີ່ມີປະສິດທິພາບ. ພວກເຮົາຈະເບິ່ງ (1) ເປັນຫຍັງສະຫມອງຂອງພວກເຮົາເກືອບຕອບສະຫນອງຕໍ່ການເຄື່ອນໄຫວສະຕຣີມ, (2) ວິທີການອອກແບບສະຕຣີມໃນວິທີທີ່ຊ່ວຍຜູ້ໃຊ້ຢ່າງແທ້ຈິງ, ແລະ (3) ວຽກງານດ້ານວິຊາການທີ່ກ່ຽວຂ້ອງກັບການສ້າງຮູບແບບສະຕຣີມ. ຈິດຕະວິທະຍາທີ່ຢູ່ເບື້ອງຫຼັງ Streaks ເພື່ອອອກແບບ ແລະສ້າງລະບົບ streak ທີ່ມີປະສິດຕິພາບ, ພວກເຮົາຈໍາເປັນຕ້ອງເຂົ້າໃຈວ່າມັນສອດຄ່ອງກັບວິທີການຂອງສະຫມອງຂອງພວກເຮົາ. ເຊັ່ນດຽວກັບ, ອັນໃດເຮັດໃຫ້ມັນມີປະສິດທິຜົນຫຼາຍຈົນເຖິງຂະນະທີ່ເຮົາຮູ້ສຶກວ່າການອຸທິດຕົນຢ່າງເຂັ້ມແຂງເພື່ອປົກປ້ອງສາຍຂອງເຮົາ? ມີຫລັກການທາງຈິດຕະວິທະຍາທີ່ໜ້າສົນໃຈ, ມີເອກະສານດີສາມຢ່າງທີ່ສະໜັບສະໜູນສິ່ງທີ່ເຮັດໃຫ້ streaks ມີພະລັງ ແລະ ເສບຕິດ. ການສູນເສຍການສູນເສຍ ນີ້ອາດຈະເປັນກໍາລັງທີ່ເຂັ້ມແຂງທີ່ສຸດທີ່ຢູ່ເບື້ອງຫລັງ streaks. ຂ້າພະເຈົ້າເວົ້າວ່ານີ້ເນື່ອງຈາກວ່າຫຼາຍຄັ້ງ, ທ່ານເກືອບບໍ່ສາມາດຫຼີກເວັ້ນການນີ້ໃນຊີວິດ. ຄິດແບບນີ້: ຖ້າເພື່ອນໃຫ້ເງິນ 100 ໂດລາ ເຈົ້າຄົງຈະມີຄວາມສຸກ. ແຕ່ຖ້າທ່ານສູນເສຍ $ 100 ຈາກກະເປົາເງິນຂອງທ່ານ, ມັນຈະເຈັບປວດຫຼາຍ. ນ້ຳໜັກທາງດ້ານອາລົມຂອງສະຖານະການເຫຼົ່ານັ້ນບໍ່ເທົ່າກັນ. ການສູນເສຍເຮັດໃຫ້ເຈັບປວດຫຼາຍກວ່າການໄດ້ຮັບຄວາມຮູ້ສຶກທີ່ດີ. ເອົາມັນຕໍ່ໄປແລະເວົ້າວ່າຂ້ອຍໃຫ້ $ 100 ແລະຂໍໃຫ້ເຈົ້າຫຼີ້ນການພະນັນ. ມີໂອກາດ 50% ທີ່ທ່ານຊະນະອີກ $100 ແລະໂອກາດ 50% ທີ່ທ່ານຈະເສຍເງິນເດີມ 100 ໂດລາ. ເຈົ້າຈະເອົາມັນບໍ? ຂ້ອຍຈະບໍ່. ຄົນສ່ວນໃຫຍ່ຈະບໍ່. ນັ້ນຄືການສູນເສຍ ຖ້າທ່ານຄິດກ່ຽວກັບມັນ, ມັນເປັນເຫດຜົນ, ມັນເຂົ້າໃຈໄດ້, ມັນແມ່ນມະນຸດ. ແນວຄວາມຄິດທີ່ຢູ່ເບື້ອງຫລັງການສູນເສຍການສູນເສຍແມ່ນວ່າພວກເຮົາຮູ້ສຶກເຈັບປວດຂອງການສູນເສຍບາງສິ່ງບາງຢ່າງສອງເທົ່າຂອງຄວາມສຸກຂອງການໄດ້ຮັບບາງສິ່ງບາງຢ່າງທີ່ມີຄຸນຄ່າເທົ່າທຽມກັນ. ໃນແງ່ທາງຈິດໃຈ, ການສູນເສຍແມ່ນຫຼາຍກວ່າຜົນກໍາໄລ. ເຈົ້າອາດຈະເຫັນວ່າມັນກ່ຽວຂ້ອງກັບ streaks ແນວໃດ. ເພື່ອສ້າງ streak ສັງເກດເຫັນ, ມັນຮຽກຮ້ອງໃຫ້ມີຄວາມພະຍາຍາມ; ເມື່ອ streak ເຕີບໂຕຂຶ້ນ, ແຮງຈູງໃຈທີ່ຢູ່ເບື້ອງຫລັງມັນເລີ່ມຈາງຫາຍໄປ; ຫຼືຫຼາຍຢ່າງຖືກຕ້ອງ, ມັນເລີ່ມກາຍເປັນຮອງ. ນີ້ແມ່ນຕົວຢ່າງ: ເວົ້າວ່າຫມູ່ຂອງເຈົ້າມີສາມມື້ປິດ "Move Rings" ໃນ Apple Watch ຂອງພວກເຂົາ. ພວກເຂົາເຈົ້າເກືອບບໍ່ມີຫຍັງທີ່ຈະສູນເສຍໄປນອກເຫນືອການຕ້ອງການທີ່ຈະບັນລຸເປົ້າຫມາຍຂອງເຂົາເຈົ້າແລະສອດຄ່ອງ. ໃນເວລາດຽວກັນ, ທ່ານມີຄວາມປະທັບໃຈ 219 streak ໄປ. ໂອກາດແມ່ນວ່າທ່ານຖືກຕິດຢູ່ກັບຄວາມຢ້ານກົວຂອງການສູນເສຍມັນ. ທ່ານອາດຈະບໍ່ໄດ້ຄິດກ່ຽວກັບຜົນສໍາເລັດໃນຈຸດນີ້; ມັນເປັນເພີ່ມເຕີມກ່ຽວກັບການປົກປ້ອງຄວາມພະຍາຍາມລົງທຶນຂອງທ່ານ, ແລະນັ້ນແມ່ນການສູນເສຍການສູນເສຍ. Duolingo ອະທິບາຍວ່າຄວາມຫຼົງໄຫຼໃນການສູນເສຍປະກອບສ່ວນກັບຄວາມບໍ່ເຕັມໃຈຂອງຜູ້ໃຊ້ທີ່ຈະທໍາລາຍໄລຍະເວລາດົນນານ, ເຖິງແມ່ນວ່າໃນມື້ທີ່ຂີ້ກຽດທີ່ສຸດຂອງພວກເຂົາ. ໃນທາງໃດທາງນຶ່ງ, ສະຖິຕິສາມາດປ່ຽນເປັນນິໄສເມື່ອຄວາມຫຼົງໄຫຼໃນການສູນເສຍເຂົ້າມາ. ຮູບແບບພຶດຕິກໍາ Fogg (B = MAP) ໃນປັດຈຸບັນທີ່ພວກເຮົາເຂົ້າໃຈຄວາມຢ້ານກົວຂອງການສູນເສຍຄວາມພະຍາຍາມທີ່ລົງທຶນໃນ streaks ຍາວ, ຄໍາຖາມອື່ນແມ່ນ: ສິ່ງທີ່ເຮັດໃຫ້ພວກເຮົາເຮັດສິ່ງທໍາອິດ, ມື້ຫຼັງຈາກມື້, ເຖິງແມ່ນວ່າກ່ອນທີ່ streak ຈະໄດ້ຮັບຂະຫນາດໃຫຍ່? ນັ້ນແມ່ນສິ່ງທີ່ຕົວແບບພຶດຕິກໍາ Fogg ແມ່ນກ່ຽວກັບ. ມັນແມ່ນຂ້ອນຂ້າງງ່າຍດາຍ. ພຶດຕິກໍາ (B) ເກີດຂື້ນພຽງແຕ່ເມື່ອສາມປັດໃຈ - Motivation (M), ຄວາມສາມາດ (A), ແລະ Prompt (P) — ສອດຄ່ອງໃນຂະນະດຽວກັນ. ດັ່ງນັ້ນ, ສົມຜົນ B=MAP. ຖ້າຫາກວ່າປັດໃຈເຫຼົ່ານີ້, ແມ້ແຕ່ຫນຶ່ງ, ຫາຍໄປໃນຂະນະນັ້ນ, ພຶດຕິກໍາຈະບໍ່ເກີດຂຶ້ນ. ດັ່ງນັ້ນ, ເພື່ອໃຫ້ລະບົບ streak ມີປະສິດທິພາບແລະເກີດຂື້ນ, ທັງສາມປັດໃຈຕ້ອງມີ: ແຮງຈູງໃຈນີ້ແມ່ນມີຄວາມອ່ອນແອ ແລະບໍ່ແມ່ນສິ່ງທີ່ມີຢູ່ສະເໝີ. ມີມື້ທີ່ເຈົ້າຢູ່ສູບເພື່ອຮຽນຮູ້ແອສປາໂຍນ, ແລະມື້ທີ່ທ່ານບໍ່ມີຄວາມຮູ້ສຶກ iota ຂອງຄວາມຕັ້ງໃຈທີ່ຈະຮຽນຮູ້ພາສາ. ແຮງຈູງໃຈໂດຍຕົວມັນເອງທີ່ຈະສ້າງນິໄສແມ່ນບໍ່ຫນ້າເຊື່ອຖືແລະການຕໍ່ສູ້ທີ່ສູນເສຍຈາກມື້ຫນຶ່ງ. ຄວາມສາມາດໃນການຊົດເຊີຍສໍາລັບຂໍ້ຈໍາກັດຂອງແຮງຈູງໃຈ, ຄວາມສາມາດແມ່ນສໍາຄັນ. ໃນສະພາບການນີ້, ຄວາມສາມາດຫມາຍເຖິງຄວາມງ່າຍຂອງການດໍາເນີນການ, i.e, ຄວາມພະຍາຍາມແມ່ນງ່າຍຫຼາຍທີ່ມັນບໍ່ສົມຈິງທີ່ຈະເວົ້າວ່າມັນເປັນໄປບໍ່ໄດ້. ແອັບຯສ່ວນໃຫຍ່ໃຊ້ສິ່ງນີ້ໂດຍເຈດຕະນາ. Apple Fitness ພຽງແຕ່ຕ້ອງການໃຫ້ທ່ານຢືນສໍາລັບຫນຶ່ງນາທີໃນຫນຶ່ງຊົ່ວໂມງເພື່ອໄດ້ຮັບຫມາຍຕິກໄປສູ່ເປົ້າຫມາຍ Stand ຂອງທ່ານ. Duolingo ພຽງແຕ່ຕ້ອງການບົດຮຽນສໍາເລັດຫນຶ່ງ. ວຽກງານເຫຼົ່ານີ້ບໍ່ຈໍາເປັນຕ້ອງມີຄວາມພະຍາຍາມຫຼາຍ. ສິ່ງກີດຂວາງແມ່ນຕໍ່າຫຼາຍ, ເຖິງແມ່ນວ່າໃນມື້ທີ່ຮ້າຍແຮງທີ່ສຸດຂອງເຈົ້າ, ເຈົ້າສາມາດເຮັດໄດ້. ແຕ່ຄວາມພະຍາຍາມລວມຂອງ streak ຢ່າງຕໍ່ເນື່ອງແມ່ນບ່ອນທີ່ຄວາມຄິດຂອງການສູນເສຍ streak ເຕະໃນ. PromptThis ແມ່ນສິ່ງທີ່ສໍາເລັດສົມຜົນ. ມະນຸດມັກຈະລືມໂດຍທໍາມະຊາດ, ດັ່ງນັ້ນ, ແມ່ນແລ້ວ, ຄວາມສາມາດສາມາດເຮັດໃຫ້ພວກເຮົາຢູ່ທີ່ນັ້ນ 90%. ແຕ່ການກະຕຸ້ນເຕືອນໃຫ້ພວກເຮົາປະຕິບັດ. Streaks ແມ່ນຄົງຢູ່ໂດຍການອອກແບບ, ດັ່ງນັ້ນຜູ້ໃຊ້ຕ້ອງໄດ້ຮັບການເຕືອນຢ່າງຕໍ່ເນື່ອງເພື່ອປະຕິບັດ. ເພື່ອເບິ່ງວ່າການກະຕຸ້ນເຕືອນສາມາດມີປະສິດທິພາບຫຼາຍປານໃດ, Duolingo ໄດ້ທົດສອບ A/B ເພື່ອເບິ່ງວ່າມີປ້າຍສີແດງເລັກນ້ອຍຢູ່ໃນໄອຄອນຂອງແອັບຯເພີ່ມການໃຊ້ງານທີ່ສອດຄ່ອງກັນ. ມັນຜະລິດເພີ່ມຂຶ້ນ 6% ຂອງຜູ້ໃຊ້ທີ່ມີການເຄື່ອນໄຫວປະຈໍາວັນ. ພຽງແຕ່ປ້າຍສີແດງ. ຂໍ້ຈຳກັດຂອງຕົວແບບ ທັງຫມົດທີ່ກ່າວມານີ້, ມີຂໍ້ຈໍາກັດຕໍ່ຮູບແບບ Fogg ທີ່ນັກວິຈານແລະການຄົ້ນຄວ້າທີ່ທັນສະໄຫມໄດ້ສັງເກດເຫັນວ່າການອອກແບບທີ່ອີງໃສ່ການກະຕຸ້ນເຕືອນຫຼາຍເກີນໄປ, ເຊັ່ນການແຈ້ງເຕືອນທີ່ຮຸກຮານ, ມີຄວາມສ່ຽງຕໍ່ການສ້າງຄວາມເຫນື່ອຍລ້າທາງດ້ານຈິດໃຈ. ການແຈ້ງເຕືອນຄົງທີ່ແລະການເຮັດວຽກລ່ວງເວລາສາມາດເຮັດໃຫ້ຜູ້ໃຊ້ churn. ດັ່ງນັ້ນ, ຈົ່ງສັງເກດເບິ່ງວ່າ. ຜົນກະທົບ Zeigarnik ເຈົ້າຮູ້ສຶກແນວໃດເມື່ອທ່ານອອກຈາກວຽກຂອງໂຄງການເຄິ່ງສໍາເລັດ? ສິ່ງນັ້ນເຮັດໃຫ້ຫຼາຍຄົນລະຄາຍເຄືອງ ເພາະວຽກທີ່ເຮັດບໍ່ສຳເລັດມີພື້ນທີ່ຈິດໃຈຫຼາຍກວ່າສິ່ງທີ່ເຮົາເຮັດສຳເລັດ. ເມື່ອບາງສິ່ງບາງຢ່າງເຮັດແລະຫມົດໄປ, ພວກເຮົາມັກຈະລືມມັນ. ເມື່ອບາງສິ່ງບາງຢ່າງຖືກປະຖິ້ມ, ມັນມັກຈະຊັ່ງນ້ຳໜັກໃສ່ໃຈຂອງເຮົາ. ນີ້ແມ່ນເຫດຜົນທີ່ວ່າຜະລິດຕະພັນດິຈິຕອລໃຊ້ຕົວຊີ້ບອກຄວາມຄືບໜ້າແບບປອມ, ເຊັ່ນ: ແຖບການສໍາເລັດໂປຣໄຟລ໌ຂອງ Upwork, ເພື່ອໃຫ້ຜູ້ໃຊ້ຮູ້ວ່າໂປຣໄຟລ໌ຂອງເຂົາເຈົ້າພຽງແຕ່ "60% ສໍາເລັດ". ມັນກະຕຸ້ນຜູ້ໃຊ້ໃຫ້ສໍາເລັດສິ່ງທີ່ເຂົາເຈົ້າເລີ່ມຕົ້ນ.
ໃຫ້ເບິ່ງຕົວຢ່າງອື່ນ. ທ່ານມີຫ້າວຽກງານໃນ app ລາຍການທີ່ຕ້ອງເຮັດ, ແລະໃນຕອນທ້າຍຂອງມື້, ທ່ານພຽງແຕ່ກວດເບິ່ງສີ່ຂອງເຂົາເຈົ້າວ່າສໍາເລັດ. ພວກເຮົາຫລາຍຄົນຈະຮູ້ສຶກວ່າບໍ່ສຳເລັດຜົນຍ້ອນວຽກງານອັນໜຶ່ງທີ່ບໍ່ສຳເລັດນັ້ນ. ວ່າ, ຢູ່ທີ່ນັ້ນ, ແມ່ນຜົນກະທົບ Zeigarnik. Zeigarnik effecthe ໄດ້ຖືກສະແດງໃຫ້ເຫັນໂດຍນັກຈິດຕະສາດ Bluma Zeigarnik, ຜູ້ທີ່ອະທິບາຍວ່າພວກເຮົາມີແນວໂນ້ມທີ່ຈະຮັກສາວຽກງານທີ່ບໍ່ສໍາເລັດໃນຄວາມຊົງຈໍາຂອງພວກເຮົາດົນກວ່າວຽກງານທີ່ສໍາເລັດ. ຮູບແບບ streak ຕາມທໍາມະຊາດ taps ເຂົ້າໄປໃນນີ້ໃນການອອກແບບ UX. ສົມມຸດວ່າເຈົ້າຢູ່ໃນມື້ທີ 63 ຂອງການຮຽນການສອນ. ໃນຈຸດນັ້ນ, ທ່ານກໍາລັງຢູ່ໃນຮູບແບບຢ່າງຕໍ່ເນື່ອງຂອງທຸລະກິດທີ່ບໍ່ສໍາເລັດ. ສະໝອງຂອງເຈົ້າບໍ່ຄ່ອຍຈະລືມມັນເລີຍ ເພາະມັນຢູ່ໃນໃຈຂອງເຈົ້າ. ໃນຈຸດນີ້, ສະຫມອງຂອງເຈົ້າກາຍເປັນຕົວສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານ. ເມື່ອທ່ານເອົາກໍາລັງທາງຈິດໃຈເຫຼົ່ານີ້ຮ່ວມກັນ, ທ່ານເລີ່ມເຂົ້າໃຈຢ່າງແທ້ຈິງວ່າເປັນຫຍັງ streaks ບໍ່ພຽງແຕ່ເປັນ app ປົກກະຕິ; ເຂົາເຈົ້າສາມາດປັບປ່ຽນພຶດຕິກຳຂອງມະນຸດ. ແຕ່ບາງບ່ອນຢູ່ຕາມເສັ້ນ - ຂ້ອຍບໍ່ສາມາດເວົ້າໄດ້ຊັດເຈນວ່າເວລາໃດ, ຍ້ອນວ່າມັນແຕກຕ່າງກັນສໍາລັບທຸກຄົນ - ສິ່ງຕ່າງໆມາຮອດຈຸດທີ່ເສັ້ນປ່ຽນຈາກ "ຄວາມມ່ວນ" ໄປຫາບາງສິ່ງບາງຢ່າງທີ່ທ່ານຮູ້ສຶກວ່າທ່ານບໍ່ສາມາດສູນເສຍ. ເຈົ້າບໍ່ຕ້ອງການຄວາມພະຍາຍາມ 58 ມື້ທີ່ຈະເສຍໄປ, ເຈົ້າບໍ? ນັ້ນແມ່ນສິ່ງທີ່ເຮັດໃຫ້ລະບົບ streak ມີປະສິດທິພາບ. ຖ້າເຮັດຢ່າງຖືກຕ້ອງ, streaks ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສ້າງນິໄສທີ່ຫນ້າປະຫລາດໃຈທີ່ເຮັດສໍາເລັດເປົ້າຫມາຍ. ມັນອາດຈະເປັນການອ່ານປະຈໍາວັນຫຼືຕີຫ້ອງອອກກໍາລັງກາຍຢ່າງຕໍ່ເນື່ອງ. ການກະທຳຊ້ຳໆເຫຼົ່ານີ້ (ບາງຄັ້ງກໍໜ້ອຍ) ປະສົມກັນໃນໄລຍະເວລາ ແລະ ເຫັນໄດ້ຊັດເຈນໃນຊີວິດປະຈຳວັນຂອງພວກເຮົາ. ແຕ່ມີສອງດ້ານຂອງທຸກຫຼຽນ. ເສັ້ນບາງໆລະຫວ່າງນິໄສແລະການບີບບັງຄັບ ຖ້າທ່ານໄດ້ຕິດຕາມ, ທ່ານສາມາດບອກໄດ້ວ່າມີດ້ານມືດຕໍ່ລະບົບ streak. ການສ້າງນິໄສແມ່ນກ່ຽວກັບຄວາມສອດຄ່ອງທີ່ມີເປົ້າຫມາຍຊ້ໍາຊ້ອນ. ການບີບບັງຄັບ, ແນວໃດກໍ່ຕາມ, ແມ່ນຄວາມສອດຄ່ອງຂອງການເຮັດວຽກໃນເປົ້າຫມາຍທີ່ບໍ່ຈໍາເປັນ, ແຕ່ຖືກຍຶດຫມັ້ນຢູ່ໃນຄວາມຢ້ານກົວຫຼືຄວາມກົດດັນ. ມັນເປັນເສັ້ນ razor-ບາງ. ເຈົ້າຖູແຂ້ວທຸກໆເຊົ້າໂດຍບໍ່ຄິດ; ມັນເປັນອັດຕະໂນມັດແລະ instinctive, ມີເປົ້າຫມາຍທີ່ຈະແຈ້ງຂອງການມີລົມຫາຍໃຈທີ່ດີ. ນັ້ນເປັນນິໄສທີ່ດີ ລະບົບ streak ດ້ານຈັນຍາບັນເຮັດໃຫ້ຜູ້ໃຊ້ມີພື້ນທີ່ຫາຍໃຈ. ຖ້າບາງເຫດຜົນ, ເຈົ້າບໍ່ຖູແຂ້ວໃນຕອນເຊົ້າ, ເຈົ້າສາມາດຖູແຂ້ວຕອນທ່ຽງ. ຄວາມບໍ່ສົມບູນແບບຖືກອະນຸຍາດໂດຍບໍ່ມີຄວາມຢ້ານກົວວ່າຈະສູນເສຍຄວາມພະຍາຍາມທີ່ຍາວນານ. ການບີບບັງຄັບໃຊ້ເສັ້ນທາງກົງກັນຂ້າມ, ເຊິ່ງຄວາມເຄັ່ງຕຶງເຮັດໃຫ້ເຈົ້າກັງວົນ, ເຈົ້າຮູ້ສຶກຜິດຫຼືແມ່ນແຕ່ ໝົດ ແຮງ, ແລະບາງຄັ້ງ, ມັນຮູ້ສຶກວ່າເຈົ້າບໍ່ໄດ້ເຮັດຫຍັງເລີຍ, ເຖິງວ່າຈະມີທຸກຢ່າງຂອງເຈົ້າ.ເຮັດວຽກ. ເຈົ້າກະທໍາບໍ່ແມ່ນຍ້ອນເຈົ້າຕ້ອງການ, ແຕ່ເປັນຍ້ອນເຈົ້າຕົກໃຈຢ້ານທີ່ຈະເຫັນຄວາມຄືບໜ້າຂອງເຈົ້າຄືນມາເປັນສູນ. ບາງຄົນກໍ່ອະທິບາຍເລື່ອງນີ້ຢ່າງສົມບູນ, "ຂ້ອຍຮູ້ສຶກວ່າຂ້ອຍຖືກໂກງ, ແຕ່ບໍ່ສົນໃຈ. ນີ້ສະແດງໃຫ້ເຫັນເຖິງການຖືຄອງທີ່ສູງທີ່ສຸດສາມາດມີຕໍ່ບຸກຄົນ. ໃນຂອບເຂດທີ່ຜູ້ໃຊ້ເລີ່ມຕົ້ນທີ່ຈະຜູກມັດມູນຄ່າຂອງຕົນເອງກັບ metric arbitrary ແທນທີ່ຈະເປັນເປົ້າຫມາຍຕົ້ນສະບັບຫຼືເຫດຜົນທີ່ພວກເຂົາເລີ່ມຕົ້ນ streak ໃນສະຖານທີ່ທໍາອິດ. streak ກາຍເປັນຜູ້ທີ່ເຂົາເຈົ້າເປັນ, ບໍ່ພຽງແຕ່ສິ່ງທີ່ເຂົາເຈົ້າເຮັດ. ລະບົບ streak ດ້ານຈັນຍາບັນທີ່ຖືກອອກແບບດີຄວນມີຄວາມຮູ້ສຶກຄືກັບການຊຸກຍູ້ໃຫ້ຜູ້ໃຊ້, ບໍ່ແມ່ນຄວາມກົດດັນຫຼືພັນທະ. ນີ້ກ່ຽວຂ້ອງກັບຄວາມສົມດູນຂອງແຮງຈູງໃຈພາຍໃນແລະພາຍນອກ. ແຮງຈູງໃຈພາຍນອກ (ລາງວັນພາຍນອກ, ຫຼີກເວັ້ນການລົງໂທດ) ອາດຈະເຮັດໃຫ້ຜູ້ໃຊ້ເລີ່ມຕົ້ນ, ແຕ່ແຮງຈູງໃຈພາຍໃນ (ເຮັດວຽກເພື່ອເປົ້າຫມາຍສ່ວນຕົວເຊັ່ນການຮຽນຮູ້ແອສປາໂຍນເພາະວ່າທ່ານຕ້ອງການຕິດຕໍ່ສື່ສານກັບຄົນຮັກຢ່າງແທ້ຈິງ) ແມ່ນເຂັ້ມແຂງກວ່າສໍາລັບການມີສ່ວນພົວພັນໃນໄລຍະຍາວ. ລະບົບທີ່ດີຄວນມຸ່ງໄປສູ່ການກະຕຸ້ນພາຍໃນດ້ວຍການນໍາໃຊ້ຢ່າງລະມັດລະວັງຂອງອົງປະກອບ extrinsic, i.e., ເຕືອນຜູ້ໃຊ້ວ່າພວກເຂົາມາໄກປານໃດ, ບໍ່ຂົ່ມຂູ່ພວກເຂົາກັບສິ່ງທີ່ພວກເຂົາອາດຈະສູນເສຍ. ອີກເທື່ອຫນຶ່ງ, ມັນເປັນເສັ້ນດີ. ການທົດສອບທີ່ງ່າຍດາຍໃນເວລາທີ່ການອອກແບບລະບົບ streak ແມ່ນຕົວຈິງແລ້ວໃຊ້ເວລາບາງແລະຄິດວ່າຜະລິດຕະພັນຂອງທ່ານເຮັດໃຫ້ເງິນໂດຍການຂາຍການແກ້ໄຂຄວາມກັງວົນທີ່ຜະລິດຕະພັນຂອງທ່ານສ້າງ. ຖ້າແມ່ນ, ມີໂອກາດສູງທີ່ທ່ານກໍາລັງຂູດຮີດຜູ້ໃຊ້. ດັ່ງນັ້ນຄໍາຖາມຕໍ່ໄປຈະກາຍເປັນ, ຖ້າຂ້ອຍເລືອກທີ່ຈະໃຊ້ streak, ຂ້ອຍຈະອອກແບບມັນແນວໃດເພື່ອໃຫ້ຜູ້ໃຊ້ບັນລຸເປົ້າຫມາຍຂອງພວກເຂົາຢ່າງແທ້ຈິງ? UX ຂອງການອອກແບບລະບົບ Streak ດີ ຂ້າພະເຈົ້າເຊື່ອວ່ານີ້ແມ່ນບ່ອນທີ່ໂຄງການຫຼາຍທີ່ສຸດບໍ່ວ່າຈະຕະປູລະບົບ streak ມີປະສິດທິພາບຫຼືເຮັດໃຫ້ມັນຫມົດໄປ. ຂໍໃຫ້ຜ່ານບາງຫຼັກການ UX ຂອງການອອກແບບ streak ທີ່ດີ. ຮັກສາມັນບໍ່ສະບາຍ ເຈົ້າອາດຈະໄດ້ຍິນເລື່ອງນີ້ມາກ່ອນ, ອາດຈະມາຈາກປຶ້ມເຊັ່ນ: Atomic Habits, ແຕ່ມັນສົມຄວນທີ່ຈະບອກວ່າຫນຶ່ງໃນວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະສ້າງນິໄສແມ່ນໂດຍການເຮັດໃຫ້ການປະຕິບັດນ້ອຍໆແລະງ່າຍດາຍ. ນີ້ແມ່ນຄ້າຍຄືກັນກັບປັດໃຈຄວາມສາມາດທີ່ພວກເຮົາສົນທະນາຈາກຮູບແບບພຶດຕິກໍາ Fogg. ກົດລະບຽບທໍາອິດຂອງການອອກແບບ streak ໃດຄວນຈະເຮັດໃຫ້ການປະຕິບັດທີ່ຈໍາເປັນເປັນຂະຫນາດນ້ອຍເທົ່າທີ່ເປັນໄປໄດ້ຂອງມະນຸດໃນຂະນະທີ່ຍັງບັນລຸຄວາມຄືບຫນ້າ. ຖ້າການກະ ທຳ ປະຈໍາວັນຕ້ອງການຄວາມຕັ້ງໃຈທີ່ຈະເຮັດສໍາເລັດ, ການກະ ທຳ ນັ້ນຈະບໍ່ເຮັດໃຫ້ມັນຜ່ານໄປຫ້າມື້. ເປັນຫຍັງ? ທ່ານບໍ່ສາມາດໄດ້ຮັບການກະຕຸ້ນຫ້າມື້ຕິດຕໍ່ກັນ. ໃນກໍລະນີ: ຖ້າທ່ານເປີດໃຊ້ແອັບສະມາທິ, ທ່ານບໍ່ ຈຳ ເປັນຕ້ອງເຮັດໃຫ້ຜູ້ໃຊ້ຜ່ານຊ່ວງເວລາ 20 ນາທີພຽງແຕ່ເພື່ອຮັກສາລະດັບ. ລອງໃຊ້ນາທີດຽວ, ບາງທີອາດມີບາງອັນນ້ອຍເທົ່າກັບສາມສິບວິນາທີ, ແທນ. ດັ່ງຄຳເວົ້າທີ່ວ່າ, ນ້ຳໜ້ອຍໜຶ່ງເຮັດໃຫ້ມະຫາສະໝຸດອັນຍິ່ງໃຫຍ່). ຄວາມພະຍາຍາມຂະຫນາດນ້ອຍລວບລວມເຂົ້າໄປໃນຜົນສໍາເລັດອັນໃຫຍ່ຫຼວງກັບເວລາ. ນັ້ນຄວນຈະເປັນເປົ້າຫມາຍ: ເອົາ friction, ໂດຍສະເພາະໃນເວລາທີ່ປັດຈຸບັນອາດຈະມີຄວາມຫຍຸ້ງຍາກ. ເມື່ອຜູ້ໃຊ້ມີຄວາມກົດດັນຫຼື overwhelmed, ໃຫ້ພວກເຂົາຮູ້ວ່າພຽງແຕ່ສະແດງໃຫ້ເຫັນເຖິງ, ເຖິງແມ່ນວ່າສອງສາມວິນາທີ, ຖືວ່າເປັນຄວາມພະຍາຍາມ. ໃຫ້ຄໍາຄິດເຫັນທີ່ຊັດເຈນ ມະນຸດມີສາຍຕາໂດຍທໍາມະຊາດ. ເວລາສ່ວນໃຫຍ່, ພວກເຮົາຈໍາເປັນຕ້ອງເຫັນບາງສິ່ງບາງຢ່າງທີ່ຈະເຊື່ອ; ມັນ ຈຳ ເປັນທີ່ຈະເຂົ້າໃຈສິ່ງຕ່າງໆເພື່ອເຂົ້າໃຈພວກມັນດີກວ່າແລະເອົາສິ່ງຕ່າງໆເຂົ້າໃນທັດສະນະ. ນີ້ແມ່ນເຫດຜົນທີ່ວ່າຮູບແບບສະຕຣີດມັກໃຊ້ອົງປະກອບທີ່ເປັນພາບ, ເຊັ່ນ: ກຣາບ, ເຄື່ອງໝາຍຖືກ, ວົງແຫວນຄວາມຄືບໜ້າ, ແລະຕາໜ່າງ, ເພື່ອສະແດງພາບຄວາມພະຍາຍາມ. ເບິ່ງຕາຕະລາງການປະກອບສ່ວນຂອງ GitHub. ມັນເປັນພາບທີ່ງ່າຍດາຍຂອງຄວາມສອດຄ່ອງ. ແຕ່ຜູ້ພັດທະນາຫາຍໃຈມັນຄືກັບອົກຊີ.
ທີ່ສໍາຄັນບໍ່ແມ່ນເພື່ອເຮັດໃຫ້ລະບົບ streak ມີຄວາມຮູ້ສຶກບໍ່ມີຕົວຕົນ. ມັນຄວນຈະມີຄວາມຮູ້ສຶກທີ່ແທ້ຈິງແລະໄດ້ຮັບ. ຕົວຢ່າງເຊັ່ນ, Duolingo ແລະ Apple's Fitness rings ໃຊ້ການອອກແບບເຄື່ອນໄຫວທີ່ສະອາດໃນເວລາສໍາເລັດການແຂ່ງຂັນ, ແລະ GitHub ສະແດງຂໍ້ມູນປະຫວັດສາດຂອງຄວາມສອດຄ່ອງຂອງຜູ້ໃຊ້ໃນໄລຍະເວລາ.
ໃຊ້ເວລາທີ່ດີ ຂ້າພະເຈົ້າໄດ້ກ່າວເຖິງກ່ອນຫນ້ານີ້ວ່າມະນຸດມັກຈະລືມໂດຍທໍາມະຊາດ, ແລະການກະຕຸ້ນເຕືອນນັ້ນສາມາດຊ່ວຍຮັກສາຄວາມກ້າວຫນ້າຕໍ່ໄປ. ໂດຍບໍ່ມີການກະຕຸ້ນເຕືອນ, ຜູ້ໃຊ້ໃຫມ່ສ່ວນໃຫຍ່ລືມທີ່ຈະສືບຕໍ່. ຊີວິດສາມາດຫຍຸ້ງ, ແຮງຈູງໃຈຫາຍໄປ, ແລະສິ່ງຕ່າງໆກໍ່ເກີດຂຶ້ນ. ເຖິງແມ່ນວ່າຜູ້ໃຊ້ທີ່ໃຊ້ເວລາດົນນານໄດ້ຮັບຜົນປະໂຫຍດຈາກການກະຕຸ້ນເຕືອນ, ເຖິງແມ່ນວ່າເວລາສ່ວນໃຫຍ່, ພວກມັນຖືກລັອກຢູ່ໃນວົງນິໄສ. ແນວໃດກໍ່ຕາມ, ແມ່ນແຕ່ຄົນທີ່ຕັ້ງໃຈທີ່ສຸດສາມາດພາດມື້ຫນຶ່ງໂດຍບັງເອີນ. ລະບົບສະຕຣີມຂອງທ່ານແນ່ນອນຕ້ອງການການແຈ້ງເຕືອນ. ການເຕືອນເຕືອນທີ່ໃຊ້ຫຼາຍທີ່ສຸດແມ່ນການແຈ້ງເຕືອນການຊຸກຍູ້. ໄລຍະເວລາແມ່ນສໍາຄັນຫຼາຍເມື່ອເຮັດວຽກກັບການແຈ້ງເຕືອນການຊຸກຍູ້. ປະເພດຂອງແອັບກໍ່ສຳຄັນຄືກັນ. ການສົ່ງການແຈ້ງເຕືອນເວລາ 9 ໂມງເຊົ້າໂດຍກ່າວວ່າ "ເຈົ້າບໍ່ໄດ້ຝຶກຝົນມື້ນີ້" ເປັນເລື່ອງແປກສໍາລັບ app ການຮຽນຮູ້ເພາະວ່າມີຫຼາຍສິ່ງທີ່ຕ້ອງເຮັດໃນມື້ກ່ອນທີ່ພວກເຂົາຈະຄິດກ່ຽວກັບການສໍາເລັດບົດຮຽນ. ຖ້າພວກເຮົາເວົ້າກ່ຽວກັບແອັບຟິດເນສ, ຢ່າງໃດກໍຕາມ, ມັນແມ່ນສົມເຫດສົມຜົນ ແລະອາດຈະຖືກເຕືອນໄວ້ກ່ອນໜ້ານັ້ນໃນມື້ນັ້ນ. ການແຈ້ງເຕືອນ Push ແຕກຕ່າງກັນຢ່າງຫຼວງຫຼາຍໂດຍປະເພດ app. ຕົວຢ່າງເຊັ່ນ, ແອັບຟິດເນສ, ເບິ່ງການມີສ່ວນພົວພັນທີ່ສູງຂຶ້ນກັບການແຈ້ງເຕືອນຕອນເຊົ້າ (7-8 ໂມງເຊົ້າ), ໃນຂະນະທີ່ແອັບປະສິດທິພາບອາດຈະເຮັດວຽກດີຂຶ້ນໃນຕອນຕົ້ນຕອນທ່ຽງ. ສິ່ງສໍາຄັນແມ່ນການທົດສອບ A/B ໄລຍະເວລາຂອງແອັບຯຂອງທ່ານໂດຍອີງໃສ່ພຶດຕິກໍາຂອງຜູ້ໃຊ້ຂອງທ່ານແທນທີ່ຈະສົມມຸດວ່າສິ່ງຕ່າງໆແມ່ນຂະຫນາດດຽວ - ເຫມາະທັງຫມົດ. ສິ່ງທີ່ເຮັດວຽກສໍາລັບແອັບຯສະມາທິອາດຈະບໍ່ເຮັດວຽກສໍາລັບຕົວຕິດຕາມການເຂົ້າລະຫັດ. ວິທີການກະຕຸ້ນເຕືອນອື່ນໆແມ່ນຈຸດສີແດງຢູ່ໃນໄອຄອນ app ແລະແມ້ກະທັ້ງ app widget. ການສຶກສາແຕກຕ່າງກັນ, ແຕ່ຄົນສະເລ່ຍປົດລັອກອຸປະກອນຂອງເຂົາເຈົ້າລະຫວ່າງ 50-150 ເທື່ອຕໍ່ມື້ (PDF). ຖ້າຜູ້ໃຊ້ເຫັນຈຸດສີແດງຢູ່ໃນແອັບຯ ຫຼື widget ທີ່ຊີ້ບອກເຖິງ streak ໃນປັດຈຸບັນທຸກຄັ້ງທີ່ພວກເຂົາປົດລັອກໂທລະສັບຂອງເຂົາເຈົ້າ, ມັນຈະເພີ່ມຄວາມມຸ່ງໝັ້ນ. ພຽງແຕ່ບໍ່ overdo ມັນ; ການກະຕຸ້ນເຕືອນຄວນຈະເປັນການເຕືອນ, ບໍ່ແມ່ນ nag. ສະເຫຼີມສະຫຼອງ Milestones ລະບົບສະຕຣີມຄວນພະຍາຍາມສະຫຼອງຈຸດສຳຄັນເພື່ອຄວບຄຸມອາລົມ, ໂດຍສະເພາະສຳລັບຜູ້ໃຊ້ທີ່ເລິກລົງໄປໃນສະຕຣີມ. ເມື່ອຜູ້ໃຊ້ຕີວັນທີ 7, ມື້ 30, ມື້ 50, ມື້ 100, ມື້ 365, ທ່ານຄວນເຮັດອັນໃຫຍ່ຫຼວງອອກຈາກມັນ. ຮັບຮູ້ຜົນສໍາເລັດ — ໂດຍສະເພາະສໍາລັບຜູ້ໃຊ້ທີ່ໃຊ້ເວລາດົນນານ.
ດັ່ງທີ່ພວກເຮົາໄດ້ເຫັນກ່ອນຫນ້ານີ້, Duolingo ໄດ້ຄິດເຖິງເລື່ອງນີ້ແລະປະຕິບັດຮູບພາບເຄື່ອນໄຫວທີ່ສະເຫຼີມສະຫຼອງຈຸດສໍາຄັນດ້ວຍ confetti. ບາງແພລະຕະຟອມຍັງໃຫ້ລາງວັນໂບນັດຢ່າງຫຼວງຫຼາຍທີ່ຢືນຢັນຄວາມພະຍາຍາມຂອງຜູ້ໃຊ້. ແລະນີ້ສາມາດເປັນປະໂຫຍດຕໍ່ກິດ, ເຊັ່ນວ່າຜູ້ໃຊ້ມີແນວໂນ້ມທີ່ຈະແບ່ງປັນຈຸດສໍາຄັນຂອງເຂົາເຈົ້າສາທາລະນະໃນສື່ມວນຊົນສັງຄົມ. ຜົນປະໂຫຍດອີກຢ່າງຫນຶ່ງແມ່ນຄວາມຄາດຫວັງທີ່ຈະມາເຖິງກ່ອນທີ່ຈະບັນລຸຈຸດສໍາຄັນ. ມັນບໍ່ແມ່ນພຽງແຕ່ການຮັກສາ streak ມີຊີວິດຢູ່ບໍ່ສິ້ນສຸດ; ຜູ້ໃຊ້ມີບາງສິ່ງບາງຢ່າງທີ່ຫວັງວ່າຈະໄດ້. ໃຊ້ກົນໄກ Grace ຊີວິດແມ່ນບໍ່ສາມາດຄາດເດົາໄດ້. ປະຊາຊົນໄດ້ຮັບການລົບກວນ. ລະບົບ streak ທີ່ດີຄວນຄາດຫວັງວ່າການບໍ່ສົມບູນແບບ. ຫນຶ່ງໃນໄພຂົ່ມຂູ່ທາງຈິດໃຈທີ່ໃຫຍ່ທີ່ສຸດຕໍ່ລະບົບ streak ແມ່ນການປັບຍາກເປັນສູນຫຼັງຈາກພາດມື້ດຽວ. ລະບົບ streak "ຈັນຍາບັນ" ຄວນໃຫ້ຜູ້ໃຊ້ມີຄວາມອ່ອນເພຍບາງຢ່າງ. ສົມມຸດວ່າເຈົ້າມີ 90 ມື້ຮຽນໝາກຮຸກ. ເຈົ້າໄດ້ຄົງຕົວເປັນເວລາສາມເດືອນທີ່ດີ, ແລະມື້ຫນຶ່ງ, ໂທລະສັບຂອງທ່ານຕາຍໃນຂະນະທີ່ເດີນທາງ, ແລະຄືກັນກັບວ່າ, 90 ກາຍເປັນ 0 - ທຸກສິ່ງທຸກຢ່າງ, ຄວາມພະຍາຍາມທັງຫມົດນັ້ນຖືກລຶບລ້າງ, ແລະຄວາມຄືບຫນ້າຫາຍໄປ. ຜູ້ໃຊ້ອາດຈະຖືກທໍາລາຍຢ່າງສິ້ນເຊີງ. ຄວາມຄິດທີ່ຈະສ້າງມັນຄືນໃໝ່ແຕ່ຕົ້ນແມ່ນເຮັດໃຫ້ເສຍໃຈຫຼາຍຈົນວ່າຄວາມພະຍາຍາມບໍ່ຄຸ້ມຄ່າ. ທີ່ຮ້າຍແຮງທີ່ສຸດ, ຜູ້ໃຊ້ອາດຈະປະຖິ້ມແອັບຯຫຼັງຈາກຮູ້ສຶກວ່າລົ້ມເຫລວ. ພິຈາລະນາເພີ່ມກົນໄກ "ພຣະຄຸນ" ໃສ່ລະບົບສະຕຣີມຂອງທ່ານ:
Streak FreezeA ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ເຈດຕະນາພາດມື້ໂດຍບໍ່ມີການລົງໂທດ. ເວລາເພີ່ມເຕີມອະນຸຍາດໃຫ້ສອງສາມຊົ່ວໂມງ (2-3) ຜ່ານເສັ້ນຕາຍປົກກະຕິກ່ອນທີ່ຈະເລີ່ມການຣີເຊັດ. ຮູບແບບການເສື່ອມໂຊມແທນທີ່ຈະເປັນການຕັ້ງຄ່າຍາກ, streak ຫຼຸດລົງເປັນຈໍານວນເລັກນ້ອຍ, ເຊັ່ນ: 10 ມື້ຖືກຫັກອອກຈາກ streak ຕໍ່ມື້ທີ່ພາດ.
ໃຊ້ນ້ຳສຽງທີ່ໃຫ້ກຳລັງໃຈ ມາປຽບທຽບສອງຂໍ້ຄວາມທີ່ສະແດງໃຫ້ຜູ້ໃຊ້ເຫັນເມື່ອມີການຢຸດສະຕຣີມ:
"ທ່ານໄດ້ສູນເສຍ 42 ມື້ຂອງທ່ານ. ເລີ່ມຕົ້ນໃຫມ່." "ທ່ານປະກົດຕົວເປັນເວລາ 42 ມື້ຊື່ໆ. ນັ້ນແມ່ນຄວາມຄືບໜ້າອັນບໍ່ໜ້າເຊື່ອ! ລອງລອງເບິ່ງອີກບໍ?"
ທັງສອງຖ່າຍທອດຂໍ້ມູນດຽວກັນ, ແຕ່ຜົນກະທົບທາງດ້ານຈິດໃຈແມ່ນແຕກຕ່າງກັນ. ຂໍ້ຄວາມທໍາອິດອາດຈະເຮັດໃຫ້ຜູ້ໃຊ້ຮູ້ສຶກເສຍໃຈແລະເຮັດໃຫ້ພວກເຂົາເຊົາ. ຂໍ້ຄວາມທີສອງຊົມເຊີຍສິ່ງທີ່ບັນລຸໄດ້ແລ້ວແລະຄ່ອຍໆຊຸກຍູ້ໃຫ້ຜູ້ໃຊ້ພະຍາຍາມອີກເທື່ອຫນຶ່ງ. ສິ່ງທ້າທາຍການອອກແບບລະບົບ Streak ກ່ອນທີ່ພວກເຮົາຈະເຂົ້າໄປໃນສະເພາະດ້ານວິຊາການຂອງການສ້າງລະບົບ streak, ທ່ານຄວນຮູ້ເຖິງສິ່ງທ້າທາຍທີ່ທ່ານອາດຈະປະເຊີນ. ສິ່ງຕ່າງໆສາມາດສັບສົນ, ດັ່ງທີ່ເຈົ້າອາດຈະຄາດຫວັງ. ການຈັດການເຂດເວລາ ມີເຫດຜົນວ່າເປັນຫຍັງການຈັດການເວລາແລະວັນທີແມ່ນໃນບັນດາແນວຄວາມຄິດທີ່ຍາກທີ່ສຸດທີ່ນັກພັດທະນາຈັດການກັບ. ມີການຈັດຮູບແບບ, ຄວາມເປັນສາກົນ, ແລະມີຫຼາຍອັນທີ່ຕ້ອງພິຈາລະນາ. ຂ້ອຍຂໍຖາມເຈົ້າວ່າ: ມື້ໃດນັບເປັນມື້? ພວກເຮົາຮູ້ວ່າໂລກແລ່ນຢູ່ໃນເຂດເວລາທີ່ແຕກຕ່າງກັນ, ແລະຄືກັບວ່ານັ້ນບໍ່ພຽງພໍ, ບາງຂົງເຂດມີເວລາປະຢັດເວລາກາງເວັນ (DST) ທີ່ເກີດຂຶ້ນສອງຄັ້ງຕໍ່ປີ. ເຈົ້າເລີ່ມຈັດການກັບກໍລະນີແຂບເຫຼົ່ານີ້ຢູ່ໃສ? ອັນໃດນັບວ່າເປັນ “ການເລີ່ມຕົ້ນ” ຂອງມື້ອື່ນ? ນັກພັດທະນາບາງຄົນພະຍາຍາມຫຼີກລ້ຽງການນີ້ໂດຍໃຊ້ເຂດເວລາກາງຫນຶ່ງ, ເຊັ່ນ UTC. ສໍາລັບຜູ້ໃຊ້ບາງຄົນ, ນີ້ຈະໃຫ້ຜົນໄດ້ຮັບທີ່ຖືກຕ້ອງ, ແຕ່ສໍາລັບບາງຄົນ, ມັນອາດຈະປິດຫນຶ່ງຊົ່ວໂມງ, ສອງຊົ່ວໂມງ, ຫຼືຫຼາຍກວ່ານັ້ນ. ຄວາມບໍ່ສອດຄ່ອງນີ້ທໍາລາຍປະສົບການຂອງຜູ້ໃຊ້. ຜູ້ໃຊ້ສົນໃຈຫນ້ອຍວິທີທີ່ເຈົ້າຈັດການເວລາຢູ່ເບື້ອງຫຼັງ; ທັງຫມົດທີ່ພວກເຂົາຄາດຫວັງແມ່ນວ່າຖ້າພວກເຂົາດໍາເນີນການ streak ໃນເວລາ 11:40 p.m., ຫຼັງຈາກນັ້ນ, ມັນຄວນຈະລົງທະບຽນໃນເວລາທີ່ແນ່ນອນ, ໃນສະພາບການຂອງພວກເຂົາ. ທ່ານຄວນກໍານົດ "ມື້ຫນຶ່ງ" ໂດຍອີງໃສ່ເຂດເວລາທ້ອງຖິ່ນຂອງຜູ້ໃຊ້, ບໍ່ແມ່ນເວລາເຊີຟເວີ. ແນ່ນອນ, ທ່ານສາມາດເອົາງ່າຍເສັ້ນທາງແລະປັບ streaks ທົ່ວໂລກສໍາລັບຜູ້ໃຊ້ທັງຫມົດໃນເວລາທ່ຽງຄືນ UTC, ແຕ່ວ່າທ່ານກໍາລັງສ້າງຄວາມບໍ່ຍຸຕິທໍາຫຼາຍ. ບາງຄົນໃນຄາລິຟໍເນຍສະເຫມີມີແປດຊົ່ວໂມງເພີ່ມເຕີມເພື່ອເຮັດສໍາເລັດວຽກງານຂອງເຂົາເຈົ້າຫຼາຍກ່ວາຜູ້ທີ່ອາໄສຢູ່ໃນລອນດອນ. ນັ້ນແມ່ນຂໍ້ບົກພ່ອງຂອງການອອກແບບທີ່ບໍ່ຍຸຕິທໍາທີ່ລົງໂທດຜູ້ໃຊ້ບາງຄົນເນື່ອງຈາກສະຖານທີ່ຂອງພວກເຂົາ. ແລະຈະເປັນແນວໃດຖ້າຄົນນັ້ນໃນລອນດອນພຽງແຕ່ໄປຢ້ຽມຢາມ, ສໍາເລັດວຽກງານ, ຫຼັງຈາກນັ້ນກັບຄືນໄປເຂດເວລາອື່ນ? ການແກ້ໄຂປະສິດທິພາບອັນໜຶ່ງຕໍ່ກັບສິ່ງທັງໝົດນີ້ແມ່ນການຂໍໃຫ້ຜູ້ໃຊ້ກຳນົດເຂດເວລາຂອງເຂົາເຈົ້າຢ່າງຈະແຈ້ງໃນລະຫວ່າງການຂຶ້ນເຮືອບິນ (ດີກວ່າຫຼັງຈາກການກວດສອບຄວາມຖືກຕ້ອງຄັ້ງທຳອິດ). ມັນເປັນຄວາມຄິດທີ່ດີທີ່ຈະລວມເອົາບັນທຶກທີ່ລະອຽດອ່ອນທີ່ໃຫ້ຂໍ້ມູນເຂດເວລາຖືກນໍາໃຊ້ພຽງແຕ່ສໍາລັບ app ເພື່ອຕິດຕາມຄວາມຄືບຫນ້າຢ່າງຖືກຕ້ອງ, ແທນທີ່ຈະຖືກນໍາໃຊ້ເປັນຂໍ້ມູນສ່ວນບຸກຄົນ. ແລະມັນເປັນຄວາມຄິດທີ່ດີອີກອັນໜຶ່ງທີ່ຈະເຮັດໃຫ້ນັ້ນເປັນການຕັ້ງຄ່າທີ່ປ່ຽນແປງໄດ້. ຂ້ອຍຂໍແນະນຳໃຫ້ໃຜຫຼີກລ່ຽງການຈັດການກັບເຫດຜົນເຂດເວລາໂດຍກົງໃນແອັບໃດໜຶ່ງ. ໃຊ້ຫ້ອງສະໝຸດວັນທີທີ່ພະຍາຍາມແລະເປັນຄວາມຈິງ, ເຊັ່ນ Moment.js ຫຼື pytz (Python), ແລະອື່ນໆ. ບໍ່ຈໍາເປັນຕ້ອງສ້າງລໍ້ສໍາລັບບາງສິ່ງບາງຢ່າງທີ່ສັບສົນເທົ່ານີ້. ວັນທີ່ພາດໂອກາດ ແລະກໍລະນີຂອບ ສິ່ງທ້າທາຍອີກອັນຫນຶ່ງທີ່ທ່ານຄວນກັງວົນກ່ຽວກັບແມ່ນກໍລະນີແຂບທີ່ບໍ່ສາມາດຄວບຄຸມໄດ້ເຊັ່ນ: ຜູ້ໃຊ້ນອນຫລັບ, ເວລາຢຸດຂອງເຄື່ອງແມ່ຂ່າຍ, ຄວາມຊັກຊ້າ, ຄວາມລົ້ມເຫຼວຂອງເຄືອຂ່າຍ, ແລະອື່ນໆ. ການນໍາໃຊ້ແນວຄວາມຄິດຂອງກົນໄກພຣະຄຸນ, ຄືກັບທີ່ພວກເຮົາໄດ້ປຶກສາຫາລືກ່ອນຫນ້ານີ້, ສາມາດຊ່ວຍໄດ້. ປ່ອງຢ້ຽມພຣະຄຸນຂອງສອງຊົ່ວໂມງອາດຈະຊ່ວຍທັງຜູ້ໃຊ້ແລະນັກພັດທະນາ, ໃນຄວາມຫມາຍທີ່ຜູ້ໃຊ້ບໍ່ໄດ້ຖືກລົງໂທດຢ່າງເຂັ້ມງວດສໍາລັບສະຖານະການຊີວິດທີ່ບໍ່ສາມາດຄວບຄຸມໄດ້. ສໍາລັບນັກພັດທະນາ, ປ່ອງຢ້ຽມພຣະຄຸນແມ່ນເປັນປະໂຫຍດໃນຊ່ວງເວລາທີ່ບໍ່ສາມາດຄວບຄຸມໄດ້ໃນເວລາທີ່ເຄື່ອງແມ່ຂ່າຍຫຼຸດລົງໃນກາງຄືນ. ສໍາຄັນທີ່ສຸດ, ບໍ່ເຄີຍໄວ້ວາງໃຈລູກຄ້າ. ກວດສອບຢູ່ຂ້າງເຊີບເວີສະເໝີ. ເຄື່ອງແມ່ຂ່າຍຄວນຈະເປັນແຫຼ່ງດຽວຂອງຄວາມຈິງ. ການປ້ອງກັນການສໍ້ໂກງ ອີກເທື່ອຫນຶ່ງ, ຂ້າພະເຈົ້າບໍ່ສາມາດເນັ້ນຫນັກເຖິງເລື່ອງນີ້ພຽງພໍ: ໃຫ້ແນ່ໃຈວ່າການກວດສອບທຸກຢ່າງຂອງເຊີຟເວີ. ຜູ້ໃຊ້ແມ່ນມະນຸດ, ແລະມະນຸດອາດຈະໂກງຖ້າໂອກາດ. ມັນຫຼີກລ້ຽງບໍ່ໄດ້. ເຈົ້າອາດຈະລອງ:
ການເກັບຮັກສາການດໍາເນີນການທັງຫມົດດ້ວຍ timestamps UTC. ລູກຄ້າສາມາດສົ່ງເວລາທ້ອງຖິ່ນຂອງພວກເຂົາ, ແຕ່ເຄື່ອງແມ່ຂ່າຍສາມາດປ່ຽນເປັນ UTC ທັນທີແລະກວດສອບກັບເວລາຂອງເຄື່ອງແມ່ຂ່າຍ. ດ້ວຍວິທີນັ້ນ, ຖ້າເວລາທີ່ລູກຄ້າສົງໃສຢູ່ໄກ, ລະບົບສາມາດປະຕິເສດມັນເປັນຄວາມຜິດພາດ, ແລະ UI ສາມາດຕອບສະຫນອງຕາມຄວາມເຫມາະສົມ. ການນໍາໃຊ້ການຕິດຕາມເຫດການໂດຍອີງໃສ່ເຫດການ. ເວົ້າອີກຢ່າງຫນຶ່ງ, ເກັບຮັກສາບັນທຶກຂອງແຕ່ລະການກະທໍາທີ່ມີ metadata ລວມທັງຂໍ້ມູນເຊັ່ນ ID ຂອງຜູ້ໃຊ້, ປະເພດຂອງການປະຕິບັດ, ແລະເວລາແລະເຂດເວລາ. ນີ້ຊ່ວຍໃນການກວດສອບຄວາມຖືກຕ້ອງ.
ການສ້າງເຄື່ອງຈັກລະບົບ Streak ນີ້ບໍ່ແມ່ນການສອນລະຫັດ, ສະນັ້ນຂ້າພະເຈົ້າຈະຫຼີກເວັ້ນການຖິ້ມລະຫັດຫຼາຍຂອງທ່ານ. ຂ້ອຍຈະຮັກສາການປະຕິບັດນີ້ແລະອະທິບາຍວິທີການເຮັດວຽກໂດຍທົ່ວໄປຂອງເຄື່ອງຈັກໃນລະບົບ streak ເທົ່າກັບສະຖາປັດຕະຍະກໍາ, ການໄຫຼ, ແລະຄວາມຫນ້າເຊື່ອຖື. ສະຖາປັດຕະຍະກຳຫຼັກ ດັ່ງທີ່ຂ້າພະເຈົ້າໄດ້ເວົ້າຫຼາຍຄັ້ງ, ເຮັດໃຫ້ເຄື່ອງແມ່ຂ່າຍເປັນແຫຼ່ງດຽວຂອງຄວາມຈິງສໍາລັບຂໍ້ມູນ streak. ສະຖາປັດຕະຍະກໍາສາມາດໄປບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້ຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ:
ເກັບຮັກສາຂໍ້ມູນຂອງຜູ້ໃຊ້ແຕ່ລະຄົນໃນຖານຂໍ້ມູນ. ເກັບຮັກສາ streak store ໃນປັດຈຸບັນ (ຄ່າເລີ່ມຕົ້ນເປັນ 0) ເປັນຈໍານວນເຕັມ. ເກັບຮັກສາການຕັ້ງຄ່າເຂດເວລາ, ເຊັ່ນ: IANA Timezone string (ທັງ implicitly ຈາກເວລາທ້ອງຖິ່ນຫຼືຢ່າງຈະແຈ້ງໂດຍການຂໍໃຫ້ຜູ້ໃຊ້ເລືອກເຂດເວລາຂອງເຂົາເຈົ້າ). ຕົວຢ່າງ, “America/New_York”. ຈັດການເຫດຜົນທັງໝົດເພື່ອກຳນົດວ່າ streak ຍັງສືບຕໍ່ ຫຼືແຕກ, ໂດຍມີການກວດສອບເຂດເວລາທີ່ກ່ຽວຂ້ອງກັບເຂດເວລາທ້ອງຖິ່ນຂອງຜູ້ໃຊ້.
ໃນຂະນະດຽວກັນ, ໃນດ້ານລູກຄ້າ:
ສະແດງສະຕຣີມປັດຈຸບັນ, ໂດຍປົກກະຕິຈະດຶງມາຈາກເຊີບເວີ. ສົ່ງການກະທຳທີ່ເຮັດໃນຮູບແບບເມຕາເດຕາໄປຫາເຊີບເວີເພື່ອກວດສອບວ່າຜູ້ໃຊ້ໄດ້ສຳເລັດການກະທຳສະຕຣີມທີ່ມີຄຸນສົມບັດຫຼືບໍ່. ໃຫ້ຄໍາຄຶດຄໍາເຫັນທີ່ເບິ່ງເຫັນໂດຍອີງໃສ່ຄໍາຕອບຂອງເຄື່ອງແມ່ຂ່າຍ.
ດັ່ງນັ້ນ, ໃນສັ້ນ, ສະຫມອງແມ່ນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ, ແລະລູກຄ້າແມ່ນສໍາລັບຈຸດປະສົງການສະແດງແລະສົ່ງເຫດການ. ອັນນີ້ຊ່ວຍທ່ານປະຫຍັດຄວາມລົ້ມເຫລວຫຼາຍ ແລະກໍລະນີຂອບ, ບວກກັບເຮັດໃຫ້ການປັບປຸງ ແລະແກ້ໄຂງ່າຍຂຶ້ນ. ການໄຫຼເຂົ້າຕາມເຫດຜົນ ໃຫ້ພວກເຮົາຈໍາລອງຂັ້ນຕອນວິທີການເຄື່ອງຈັກໃນລະບົບ streak ທີ່ມີປະສິດທິພາບຫນ້ອຍທີ່ສຸດໃນເວລາທີ່ຜູ້ໃຊ້ເຮັດສໍາເລັດ:
ຜູ້ໃຊ້ເຮັດສຳເລັດການດຳເນີນການສະຕຣີມທີ່ມີຄຸນສົມບັດ. ລູກຄ້າສົ່ງເຫດການໄປຫາເຄື່ອງແມ່ຂ່າຍເປັນ metadata. ນີ້ອາດຈະເປັນ "User X ສໍາເລັດການປະຕິບັດ Y ໃນເວລາ Z". ເຊີບເວີໄດ້ຮັບເຫດການນີ້ ແລະເຮັດການກວດສອບຂັ້ນພື້ນຖານ. ນີ້ແມ່ນຜູ້ໃຊ້ທີ່ແທ້ຈິງບໍ? ພວກເຂົາເຈົ້າໄດ້ຮັບການຢັ້ງຢືນ? ການປະຕິບັດແມ່ນຖືກຕ້ອງບໍ? ເຂດເວລາສອດຄ່ອງບໍ? ຖ້າສິ່ງນີ້ຜ່ານໄປ, ເຊີບເວີຈະດຶງຂໍ້ມູນ streak ຂອງຜູ້ໃຊ້ຈາກຖານຂໍ້ມູນ. ຈາກນັ້ນ, ປ່ຽນເວລາປະຕິບັດທີ່ໄດ້ຮັບເປັນເຂດເວລາທ້ອງຖິ່ນຂອງຜູ້ໃຊ້. ໃຫ້ເຊີບເວີປຽບທຽບວັນທີປະຕິທິນ (ບໍ່ແມ່ນເວລາ) ໃນເຂດເວລາທ້ອງຖິ່ນຂອງຜູ້ໃຊ້: ຖ້າຫາກວ່າມັນເປັນມື້ດຽວກັນ, ຫຼັງຈາກນັ້ນ, ການປະຕິບັດແມ່ນຊ້ໍາຊ້ອນແລະບໍ່ມີການປ່ຽນແປງໃນລຳດັບ. ຖ້າມັນເປັນມື້ຕໍ່ມາ, ເສັ້ນສາຍຈະຂະຫຍາຍອອກໄປແລະເພີ່ມຂຶ້ນໂດຍ 1. ຖ້າມີຊ່ອງຫວ່າງຫຼາຍກວ່າຫນຶ່ງມື້, streak breaks. ຢ່າງໃດກໍຕາມ, ນີ້ແມ່ນບ່ອນທີ່ທ່ານອາດຈະນໍາໃຊ້ກົນໄກການຜ່ອນຜັນ. ຖ້າຫາກວ່າກົນໄກພຣະຄຸນແມ່ນພາດໂອກາດ, ຫຼັງຈາກນັ້ນປັບສະຕຣີເປັນ 1.
ຖ້າທ່ານເລືອກທີ່ຈະບັນທຶກຂໍ້ມູນປະຫວັດສາດສໍາລັບຜົນສໍາເລັດທີ່ສໍາຄັນ, ຫຼັງຈາກນັ້ນໃຫ້ປັບປຸງຕົວແປເຊັ່ນ "streak ຍາວທີ່ສຸດ" ຫຼື "ມື້ທີ່ມີການເຄື່ອນໄຫວທັງຫມົດ". ເຄື່ອງແມ່ຂ່າຍຫຼັງຈາກນັ້ນປັບປຸງຖານຂໍ້ມູນແລະຕອບສະຫນອງກັບລູກຄ້າ. ບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:
{ "Current_streak": 48, "longest_streak": 50, "total_active_days": 120, "streak_extended": ຈິງ, }
ເປັນມາດຕະການເພີ່ມເຕີມ, ເຊີບເວີຄວນພະຍາຍາມອີກຄັ້ງ ຫຼືປະຕິເສດ ແລະແຈ້ງລູກຄ້າເມື່ອມີອັນໃດລົ້ມເຫລວໃນລະຫວ່າງຂະບວນການ. ການກໍ່ສ້າງເພື່ອຄວາມຢືດຢຸ່ນ ດັ່ງທີ່ໄດ້ກ່າວມາກ່ອນ, ຜູ້ໃຊ້ສູນເສຍ streak ເນື່ອງຈາກ bugs ຫຼື server downtime ແມ່ນ UX ຂີ້ຮ້າຍ, ແລະຜູ້ໃຊ້ບໍ່ຄາດວ່າຈະຫຼຸດລົງສໍາລັບມັນ. ດັ່ງນັ້ນ, ລະບົບ streak ຂອງທ່ານຄວນມີການປ້ອງກັນສໍາລັບສະຖານະການເຫຼົ່ານັ້ນ. ຖ້າເຊີບເວີຖືກປິດເນື່ອງຈາກການບໍາລຸງຮັກສາ (ຫຼືເຫດຜົນໃດກໍ່ຕາມ), ພິຈາລະນາອະນຸຍາດໃຫ້ປ່ອງຢ້ຽມຊົ່ວຄາວຂອງຊົ່ວໂມງເພີ່ມເຕີມເພື່ອແກ້ໄຂມັນເພື່ອໃຫ້ການດໍາເນີນການສາມາດສົ່ງຊ້າແລະຍັງຖືກນັບ. ນອກນັ້ນທ່ານຍັງສາມາດເລືອກທີ່ຈະແຈ້ງໃຫ້ຜູ້ໃຊ້ໄດ້, ໂດຍສະເພາະຖ້າຫາກວ່າສະຖານະການແມ່ນສາມາດສົ່ງຜົນກະທົບຕໍ່ການຢ່າງຕໍ່ເນື່ອງ. ຫມາຍເຫດ: ສ້າງ backdoor admin ບ່ອນທີ່ຂໍ້ມູນສາມາດໄດ້ຮັບການຟື້ນຟູດ້ວຍຕົນເອງ. ແມງໄມ້ແມ່ນຫຼີກລ່ຽງບໍ່ໄດ້, ແລະຜູ້ໃຊ້ບາງຄົນຈະໂທຫາແອັບຯຂອງເຈົ້າອອກຫຼືເອື້ອມອອກເພື່ອສະຫນັບສະຫນູນວ່າ streak ຂອງພວກເຂົາແຕກຍ້ອນເຫດຜົນທີ່ພວກເຂົາບໍ່ສາມາດຄວບຄຸມໄດ້. ທ່ານຄວນຈະສາມາດຟື້ນຟູ streaks ໄດ້ດ້ວຍຕົນເອງຖ້າ, ຫຼັງຈາກການສືບສວນ, ຜູ້ໃຊ້ຖືກຕ້ອງ. ສະຫຼຸບ ສິ່ງຫນຶ່ງຍັງຄົງຈະແຈ້ງ: Streaks ແມ່ນມີອໍານາດແທ້ໆເພາະວ່າວິທີການຈິດຕະວິທະຍາຂອງມະນຸດເຮັດວຽກໃນລະດັບພື້ນຖານ. ລະບົບ streak ທີ່ດີທີ່ສຸດຢູ່ທີ່ນັ້ນແມ່ນຫນຶ່ງທີ່ຜູ້ໃຊ້ບໍ່ໄດ້ຄິດກ່ຽວກັບສະຕິ. ມັນໄດ້ກາຍເປັນປະກະຕິຂອງຜົນໄດ້ຮັບທັນທີທັນໃດຫຼືຄວາມກ້າວຫນ້າທີ່ເຫັນໄດ້, ເຊັ່ນ: ການຖູແຂ້ວ, ເຊິ່ງກາຍເປັນນິໄສປົກກະຕິ. ແລະຂ້າພະເຈົ້າພຽງແຕ່ຈະເວົ້າມັນ: ບໍ່ແມ່ນຜະລິດຕະພັນທັງຫມົດຕ້ອງການລະບົບ streak. ທ່ານຄວນບັງຄັບຄວາມສອດຄ່ອງຢ່າງແທ້ຈິງພຽງແຕ່ຍ້ອນວ່າທ່ານຕ້ອງການຜູ້ໃຊ້ທີ່ມີການເຄື່ອນໄຫວປະຈໍາວັນບໍ? ຄໍາຕອບອາດຈະເປັນ "ບໍ່".