Juice

Software design ရဲ့ လျှို့ဝှက်ချက် - experience ကို ပိုပြီးသက်ဝင်လှုပ်ရှားလာစေဖို့

Carton of orange juice

Juice ဆိုတာ user experience ကို ပိုပြီးပြည့်စုံစေဖို့ ထည့်သွင်းပေးရတဲ့ non-essential visual, audio နဲ့ haptic effects တွေကို ခေါ်တာဖြစ်ပါတယ်။ဒီ effects တွေက software ရဲ့ အခြေခံ function တွေအတွက် မဖြစ်မနေ လိုအပ်တာမျိုး မဟုတ်ပေမယ့် user ရဲ့ ခံစားမှုကိုတော့ သိသိသာသာ မြှင့်တင်ပေးနိုင်ပါတယ်။

ဥပမာပြောရရင် Mario ဂိမ်းမှာ mushroom တစ်ခုကို စားလိုက်တဲ့အခါ ကြည်လင်တဲ့ အသံလေးတစ်ခု ထွက်လာတာမျိုးပေါ့။ အဲ့ဒီမှာပေါ်လာတဲ့ 1UP ဆိုတဲ့ စာသားကတော့ essential ဖြစ်ပါတယ်။ ဘာလို့လဲဆိုတော့ player က အသက်တစ်ချောင်း ပိုရသွားပြီဆိုတဲ့ သတင်းအချက်အလက်ကို ပေးနေတာဖြစ်လို့ပါ။ ဒါပေမယ့် အဲ့ဒီအသံလေးကတော့ Juice ပဲဖြစ်ပါတယ်။ သူက function အရ မလိုအပ်ပေမယ့် ရည်ရွယ်ချက်ရှိရှိ ထည့်သွင်းထားတာပါ -

“'Juice' ဆိုတာ feedback တွေ အဆက်မပြတ်နဲ့ အပြည့်အဝ ရရှိနေဖို့ ကျွန်တော်တို့ အသုံးပြုခဲ့တဲ့ အသုံးအနှုန်းလေး တစ်ခုပါ။ juicy ဖြစ်တဲ့ element တစ်ခုက သင်ထိတွေ့လိုက်တဲ့အခါ တုန်ခါသွားတာ၊ လှုပ်ရှားသွားတာ ဒါမှမဟုတ် အသံထွက်လာတာမျိုးတွေ လုပ်ဆောင်ပေးပါတယ်။ ဒါက user ကို world ပေါ်မှာ ပိုပြီး စွမ်းအားရှိတယ်လို့ ခံစားရစေပြီး interaction တစ်ခုချင်းစီအပေါ်မှာ မူတည်ပြီး ဘယ်လိုရှိနေတယ်ဆိုတာကို အမြဲတမ်း feedback ပေးနေတာဖြစ်လို့ rule တွေကို နားလည်အောင် သင်ကြားပေးရာလည်း ရောက်ပါတယ်။”

Juice က အောက်ပါအချက်တွေကို လုပ်ဆောင်ပေးနိုင်ပါတယ် -

Juice ဆိုတာ အသေးစိတ် details လေးတွေအပေါ်မှာ အခြေခံတာပါ။ အရာရာတိုင်းဆီကနေ အကျိုးရလဒ်တွေ ပိုပြီး ထွက်ပေါ်လာအောင် ကြိုးစားတာလည်း ဖြစ်ပါတယ်။ ဒါဟာ user ရဲ့ functional needs တွေတင်မကဘဲ emotional needs တွေကိုပါ ဖြည့်ဆည်းပေးဖို့ ဖြစ်ပါတယ်။ သူ့ကို games တွေမှာ စတင်အသုံးပြုခဲ့ကြပေမယ့် တခြား software အမျိုးအစားတွေမှာလည်း အသုံးပြုနိုင်ပါတယ်။

02. Game feel

Digital agent တစ်ခုကို ကိုင်တွယ်အသုံးပြုနေရတယ်ဆိုတဲ့ ခံစားချက်ကို Game Feel လို့ ဖော်ပြနိုင်ပါတယ်။ Super Mario 64 မှာဆိုရင် player က Mario ကို လှုပ်ရှားစေရုံနဲ့တင် ပျော်ရွှင်မှုကို ခံစားရနိုင်ပါတယ်။ အဓိက objective တွေ မပြီးသေးရင်တောင်ဖြစ်ပေါ်လာနိုင်တဲ့ ခံစားချက်မျိုးပါ။ ဘာကြောင့်လဲဆိုတော့ Mario ကို juice တွေ အပြည့်အဝ ထည့်သွင်းထားလို့ပါပဲ။

