มาถึงคอร์สนี้ แอปของคุณน่าจะทำอะไรได้เยอะมากแล้ว
มันเก็บข้อมูลได้ มีผู้ใช้จริง เชื่อมต่อ API ได้ รับเงินได้ แต่ยังมีข้อจำกัดแบบเดียวกับแอปแทบทุกตัวที่เพิ่งเริ่ม: มันยังเงียบอยู่ตลอด ถ้าผู้ใช้ไม่เปิดแอปก่อน แอปก็ไม่พูดอะไรเลย
แอปส่วนใหญ่ตอนเริ่มต้นยังเป็น “ของที่รอให้คนเปิด”
ลองนึกถึง expense tracker ของคุณ
ถ้าผู้ใช้ลืมจดรายจ่ายไป 5 วัน แอปก็เงียบ
ถ้าใช้เงินเกินงบไปแล้ว แอปก็เงียบ
ถ้าสมัครสมาชิกแล้วแต่ยังไม่รู้จะเริ่มตรงไหน แอปก็ยังเงียบ
นี่ไม่ใช่เพราะแอปพัง แต่มันเป็นเพราะแอปยังทำงานแบบ passive คือรอให้คนเดินเข้ามาหาก่อน แล้วค่อยตอบ
คอร์สนี้จะเปลี่ยนสิ่งนั้น
เราจะทำให้แอปเริ่ม “พูด” ได้ในจังหวะที่เหมาะสม
แอปที่ดีไม่ได้แค่ตอบตอนถูกถาม แต่มันรู้ว่าเมื่อไหร่ควรเตือน
ลองนึกถึงสองอย่างนี้
อย่างแรกคือสมุดโน้ตที่วางอยู่บนโต๊ะ มันมีประโยชน์นะ แต่จะมีประโยชน์ก็ต่อเมื่อคุณเดินไปหยิบมันขึ้นมาเอง
อย่างที่สองคือผู้ช่วยที่คอยเตือนคุณในจังหวะที่พอดี เช่น
- เช้านี้คุณใช้เงินไปเท่าไรแล้ว
- วันนี้ใกล้เกินงบแล้วนะ
- สมัครเสร็จแล้ว นี่คือสิ่งที่ควรทำต่อ
แอปที่มี notifications (การแจ้งเตือน) ก็ทำงานแบบผู้ช่วยที่ดี
แต่คำว่า “ผู้ช่วยที่ดี” สำคัญมาก เพราะถ้ามันเตือนทุก 5 นาทีโดยไม่มีเหตุผล มันจะกลายเป็นผู้ช่วยที่น่ารำคาญทันที
มันสอนให้แอปรู้ว่า เมื่อไหร่ควรพูด และเมื่อไหร่ควรเงียบ
Framework ที่ต้องจำให้ได้ทั้งคอร์ส: เมื่อ [trigger] -> ให้ [action]
ทุก notification มีโครงสร้างง่ายมาก
Trigger (เหตุที่ทำให้เกิด action) คือสิ่งที่เกิดขึ้นก่อน
Action (สิ่งที่แอปทำตอบสนอง) คือสิ่งที่แอปทำตามมา
เขียนสั้นที่สุดได้แบบนี้:
เมื่อ [trigger] -> ให้ [action]
ตัวอย่างเช่น
- เมื่อ ผู้ใช้สมัครสมาชิกใหม่ -> ส่งอีเมลต้อนรับ
- เมื่อ ค่าใช้จ่ายวันนี้เกิน 500 บาท -> แสดงแจ้งเตือนในแอป
- เมื่อ ถึง 8 โมงเช้าทุกวัน -> ส่งสรุปรายจ่ายเมื่อวานทางอีเมล
นี่คือแกนของทั้งคอร์สนี้
ถ้าคุณคิดเป็นประโยคแบบนี้ได้ คุณจะอธิบายให้ AI สร้างระบบแจ้งเตือนได้ง่ายขึ้นมาก
คอร์สนี้ไม่ได้เริ่มจากเครื่องมือ แต่มันเริ่มจากวิธีคิดก่อน
Trigger มีอยู่หลักๆ 3 แบบ
เพื่อให้คิดง่ายขึ้น ลองแบ่ง trigger ออกเป็น 3 กลุ่ม
1. Event trigger — มีบางอย่างเกิดขึ้นตอนนี้
นี่คือ trigger แบบมีเหตุการณ์เกิดขึ้นทันที เช่น
- ผู้ใช้สมัครสมาชิก
- ผู้ใช้จ่ายเงินสำเร็จ
- ผู้ใช้เพิ่มรายจ่ายรายการแรก
- ผู้ใช้ทำบางอย่างครบตามที่กำหนด
ข้อดีของ trigger แบบนี้คือชัดมาก เพราะมีจุดเริ่มชัดว่า “เมื่อเหตุการณ์นี้เกิด ให้ทำต่อเลย”
2. Time trigger — ถึงเวลาที่กำหนด
แบบนี้ไม่ได้รอให้คนกดอะไร แต่รอเวลา เช่น
- ทุกวัน 8 โมงเช้า
- ทุกวันจันทร์
- สิ้นเดือน
- ก่อนต่ออายุสมาชิก 3 วัน
นี่คือประเภทที่ทำให้แอปเริ่ม “ทำงานเอง” จริงๆ แม้ไม่มีใครเปิดมันอยู่ตอนนั้น
3. Threshold trigger — ถึงเงื่อนไขบางอย่าง
แบบนี้เกิดขึ้นเมื่อข้อมูลแตะจุดที่คุณตั้งไว้ เช่น
- ใช้เงินเกิน 500 บาทในวันเดียว
- ไม่ได้เปิดแอปมา 3 วัน
- ค่าใช้จ่ายเดือนนี้เกินงบ
- สมาชิกใกล้หมดอายุใน 7 วัน
trigger แบบนี้เหมาะมากกับแอปที่มีข้อมูลเปลี่ยนอยู่เรื่อยๆ เพราะมันช่วยให้แอปจับจังหวะสำคัญได้
Action ก็มีอยู่ไม่กี่แบบ แต่ผลต่างกันมาก
พอมี trigger แล้ว คำถามต่อไปคือ แอปควรทำอะไร
สำหรับคอร์สนี้ action หลักมี 3 แบบ
1. Email — ส่งอีเมลออกไปหา user
แบบนี้เหมาะเวลาคุณอยากสื่อสารกับคน แม้เขาจะไม่ได้เปิดแอปอยู่ เช่น
- อีเมลต้อนรับ
- สรุปรายวัน
- แจ้งเตือนก่อนสมาชิกหมดอายุ
ข้อดีคือไปถึงคนได้แม้เขาจะปิดแอปอยู่
2. In-app notification — แจ้งเตือนภายในแอป
แบบนี้เหมาะเวลาคนเปิดแอปอยู่แล้ว และคุณอยากบอกบางอย่างในบริบทนั้นทันที เช่น
- วันนี้ใช้เงินใกล้เกินงบแล้ว
- มีฟีเจอร์ใหม่
- มีรายการบางอย่างที่ควรดู
ข้อดีคือไม่ไปรบกวนนอกแอป แต่ช่วยนำทางในตอนที่คนกำลังใช้งานอยู่
3. Both — ใช้ทั้งสองทาง
บางเรื่องสำคัญพอที่จะใช้ทั้งอีเมลและแจ้งเตือนในแอป เช่น
- จ่ายเงินสำเร็จ
- สมาชิกใกล้หมดอายุ
- รายการสำคัญที่ต้องกลับมาดู
แต่คำว่า “both” ไม่ได้แปลว่าควรใช้บ่อย มันควรใช้เฉพาะตอนที่ทั้งสองช่องทางมีเหตุผลจริงๆ
ทุก notification ควรตอบคำถามนี้ให้ได้ก่อน: ถ้าฉันเป็นผู้ใช้ ฉันจะรู้สึกว่าข้อความนี้มีประโยชน์ หรือรู้สึกรำคาญ
ตัวอย่างกับ expense tracker แบบชัดๆ
ลองดูตัวอย่าง 3 แบบนี้กับแอปติดตามรายจ่าย
แบบที่ 1
เมื่อ ผู้ใช้สมัครสมาชิกใหม่ -> ส่งอีเมลต้อนรับ
อันนี้เป็น event trigger + email action
แบบที่ 2
เมื่อ ถึง 8 โมงเช้าทุกวัน -> ส่งสรุปรายจ่ายเมื่อวานทางอีเมล
อันนี้เป็น time trigger + email action
แบบที่ 3
เมื่อ ค่าใช้จ่ายวันนี้เกิน 500 บาท -> แสดงแจ้งเตือนในแอป
อันนี้เป็น threshold trigger + in-app action
พอคุณเห็นสามแบบนี้คู่กัน จะเริ่มรู้ว่า notification ไม่ใช่ฟีเจอร์ก้อนเดียว แต่มันคือการจับคู่ระหว่าง “เหตุ” กับ “การตอบสนอง”
ลองทำกับแอปของคุณเองตอนนี้เลย
บทนี้ยังไม่ต้องเปิด Lovable
สิ่งที่ควรทำคือหยิบแอปของตัวเองขึ้นมา แล้วเขียน 3 บรรทัดนี้
เมื่อ [trigger] -> ให้ [action]
เมื่อ [trigger] -> ให้ [action]
เมื่อ [trigger] -> ให้ [action]
ถ้าคิดไม่ออก ให้เริ่มจาก 3 มุมนี้
- มีเหตุการณ์อะไรที่ควรทักทันที
- มีเวลาไหนที่ควรสรุปหรือเตือน
- มีเงื่อนไขอะไรที่ถ้าถึงแล้วควรบอกผู้ใช้
ไม่ต้องพยายามให้เยอะ เอาแค่ 3 อันที่ถ้าทำจริงแล้วจะช่วยให้แอปมีประโยชน์ขึ้นชัดที่สุด
notification แรกที่ดี มักไม่ใช่อันที่เท่มาก แต่มักเป็นอันที่ผู้ใช้ได้รับแล้วรู้สึกว่า “อันนี้ช่วยจริง”
สำหรับแอปของคุณเอง
แนวคิดเดียวกันนี้ใช้ได้กับแอปแทบทุกแบบ
- แอปสูตรอาหาร: เมื่อมีสูตรใหม่ประจำสัปดาห์ -> ส่งอีเมลแจ้ง
- แอปเช็คค่าเงิน: เมื่อค่าเงินถึงจุดที่ผู้ใช้สนใจ -> แจ้งเตือนในแอปหรืออีเมล
- แอปจดโน้ต: เมื่อไม่ได้กลับมาใช้งานหลายวัน -> ส่งอีเมลชวนกลับมา
- แอปคอร์สหรือความรู้: เมื่อมีบทเรียนใหม่ -> ส่งอีเมลหรือแจ้งเตือนในแอป
คำถามสำคัญคือ:
แอปของฉันควรพูดตอนไหน เพื่อให้ผู้ใช้รู้สึกว่าได้ประโยชน์จริง ไม่ใช่แค่ถูกเรียกให้กลับมาเฉยๆ
วันนี้คุณยังไม่ได้เพิ่มระบบแจ้งเตือนจริง แต่คุณได้สิ่งที่สำคัญกว่ามาก
ถ้าคุณรีบไปเชื่อม email service หรือสร้าง notification bell ทันที โดยยังไม่รู้ว่าจะเตือนอะไร เมื่อไหร่ และเพราะอะไร สุดท้ายคุณจะได้แค่ระบบที่ส่งได้ แต่ไม่รู้ว่าจะส่งอะไรดี
บทนี้เลยสำคัญ เพราะมันวางวิธีคิดก่อนลงมือ
เมื่อคุณคิดเป็น trigger -> action ได้ ทุกบทที่เหลือจะง่ายขึ้นมาก
ก่อนหน้านี้แอปของคุณรอให้คนเปิดมัน แต่ตอนนี้คุณเริ่มเห็นแล้วว่า มันสามารถเลือกจังหวะพูดที่เหมาะสมได้ยังไง
คุณเพิ่งทำอะไรสำเร็จไปแล้วบ้าง
- คุณเข้าใจแล้วว่า notification ทุกอันคิดได้ด้วยกรอบ
เมื่อ [trigger] -> ให้ [action] - คุณแยก trigger ออกเป็น 3 แบบได้: event, time, และ threshold
- คุณแยก action หลักได้ว่าอะไรควรเป็น email อะไรควรเป็น in-app notification
- คุณมีแผน 3 การแจ้งเตือนสำหรับแอปของตัวเองแล้ว
บทต่อไป เราจะเริ่มจากสิ่งที่จับต้องได้และเห็นผลชัดที่สุด: ส่งอีเมลแรกของแอปแบบอัตโนมัติ เมื่อมีบางอย่างเกิดขึ้นจริง