ในการพัฒนา Mobile app นั้น
ถึงแม้จะเป็น app ที่น่าสนใจ โดนใจ และ แจ่มขนาดไหน
แต่สิ่งที่นักพัฒนาต้องไม่พลาดหรือต้องใส่ใจเสมอคือ
เรื่องของประสิทธิภาพการทำงาน และ ความน่าเชื่อถือ
ลองคิดดูว่า
ถ้าเปิด app ใช้เวลานานมาก
ถ้า app ทำการดึงข้อมูลต่าง ๆ นานมาก
ถ้าใช้งาน app ไป ๆ มา ๆ ดัน crash หรือปิดตัวเองไป
ถ้า app ใช้ resource ต่าง ๆ ของเครื่องเยอะ เช่น CPU, Memory และ Battery
คำถามคือ ผู้ใช้งานส่วนใหญ่ยังจะใช้งานมันอยู่หรือไม่ ?ดังนั้นมาดูกันหน่อยว่ามีอะไรที่นักพัฒนา Mobile app ควรใส่ใจ
เรื่องของ Latency ของ End-to-End (Low Latency, Fast Response time)
ความเร็วเป็นสิ่งจำเป็นมาก ๆ สำหรับ Mobile app บ่อยครั้งจะเป็นตัวชี้วัดหลาย ๆ อย่าง ผลการวิจัยพบว่า ถ้า app เปิดช้า จะทำให้ผู้ใช้งานไม่ชอบและลบ app นั้นทิ้งไป โดยมีถึง 59% ของผู้ถูกสำรวจไม่ชอบ app ที่ช้า รวมทั้งคาดหวังว่า app จะใช้เวลาในการเปิดไม่เกิน 2 วินาที การทำงานของ Mobile app นั้นมักจะช้าจากการดึงข้อมูลจาก API ต่าง ๆ ผ่านระบบ network ซึ่งถ้านักพัฒนามองแค่นั้นมันคงยังไม่พอ ต้องดูให้ลึกในรายละเอียดอีกว่า แต่ละ API มีการทำงานภายในอย่างไร มี End-to-End Latency อย่างไร เพื่อทำให้เห็นถึงปัญหาจริง ๆ ที่ต้องแก้ไขและปรับปรุงกันต่อไป เช่น- ใช้เวลาในการดึงข้อมูลจาก database เท่าไร
- ใช้เวลาในการเขียน log เท่าไร
- ใช้เวลาในการบันทึกข้อมูลลง database เท่าไร
- ใช้เวลาในการติดต่อไปยังระบบ A, B, C เท่าไร
เรื่องที่สองคือ User Session หรือเวลาที่ผู้ใช้งานตั้งแต่เปิดยันปิด app
ในบาง app อาจจะไม่สนใจ แต่ app ส่วนใหญ่ต้องการให้ผู้ใช้งานใช้งาน app นานขึ้น เพื่อเพิ่มโอกาสต่าง ๆ ทางธุรกิจ เช่นยอดการสั่งซื้อเป็นต้น โดยจากสถิติพบว่า- เกมส์จะใช้เวลาใน app ประมาณ 7 นาที
- e-commerce ใช้เวลาใน app ประมาณ 3 นาที
ดังนั้นสิ่งที่เราต้องรู้คือ ผู้ใช้งานอยู่ใน app ของเรานานเท่าไร ? และเราคาดหวังหรือมีเป้าหมายอย่างไร ?แต่ค่านี้จะใช้ไม่ได้เลย ถ้า network ที่เชื่อมต่อมายัง API มันช้า ซึ่งอาจจะทำให้ค่าของ User session ตกลงไปอย่างมาก เป็นสิ่งที่ทำให้เราเข้าใจพฤติกรรมการใช้งาน app มากยิ่งขึ้น เพื่อนำมาใช้ในการปรับปรุงและแก้ไขต่อไป ไม่ใช่ทำแบบคิดเอง เออเอง หรือ คิดไปเอง !! ข้อมูลจาก AppsFlyer บอกว่า
- หลังจากใช้งาน Android app ไป 30 วัน มีผู้ใช้งานเพียง 3.3% ที่ยังคง active หรือใช้งาน
- หลังจากใช้งาน Android app ไป 30 วัน มีผู้ใช้งานเพียง 3.2% ที่ยังคง active หรือใช้งาน
เรื่องที่สาม การจัดการเรื่อง Crash Report ต่าง ๆ ของ app
เรารู้หรือไม่ว่า app มัน crash หรือมีปัญหาไหนบ้าง ? ผู้ใช้งานเขาไม่ report กลับมาหรอกนะ ถ้าไม่จำเป็นจริง ๆ ผู้ใช้งานเมื่อเจอ app ที่ crash หรือ พังประจำก็คงไม่อยากใช้งาน คำถามที่น่าสนใจคือ เราในฐานนะนักพัฒนา รู้หรือไม่ว่า app ของเรานั้นเกิด crash ตรงไหนบ้าง ? เพื่อใช้ในการปรับปรุงประสิทธิภาพการทำงาน รวมทั้งทำให้ผู้ใช้งานใช้งานอย่างราบรื่นไม่สะดุด ตัวเลขง่าย ๆ เช่น ทุก ๆ ครั้งที่ทำการ release app ออกไปนั้น มีจำนวนของการ crash เป็นอย่างไร ? ทุก ๆ ครั้งที่ app มันพังคามือผู้ใช้งาน เรารู้หรือไม่ ? หรือต้องไปถามผู้ใช้งานว่า ทำอย่างไร app ถึงพัง อย่างนั้นหรือ ? แต่สิ่งที่สำคัญอย่างมากคือ ต้องลดหรือให้เกิดจำนวนการ crash น้อยที่สุดเท่าที่จะทำได้ แต่บางคนก็หลอกตัวเองเช่นกัน เช่น เมื่อ app เกิดพังขึ้นมาแล้ว ก็เขียน code ให้กลับไปที่หน้าใดหน้าหนึ่งของ app เพื่อบังคับให้ผู้ใช้งานเริ่มใหม่อีกครั้ง แต่ก็ไม่ได้เก็บสาเหตุและขั้นตอนของปัญหาเหล่านั้นไว้ ดังนั้นควรเก็บนะครับ เพื่อนำมาปรับปรุงให้ดีขึ้นสุดท้ายคำถามง่าย ๆ คือ คุณรู้ตัวเลขต่าง ๆ เหล่านี้แล้วหรือยัง ?ขอให้สนุกกับการพัฒนาครับ Reference Websites https://dzone.com/articles/3-mobile-app-performance-issues-you-cant-ignore