လမ်းလျှောက်ရာကနေ တဖြည်းဖြည်း ပြေးလာတဲ့ ခံစားချက် (nuance)၊ ခုန်လိုက်တဲ့အခါ spring coil လိုမျိုး တုံ့ပြန်မှုနဲ့ ပေါက်ကွဲထွက်သွားတဲ့ အရှိန်အဟုန်၊ လေထဲမှာရှိနေတုန်း ထွက်ပေါ်လာတဲ့ "ya-hoo" ဆိုတဲ့ အသံလေးတွေက Game Feel ကို ဖြစ်ပေါ်စေတာပါ။ Game Feel က ဘာရည်ရွယ်ချက်မှမရှိဘဲ လုပ်ဆောင်လိုက်တဲ့ action တစ်ခုကနေ ပျော်ရွှင်မှုရတတ်တဲ့ လူသားတွေရဲ့ သဘာဝကို အမိအရ ဖမ်းဆုပ်လိုက်တာ ဖြစ်ပါတယ်။

NES Controller

The obstacle (အဟန့်အတား)

User ကို တစ်ခုခု ခံစားရအောင် လုပ်ဆောင်ရာမှာ အကြီးမားဆုံး အဟန့်အတားတစ်ခုကတော့ သူတို့နဲ့ content ကြားမှာ ရှိနေတဲ့ screen မှန်ချပ်ပဲ ဖြစ်ပါတယ်။ User က content ကို တိုက်ရိုက်ထိတွေ့လို့ မရပါဘူး။

ဒါ့အပြင် ကျွန်တော်တို့က software နဲ့ ဆက်သွယ်တဲ့အခါ input device တွေ (controller, mouse, keyboard) ရဲ့ ကန့်သတ်ချက်တွေကြောင့် button press တွေ၊ mouse positions တွေနဲ့ joystick angles တွေလောက်ပဲ Vocabulary ရှိကြပါတယ်။ ဒါကို ကျော်လွှားဖို့ game developer တွေက redundant techniques တွေကို သုံးကြပါတယ်။ ဥပမာ button press တစ်ခုကို acknowledge လုပ်ဖို့အတွက် animation, sound နဲ့ vibration တွေကို တစ်ပြိုင်နက်တည်း သုံးတာမျိုးပေါ့။

Non-game software တွေမှာတော့ Juice တွေ အလွန်အကျွံသုံးတာက မကောင်းတဲ့ ရလဒ်တွေ ဖြစ်စေနိုင်ပါတယ်။ Games တွေမှာ Juice တွေ အများကြီး သုံးရတာက သူ့ရဲ့ ရည်ရွယ်ချက်က immersion (နစ်မြောသွားစေဖို့) ဖြစ်လို့ပါ။ ဒါပေမယ့် non-game app တွေမှာတော့ task တစ်ခုကို မြန်မြန်ဆန်ဆန် ပြီးမြောက်ဖို့က ပိုအရေးကြီးတတ်ပါတယ်။ Juice အနည်းငယ်က experience ကို ကောင်းမွန်စေနိုင်ပေမယ့် အများကြီးဖြစ်သွားရင်တော့ task ကို ပိုကြာသွားစေပြီး experience ကို ဆိုးသွားစေနိုင်ပါတယ်။ Juice မထည့်ခင်မှာ ကိုယ့်ရဲ့ intended UX ကို အရင်ဆုံး နားလည်ထားဖို့ လိုအပ်ပါတယ်။

Priority (ဦးစားပေးမှု)

Non-game software တွေမှာ Confetti ပေါက်ကွဲတာမျိုးလိုမျိုး ရှားရှားပါးပါး ဖြစ်လေ့ရှိတဲ့ event တွေမှာပဲ juice ထည့်လေ့ရှိကြပါတယ်။ ဒါပေမယ့် game developer တွေကတော့ moment to moment ဖြစ်ပေါ်နေတဲ့ အခြေခံ လုပ်ဆောင်ချက်တွေကိုပဲ ပိုပြီး focus လုပ်ကြပါတယ်။ ဘာလို့လဲဆိုတော့ ဒါတွေဟာ software တစ်ခုလုံးရဲ့ အခြေခံ အုတ်မြစ်ဖြစ်လို့ပါပဲ။

