ช่วงหลังๆมานี้ผมสังเกตเห็นว่าผู้ใช้หลายๆคนเริ่มสังเกตเห็นว่าเครื่องของตัวเองมีการอัพเดทสิ่งที่เรียกว่า Instant Apps กันบ้างแล้ว ซึ่งเป็นหนึ่งในฟีเจอร์ใหม่ของแอนดรอยด์ที่น่าพูดถึงไม่น้อย จึงขอรับหน้าที่มาอธิบายเกี่ยวกับฟีเจอร์ตัวนี้ให้ได้อ่านกันครับ
Instant Apps คืออะไร?
Instant Apps เป็นฟีเจอร์ใหม่ของแอนดรอยด์ที่ถูกเปิดตัวภายในงาน Google I/O 2017 ที่ผ่านมาไม่นานนี้ (แต่จริงๆหลุดมาตั้งแต่ปลายปี 2016 แล้ว) ซึ่งจะทำให้ผู้ใช้สามารถลองใช้งานแอพต่างๆได้โดยที่ไม่ต้องติดตั้งลงในเครื่องเลย
เอ้า! งงล่ะสิ เพราะปกติแล้วเวลาเราอยากจะใช้แอพซักตัวก็ต้องโหลดมาลงเครื่องก่อนป่ะ? ถึงจะใช้ได้ แต่ทว่าเจ้า Instant Apps นี่แหละ ที่จะทำให้คุณสามารถลองใช้งานแอพได้โดยที่ไม่ต้องเสียเวลาติดตั้งลงในเครื่องเลยซักนิด
ลองนึกภาพดูว่าคุณค้นหาวีดีโอตัวหนึ่งใน Google แล้วพบว่าวีดีโอตัวนี้อยู่บน Vimeo และพอกดเข้าเว็ปนั้นก็จะเปิดแอพของ Vimeo ขึ้นมาให้ทันที เฮ้ย แต่เครื่องของผมยังไม่ได้ลงแอพ Vimeo ไว้เลยนะ!
โดยความสามารถนี้จะช่วยให้ผู้ใช้สามารถลองใช้แอพได้ก่อนที่จะตัดสินใจติดตั้งลงในเครื่อง แต่ไม่ใช่ว่าทุกแอพเป็น Instant Apps เลยนะครับ เพราะขึ้นอยู่กับนักพัฒนาว่าจะทำแอพนั้นๆให้รองรับหรือไม่
Instant Apps ใช้งานยังไง?
ซึ่งการเข้าใช้งาน Instant Apps นั้นจะมีอยู่สองวิธีด้วยกัน วิธีแรกคือกดปุ่ม Try Now ที่อยู่ในหน้าดาวน์โหลดใน Google Play ซึ่งเป็นหนึ่งในวิธีการเช็คว่าแอพนั้นๆรองรับ Instant Apps หรือไม่
วิธีที่สองคือการกดเข้าหน้าเว็ปของแอพนั้นๆบน Google Chrome for Android ยกตัวอย่างเช่น เข้าหน้าดูวีดีโอในเว็ป www.vimeo.com ซักอัน ก็จะเด้ง Instant Apps ขึ้นมาทันที
สามารถลองทดสอบได้ที่นี่ครับ https://vimeo.com/148943792 (เปิดด้วย Google Chrome for Android นะ)
เมื่อแอพเปิดขึ้นมาแล้วก็สามารถลองใช้งานได้เลยครับ ส่วนจะทำอะไรได้บ้างก็ขึ้นอยู่กับว่านักพัฒนาแอพนั้นๆจะเขียนไว้ยังไงน่ะแหละ แต่ที่แน่ๆคือนักพัฒนาจะต้องสร้างแอพสำหรับ Instant Apps ให้มีขนาดไม่เกิน 4MB ครับ ไว้เดี๋ยวผมจะอธิบายเบื้องหลังการทำงานของมันในทีหลัง
และในระหว่างใช้งาน Instant Apps นักพัฒนาก็จะใส่ปุ่มเพื่อให้ผู้ใช้สามารถเลือกติดตั้งแอพลงเครื่องได้ครับ เผื่อว่าลองใช้งานแล้วอยากจะติดตั้งไว้ในเครื่องซะเลย
Instant Apps ต้องติดตั้งมั้ย?
ผู้ใช้ไม่จำเป็นต้องไปโหลดแอพอะไรมาติดตั้ง เพราะว่า Instant Apps นั้นถูกฝังไว้ใน Google Play นั่นเอง และด้วยความขี้โกงของ Google Play มันจึงสามารถอัพเดทฟีเจอร์ Instant Apps ได้ทันทีโดยที่ผู้ใช้อย่างเราไม่ต้องทำอะไร นอกจากสังเกตเห็นข้อความแจ้งเตือนว่ามีการติดตั้ง Instant Apps แล้ว
ถ้าอยากรู้ว่าเครื่องของคุณมี Instant Apps แล้วหรือยัง ให้ลองเข้าไปที่ Settings ของแอพ Google Play แล้วมองหาเมนูที่มีคำว่า Instant Apps ดูครับ ผมไม่รู้ว่าถ้าเครื่องที่เป็นภาษาไทยจะใช้คำว่าอะไร แต่เครื่องของผมที่ตั้งเป็นภาษาอังกฤษไว้จะขึ้นเมนูว่า “Use apps without installation”
ต้องเป็นแอนดรอยด์เวอร์ชันอะไรถึงจะใช้ Instant Apps ได้?
Instant Apps ไม่ได้เป็นฟีเจอร์ที่เปิดตัวมาพร้อมกับแอนดรอยด์เวอร์ชันใหม่ และตัวมันก็ทำงานอยู่บน Google Play ดังนั้นแอนดรอยด์เวอร์ชันเก่าๆก็รองรับเช่นกัน โดยจะรองรับตั้งแต่ Android 5.0 Lollipop ขึ้นไป เรียกได้ว่าเกือบ 80% ของแอนดรอยด์ทั่วโลกจะได้ใช้ Instant Apps ครับ
เบื้องหลังการทำงานของ Instant Apps
อย่างที่บอกไปก่อนหน้านี้ว่าหัวโจกในการทำงานของ Instant Apps นั้นคือ Google Play และแอพที่เป็น Instant Apps จริงๆแล้วก็เป็นแอพที่นักพัฒนาเตรียมไว้แล้ว (แยกโค้ดออกมาจากแอพตัวเต็ม) เพราะทาง Google กำหนดไว้ว่าเวลาจะสร้างแอพให้รองรับ Instant Apps คุณจะต้องสร้างแอพแยกออกมาเป็นอีกตัวหนึ่ง แต่ในระหว่างการพัฒนานั้นจะแนะนำให้ออกแบบโครงสร้างของแอพให้เป็นแบบ Modular ที่แยกฟีเจอร์แต่ละส่วนออกจากกัน เพื่อให้สะดวกต่อการหยิบมาใส่ไว้ใน Instant Apps
และแอพที่เป็น Instant Apps จะต้องมีขนาดไม่เกิน 4MB ครับ นั่นหมายความว่านักพัฒนาจะต้องเลือกเฉพาะบางฟีเจอร์มาใส่ไว้ใน Instant Apps เท่านั้น และจะถูกจำกัดการทำงานบางอย่างด้วย ซึ่งแอพขนาดไม่เกิน 4MB นี้จะถูกโหลดเก็บไว้ใน Google Play (มันจัดการของมันเอง) ตอนที่เปิดใช้งานครั้งแรก
เมื่อเปิด Instant Apps ในครั้งต่อไป มันก็จะดึงข้อมูลจากที่เคยโหลดไว้มาเปิดให้ทันที ไม่ต้องเสียเวลาไปโหลดใหม่เพื่อให้สามารถตอบสนองผู้ใช้ได้อย่างรวดเร็ว
และข้อมูลที่ Instant Apps ที่ดาวน์โหลดมาเก็บไว้ใน Google Play นั้นไม่ได้เป็นไฟล์ APK นะครับ เพราะ Instant Apps เป็นรูปแบบข้อมูลที่ Google กำหนดไว้ต่างจากไฟล์ APK ดังนั้นจะไปหาแอพที่เป็น Instant Apps มาติดตั้งเองไม่ได้นะครับ มันไม่มีและ Google Play ก็ไม่ให้เข้าไปยุ่งข้อมูลส่วนนี้อยู่แล้ว (ไปหาแบบ Lite Version มาใช้แทนเอาละกันเนอะ)
และเนื่องจาก Instant Apps มันมีขนาดไม่เกิน 4MB (ขึ้นอยู่กับว่านักพัฒนาเขียนได้ดีแค่ไหน และฟีเจอร์มากน้อยแค่ไหน) ที่จะถูกเก็บและจัดการอยู่ในแอพ Google Play อีกทีหนึ่ง นั่นหมายความว่าข้อมูลมันจะเก็บไว้ในเครื่อง และถ้าเราเปิด Instant Apps หลายๆตัว มันก็จะกินพื้นที่เครื่องเพิ่มขึ้นเรื่อยๆ (ขึ้นอยู่กับว่าแอพนั้นๆมีขนาดเท่าไร)
ดังนั้น Google Play จึงใส่เมนูเพื่อให้ผู้ใช้สามารถเข้าไปจัดการกับ Instant Apps ได้ว่าจะเคลียร์ข้อมูลทิ้งหรือไม่ เช็คว่าแอพนั้นๆเรียกใช้ Permission อะไรบ้าง รวมไปถึงติดตั้งแอพตัวเต็มหรือเปิดหน้าดาวน์โหลดใน Google Play โดยเข้าไปที่ Settings > Use apps without installation ในแอพ Google Play
และนอกจากนี้ Instant Apps ถูกบังคับว่าจะต้องเชื่อมต่อกับเซิฟเวอร์ผ่าน HTTPS เท่านั้น ไม่ให้ใช้ HTTP
Permission ที่สามารถขอใช้งานได้ใน Instant Apps
ถึงแม้ว่าจะเป็น Instant Apps แต่ก็เชื่อว่าน่าจะมีผู้ใช้บางคนที่สงสัยหรือระแวงเรื่อง Permission ว่ามันจะต่างอะไรจากแอพแบบปกติหรือไม่ ก็ต้องบอกเลยว่านอกจาก Instant Apps จะถูกจำกัดว่าทำอะไรได้บ้างแล้ว ยังถูกจำกัด Permission ที่สามารถเรียกใช้งานได้เช่นกัน ซึ่งจะเหลือแค่ดังนี้
- การระบุตำแหน่งด้วย GPS, Cellular หรือ WiFi
- กล้อง
- อ่านเบอร์มือถือ (เฉพาะ Android 8.0 Oreo ขึ้นไป)
- บันทึกเสียงผ่านไมค์
- มอเตอร์สั่น
- อินเตอร์เน็ต
ซึ่งแอพตัวไหนใช้ Permission อะไรบ้าง เราก็สามารถเช็คได้จากเมนู Instant Apps ในหน้า Settings ของ Google Play ได้ครับ
ถึงแม้ว่าจะมี Permission หลายๆตัวที่ถูกตัดออกไป แต่ Permission ที่เคยเป็นประเด็นมาก่อนก็ยังคงมีให้ใช้งานอยู่ แต่ก็ต้องบอกว่ามันขึ้นอยู่กับนักพัฒนาอยู่ดีครับ ว่าเค้าจะเขียนอะไรใส่ไว้ในแอพนั้นๆครับ ผู้ใช้ทั่วๆไปไม่สามารถตัดสินจากการดู Permission ที่เรียกใช้งานได้เลย
แอพที่รองรับ Instant Apps ณ ปัจจุบัน
หลังจากที่เปิดตัวมาซักพักหนึ่งก็เริ่มมีหลายๆแอพได้ปรับตัวมารองรับ Instant Apps เพิ่มด้วยแล้ว ซึ่งสังเกตได้จากปุ่ม Try Me ที่อยู่ในหน้าดาวน์โหลดแอพบน Google Play ครับ แต่ทว่ายังเป็นแอพที่ไม่ค่อยนิยมในบ้านเราซักเท่าไรนัก และสำหรับแอพจากนักพัฒนาในประเทศไทยก็อาจจะต้องรอดูกันต่อไปว่าจะมีแอพไหนบ้างที่รองรับ Instant Apps ครับ
เอ… ไม่มีแอพพวกเกมหรอ?
ถ้าต้องทำแอพให้มีขนาดต่ำกว่า 4MB ถ้าจะทำแอพเกมซักตัวให้เป็น Instant Apps แค่ข้อมูลพื้นฐานของ Game Engine มันก็เกิน 4MB แล้วครับ… ดังนั้นไม่น่าจะมีแอพเกมที่เป็น Instant Apps แน่นอน เว้นแต่ว่าเป็นแอพเกมง่ายๆที่ไม่ได้ใช้ Game Engine อะไรเลย
สรุป
สำหรับ Instant Apps ก็เป็นอีกหนึ่งความสามารถที่น่าสนใจสำหรับผู้ใช้แอนดรอยด์ไม่น้อยครับ เพราะว่ามันจะทำให้ผู้ใช้สามารถทดลองใช้งานแอพได้โดยไม่ต้องนั่งเสียเวลาโหลดแอพที่มีขนาดใหญ่ๆแต่พอลองใช้แล้วไม่ถูกใจ (ต้องเสียเวลาลบทิ้งอีก) รวมไปถึงการเข้าเว็ปต่างๆแล้วเปิด Instant Apps ขึ้นมา (ถ้ารองรับ) เพราะ Instant Apps นั้นทำงานได้เทียบเคียงกับแอพปกติเลย ดังนั้นประสิทธิภาพหรือความลื่นไหลในการใช้งานจึงดีกว่าการเปิดใช้งานจากหน้าเว็ปโดยตรงอยู่แล้วครับ
ในมุมกลับกัน Instant Apps ก็เป็นหนึ่งทางเลือกสำหรับนักพัฒนาที่ต้องการเข้าถึงผู้ใช้ให้มากขึ้น เพิ่มโอกาสที่ผู้ใช้จะติดตั้งหลังจากได้ลองใช้งาน จึงเป็นอะไรที่รู้สึกว่า Win-Win อยู่พอสมควรครับ (ถึงแม้ว่านักพัฒนาจะต้องลำบากไปแก้ไขให้แอพรองรับ Instant Apps)
มันก้อจะดีนะ แต่แอพที่รองรับรู้จักแค่แอพเดียวเองอะ 555++ ที่เหลือ….
ปล.ตอนท้ายนี่หมายถึงอะไรครับ ผมไม่เก็ทอ่ะ
งงเช่นเดียวกัน
ปล ไหนนะครับ?
ถ้าย่อหน้าสุดท้ายก็คือ คนก็จะมีให้ลองใช้ก่อน จะโหลดไม่โหลดก็ตัดสินใจได้ง่ายขึ้น คนทำแอปมีงานเพิ่มนิดนึงคือต้องทำแอปตรงนี้ แต่มันก็ดีเพราะบางคนเห็นไฟล์ใหญ่ก็ไม่ได้อยากโหลดมาใช้