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

การเปิดตัวของ Project Treble

ย้อนกลับไปในปี 2017 ที่เป็นช่วงเวลาในการเปิดตัวของ Android 8.0 Oreo ในตอนนั้น นอกเหนือจากฟีเจอร์ต่าง ๆ ที่เพิ่มเข้ามาใหม่ ก็ได้มีการพูดถึง Project Treble ด้วยเช่นกัน โดยมีหัวใจสำคัญคือการทำให้อุปกรณ์แอนดรอยด์ของแบรนด์ต่าง ๆ ได้รับอัปเดตไวขึ้นและอัปเดตได้หลายเวอร์ชัน ซึ่งแน่นอนว่าไม่รวม Google Pixel และ Nexus ที่ได้สามารถอัปเดตได้ก่อนใครอยู่แล้ว

ปัญหาของการอัปเดตเวอร์ชันของแอนดรอยด์ในอดีต

ในอดีตที่ผ่านมาเวลามีการปล่อยแอนดรอยด์เวอร์ขันใหม่ในแต่ละปี กว่าแต่ละแบรนด์จะทยอยปล่อยอัปเดตก็ใช้เวลามากกว่า 3 เดือนขึ้นไป และจะเน้นไปที่รุ่นที่เป็น Flagship เป็นหลักแล้วตามด้วย Mid-range ในบางรุ่น  เพราะการทำเฟิร์มแวร์สำหรับแอนดรอยด์แต่ละเวอร์ชันนั้นไม่ใช่เรื่องง่ายและต้องใช้เวลา ทำให้บางส่วนก็จะถูกลอยแพไปเพื่อลดภาระของทีมวิศวกรของแต่ละแบรนด์แทนที่จะเสียเวลานั่งทำอัปเดตให้ครบทุกรุ่นที่มีอยู่ จึงทำให้ Adoption Rate ของแอนดรอยด์เวอร์ชันใหม่ ๆ ในแต่ละปีนั้นต่ำ

เพื่อให้เห็นภาพว่าทำไมการทำเฟิร์มแวร์สำหรับแอนดรอยด์แต่ละเวอร์ชันในเมื่อก่อนนั้นถึงใช้เวลานานนักหนา ดังนั้นเราจะมาดูขั้นตอนทั้งหมดที่เกิดขึ้นเมื่อมีการเปิดตัวแอนดรอยด์เวอร์ชันใหม่กัน

  1. ทีมแอนดรอยด์ปล่อยโค้ดของแอนดรอยด์เวอร์ชันมาออกมาในรูปของ GSI (Generic System Images)
  2. ผู้ผลิตชิป (Silicon Manufacturers) แต่ละเจ้าจะนำ GSI ไปปรับแต่งและแก้ไขให้รองรับกับฮาร์ดแวร์ของตัวเองเพื่อสร้างออกมาเป็น BSP (Board Support Package)
  3. ผู้ผลิตอุปกรณ์แอนดรอยด์​ (OEM หรือ Device Manufacturers) แต่ละแบรนด์จะนำ BSP ไปปรับแต่งและแก้ไขต่อเพื่อให้รองรับกับอุปกรณ์แอนดรอยด์ของตนเอง (ที่จะได้รับอัปเดต) โดยจะได้ออกมาเป็น Phone SKU เพื่อส่งต่อให้กับผู้ให้บริการเครือข่าย (Carriers) อีกที
  4. ผู้ให้บริการเครือข่ายก็จะนำ Phone SKU ที่ได้ไปทดสอบกับเครือข่ายของตนเอง
  5. ผู้ผลิตอุปกรณ์แอนดรอยด์และผู้ให้บริการเครือข่ายเริ่มทยอยปล่อยอัปเดตเวอร์ชันใหม่ให้กับผู้ใช้

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

ดังนั้นขั้นตอนการอัปเดตแอนดรอยด์เวอร์ชันใหม่นั้นจึงไม่ได้มีแค่เรื่องระยะเวลาในการพัฒนาของแต่ละแบรนด์เท่านั้น แต่จะรวมไปถึงระยะเวลาจาก Partner ที่เกี่ยวข้องด้วย โดยที่ขั้นตอนทั้งหมดนี้ก็จะต้องทำใหม่ทั้งหมดทุกครั้งเมื่อมีแอนดรอยด์เวอร์ชันใหม่ปล่อยออกมาในอนาคต

แล้ว Project Treble ช่วยแก้ปัญหานี้ได้อย่างไร?

แน่นอนว่าทีมแอนดรอยด์ก็ไม่แฮปปี้ที่แอนดรอยด์ในแต่ละเวอร์ชันที่ผ่านมามี Adoption Rate ที่ต่ำจนถูกมองว่าเป็นข้อด้อยของ Android OS เมื่อเทียบกับ OS อื่นที่เป็นคู่แข่ง นั่นจึงทำให้ทีมแอนดรอยด์เริ่ม Project Treble ขึ้นมา โดยร่วมมือกับผู้ผลิตชิปอย่าง Qualcomm, MediaTek และ Samsung (อ้างอิงจากในปี 2018) เพื่อสร้าง BSP สำหรับแอนดรอยด์ในแต่ละเวอร์ชันขึ้นมาให้เร็วขึ้น และลดงานในฝั่งผู้ผลิตชิปให้น้อยลง