Steve Swink က Mario 64 မှာ player တစ်ယောက် အများဆုံး ဘာတွေလုပ်နေသလဲဆိုတာကို ခွဲခြမ်းစိတ်ဖြာပြထားပါတယ် -

Onboarding ပြီးမြောက်တာက ဂိမ်းတစ်ခုကို အနိုင်ရလိုက်တာနဲ့ တူပါတယ်။ တစ်ကြိမ်ပဲ ဖြစ်သွားတာပါ။ အဲ့ဒါကို juice ထည့်တာက overall experience အပေါ်မှာ သက်ရောက်မှု အနည်းငယ်ပဲ ရှိပါတယ်။ moment to moment ဖြစ်နေတဲ့ events တွေကို juice ထည့်တာက ပိုပြီး ထိရောက်မှု ရှိပါတယ်။

How to create game feel (Game feel ဖန်တီးနည်း)

Rahul Vohra က interface တွေကို ကစားစရာ toy အဖြစ် စတင်ပြီး design လုပ်ဖို့ အကြံပြုထားပါတယ်။ Toy ဆိုတာ - ပျော်စရာကောင်းတယ်၊ ဘာရည်ရွယ်ချက်မှ မရှိဘူး၊ ပျော်ရွှင်စွာ စူးစမ်းလေ့လာချင်စိတ်ကို ဖြစ်ပေါ်စေတယ်၊ ပြီးတော့ စိတ်ကျေနပ်ဖွယ် အံ့အားသင့်စေမယ့် moments လေးတွေလည်း ပါဝင်နေတတ်ပါတယ်။

ကျွန်တော်တို့က toy နဲ့ ကစားတယ်၊ ဒါပေမယ့် game ကိုတော့ play (ကစား) တာပါ။ ဘောလုံးက toy ဖြစ်ပေမယ့် baseball ကတော့ game ပဲဖြစ်ပါတယ်။ အကောင်းဆုံး ဂိမ်းတွေကို toy တွေနဲ့ပဲ တည်ဆောက်ထားတာပါ။ Mario ခံစားရတဲ့ ပုံစံဟာ ဂိမ်းရဲ့ အခြေခံအကျဆုံး အစိတ်အပိုင်း ဖြစ်ပါတယ်။ ဒါကြောင့် level တွေ မဖန်တီးခင်မှာ garden ဆိုတဲ့ test environment တစ်ခုကို အရင်ဆုံး တည်ဆောက်ခဲ့ကြပါတယ်။ Mario ဘယ်လို ခံစားရတယ်ဆိုတာကို test လုပ်ပြီး refine လုပ်နိုင်မယ့် playground တစ်ခုပေါ့။ Web development မှာ ဆိုရင်တော့ ဒါဟာ Storybook နဲ့ တူပါတယ်။ Component တွေကို သီးခြား environment မှာ render လုပ်ပြီး သူတို့ရဲ့ feel ကို test လုပ်ကာ refine လုပ်နိုင်တာမို့လို့ပါ။

“It's about maximum output for minimum input.”

03. Emotional requirements

Habits app က user တွေကို အလေ့အကျင့်တွေ တည်ဆောက်နိုင်အောင် ကူညီပေးပါတယ်။ Theory အရဆိုရင် အလုပ်တစ်ခုကို ရက်ပေါင်း ၆၆ ရက် ဆက်တိုက် လုပ်ဆောင်မယ်ဆိုရင် habit တစ်ခု ဖြစ်လာပါတယ်။ User က သူလုပ်ချင်တဲ့ habit (ဥပမာ - စာဖတ်တာ) ကို ရိုက်ထည့်လိုက်ရင် နေ့တိုင်း checkbox တစ်ခုကို တွေ့ရမှာပါ။ စာဖတ်ပြီးရင် သူတို့က အဲ့ဒီ checkbox ကို click လုပ်ရပါတယ်။

