ทำไม? iPhone ได้รับการอัพเดท OS ยาวนานกว่า Android

. . . . ต้องย้อนกลับไปดูจุดเริ่มต้นครับ. . . Apple เขาสร้าง OS มาเพื่อมารองรับการทำงาน #iPhone โดยเฉพาะ เรียกได้ว่าเป็น Native OS สมบูรณ์แบบ ทำให้เข้าถึง Hardware ได้โดยตรงได้อย่างเต็มที่

. . กลับมาที่ Android มันคือ Virtual Machine แบบนึงที่ถูกใช้งานอยู่บน Linux Kernel โดยในส่วนของ Drivers เครื่องทั้งหมด ถูก Embed อยู่บน Linux Kernel ที่ว่า และมี Dalvik (VM) และ Libraries เชื่อมกันอยู่ซึ่งส่วนของ Kernel เอง Base เป็นภาษา C+ แต่ Application Framework เป็น Java (ที่ Oracle ชนะฟ้องไปนั่นเอง)

. . .ซึ่งในความเป็น Virtual Machine นั้นเองมันทำให้ต้องมีการ Spec Requirement เยอะหน่อย อย่างที่เรารู้กันครับ iPhone รุ่นแรกๆ ทำไมมี RAM 1GB ทำไมทำงานได้ราบรื่น ผิดกับ Android ที่พอบอกว่ามี RAM 1 GB เป็นต้องส่ายหน้าหนีกันเลยทีเดียว

 

กลับมาเพิ่มความรู้กับการสำหรับขั้นตอนการผลิตมือถือ Android สักเครื่องนึง เราต้องทำอย่างไรบ้าง มีขั้นตอนอย่างไร ?

. . . การผลิตมือถือสักเครื่อง สิ่งที่เราต้องหาก่อนเป็นอันดับแรกคือโรงงานผลิตครับ ซึ่งมีหลายแบบ แบบที่เรารู้จักกันดีนั่นก็คือ Foxconn นั่นเอง ซึ่งรูปแบบโรงงานหลักๆ ก็จะมี OEM (Original Equipment Manufacturing) และ ODM (Original Design Manufacturing) ซึ่งถามว่าสองแบบนี้ต่างกันอย่างไร แบบแรก OEM นั้นให้นึกถึง คอมประกอบอะครับ เหมือนเราซื้อชิ้นส่วนหลายๆ ยี่ห้อรวมๆ กันมาแล้วประกอบเอง แล้วขายในแบรนด์เรา นั่นแหละ OEM ส่วน ODM คืออะไร ODM ก็คือ ทางโรงงานจะมี Design มีแบบมาให้เราเลือก เราอาจจะตัดโน่นแต่งนี่แล้วปรับมาให้เราเลือก และสุดท้ายเราก็จะสั่งผลิต โดยไปจ้างโรงงาน OEM นั่นแหละผลิต ซึ่งบางโรงงานจะเป็นทั้ง OEM+ODM ในตัวเองครับ (อย่างเช่น Foxconn เป็นต้น)

เมื่อหาโรงงานได้แล้วสิ่งที่จะทำต่อมาก็คือ เลือก Chipset

. . . .เมื่อหาโรงงานได้แล้วสิ่งที่จะทำต่อมาก็คือ เลือก Chipset ที่จะนำมาเป็นหัวใจของโทรศัพท์ ซึ่งก็จะมีหลายยี่ห้อมาก เช่น Qualcomm , MediaTek , AMLogic , RockChip , Huawei (KiRin) , Samsung(Exynos) , Broadcomm , Spreadtrum , Intel เป็นต้น (ตอนนี้น่าจะเหลือไม่กี่เจ้าแล้ว) ซึ่งผู้ผลิต Chipset แต่ละเจ้าก็จะมีสิ่งนึงที่เรียกว่า Platform ซึ่งถามว่าเอามาจากไหน ก็เอามาจาก Google นั่นแหละครับ เมื่อ Google พัฒนา OS เสร็จ เขาจะนำมาลง Devices ของเขาก่อน นั่นก็คือ Nexus , Android One , Pixel นั่นแหละครับ และหลังจากที่เขาผลิตลงเครื่องเขาเสร็จแล้ว เขาก็จะทำ Android OS ตัวนึงชื่อว่า AOSP หรือ Android Open Source Project นั่นแหละครับแล้วผู้ผลิตแต่ละเจ้าก็จะเอาเจ้า AOSP นี่แหละไปทำขึ้นมาเป็น Platform ของตัวเอง เรียกว่า Base Chipset Platform หรือ BCB (ผมจำชื่อเรียกจริงๆ มันไม่ได้) ซึ่งเราสังเกตุตัว Flagship ที่ใช้ CPU รุ่นเดียวกัน เหมือนๆ กัน (เช่น Snapdragon 8xx) เวลาเจอ BUG เจอปัญหาเกี่ยวกับแอปที่มาจาก Google มักจะเจอคล้ายๆ กัน แถมเวลาที่แก้ปัญหาได้ จะแก้ได้พร้อมๆ กันอีก นั่นแหละครับ เกิดปัญหามาจาก ไอ้เจ้า BCP (Base Chipset Platform) นี่แหละ เพราะฉะนั้น นักพัฒนา หรือ คนที่สนใจ CPU ตัวแรงๆ มักจะไม่ค่อยซื้อมือถือที่ใช้ Chipset ตัวนี้เป็นครั้งแรก เพราะมักเจอ BUG เสมอๆ นั่นเป็นอีกเหตุผลว่าทำไม Chipset รุ่นนึงถึงมีคนใช้กันเยอะจัง (เช่น Snap625 / Snap636) ก็เพราะมันถูกใช้มาเป็นระยะเวลานึงแล้ว ไอ้ BCP เนี่ยมันก็เริ่มเสถียรแล้ว ทำให้แอปอะไรต่อมิอะไรเมื่อมา Interface กันแล้ว มันก็เกิดปัญหาน้อยลงนั่นเอง . . .

