รู้จัก Android Auto ความฝันของกูเกิลในการบุกวงการรถยนต์

by mk
29 June 2014 - 04:41

ในงาน Google I/O เมื่อสัปดาห์ที่ผ่านมา กูเกิลเปิดตัวแพลตฟอร์ม Android ในอุปกรณ์ใหม่ๆ ชุดใหญ่ ได้แก่ Android TV สำหรับทีวีและไมโครคอนโซล, Android Wear สำหรับอุปกรณ์สวมใส่ได้ และ Android Auto สำหรับรถยนต์

กูเกิลมีเวลาพูดถึง Android Auto บนเวที Keynote ไม่เยอะนัก แต่รายละเอียดจริงๆ อยู่ในเซสชันชื่อ Android Auto: Developers, start your engines! ครับ

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

ทำไมต้องทำ Android Auto

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

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

ทางแก้ของกูเกิลคือ Android! ที่พร้อมอยู่แล้วทั้งในแง่ความนิยมและปริมาณแอพ กูเกิลเลือกใช้วิธีเชื่อมต่อ Android ไปออกจอรถยนต์แทนการรันแอพในคอนโซลรถยนต์โดยตรง ด้วยเหตุผลว่าอัพเดตง่าย (อัพเดตที่ตัวโทรศัพท์ ไม่ใช่รถยนต์) และปรับแต่งตรงความต้องการของผู้ใช้คนนั้นอยู่แล้ว (เพราะเป็นมือถือส่วนตัว ที่ลงแอพ+ปรับแต่งมาแล้ว)

กูเกิลพยายามทำเรื่องนี้มาตั้งแต่ปี 2010 โดยช่วงแรกๆ มีโครงการชื่อ Navstep และ Navcast ที่พยายามเชื่อมข้อมูลจากมือถือมาแสดงบนแท็บเล็ต (ที่จำลองเป็นคอนโซลรถยนต์) โดยโครงการแรกอย่าง Navstep ทำได้แค่แสดงข้อความบอกทางจาก Google Maps เท่านั้น แสดงภาพยังไม่ได้เลย แต่ก็พัฒนาขึ้นมาเป็น Navcast ที่แสดงภาพแผนที่นิ่งๆ (เลื่อนไม่ได้) ในเวลาต่อมา

สถาปัตยกรรมของ Android Auto

สถาปัตยกรรมของ Android Auto อาจแตกต่างจากที่หลายคนคิดไว้สักหน่อย เพราะมันต้องเชื่อมต่อด้วยสาย USB ด้วยเหตุผลเรื่องแบนด์วิธของข้อมูลครับ ส่วนข้อมูลที่ส่งไปมาระหว่างสมาร์ทโฟนกับรถยนต์ก็มีด้วยกัน 4 แบบคือ

  • เสียง (audio)
  • ภาพ (display)
  • เซ็นเซอร์ (sensors)
  • การสั่งงาน (input) เช่น การกดปุ่ม

ฝั่งของคอนโซลรถยนต์จะรับ-ส่งข้อมูลเหล่านี้ โดยจะมีไลบรารีฝังอยู่หนึ่งตัวคอยเชื่อมประสาน ใช้ชื่อว่า Android Auto Receiver Library ซึ่งผู้ผลิตรถยนต์จะรับผิดชอบติดตั้งอุปกรณ์เหล่านี้ในรถยนต์ของตัวเอง

ฝั่งโทรศัพท์ก็มีเซอร์วิสที่เรียกว่า CarService คอยทำงานเชื่อมโยงกันอยู่ โดยมันจะเป็นส่วนหนึ่งของ Google Play Services

เนื่องจากระบบควบคุมในรถยนต์มีความแตกต่างหลากหลายมาก บางอันใช้ปุ่ม (ปุ่มไม่เท่ากันอีก) บางอันใช้จอ บางอันใช้ทั้งจอทั้งปุ่ม บางอันมีปุ่มเดียวกันหลายที่ ซึ่ง Android Auto จะจัดการปัญหาเหล่านี้ให้หมดเลย นักพัฒนาแอพไม่ต้องสนใจเรื่องนี้

UI ของ Android Auto

มาดู UI กันบ้างครับ Android Auto ใช้ UI มาตรฐานที่กูเกิลบอกว่า "คิดมาดีแล้ว" สำหรับการใช้งานในรถยนต์ (นักพัฒนาอย่าคิดเองเยอะ ฮ่า)

หน้าตาแรกเริ่มของ Android Auto จะเป็นตามภาพข้างล่าง คือแสดงข้อความ notification ล่าสุด (สังเกตว่าจะเหมือน notification แบบใหม่ของ Android L) มีปุ่มควบคุมด้านล่าง และมีปุ่มไมโครโฟนเพื่อเรียก Google Now อยู่ด้านบน

หน้าตาของแอพที่รันในโหมด Android Auto (ตัวอย่างใช้ Google Maps) จะเห็นว่าหน้าตาก็คล้ายกับ Google Maps เวอร์ชันมือถือที่เราคุ้นเคยกัน แต่จะปรับปุ่มคำสั่งให้อยู่แถวด้านล่างทั้งหมด