โดยสร้างสิ่งที่เรียกว่า Vendor Interface ขึ้นมาเพื่อแยก Android OS Framework (ส่วนที่เป็นการทำงานของระบบแอนดรอยด์) ออกจาก Vendor Implementation (ส่วนที่เป็นการทำงานในระดับฮาร์ดแวร์) ด้วยการร่วมมือกับผู้ผลิตชิปโดยตรงนั่นเอง

เพื่อให้เข้าใจภาพรวมของ Android OS Framework และ Vendor Implementation ในระบบปฏิบัติการณ์แอนดรอยด์มากขึ้น มาดูภาพดังต่อไปนี้

เมื่อดูที่โครงสร้างของ Android OS ทั้งหมด ก็จะเห็นว่ามีการแบ่งการทำงานออกเป็นหลายระดับ โดยส่วนที่เป็น Vendor Implementation จะเป็นส่วนที่อยู่ในระดับ Linux Kernel (กรอบสีส้มเข้ม) ซึ่งมีหน้าที่ควบคุมการทำงานของฮาร์แวร์ ในขณะที่ Android OS Framework จะอยู่เหนือ Hardware Abstraction Layer (กรอบสีฟ้า) ขึ้นไปทั้งหมด โดยมี Hardware Abstraction Layer หรือที่เรียกกันสั้น ๆ ว่า HAL เป็นตัวกลางที่จะช่วยให้ส่วนที่เป็น Vendor Implementation และ Android OS Framework ทำงานร่วมกันได้โดยไม่ส่งผลกระทบระหว่างกันโดยตรง

ซึ่งเดิมทีนั้น Android OS Framework, Linux Kernel และ HAL นั้นจะอยู่รวมกันเสมอ ทำให้เวลาที่มีการอัปเดตส่วนไหนก็ตาม ส่วนอื่นก็จะต้องอัปเดตตามไปด้วยทั้งหมดทุกครั้ง เช่น เวลามีแอนดรอยด์เวอร์ชันใหม่ ก็จะต้องอัปเดตให้กับ Vendor Implementation ด้วย จึงเป็นสาเหตุหลักที่ทำให้ขั้นตอนในการอัปเดตแอนดรอยด์เวอร์ชันใหม่ ๆ ในแต่ละครั้งต้องใช้เวลานานนั่นเอง

และ Vendor Interface ที่ทีมแอนดรอยด์ได้สร้างขึ้นมาใน Project Treble เป็นการแยกการทำงานระหว่าง Android OS Framework กับ Vendor Implementation ให้เป็นอิสระจากกันนั่นเอง

เมื่อแยกการทำงานของ Android OS Framework กับ Vendor Implementation ออกจากกันได้อย่างสิ้นเชิงแล้ว จึงทำให้การอัปเดตของทั้ง 2 ส่วนนั้นแยกเป็นอิสระจากกันได้เลย นั่นหมายความว่าเมื่อมีแอนดรอยด์เวอร์ชันใหม่ ก็ไม่จำเป็นต้องอัปเดต Vendor Implementation โดยไม่จำเป็น และในขณะเดียวกันก็สามารถอัปเดต Vendor Implementation ได้โดยไม่ต้องสนใจ Android OS Framework เช่นกัน

สิ่งที่ผู้ผลิตชิปต้องทำสำหรับ Vendor Interface ใน Project Treble ก็คือจะต้องอัปเดตซอฟต์แวร์ในส่วนของ Vendor Implementation ให้รองรับกับ HAL รูปแบบใหม่บน Android 8.0 Oreo นั่นเอง และใช้เครื่องมือที่เรียกว่า Vendor Test Suite (VTS) ที่ทีมแอนดรอยด์สร้างขึ้นมาสำหรับทดสอบกับ Vendor Implementation เพื่อให้มั่นใจว่าจะรองรับกับแอนดรอยด์เวอร์ชันใหม่ ๆ ในอนาคตได้

นอกจากนี้ Project Treble จะทำให้การปล่อย Generic System Image (GSI) ของแอนดรอยด์ในแต่ละเวอร์ชันที่สร้างขึ้นมาจาก AOSP โดยการันตีว่าจะรองรับกับ Vendor Implementation อย่างน้อย 3 เวอร์ชันหรือภายในระยะเวลา 4 ปีของอุปกรณ์นั้น ๆ อีกด้วย

ผลที่เกิดขึ้นจาก Project Treble

