Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สิ่งที่นักพัฒนา Mobile App ต้องไม่พลาด

$
0
0

ในการพัฒนา 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 เท่าไร
นั่นคือการเข้าไปดูในทุก ๆ hop ของการทำงานนั่นเอง วันนี้คุณมีระบบแบบนี้หรือยัง ? มีตัวอย่างสวย ๆ จาก AppDynamic มาให้ดู

เรื่องที่สองคือ 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 หรือใช้งาน
คำถามที่น่าสนใจคือ เราในฐานะนักพัฒนารู้ค่าต่าง ๆ ของ app ที่พัฒนาหรือไม่ ? และจะทำการปรับปรุงค่าต่าง ๆ เหล่านี้อย่างไร ?

เรื่องที่สาม การจัดการเรื่อง 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

Viewing all articles
Browse latest Browse all 1997

Trending Articles