ဒီနေရာမှာ standard checkbox နဲ့ juiced checkbox ကို နှိုင်းယှဉ်ကြည့်ပါ။ Standard က functional requirements ကိုပဲ ဦးစားပေးပေမယ့် juiced ကတော့ emotional requirements ကိုပါ ထည့်သွင်း စဉ်းစားထားတာပါ။ Juiced checkbox ကို ဖိထားလိုက်တဲ့အခါ 2D နဲ့ 3D animation တွေ، sound effects နဲ့ haptic feedback တွေက တစ်ပြိုင်နက်တည်း ပေါ်ထွက်လာပါတယ်။ ဒါဟာ လုပ်ဆောင်ချက်ကို အသိအမှတ်ပြုလိုက်တာတင်မကဘဲ အဲ့ဒီ action က ကိုယ်စားပြုတဲ့ symbolic meaning ကိုပါ ဖော်ပြလိုက်တာ ဖြစ်ပါတယ်။ ဒီနေ့တော့ ငါအလုပ်ပြီးပြီ၊ habit တည်ဆောက်ဖို့ တစ်လှမ်း ပိုနီးလာပြီ ဆိုတဲ့ အသိက user အတွက် reward တစ်ခု ဖြစ်စေပြီး နောက်ထပ် လုပ်ဆောင်ချင်စိတ်ကိုလည်း မြှင့်တင်ပေးပါတယ်။

04. Soul

Emotional requirements ကို အပြည့်အဝ ဖြည့်ဆည်းပေးနိုင်တဲ့ အရာတစ်ခုကို soul (ဝိညာဉ်) ရှိတယ်လို့ ဖော်ပြနိုင်ပါတယ်။

“သင်အကြိုက်ဆုံး ရပ်ကွက်ထဲက စားသောက်ဆိုင်လေးကို မြင်ယောင်ကြည့်လိုက်ပါ... အဲ့ဒီမှာ သဘာဝအလင်းရောင်တွေ အပြည့်အဝ ရရှိနေပြီး၊ လက်မှုထည် ထိုင်ခုံလေးတွေ၊ ဆိုင်တစ်ဆိုင်လုံးမှာ သစ်သားညိုရောင် အစင်းကြောင်းလေးတွေနဲ့ မျက်နှာကျက်ကနေ တွဲလောင်းကျနေတဲ့ ရောင်စုံအလှဆင်ပစ္စည်းလေးတွေ ရှိနေပါလိမ့်မယ်။ သင်ရော မြင်ယောင်လို့ရရဲ့လား? အဲ့ဒီနေရာရဲ့ နွေးထွေးမှုနဲ့ ဝိညာဉ် (spirit) ကို သင်ခံစားရလား?”

ဒါရဲ့ ဆန့်ကျင်ဘက်ကတော့ ဆေးရုံ ပါပဲ။ ဒါဟာ functional requirements တွေအတွက်ပဲ အကောင်းဆုံးဖြစ်အောင် (optimize) လုပ်ထားတဲ့အတွက် အေးစက်တယ်၊ ပိုးသတ်ထားတယ်၊ အရာရာက ရိုးရှင်းလွန်း (minimal) ပြီး ထူးခြားတဲ့လက္ခဏာ (character) နဲ့ ကိုယ်ပိုင်ဟန် (individuality) မရှိပါဘူး။ တစ်နည်းအားဖြင့် ဝိညာဉ်မဲ့ခြင်း (Soulless) ဖြစ်ပါတယ်။

Clif Bar 2007
Clif Bar website in 2007
Clif Bar 2023
Clif Bar website in 2023

Soulless software

Juice က software တွေမှာ ဝိညာဉ် (soul) ရှိလာအောင် ဖြည့်ဆည်းပေးနိုင်ပေမဲ့၊ လက်တွေ့မှာတော့ software အတော်များများမှာ ဒါမျိုး ပါတာ နည်းလှပါတယ်။ ဘာလို့လဲဆိုတော့ ခံစားချက်တွေ (feelings) ဟာ ကျွန်တော်တို့ ဘဝအပေါ်မှာ ဘယ်လောက်အထိ လွှမ်းမိုးမှု ရှိနေသလဲဆိုတာကို လျှော့တွက်ထားကြလို့ပါပဲ။

