บทความนี้แปลจากอีกบทความนึงที่ผมเขียนเป็น ภาษาอังกฤษ อาจจะมีบางอย่างแปลมาไม่เหมือนเพราะไม่รู้จะแปลแบบไหน อย่าว่ากันนะครับ
Lite version คืออะไร แล้วทำไมต้อง Lite version

Back to basic
มือถือทุกวันนี้ เร็วขึ้นและถูกลง แต่ไม่ใช่ว่าทุกเครื่องจะมาพร้อม CPU แรงๆ GPU ดีๆ เรายังมีทั้งมือถือราคา 4,000 บาท ไปจนถึง 40,000 บาท นอกจากนั้นบนโลกนี้ยังมีการเชื่อมต่ออินเตอร์เน็ตที่เป็น 2G อยู่ บางคนอาจจะคิดว่าเหลือไม่เยอะแล้ว แต่จาก สถิติจากงาน GoogleChrome Dev Summit 2017 บอกไว้ว่า “60% ของการเชื่อมต่อบนโลกนี้ยังเป็น 2G อยู่” ครั้งแรกที่ได้ยินผมคิดเลยว่านี่หลอกกันแน่ๆ แต่เอาเข้าจริง มันจริงครับ จากเหตุผลที่บอกไปทั้งหมดเรายังมีบางกลุ่มของ ผู้ใช้ที่ไม่ได้ต้องการ Feature ทั้งหมด 100% ของเรา แต่เค้าอาจจะต้องการ 20%–30% ที่สามารถใช้งานได้อยากเต็มประสิธิภาพของมือถือเค้า ไม่ใช่แค่ผู้ใช้ที่ใช้มือถือราคาถูก แต่ว่ายังมีผู้ใช้บางกลุ่มที่ต้องการใช้ Application ของคุณในช่วงเวลาสั้นๆหรือต้องการใช้แค่บาง Feature เท่านั้น

Lite version ต้องถูกติดตั้งจาก Store มั้ย
ถ้าจากที่ผมพูดไป คำตอบก็คงเป็นได้ทั้ง ใช่ และ ไม่ ถ้า Application ของคุณต้องการใช้ความสามารถจากตัวโทรศัพท์มากๆ หรือ ต้องการโปรโมท Application จาก store คุณก็ควรจะเอามันใส่ลงไปใน Store แต่ถ้าไม่ ก็ทำเป็น Progressive web app ก็พอ หนึ่งปัญหาเลยที่คุณจะเจอ ถ้าคุณเอา Lite version ของคุณ ไปใส่ใน store คือ “ความงง” เพราะว่า ถ้าผู้ใช้เจอ Application ที่คล้ายๆกันสองอัน คำถามที่เค้าคงจะถามแน่นอนคือ “ฉันควรจะ Download อันไหน” เพราะฉะนั้น อย่าลืมอธิบาย ผู้ใช้ให้เข้าใจว่าแต่ละอันต่างกันยังไง

แล้วเราควรดึงผู้ใช้กลับมา ที่ Full version หรือไม่
ถ้าให้ผมตอบก็คงจะตอบว่า “เราควรลอง” เพราะ ในฐานะของคนสร้าง Product เราคงไม่อยากให้ผู้ใช้ของเราอยู่กับ Lite version เป็นเวลานาน เพราะประสบการ์ณการใช้งานของ Full version ก็ดีกว่าอยู่แล้ว แต่เพราะผู้ใช้ต้องการใช้ Lite version ในเวลานั้น ทำให้เค้าต้อง Download ซึ่งเราสามารถลองถามผู้ใช้ได้ ว่าอยากจะ Download Full version มั้ย ซึ่งวิธีก็มีทั้ง ทำแบนเนอร์ ยิง notification ไป หรือจะทำเป็นเหมือน ซ่อน Feature เอาไว้ ซึ่งสิ่งที่สำคัญที่สุดคือ อย่าทำให้ผู้ใช้รู้สึกรำคาญเป็นอันขาด

