http://mssit.io/wp-content/uploads/2016/05/Mobile-App-Development-Trends.jpg

แนวทางการพัฒนาแอปที่ดีนั้นควรเป็นอย่างไร?

Kittisak Phetrungnapha
iTopStory

--

โลกปัจจุบันนี้นั้นเป็นโลกของ mobile โดยสมบูรณ์แบบไปแล้ว เกือบทุกๆ คน มี Smartphone ดีๆ แรงๆ ใช้กัน สังคมกลายเป็นสังคมก้มหน้าไปอย่างหลีกเลี่ยงไม่ได้ เนื่องจาก content เจ๋งๆ ได้เปลี่ยนจาก physical เป็น digital กันแทบทั้งสิ้น ทั้ง web ทั้ง app บน mobile เกลื่อนกลาดเต็มตลาดไปหมด การแข่งขันในด้านนี้จึงค่อนข้างดุเดือดยิ่งกว่าน้ำเดือดในกระทะโคเรียคิงเสียอีก

ซึ่งนอกจากการแข่งขันจะดุเดือดแล้ว จากงานวิจัยหลายๆ ชิ้น ระบุว่ากว่า 90% ของ user ที่โหลดแอปนั้น ใช้งานแอปเพียงแค่ครั้งเดียวแล้วก็ลบทิ้งเลย แล้วก็กว่า 77% นั้นไม่เข้ามาใช้งานอีกเลยหลังจากลองใช้งานครั้งแรกไปแล้ว ไหนจะสถิติที่บอกว่าปัจจุบันคนโหลดแอปน้อยลง มีแอปประจำตัวที่ใช้อยู่เพียงแค่ไม่กี่แอปเท่านั้น (อย่างผมมีแค่ประมาณ 7–8 แอปเท่านั้น) ซึ่งเอาตามตรงนะ ปัจจุบันนี้เนี่ยนักพัฒนาที่อยากจะทำแอปออกมาให้บูมสักตัวในตลาดเนี่ย แทบจะเป็นไปไม่ได้เลย ยิ่งเรื่องการหารายได้แทบไม่ต้องพูดถึง ยกเว้นแต่คุณจะทำให้องค์กรระดับ enterprise เท่านั้นเอง

แต่ก็ไม่ใช่ว่าจะเป็นไปไม่ได้ซะทีเดียว เพียงแต่ต้องอาศัยการเอาใจใส่ในรายละเอียด บวกกับโชคชะตาสักนิด ซึ่งถ้าคุณสามารถทำแอปออกมาจน user ยอมโหลดมาได้แล้ว มันก็คงจะเป็นการน่าเสียดายเป็นอย่างยิ่ง ถ้าไม่สามารถรักษาฐาน user เอาไว้ให้ได้มากๆ หรือที่เรียกว่า retention rate นั่นแหละ วันนี้ก็เลยจะพามาดูปัจจัยคร่าวๆ ที่จะช่วยให้ retention rate ของแอปเราดีขึ้นมาหน่อยครับ

User Experience

แอปที่ดีนั้นจะต้องใช้งานง่าย ให้ในสิ่งที่ user ต้องการจริงๆ คือ ถึงแม้จะไม่มี tutorial อะไรให้ แต่เมื่อ user ได้เห็นครั้งแรก ก็ควรที่จะต้องเข้าใจได้ภายในเวลาไม่กี่วินาทีทันที ว่าเขาสามารถที่จะทำอะไรได้กับแอปเราบ้าง ซึ่งในทางตรงกันข้าม ถ้าเข้าแอปมาแล้วงงๆ ก็จะโดนลบทิ้งทันทีแบบงงๆ เช่นกันนาจา

Design

แอปที่ดีนั้นควรจะมีหน้าตาที่เรียบง่าย น่าดึงดูดให้ใช้งาน ไม่ซับซ้อน ไม่รก ดีกว่าแอปอะไรก็ไม่รู้ที่มีวัตถุต่างๆ ตัวอักษร ฟ้อน สีตัวอักษรฉูดฉาด ลอยสะเปะสะปะมั่วซั่วไปหมดบนหน้าจอของ user

Functional app/QA

