Tags:
Node Thumbnail

Facebook เปิดตัว Facebook Lite เมื่อเดือนกรกฎาคม 2015 เวลาผ่านมายังไม่ครบปี ตอนนี้ Facebook Lite มีคนใช้เกิน 100 ล้านคนแล้ว (บริษัทบอกว่าเป็นแอพที่เติบโตเร็วที่สุด ใช้เวลาแค่ 9 เดือนทำยอด 100 ล้านคนได้)

Facebook Lite ออกแบบมาเพื่อคนที่ยังใช้เน็ต 2G หรือใช้มือถือรุ่นเก่า ส่วนใหญ่อยู่ในประเทศกำลังพัฒนา โดยประเทศที่ Facebook Lite ได้รับความนิยมสูงคือ บราซิล อินเดีย อินโดนีเซีย เม็กซิโก ฟิลิปปินส์

No Description

Facebook อธิบายเงื่อนไขของการพัฒนาแอพ Facebook Lite ว่าต้องผ่านเกณฑ์ 3 ข้อ ดังนี้

ไฟล์ APK มีขนาดไม่เกิน 1MB

เป้าหมายของการลดขนาดแอพให้เล็ก เพื่อให้ดาวน์โหลดแอพได้เร็วบนเครือข่าย 2G และไม่เปลืองปริมาณข้อมูลตอนอัพเดตแอพในภายหลัง

แนวคิดของตัวแอพ Facebook Lite เป็นลักษณะ thin client งานประมวลผลส่วนใหญ่จะอยู่ที่ "Lite Server" ของ Facebook เอง ที่ดึงข้อมูลมาจากเซิร์ฟเวอร์หลักของ Facebook อีกต่อหนึ่ง (ดูภาพประกอบ)

ตัวไฟล์ APK จะทำหน้าที่ติดต่อสื่อสารกับ Lite Server และเข้าถึงฮาร์ดแวร์ผ่าน OS เท่านั้น ไม่มีโค้ดการทำงานของตัวผลิตภัณฑ์ (product code) อยู่เลย รวมถึงไฟล์ภาพ (resource) ทั้งหลายก็ดึงจากเซิร์ฟเวอร์ทั้งหมด แล้วค่อยมาแคชในเครื่องทีหลัง

No Description

ใช้งานได้บนเครือข่ายที่ช้า ไม่เปลืองปริมาณข้อมูล

Facebook Lite แก้ปัญหาเรื่องเครือข่าย โดยไม่ใช้โพรโทคอล HTTPS ตามปกติ แต่สร้างโพรโทคอลใหม่ขึ้นมาวิ่งบน TLS (บน TCP อีกต่อหนึ่ง) แทน

ปัญหาของการต่อเน็ต 2G คือช่วงเวลาเริ่มเชื่อมต่อ (establishing a connection) จะช้ามาก ทางแก้จึงเป็นการเปิดการเชื่อมต่อเพียงช่องเดียว (single connection) เพื่อลด overhead ลงมา

Facebook Lite ยังบีบอัดข้อมูลด้วยอัลกอริทึมแบบ LZMA2 ซึ่งตอบโจทย์ทั้งเรื่องอัตราการบีบอัดข้อมูล และการไม่เปลืองพลังประมวลผลในการคลายการบีบอัด

ประเด็นเรื่องปริมาณข้อมูล ส่วนใหญ่เกิดจาก "ภาพ" เทคนิคของ Facebook Lite คือตัวแอพรู้ขนาดหน้าจออยู่แล้ว แอพจะแจ้งขนาดหน้าจอไปยัง Lite Server จากนั้น Lite Server จะดึงภาพจาก CDN มาปรับขนาดให้พอดีก่อนส่ง ตัวเซิร์ฟเวอร์ยังปรับความละเอียดและคุณภาพของภาพ JPEG ให้ด้วยเลย กรณีที่ภาพมีขนาดใหญ่ เซิร์ฟเวอร์ยังจะตัดแบ่งภาพเป็นส่วนๆ เพื่อส่งข้อมูลทีละส่วน และจัดการเรื่องแคชให้ด้วย

การส่งข้อมูลผ่าน Lite Server ยังส่งให้น้อยที่สุด เฉพาะแค่ diff เท่านั้น เช่น ถ้าเรา refresh หน้า News Feed แล้วมีโพสต์ใหม่ไม่กี่อัน ตัวเซิร์ฟเวอร์ก็จะส่งข้อมูลเฉพาะโพสต์ใหม่มาให้เราเท่านั้น