Emotion ဟာ လူသားတစ်ယောက် ဖြစ်တည်မှုရဲ့ အဓိက အစိတ်အပိုင်း ဖြစ်ပါတယ်။ ဒါဟာ ကမ္ဘာတစ်ဝှမ်းက ယဉ်ကျေးမှုတိုင်းမှာ ဂီတတွေ ဘာလို့ ရှိနေရသလဲဆိုတဲ့ အကြောင်းပြချက် ဖြစ်သလို၊ လူသားမျိုးနွယ်ရဲ့ အကြီးကျယ်ဆုံးသော လက်ရာတွေဟာ artworks တွေ ဘာလို့ ဖြစ်နေရသလဲဆိုတဲ့ အကြောင်းပြချက်လည်း ဖြစ်ပါတယ်။ သူတို့ရဲ့ function ကြောင့် မဟုတ်ဘဲ ကျွန်တော်တို့ကို ဘယ်လို ခံစားရစေသလဲ ဆိုတာပေါ်မှာပဲ အခြေခံထားတာ ဖြစ်ပါတယ်။

How to create soul (Soul ဖန်တီးနည်း)

Disney Animation

Software တစ်ခုမှာ soul ပါဝင်လာဖို့အတွက် သင့်ကိုယ်သင် အရင်ဆုံး မေးကြည့်ပါ - user ကို ဘယ်လိုမျိုး ခံစားစေချင်သလဲ? Inspiration တွေကို software industry အပြင်ဘက်မှာ ရှာဖွေပါ။ သင့်ကို တစ်ခုခု ခံစားရအောင် လုပ်နိုင်တဲ့ အရာကို ရှာဖွေပြီး ဘာကြောင့်လဲဆိုတာကို ကိုယ့်ကိုယ်ကို မေးပါ။ ပြီးရင် ဒါကို အသုံးပြုပြီး သင့်ရဲ့ အလုပ်တွေကို ပြုပြင် ဖန်တီးပါ။

ကမ္ဘာ့ အတော်ဆုံး crafters တွေက အရာရာကို neutral ဖြစ်နေအောင် မလုပ်ကြပါဘူး။ သူတို့ဟာ ခံစားချက်၊ အမြင်၊ အတွေ့အကြုံ၊ ကိုယ်ပိုင်အကြိုက် (taste) နဲ့ ပုဂ္ဂလဓိဋ္ဌာန် (subjectivity) တွေအပေါ်မှာပဲ အခြေခံပြီး ဖန်တီးကြပါတယ်။ ဒါကြောင့် သူတို့ရဲ့ အလုပ်တွေမှာ လူသားတွေရဲ့ လက်ရာ (hand-crafted touches) တွေ ပါဝင်နေလေ့ ရှိပါတယ်။ Steve Jobs ဆိုရင် Zen Buddhism နဲ့ calligraphy ဆီကနေ influence ယူခဲ့ပါတယ်။

“Apple Notes ကို သုံးတဲ့အခါ minimalist တစ်ယောက်လို ခံစားရတယ်။ Notion ကို သုံးတဲ့အခါမှာတော့ productivity nerd တစ်ယောက်လို ခံစားရပြီး၊ Obsidian ကို သုံးတဲ့အခါမှာတော့ intellectual indie hacker တစ်ယောက်လို ခံစားရပါတယ်။”
Emotion Wheel

Superhuman email client ရဲ့ designer တွေက human emotions model ကို သုံးကြပါတယ်။ ဒီ model အရ screen အမျိုးမျိုး ဒါမှမဟုတ် triggered events တွေအပေါ် မူတည်ပြီး user ဆီမှာ emotional states တွေ မတူညီအောင် ဖန်တီးပေးပါတယ်။ ဥပမာ user က Inbox Zero ရောက်သွားတဲ့အခါ stunning imagery တွေကို ပြသပြီး surprise ဖြစ်စေတာမျိုးပေါ့။ ဒီ Model က designer တွေကို သူတို့ ဘာကို ဦးတည်ပြီး ဖန်တီးရမလဲဆိုတာကို တိတိကျကျ သိစေဖို့ ကူညီပေးပါတယ်။

Superhuman Interface

05. Examples

D&D Beyond Dice Roll

D&D Beyond က dice roll feature မှာ 3D animation တွေ သုံးထားပါတယ်။ လင်းစက်မှု၊ physics နဲ့ sound effects တွေက တကယ့် စားပွဲပေါ်မှာ အန်စာတုံး လှိမ့်နေသလိုမျိုး ခံစားချက်ကို ပေးနိုင်တဲ့အတွက် immersion ကို အပြည့်အဝ ပေးနိုင်ပါတယ်။