แอปที่ดีนั้นจะต้องมี feature ไม่เยอะจนเกินไป และแต่ละ feature ต้องสำคัญต่อ user รวมถึงสามารถทำงานได้อย่างสมบูรณ์แบบด้วย ซึ่งมันจะดีกว่าแอปที่มี feature โน่นนี่นั่นเต็มไปหมด แต่ที่ user ใช้จริงๆ มีแค่ไม่กี่อัน แถมแต่ละอย่างดันไม่ค่อยสมบูรณ์อีก เพราะมัวแต่เน้น quanlity ไม่โฟกัส quality

และที่สำคัญอย่าให้แอป crash โดยไม่จำเป็นอย่างเด็ดขาด ตอนเขียนแอปก็จัดการกับ error ให้เหมาะสมกับประเภทของ error ที่เกิดขึ้นด้วย ไม่ใช่แจ้งแต่

An unknown error occurred.

นักพัฒนาต้องเขียน test ให้ครอบคลุมกับ code ที่สร้างขึ้นด้วย รวมถึงให้ QA ทำเทสให้มั่นใจทุกครั้งว่าแอปของเราไม่มีบัค (หรือมีแต่น้อยที่สุด) ก่อนที่จะปล่อย feature ใหม่ทุกครั้ง จำไว้ว่า ถ้าสมมุติ user โหลดแอปเรามาครั้งแรกแล้ว แอปเด้งเลย ไม่ต้องสงสัย โดนลบทิ้งทันทีแน่นวล

Mobile Data usage

แอปที่ดีนั้นจะต้องใช้ data usage เมื่อจำเป็น และคุ้มค่าที่สุดสำหรับ user เท่านั้น ถึงแม้ว่าปัจจุบัน internet จะมีราคาไม่แพงมากก็จริง แต่มันก็คือเงินที่ user ต้องจ่ายเพิ่มเพื่อใช้งานแอปของเรา อะไรที่ทำแล้วสามารถช่วยลดการโหลด media หนักๆ ได้ก็ควรทำ เพราะถ้าเมื่อไหร่ที่ user ใช้งานแอปเราแล้วเขารู้สึกว่าเปลือง internet ขึ้นมาละก็ แอปปลิวหายจาก device ของเขาแน่นอน

Battery Usage

แอปที่ดีนั้นต้องไม่กินแบตมากจนเกินไป feature แต่ละอันที่จะปล่อยออกมาควรมีการพิจารณาถึงเรื่องพวกนี้อย่างถี่ถ้วนด้วย เช่น feature ที่เกี่ยวกับ location เป็นต้น แล้วก็ระวังเรื่องการทำงานระดับ background ให้มากๆ อันไหนไม่จำเป็น kill ทิ้งไปก็ดี แบตหมดเร็วนั่นหมายถึงระยะเวลาที่ user ใช้งานแอปเราก็น้อยลงตามไปด้วยเช่นกัน

Don’t block your user

แอปที่ดีนั้นควรจะไม่ block user ให้รอการทำงานต่างๆ ภายในแอป พวก animation loading splash page ก็เอาให้เหมาะสม อาจจะเว่อวังได้บ้าง แต่อย่าให้ user รอนานจนเกินไปกว่าที่เขาจะได้เข้าใช้งานแอป การโหลด data ต่างๆ ก็ต้องทำเป็น asynchronous ให้หมด ถ้าเป็นไปได้การโชว์ progress bar loading ไม่ควรบังหน้าจอการใช้งานของ user เขาควรจะใช้งานต่อไปได้เรื่อยๆ ถึงแม้จะกำลัง load ข้อมูลอยู่ก็ตาม รวมถึงถ้าแอปมี ads ก็ต้องหาทางแสดงผลให้เหมาะสม ห้ามทำให้ user รู้สึกรำคาญมากจนเกินไปอย่างเด็ดขาด

Security

แอปที่ดีนั้นไม่ควรที่จะเก็บข้อมูลที่ sensitive ของ user ไว้ในตัวแอป หรือถ้าจำเป็นต้องเก็บไว้จริงๆ ต้องเข้ารหัสไว้ด้วย อย่าเก็บ plain text อย่างเด็ดขาด ส่วนการติดต่อกับ server นอกจากจะต้องใช้ HTTPS แล้ว ก็ควรจะมีการใช้ public key และ private key ให้ถูกต้อง และควรจะมีการทำ SSL Pinning และ String Obfuscation ให้กับแอปของเราด้วย ถ้าเป็น Android ก็ต้องทำ ProGuard ให้เรียบร้อย