. . . และเมื่อได้ Chipset และ BCP มาแล้ว ก็มาดีไซน์ตัวเครื่องกันเลย จะดีไซน์เองแล้วให้ OEM ทำ หรือ รอ ODM ทำมาให้เลือกแล้วเราตัดสินใจก็แล้วแต่ (แต่แบบเรา Design เองต้นทุนจะสูงกว่า) แล้วก็เลือก Part ว่าจะเอาส่วนไหนของอะไรบ้าง ซึ่งแน่นอน ODM จัดมาให้เราเป็น Package เลย
เช่น 1. CPU (BCP) เราเลือกมาแล้ว ก็ขึ้นอยู่กับ Series แล้วแหละ
. . . .2. GPU ไม่ต้องเลือก เพราะมัน Embed อยู่ใน CPU นั่นแหละ
. . . .3. Chip เสียง จะเลือกเป็น AKG4376 , wolfson wm1840 หรือแม้แต่ Cirrus Logic CS4398 ก็สุดแล้วแต่ (แต่เดิม Qualcomm บังคับให้ใช้ของเขาถ้าเลือก Platform เขา ตอนนี้ไม่แล้ว)
. . . .4. Camera Module จะเป็น OmniVision , SONY , Hitashi , Samsung , ก็สุดแล้วแต่เช่นกัน ซึ่งแต่ละเจ้าก็มี Technology เป็นของตัวเอง แล้วแต่เราจะเลือก
. . . .5. Lens Module ก็มีหลายแบรนด์ เช่น Leica , Lagen บลาๆๆ
. . . .6. PA Chipset หรือ Power Amplifier Management ชิปจ่ายไฟนั่นเอง ซึ่งตัวนี้มักกำหนดโดย Chipset แต่ละ Chipset ก็มีเทคโนโลยีของตัวเอง เช่น QuickCharge , PumpExpress , VOOC , DASH , Adaptive Fast Charge เป็นต้น สังเกตุได้ว่า บางยี่ห้อ Chipset เขียนว่า Support แต่พอมาใช้งาน อ้าวเฮ้ย ใช้ไม่ได้ นั่นก็เพราะอย่างที่บอกไงครับ ถ้า Enable มัน Cost ก็เพิ่มทันที . . .
. . . .7. MODEM + Antenna จะเลือก Modem ให้ Support Band ไหนบ้าง แน่นอน Enable 1 Band ก็มีต้นทุนในการเปิด (สังเกตุได้ว่าแบรนด์จีน บางยี่ห้อจะเปิดไม่หมด เพื่อลด Cost) จะให้มัน Support CA 2CA/3CA 64/256QAM 4×4 2x2MIMO อะไรก็กันก็ว่าไป . . แล้วแต่เราเลย แต่ยิ่งทำเยอะ Cost ยิ่งสูงนะ
. . . .8. อื่นๆ เลยครับ แล้วแต่อยากให้มันทำอะไรได้ ก็ใส่มา

พอเราได้ HW ที่ต้องการแล้ว ก็ต้องให้โรงงาน OEM/ODM

. . . พอเราได้ HW ที่ต้องการแล้ว ก็ต้องให้โรงงาน OEM/ODM นั่นแหละกลับไปเขียนโปรแกรม Customize โน่นนี่นั่นและผลิตออกมาเป็น ROM ให้เราใช้งานนั่นเองครับ สำหรับโรงงานที่จีน สังเกตุไหมครับว่า UX/UI แต่ละยี่ห้อมันคล้ายกันเหลือเกิน ในช่วงแรกๆ นั่นแหละ มันก็อาจจะเกิดการ Reverse Engineering รื้อแคะ แกะเกาของคนอื่นแล้ว Apapt มาเป็นของตัวเอง แต่หลังๆ มาเริ่มต่างแล้วครับ เช่น FlyOS,ColorOS,EMUI,MIUI,LavaOS อะไรแบบนี้เป็นต้น . .