Firewatch Website

Firewatch website က scroll လုပ်တဲ့နေရာမှာ parallax effect ကို သုံးထားပါတယ်။ Wilderness ထဲကို တဖြည်းဖြည်း တိုးဝင်သွားတဲ့ ခံစားချက်မျိုးကို ပေးနိုင်ပြီး content နဲ့လည်း လိုက်ဖက်မှု ရှိလှပါတယ်။

Onboarding Juice

Tweening & FLIP

FLIP (First, Last, Invert, Play) animation technique က page transitions တွေကို ပိုပြီး intuitive ဖြစ်စေသလို cognitive load ကိုလည်း လျှော့ချပေးပါတယ်။ User အနေနဲ့ UI ရဲ့ အပြောင်းအလဲကို process လုပ်ဖို့ အချိန်ရစေပြီး တကယ့် real world က အရာဝတ္ထုတွေ ရွေ့လျားသလိုမျိုး ခံစားချက်ကို ပေးပါတယ်။

Call of Duty Loading Tip

Call of Duty Loading Screen

Call of Duty လို complex mechanics တွေပါတဲ့ ဂိမ်းတွေမှာဆိုရင် တိုက်ရိုက် onboarding လုပ်မယ့်အစား loading screen တွေမှာ ကစားနည်း tip လေးတွေ ပြသပြီး non-intrusive ways နဲ့ သင်ကြားပေးလေ့ ရှိပါတယ်။

Half-Life Scripted Sequence

Half-Life မှာဆိုရင်လည်း scripted sequences တွေကို သုံးပြီး tension တိုးအောင်၊ world က player ကို အသိအမှတ်ပြုနေတယ် (acknowledge) လို့ ထင်ရအောင် ပြုလုပ်ထားပါတယ်။

“နောက်ဆုံး ယူဆချက်တစ်ခုကတော့ player တွေဟာ သူတို့ရဲ့ ကျရှုံးမှုအတွက် သူတို့ကိုယ်သူတို့ပဲ အမြဲအပြစ်တင်သင့်တယ် ဆိုတာပါပဲ။ အကယ်၍ ဂိမ်းက ဘာသတိပေးချက်မှမပေးဘဲ သူတို့ကို သတ်လိုက်မယ်ဆိုရင် player တွေက ဂိမ်းကိုပဲ အပြစ်တင်ကြပြီး အဲ့ဒီဂိမ်းကို မကြိုက်တော့တာမျိုး ဖြစ်လာပါလိမ့်မယ်။ ဒါပေမယ့် အကယ်၍ ဂိမ်းက အန္တရာယ်ရှိနေပြီဆိုတာကို အရိပ်အယောင်ပြထားပြီး လွတ်မြောက်နိုင်မယ့် နည်းလမ်းကိုပါ ပြသထားလျက်နဲ့ သူတို့ သေသွားခဲ့မယ်ဆိုရင်တော့ ဒါဟာ သူတို့ရဲ့ အမှားလို့ပဲ သတ်မှတ်ကြပါလိမ့်မယ်... သူတို့ အောင်မြင်သွားတဲ့အခါမှာတော့ ဂိမ်းက သူတို့အတွက် ဆုလာဘ်အသေးစားလေးတွေ (scripted sequence, special effect စသဖြင့်) ပေးလိုက်မယ်ဆိုရင် သူတို့က သူတို့ကိုယ်သူတို့ရော ဂိမ်းအပေါ်မှာပါ စိတ်ကျေနပ်မှု ရှိသွားကြပါလိမ့်မယ်။”

Game of Thrones ရဲ့ intro မှာဆိုရင် geography တွေကို map နဲ့တကွ ဖော်ပြပေးတာက viewers တွေအတွက် character တွေ၊ နေရာတွေကို ပိုပြီး မှတ်မိလွယ်စေပါတယ်။

Amazon Prime Screen

Amazon Prime Video ရဲ့ pause screen မှာ လက်ရှိ scene ထဲက actor တွေရဲ့ info ပါဝင်တာကလည်း user engagement ကို ပိုပြီး မြှင့်တင်ပေးနိုင်တဲ့ juice တစ်ခုပါပဲ။

06. References