ทำไมต้อง Progressive web app
เทคโนโลยี
หนึ่งปีที่ผ่านมา เทคโนโลยีเว็บเปลี่ยนไปมาก วันนี้เราทำให้เว็บเร็วได้ไม่ว่าอินเตอร์เน็ตจะเร็วขนาดไหน เราทำให้เว็บเชื่อมต่อกับ device ได้ (เช่น Camera API, Share API, Bluetooth API) เราสามารถติดต่อกับ ผู้ใช้ได้ แม้ว่าเว็บจะผิดไปแล้ว ถึงแม้จะเป็นแบบนั้น การเอา Progressive web app มาแทนที่ Full version ก็ยังคงเป็นเรื่องของอนาคต เพราะตัว Full version ยังต้องการ Feature บางอย่างที่ต้องเข้าถึง Hardware ค่อนข้างเยอะ แต่ Lite version ไม่ต้องการของพวกนั้นเพราะฉะนั้น ด้วย Feature พื้นฐานของ Progressive Web App ค่อนข้าง เพียงพอต่อการที่ ใช้สำหรับ โพส Content อ่าน Content หรือ ซื้อ ของ online ง่ายๆ
ขนาดของ PWA
เรื่องขนาดเป็นเรื่องนึงเล่นที่ทำให้เราควรมี Lite version เพราะเราต้องการให้ผู้ใช้เข้าถึง Application เร็วที่สุดเท่าที่จะเร็วได้ เพราะฉะนั้นขนาดจึงเป็นเรื่องนึงที่เราต้องทำให้มันเล็กลง โดยทั่วไปแล้ว Lite version ควรจะมีขนาดเล็กกว่า Full version อยู่แล้วเพราะว่า Feature ที่น้อยกว่า แต่ด้วย Javascript และ HTML จะยิ่งทำให้ Lite version มีขนาดเล็กลงไปอีก Pinterest สร้าง Lite version ของตัวเองเป็น PWA และนี่คือขนาด ถ้าเทียบกับ Version อื่นๆ

ข้อจำกัดของ Progressive Web App ในวันนี้
Progressive web app จริงๆแล้วก็เป็นแค่เว็บ เพราะฉะนั้นแล้ว มันก็ยังมีจำกัดบางอย่างที่ไม่สามารถทำงานได้บน Lite version หลักๆเลยก็คือ Browser ที่ต่าง Browser กันก็มี feature ต่างกัน ทำให้เราต้องคอย hadle ปัญหาที่จะเกิด แต่ถ้าคุณไม่ได้ใช้ Feature แปลกๆ หรือ อะไรที่กำลังทดลองอยู่ ไม่ต้องกังวลเพราะ Browser ส่วนใหญ่จะมีส่วนที่ support เหมือนๆกันอยู่แล้ว ปัญหาที่สองคือการเข้าถึง Device ข้อจำกัดที่ยังทำไม่ได้เลยคือ การเข้าถึง SMS , ประวัติการโทร การใช้ Bluetooth หรือ GPS ใน Background หรือการเข้าถึงหน่วยความจำในเครื่อง แต่ถ้า Lite version ของคุณไม่ได้ใช้ของพวกนี้ Progressive web app ค่อนข้างเหมาะกับ Application ของคุณเลย
แล้ว iOS หละ?
ช่วงปีที่ผ่านมา ผมตอบประเด็นเรื่อง iOS บ่อยมากแต่ไม่เคยเบื่อเลย iOS เป็นปัญหาใหญ่มากๆ เพราะตอนนี้ Safari ยังไม่ Support Service worker และ Web manifest แต่มันไม่ได้หมายความว่า ถ้าเค้ามาเปิด เว็บของคุณที่เป็น PWA แล้วมันจะพังนะครับ เค้าแค่จะใช้งาน offline ไม่ได้ กับ add to home screen แบบสวยๆไม่ได้เท่านั้นเอง ยังไงก็แล้วแต่ ตอนนี้ Safari กำลังทดสอบ ServiceWorker บน Tech preview อยุ่ (ถึงแม้จะไม่ใส่ใน changelog ก็ตาม) รออีกแปบเดี๋ยวก็มาแล้ว บางคนบอกผมว่าไม่อยากทำ PWA เพราะ iOS ไม่ support แต่ทั้งๆที่เว็บไซต์ของเค้าเป็น React, Vuejs, Angular, หรือ Polymer อยู่แล้ว ซึ่งจริงๆแล้ว เค้าแค่เพิ่ม code ไปสองสามบรรทัด (sw-precache-webpack-plugin และ เพิ่ม web manifest.json) mobile web ของเค้าก็กลายเป็น PWA แล้ว ซึ่งจริงๆที่น่าเครียดควรจะเป็น เว็บที่สร้างด้วย PHP Pyhon หรือ พวก serverside technology มากว่าเพราะถ้าจะเปลี่ยนที แพงหูฉี่เลย