เมื่อกดที่ปุ่ม 3 เส้นที่มุมซ้ายบน จะแสดงเมนูแบบ list ที่กูเกิลบอกว่าเหมาะสำหรับการใช้ในรถยนต์ เพราะใช้ง่ายไม่ซับซ้อน

นอกจากนี้ Android Auto ยังมีระบบ notification แบบใหม่ที่เรียกว่า head-up (โผล่ขึ้นมาด้านบนเหมือน iOS หรือ Windows Phone) แบบเดียวกับ Android L

การพัฒนาแอพบน Android Auto

แนวคิดของการพัฒนาแอพบน Android Auto คือนักพัฒนาไม่ต้องแยกโครงการเฉพาะสำหรับ Android Auto สามารถใช้แอพเดิมที่รันบนสมาร์ทโฟนได้เลย และไม่ต้องสร้าง UI เองบน Android Auto เพราะกูเกิลจะเตรียมทุกอย่างไว้ให้แล้ว

กูเกิลบอกว่ารูปแบบของ Android Auto จะคล้ายกับ Android Wear มากในประเด็นที่ "ประมวลผลบนมือถือ แสดงออกบนจออื่น" ทำให้ทั้งสองทีม (Auto/Wear) ร่วมมือกันอย่างใกล้ชิดเพื่อให้แอพปรับตัวครั้งเดียว ใช้งานได้ทั้งบน Auto/Wear

กูเกิลเตรียมเฟรมเวิร์คสำหรับพัฒนาแอพบน Android Auto ที่ใช้บ่อยๆ ในรถยนต์สองกลุ่มคือ มัลติมีเดีย (media) และข้อความ (messaging)

Media คือเฟรมเวิร์คที่ทำไว้ให้แอพตระกูลฟังเพลงหรือฟังวิทยุทั้งหลายเรียกใช้ หน้าตาจะออกมาคล้ายๆ กันคือมีปุ่มควบคุมมาตรฐาน (เปลี่ยนสีหรือธีมให้เหมาะกับแบรนด์ของบริการได้) รองรับการค้นหาเพลงด้วยเสียง

สำหรับนักพัฒนาแล้วก็แค่ปรับแอพเดิมให้รองรับ Media Service ตัวใหม่ของ Android L เท่านั้นก็สามารถใช้ได้กับทั้ง Android Auto/Wear เลย

ตัวต่อมาคือ Messaging ทำหน้าที่จัดการการรับส่งข้อความขณะขับรถ เบื้องต้นจะรองรับ SMS และ Google Hangouts แต่จะขยายให้รองรับแอพข้อความตัวอื่นๆ ในอนาคต สามารถเขียนข้อความด้วยเสียงพูดแล้วส่งกลับไปยังผู้รับได้

ตัวอย่างโค้ดของ Messaging API ที่เขียนครอบฟังก์ชันการส่งข้อความของแอพ แล้วนำไปใช้กับ Android Auto/Wear ได้เลย

รายละเอียดเพิ่มเติมของ Android Auto สามารถอ่านได้จาก Android Developer ตอนนี้ยังมีข้อมูลไม่มากนัก แต่กูเกิลก็สัญญาว่าจะทยอยเปิดข้อมูลเพิ่มเติม รวมถึง Android Auto SDK ในเร็วๆ นี้

ส่วนวิดีโอของเซสชัน Android Auto ก็ดูได้ข้างล่างครับ

สรุป

Android Auto ถือเป็นความพยายามของกูเกิลในการบุกยึดโลกรถยนต์ โดยใช้พลังของแพลตฟอร์ม Android ซึ่งถือเป็นระบบปฏิบัติการที่มีคนใช้เยอะที่สุดในโลก (1 พันล้าน active users) และมีแอพรองรับมากมาย

แนวทางที่กูเกิลเลือกใช้ถือว่ามีความน่าสนใจสูง เพราะกูเกิลเลือกการเชื่อมประสาน Android กับรถยนต์ มากกว่าการรันแอพ Android บนรถยนต์ ซึ่งมีข้อดีดังนี้

  • ผู้ผลิตรถยนต์ไม่ต่อต้าน เพราะไม่เข้ามายุ่งกับคอนโซลหน้ารถยนต์มากนัก แถมยังอัพเดตง่ายเพราะผูกกับมือถือโดยตรง
  • นักพัฒนาแอพทำงานง่าย ไม่ต้องเขียนแอพใหม่ ใช้แอพเดิมปรับแต่งเล็กน้อยได้เลย (แถมใช้กับ Android Wear ได้ด้วย ประโยชน์สองต่อ)
  • ผู้ใช้งานคุ้นเคย เพราะเป็นแอพที่ตัวเองใช้งานในโทรศัพท์อยู่แล้ว ไม่ต้องเรียนรู้ใหม่

เราจึงเห็นว่ามีบริษัทผู้ผลิตรถยนต์ และผู้ผลิตระบบความบันเทิงภายในรถยนต์เข้าร่วมกับ Open Automotive Alliance เป็นจำนวนมาก (จากภาพข้างล่าง น่าจะขาดรายใหญ่ๆ แค่ Toyota, BMW, Mercedes) ในภาพรวมถือว่ากูเกิลเริ่มต้นได้ค่อนข้างดีแล้ว ที่เหลือก็ต้องรอดูสินค้าจริงว่าจะออกมาสมราคาคุยหรือไม่ครับ

Blognone Jobs Premium