User feedback option

แอปที่ดีนั้นควรจะมีช่องทางสำหรับรับ feedback, new feature, bug report ไว้ภายในแอปด้วย เพราะคนที่ใช้งานแอปของเราจริงๆ คือ user ไม่ใช่ dev หรือ business เพราะฉะนั้นแล้วการรับฟังเสียงจากผู้ที่ใช้งานจริง น่าจะเป็นสิ่งที่ดีที่สุดนะ

App Size

แอปที่ดีนั้นควรจะมีขนาดเล็กที่สุดเท่าที่จะทำได้ จะช่วยดึงดูดให้ user โหลดและอัพเดทแอปของเราบ่อยขึ้น รวมถึงลด cost internet ของ user ด้วย พวกรูปต่างๆ ที่พอจะโหลดจาก server ได้ก็โหลด แล้วก็ cache เก็บไว้ให้เรียบร้อย ถ้าเป็น iOS ก็ต้องรู้จัก App Thinning ถ้าเป็น Android ก็ต้องทำ minifyEnabled, shrinkResources รวมถึงใช้ APK Analyzer ด้วย

Responsiveness

แอปที่ดีนั้นต้องสามารถแสดงผลได้อย่างถูกต้อง สวยงาม สมบูรณ์ รวมถึง feature ทุกอันก็ต้องใช้ได้อย่างปกติในทุกๆ device และ OS version

Caching

แอปที่ดีนั้นนอกจากจะต้องทำ Caching กับข้อมูลต่างๆ แล้ว ยังต้องระวังถึงเรื่องขนาดของข้อมูลที่จะทำให้แอปของเรามีขนาดใหญ่ขึ้นเรื่อยๆ caching อันไหนไม่ได้ใช้แล้ว ก็ไม่จำเป็นต้องเก็บไว้ ควรมี algorithm บางอย่างสำหรับจัดการเรื่องพวกนี้ด้วย นอกจากนี้ user ส่วนใหญ่ใน Android อาจจะไม่รู้วิธี clear cache จาก settings หรือถ้าเป็น iOS ก็ไม่มีให้ clear เลย เพราะฉะนั้นแล้วในแอปหน้า settings ควรจะมีเมนูที่ให้ user เคลียร์ข้อมูลออกเมื่อไหร่ก็ได้ที่เขาต้องการ เพราะไม่เช่นนั้นแล้ว เมื่อเมมของเขาใกล้เต็ม เขาก็จะแก้ด้วยการลบแอปของเราทิ้งนั่นเอง

Don’t need to show annoyed things every time

แอปที่ดีนั้นไม่จำเป็นต้องโชว์หน้า splash page หรือ ads ทุกครั้งที่ user เข้ามาใช้งานก็ได้ เพราะสิ่งที่เขาต้องการจริงๆ นั้นเป็น content ที่อยู่ภายในแอปเราต่างหาก นอกเหนือจากนั้นก็ควรมี algorithm จัดการให้เหมาะสม เช่น อาจจะแสดง splash page วันละครั้งก็พอ เป็นต้น

ก็ประมาณนี้แหละครับ หวังว่าจะเป็นประโยชน์กับผู้อ่านทุกท่านนะครับ สิ่งสำคัญที่ห้ามลืมเลยก็คือ ให้ลองนึกว่าเราเป็น user ที่ใช้งานแอปทุกวัน ถ้าอันไหนที่เรารู้สึกว่ามันขัดกับความรู้สึกของเรา ก็จัดการให้เรียบร้อยดีกว่าครับ สำหรับแหล่งอ้างอิงข้อมูลก็ตามนี้เลยครับ

สำหรับวันนี้ก็ลากันไปเท่านี้ก่อน แล้วพบกันใหม่ บทความหน้า สวัสดีครับ :)

ติดตามเรื่องราวต่างๆ ทั้งเทคโนโลยี มุมมองชีวิต การเรียนรู้ การใช้ชีวิต ได้ที่ https://www.facebook.com/itopstory/

--

--

Kittisak Phetrungnapha
iTopStory

I am a software engineer who fall in love to code, read, and write. :) itopstory.com