นับจากตอนที่ Project Treble เปิดตัวใน Android 8.0 Oreo ในปีถัดมาที่มีการเปิดตัว Android 9.0 Pie ก็ได้มีอุปกรณ์แอนดรอยด์จากแบรนด์ต่าง ๆ ที่รองรับ Android P Beta นอกเหนือจาก Google Pixel / Pixel 2 ด้วย ไม่ว่าจะเป็น Sony, Xiaomi, Nokia, Oppo, Vivo, OnePlus และ Essential และในปี 2020 ที่มีการเปิดตัว Android 11 ในตอนนั้นก็ได้มีผู้ใช้ Android มากถึง 667 ล้านคน โดยที่ 82% ของผู้ใช้เหล่านั้นได้ใช้ Android 10 ที่มาจากการอัปเดตผ่าน OTA

ในปัจจุบันทีมแอนดรอยด์ของ Google ก็ได้ทำงานร่วมกับ Qualcomm (อ้างอิงจากปี 2020) เพื่อกำหนดรูปแบบของ Vendor Implementation ใหม่ เพื่อช่วยลดภาระในการพัฒนาจากผู้ผลิตชิปให้น้อยลง จึงทำให้ชิปของ Qualcomm รุ่นใหม่ ๆ สามารถรองรับการอัปเดตแอนดรอยด์เวอร์ชันใหม่ได้นานถึง 4 ปี และรองรับการอัปเดตด้านความปลอดภัย (Security Updates) ได้นานถึง 4 ปีเช่นกัน

และนอกจากนี้ได้มีการต่อยอดไปเป็น Project Mainline ที่แบ่ง Android OS เป็นหลาย Module เพื่อให้สามารถอัปเดตแต่ละส่วนผ่าน Google Play ได้เหมือนกับการอัปเดตแอปทั่ว ๆ ไปนั่นเอง

นั่นหมายความว่าจะมีโอกาสโดนลอยแพน้อยลงหรือป่าว?

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

แล้วทำไมแบรนด์ใหญ่ ๆ อย่าง Samsung ถึงไม่ได้ Beta บ้างล่ะ?

มาถึงจุดนี้ ผู้อ่านหลายคนคงแอบสังเกตเห็นว่าในแต่ละปีที่มีแอนดรอยด์เวอร์ชันใหม่ แบรนด์ใหญ่ ๆ ในตลาดต่างก็พากันเข้า Beta Program อยู่เสมอ ยกเว้น Samsung ที่ไม่เคยเข้าร่วมเลยซักครั้ง ทั้ง ๆ ที่ Samsung นั้นเป็น Partner ที่สำคัญสำหรับทีมแอนดรอยด์มาตลอด

ถึงแม้ว่าผมจะไม่รู้เหตุผลที่แท้จริง แต่มีสิ่งหนึ่งที่ค่อนข้างมั่นใจว่าเป็นเหตุผลหลักที่ทำให้แบรนด์ Samsung เข้าร่วม Beta Program ไม่ได้ นั่นก็คือฟีเจอร์พิเศษของ Samsung ที่มีชื่อเรียกว่า Samsung Knox นั่นเอง

เพราะ Samsung Knox เป็นฟีเจอร์ด้านความปลอดภัยเฉพาะตัวที่ Samsung ออกแบบและสร้างขึ้นมาเอง โดยอยู่ในทั้งระดับฮาร์ดแวร์, เฟิร์มแวร์ และแอปพลิเคชั่น ซึ่งจัดกับรูปแบบของ Project Treble ที่พยายามจะแยกส่วนที่เป็น Vendor Implementation กับ Android OS Framework ออกจากกันนั่นเอง

ถึงจะไม่ได้ร่วม Beta Program ก็ตาม แต่ก็ได้อัปเดตเร็วขึ้นกว่าเมื่อก่อนนะ

การอัปเดตที่ยาวนานขึ้น รวมไปถึงความปลอดภัยที่เพิ่มขึ้นด้วยเช่นกัน

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

ซึ่งทำให้การมาของ Android 12 Beta ในปัจจุบัน (ตอนที่เขียนบทความนี้) ก็ได้มีแบรนด์ต่าง ๆ เข้าร่วม Beta Program ด้วยเช่นกัน ไม่ว่าจะเป็น ASUS, OnePlus, OPPO, realme, Sharp, TECNO, TCL, Vivo, Xiaomi และ ZTE

แน่นอนว่าเมื่อมีผู้ใช้งานแอนดรอยด์เวอร์ชันใหม่ ๆ เยอะมากขึ้นและเวอร์ชันเก่าน้อยลง ก็จะช่วยให้นักพัฒนาแอปแอนดรอยด์ (อย่างผม) สามารถพัฒนาแอปแอนดรอยด์ได้สะดวกมากขึ้น ไม่ต้องรองรับเวอร์ชันเก่า ๆ มากจนเกินไปด้วยเช่นกัน เย้

แหล่งข้อมูลอ้างอิง