. . ..และพอทำเสร็จแล้ว ก็ต้องส่ง Hardware และ Software ให้ Google Verified ซึ่ง เราเรียกว่าการทำ CTS (Compatibility Test Suite) ควบคู่ไปกับการทำ VTS (Vendor Test Suite) โดย Google จะดูแต่ส่วนของ Google Runtime ดู Services ว่ามีการลงครบหรือไม่ ซึ่ง Google จะ Force เลยว่าต้องมี App อะไรบ้างครับ (เช่น Google Drive , Google Maps , Google Play Movies) ซึ่งบางอันเราก็ไม่ได้ใช้ แต่ก็ต้องมี ลบก็ไม่ได้ด้วย หลังๆ มีการเปิดให้ Developer โหลดไปเทสต์เองด้วย . . . แต่เอ๊ะ ทำไมโทรศัพท์ในจีนบางยี่ห้อถึงมีไม่ครบหละ ก็เพราะในประเทศเขาเอง Block Google ครับ ไม่มีการใช้ Google Services ครับ นั่นเลยทำให้ไม่ต้องทำ CTS ในบางที แต่พอไม่ทำ BUG ก็มา 555+ สังเกตุง่ายๆ เลยครับ เครื่องไหนที่ไม่ได้ทำ CTS & VTS มักเกิดปัญหากับการโหลดแอปไม่ได้ เล่นเกมส์ไม่ได้ จาก Google Play Store นั่นก็เพราะเกมส์นั้นมันตรวจสอบตรงจุดนี้ด้วยครับ ส่วนนึงที่ผมสังเกตุได้ Brand จีนทุกยี่ห้อ ไม่ว่าจะเป็น VIVO OPPO XIAOMI HUAWEI น่าจะไม่ได้ทำ CTS & VTS เพราะอะไรนะหรอครับ ก็เพราะผมซื้อภาพยนตร์มาจาก Google Play แต่มันดู Full HD ไม่ได้หนะสิครับ อย่าว่าแต่ Full HD เลย HD ก็ยังดูไม่ได้ครับ ดูได้แค่ 480p อนารถมาก -*- ผมลอง Samsung ได้ปกติ ลอง SONY ก็ได้ . . . อันนี้ผมไม่ยืนยันนะครับ แต่ลองมา 4 Brand ไม่ได้สักแบรนด์ -*-

กลับมาต่อ ที่ Android OS เมื่อ Google ออก Android OS เวอร์ชั่นใหม่

. . . กลับมาต่อ ที่ Android OS เมื่อ Google ออก Android OS เวอร์ชั่นใหม่ แน่นอนเขาออกมาเพื่อ Devices ของเขาก่อนหละ แล้วก็ค่อยออกมาเป็น AOSP ตามหลัง และ ผู้ผลิต Chipset ก็ต้องเอามาดูแหละครับ ว่ามันมีชุดคำสั่ง หรือความเข้ากันได้ไหมกับ Chipset ของตัวเองในมือ ถ้าเข้ากันได้นำมาทำเป็น Platform อย่างที่ว่าไป แต่ก็อีกแหละครับ ผู้ผลิต Chipset เขาจะเลือกทำเฉพาะรุ่นที่มีการ Order เยอะๆ ก่อน เพราะแน่ ผู้ผลิตมือถือแต่ละเจ้าต้องมาติดต่อขอไปแน่นอน ซึ่งแน่นอนอีก มีต้นทุนครับ ซึ่งผมไม่ทราบว่าผู้ผลิตมือถือกับผู้ผลิต Chipset เขา Deal กันไว้ยังไง แต่มันมี Cost แน่นอน . . . ส่วน Chipset อันไหนไม่ค่อยมีคนใช้ คนใช้น้อย หรือ ยอดไม่เข้าเป้า เขาก็ไม่ทำ ยกเว้น มีผู้ว่าจ้างให้ทำ ถึงจะทำครับ นั่นแหละ เป็นอีกเหตุผลว่าทำไมถึงไม่ได้อัพกัน อยู่ที่ผู้ผลิต Chipset อีกด้วยส่วนนึง . . .

บทสรุป

. . .สรุปนะครับ ถ้า Chipset รุ่นนั้น (เช่น Snap636/625/835/845) มีบางยี่ห้อได้ OS เวอร์ชั่นใหม่กว่าแล้ว ก็แสดงว่ามี BCP ของตัวนั้นออกมาแล้ว ทีนี้แหละครับผู้ใช้อย่างเราค่อยไปกดดันผู้ผลิตมือถือกันหละ ว่าเฮ้ยยูต้องทำแล้วนะ มันมีแล้ว ยูเอามาเดฟ ต่อได้เลย บลาๆๆ แต่เขาจะทำไหม เขาก็ต้องดูยอดขายด้วยแหละ เพราะนั่นคือ “ต้นทุน” นั่นเอง ซึ่งต่างกับ Apple เพราะเขาทำเองหมดทั้ง HW SW ขึ้นอยู่กับว่า Devices นั้นๆ รองรับไหม ที่ iPhone 5s มันใช้ #iOS12 ได้ก็เพราะ CPU และ Hardware Design มันรองรับ 64bits แล้วนั่นเอง ผมคิดว่า ถ้า iPhone 5 / 5c ถ้ามันเป็น CPU แบบ 64bits ผมว่าก็น่าจะมาได้เช่นกันนะ . . . จบ . . .

ถูกใจบทความนี้  142