ใครทำไปแล้วบ้าง
หลังจาก Chrome Dev Summit 2017 บาง Application ก็ได้ทำ Lite version ใหม่ออกมาเป็น PWA และบาง Application ก็ปล่อยมาตั้งแต่ Google I/O และนี่คือตัวอย่างของ คนที่ทำ Lite version ด้วย Progressive web app
Twitter Lite ค่อนข้างประสบความสำเร็จมากๆซึ่งเปิดตัวไปตั้งแต่ Google I/O 2017 และ Feature ของตัว lite ก็ค่อนข้างที่จะเหมือนกับตัวเต็มมากๆ ลองเข้าไปดูได้ที่ twitter.com

Instagram Lite ได้เปิดตัวไปตอนงาน Chrome Dev Summit 2017 ซึ่งคุณสามารถ upload หรือ ดูรูปภาพได้ด้วย version นี้ แต่ด้วยปัญหาของเรื่อง performance ทำให้ Instagram lite ยังไม่สามารถจะใส่ filter ลงไปในรูปได้ ซึ่ง Instagram มี เพลนจะทำส่วนนี้ด้วย Web assembly ลองเข้าไปเล่นดูได้ที่ instagram.com

Pinterest ก็เหมือนกับ Instagram ที่ปล่อยมาตอนงาน Chrome dev summit ซึ่ง ที่น่าสนใจคือ version นี้แทบจะเหมือนเวอร์ชั่นปกติแทบทุกประการเลย ทั้งดูรูป หรือ คนหาต่างๆตัว Application อยู่ที่ pinterest.com เลยครับ

Tinder
Tinder ก็เป็นอีกคนที่เปิดตัวตอน Chrome Dev Summit 2017. ด้วย Feature ง่ายๆทำให้ Tinder แทบจะเหมือนใน Full version เลย แถมถ้าลองดูดีๆ Swipe ได้เนียนและรื่นมากๆ ไปลองเล่นได้ที่ tinder.com ครับ

หมายเหตุ: ถึงแฟนที่รัก เราแค่เปิดมันมาถ่าย screenshot เฉยๆนะ ไม่ได้เล่น อย่า ฆ่ากันนะ
Lyft
Lyft ทดลอง PWA version มาซักพักแล้วตั้งแต่ Chrome Dev Summit 2016 ตอนนี้เราสามารถใช้งาน version นี้ผ่าน ride.lyft.com ได้ โดยที่ lyft ให้ concept ไว้ว่า “get a ride in minutes” ผมลองใช้ version นี้ ตอนที่อยู่ US บอกเลยว่าดีมากๆ

Alliexpress
Aliexpress เป็นเจ้าแรกๆเลยที่ทำ PWA. เจ้านี้ลองทำทุก feature ถึงแม้ยังอยู่ในขั้นทดลอง ซึ่ง ส่วนตัวแล้วรู้สึกว่ายังมีหลาย feature ที่สู้ Full version ไม่ได้แต่ก็ซื้อของได้ตามปกติ aliexpress.com

สรุป
จะใช้ PWA เป็น full version ยังตอบได้ยากมากๆ แต่ถ้าต้องการ วิธีที่ทำให้ผู้ใช้สามารถเข้าถึง Application ของเราได้ง่าย หรือต้องการให้ผู้ใช้ที่เป็น 2G อยู่สามารถใช้ Application ของเราได้ การเอา Progressive web app มาทำเป็น Lite version ก็เป็นวิธี ที่น่าสนใจและน่าลองเหมือนกัน
Leave a Reply