รองรับ Android รุ่นเก่า

Facebook ตั้งเป้าให้ Facebook Lite รันได้บน Android รุ่นเก่าที่ถอยไปถึงปี 2009 (เช่น Samsung Galaxy Y) ดังนั้นตัวแอพต้องเบาและประมวลผลให้น้อยที่สุด แอนิเมชันจะถูกตัดออกทั้งหมด และขนาดของแคชก็จะถูกจำกัดเพียงไม่กี่สิบ MB เพื่อให้พอดีกับขนาดสตอเรจของเครื่อง แอพจะใช้แรมให้น้อยและคืนหน่วยความจำถ้าย้ายไปทำงานเบื้องหลัง

ที่มา - Facebook Code

Get latest news from Blognone

Comments

By: pangwoy
Windows PhoneAndroidWindows
on 10 March 2016 - 09:50 #892061
pangwoy's picture

เอามาใช้คู่กับตัวปกติ เพื่อล็อกอิน 2 ไอดี แต่ตัว Lite ทำงานช้ากว่าตัวปกติซะอีก

By: osmiumwo1f
ContributorWindows PhoneWindows
on 10 March 2016 - 15:13 #892187 Reply to:892061
osmiumwo1f's picture

นึกว่าผมเป็นคนเดียวซะอีก

By: popwow on 10 March 2016 - 09:51 #892062

ช่วงหลังๆ รู้สึกได้ว่าช้าลง...

By: laner
Windows
on 10 March 2016 - 10:12 #892075 Reply to:892062
laner's picture

จำนวนผู้ใช้ 100 ล้านคน ผมคิดว่าตัวเซิฟเองคงจะทำงานหนักเพราะต้องรองรับปริมาณเครื่องลูกข่ายเป็นจำนวนมากในหลายประเทศ

By: langisser
In Love
on 10 March 2016 - 09:55 #892063

เคยใช้แต่รู้สึกช้า ใช้บนเวบดีกว่าอีก

แต่ไม่ไม่ได้เปรียบเทียบเรื่องการใช้ข้อมูลและพลังงานนะ

By: Nate River
UbuntuWindows
on 10 March 2016 - 09:58 #892066
Nate River's picture

ผมชอบนะ มันเร็วดี แต่ผมหา code generator ไม่เจอ ผมก็เลยจำใจกลับมาใช้ ตัวเต็มอีกครั้ง

By: jane
AndroidUbuntu
on 10 March 2016 - 10:05 #892070
jane's picture

เครื่องแรง เน็ตเร็ว latency น่าจะดีกว่าผ่าน Lite server อยู่แล้ว
โดยเฉพาะตอนที่ Lite server ทำงานช้าลง

By: Polwath
ContributoriPhoneWindows PhoneAndroid
on 10 March 2016 - 10:12 #892077
Polwath's picture

แอพนี้เสียอย่างเดียว แอพพลิกตามมือถือไม่ได้เหมือนแอพอื่นๆ ดูได้ทั้งแนวนอนแนวตั้ง


Get ready to work from now on.

By: J7_user
Android
on 10 March 2016 - 10:13 #892078

ใครใช้ facebook 2 ไอดี ลองใช้แอปนี้ดูน่ะ สะดวกดี
https://play.google.com/store/apps/details?id=com.bestq.facebookhd&hl=en

By: KuLiKo
ContributoriPhoneWindows PhoneAndroid
on 10 March 2016 - 13:12 #892154
KuLiKo's picture

ว่างๆ รบกวนอธิบายด้วยครับว่าทำไมแอพ Facebook ปกติถึงได้กินแรมเกือบ 100MB+ ตลอด -_- #เห็นใจคนแรมน้อยบ้าง

By: pongsate1
Android
on 10 March 2016 - 13:23 #892155

ทำอย่างไรเล่น facebook ใช้พื้นที่แค่ 0 mb

-> เล่นผ่าน browser ชะลาล่า

By: kadeep
AndroidUbuntuWindows
on 10 March 2016 - 16:57 #892263
kadeep's picture

โคตะระช้าแอนด์โคตะระอืด

By: Digitech
Windows
on 10 March 2016 - 19:48 #892318

เรื่องช้าก็ไม่ได้ช้าจนเกินไป​ แต่มีปัญหาเรื่องโหลดอ่านคอมเม้นไม่ได้​ หมุนติ้วๆไม่ไปไหนเลย แล้วก็แชร์โพสไปที่เพจไม่ได้