ทำไม Android OS จึงเหมาะกับ Kiosk / Vending Machine ในปัจจุบัน
ต้องยอมรับว่าในปัจจุบันตู้ Kiosk หรือ Vending Machine สามารถพบเห็นได้บ่อยขึ้นกว่าเมื่อก่อนมาก ไม่ว่าจะเป็นที่คอนโด, สถานีรถไฟฟ้า หรือห้างสรรพสินค้า อีกทั้งยังมีหน้าตาและลักษณะการใช้งานที่แตกต่างไปจากเมื่อก่อนพอสมควร โดยเฉพาะหน้าจอระบบสัมผัสได้ที่ช่วยให้ผู้ใช้สามารถกดเลือกซื้อของและชำระเงินผ่านช่องทางต่าง ๆ ได้อย่างง่ายดาย
ยกตัวอย่างเช่น ตู้ "เต่าบิน" ที่กำลังนิยมในระหว่างที่เขียนบทความนี้
ไม่ว่าจะเป็น Kiosk, Vending Machine, Self Service Machine หรือ POS (Point of Sale) ก็ตาม เราจะเรียกเครื่องเหล่านี้รวมกันว่า Corporate-Owned Single-Use หรือใช้คำย่อว่า COSU
Android OS สำหรับ Corporate-Owned Single-Use
ในปัจจุบันบริษัทต่าง ๆ ที่ทำอุปกรณ์สำหรับ COSU ก็เริ่มหันมาใช้ Android กันมากขึ้น จากเดิมที่ใช้ Windows หรือ Linux
แน่นอนว่า iPadOS ก็เป็นอีกหนึ่งทางเลือกเช่นกัน
ทั้งนี้ก็เพราะว่า Android เป็น OS ที่เอื้อต่อการ COSU ที่มีหน้าจอระบบสัมผัสมากกว่า Windows หรือ Linux ที่ไม่ได้ออกแบบมาสำหรับการใช้งานแบบนี้ตั้งแต่แรก และรองรับการเชื่อมต่อกับ Hardware Device ภายนอกได้หลากหลายวิธี
ข้อดีของการนำ Android OS มาใช้กับ Corporate-Owned Single-Use
Android เป็น Open Source Software
การนำ Android มาใช้ไม่มีค่า License ทำให้ต้นทุนก็จะอยู่ที่อุปกรณ์ที่นำมาใช้และทีมพัฒนาแอปเป็นหลัก (เว้นแต่ว่าต้องการให้มี Google Mobile Services ด้วย) หรือถ้าใช้บริการสำเร็จรูปจากผู้ให้บริการในด้านนี้ก็อาจจะมีค่าใช้จ่ายในส่วนอื่น ๆ เพิ่มเติมเข้ามาด้วย
CPU Architecture ส่วนใหญ่เป็น ARM
เมื่อเทียบกับ x86 ของ Intel แล้ว ต้องบอกว่า ARM นั้นมีข้อได้เปรียบและเหมาะกับงานหลาย ๆ อย่างสำหรับ COSU มากกว่า รวมไปถึงเรื่อง Resource/Power Consumption
ถึงแม้ว่า Android จะรองรับ x86 ด้วยก็ตาม แต่ในตลาดปัจจุบันก็จะเหลือแต่ ARM ซะส่วนใหญ่
และการพัฒนาแอปที่ไม่ต้องลงลึกถึงระดับ Low Level ที่ต้องเข้าไปเขียน NDK/C++ เอง ก็ไม่จำเป็นต้องสนใจเรื่อง CPU Architecture เพราะ Android Framework จัดการเรื่องนี้ให้หมดแล้ว
ใช้พื้นฐานในการพัฒนาแอปแบบเดียวกับ Android App ทั่ว ๆ ไป
ถ้าไม่นับการทำงานที่เฉพาะเจาะจงอย่างการเชื่อมต่อกับอุปกรณ์ภายนอก การพัฒนาแอปสำหรับอุปกรณ์สำหรับ COSU นั้นจะใช้พื้นฐานเดียวกับการพัฒนา Android App ทั่ว ๆ ไป จึงสามารถใช้ Android Developer เพื่อพัฒนาแอปบนเครื่องเหล่านี้ได้เลย
UI System ที่ Modern และออกแบบมาให้พัฒนาได้ง่าย
Android ใช้ UI System ที่อิงตาม Principle ของ Material Design ที่รองรับวิธีการใช้งานที่หลากหลาย ไม่ว่าจะเป็น Pointer Event อย่าง Mouse หรือ Touch Event อย่าง Touchscreen
ทำให้นักพัฒนาสามารถสร้าง UI ที่มีลูกเล่นและตอบโจทย์ผู้ใช้ได้ง่าย เพราะความสามารถส่วนใหญ่อยู่ใน Android Framework ของ Android ตั้งแต่แรก (หรือจะใช้ 3rd Party Library ก็ได้)
รวมไปถึงแนวคิดในการออกแบบที่แตกต่างจากการพัฒนา Mobile App ไม่มากนัก ทำให้ Product Designer หรือ UX/UI Designer สามารถใช้พื้นฐานในการออกแบบเหมือนกับการพัฒนา Mobile App ได้เลย และถ้าต้องการสร้าง Custom UI ก็สามารถทำได้ไม่ยากเช่นกัน
จึงทำให้อุปกรณ์สำหรับ COSU ที่ใช้ Android ส่วนใหญ่ดูไม่ค่อยออกว่าใช้ Android
รองรับการเชื่อมต่อกับ Hardware Device ภายนอกได้หลากหลาย
ถึงแม้ว่าจะเชื่อมต่อกับอุปกรณ์ในระดับ Low Level เหมือนกับ Embedded System อย่าง UART, SPI หรือ I2C ไม่ได้ก็จริง แต่สามารถเชื่อมต่อผ่าน USB Interface ได้ ไม่ว่าจะเป็นเครื่องอ่านบัตรประชาชน, USB Printer และอุปกรณ์อื่น ๆ ที่เชื่อมต่อผ่าน USB รวมไปถึง Network Connection ที่จะใช้เป็น Ethernet, WiFi หรือ Cellular ก็ได้
เมื่อก่อนมีโปรเจคที่ชื่อว่า Android Things สำหรับ Embedded System ที่ทำให้เชื่อมต่อในระดับ UART, SPI หรือ I2C ได้ แต่ในปัจจุบันได้เลิกพัฒนาต่อแล้ว
จึงเป็นเรื่องปกติที่เห็นอุปกรณ์สำเร็จรูปเพื่อใช้งานเฉพาะทาง อย่างเช่นเครื่องชำระเงินที่รองรับบัตรเครดิตและสามารถพิมพ์ใบเสร็จได้ในตัว
รองรับการทำงานที่เจาะจงสำหรับ Corporate-Owned Single-Use
ถึงแม้ว่าเราจะคุ้นเคยกับการทำงานของ Android ในรูปแบบของ Smartphone/Tablet แต่จริง ๆ แล้ว Android ได้ออกแบบการทำงานบางส่วนเพื่อให้เอื้อต่ออุปกรณ์สำหรับ COSU ด้วย
- ถึงแม้ว่า Android จะมีปุ่ม Home เพื่อกดออกจากแอปไปหน้า Home ของตัวเครื่อง แต่นักพัฒนาก็สามารถสร้าง Home App ของตัวเองขึ้นมาได้เช่นกัน
- ล็อคการทำงานบางอย่างเพื่อป้องกันผู้ใช้ทำบางอย่างนอกเหนือจากที่กำหนดไว้ เช่น ปิดเมนู Factory Reset, ปิดการเชื่อมต่อกับ Physical Storage ภายนอก หรือปิดไม่ให้ปรับความดังของเสียง เป็นต้น
- อื่น ๆ อีกมากมาย
โดยบนแอนดรอยด์จะเรียกว่า Dedicated Devices (ใช้เรียกแทนคำว่า COSU) และมี Documentation สำหรับนักพัฒนาที่ต้องการพัฒนาแอปเพื่อใช้งานในลักษณะแบบนี้ด้วย
สิ่งที่นักพัฒนาควรรู้
ไม่ต้องพัฒนาระบบเองทั้งหมดก็ได้
ในปัจจุบันมีผู้ให้บริการ B2B Solution หลาย ๆ เจ้า ที่ใช้ Android ในการพัฒนาอุปกรณ์สำหรับ COSU อยู่แล้ว และเราสามารถใช้บริการเหล่านี้เพื่อช่วยลดงานที่ไม่จำเป็นให้น้อยลง แล้วโฟกัสการทำงานในส่วนที่จำเป็นได้เช่นกัน
ยกตัวอย่างเช่น SunMi ที่จัดจำหน่ายเครื่อง POS ที่ทำงานด้วย Android (ในชื่อของ SunMi OS) เพื่อให้ลูกค้าสามารถพัฒนาแอปเพื่อใช้กับธุรกิจของตัวเองได้ และมีความสามารถต่าง ๆ เพื่อช่วยให้ลูกค้าจัดการกับการทำงานของแอปได้ง่ายขึ้น เช่น มี SDK ให้ใช้งานเพื่อการทำงานบางอย่างที่ระบบแอนดรอยด์โดยทั่วไปไม่สามารถทำได้ เป็นต้น
หรืออย่าง Esper ที่มีให้บริการทั้ง Hardware และ Software ควบคู่กัน หรือจะใช้เฉพาะ Software ของทาง Esper เพียงอย่างเดียวก็ได้
System App หรือ Pre-installed App
ถ้าทำให้แอปของนักพัฒนาที่ติดตั้งลงในเครื่องมีสถานะเป็น System App ได้ จะสามารถเรียกใช้ System API บางอย่างที่ Non-system App ทำไม่ได้ (เฉกเช่นเดียวกับ Google Play Services) เช่น
- Background Service ที่ทำงานได้ยาวนาน ไม่ต้องห่วงว่าระบบแอนดรอยด์จะปิดทิ้ง
- สามารถทำ Silent App Install ที่ให้เครื่องดาวน์โหลด APK โดยตรงแล้วติดตั้งลงในเครื่องได้ทันที โดยไม่ต้องขออนุญาตจากผู้ใช้
ดังนั้นถ้าเป็นไปได้ก็ทำให้แอปเป็น System App ไว้ซะ เพราะปัญหาบางอย่างที่ทำไม่ได้ ก็อาจจะแก้ไขได้ง่าย ๆ เพียงแค่ใช้ความสามารถที่ System App สามารถทำได้เท่านั้น
แต่ในกรณีที่ซื้ออุปกรณ์มาจากบริษัทที่ให้บริการ B2B Solution ส่วนใหญ่จะไม่ให้ติดตั้งเป็น System App ด้วยเหตุผลเรื่องความปลอดภัยต่อตัวเครื่องและการทำงานต่าง ๆ ที่ผู้ให้บริการได้เตรียมไว้ให้ในเครื่อง
Android Enterprise หรือ EMM
Android มีการทำงานที่เรียกว่า Android Enterprise เพื่อรองรับการใช้งานอุปกรณ์แอนดรอยด์สำหรับภายในบริษัทและธุรกิจที่เฉพาะเจาะจงในบริษัทนั้นๆ โดยจะมี Partner อยู่ทั่วโลกที่รองรับการใช้งาน Android Enterprise
และหนึ่งในความสามารถของ Android Enterprise ก็คือฟีเจอร์ที่รองรับการใช้งานในอุปกรณ์สำหรับ COSU นั่นเอง จึงเหมาะกับบริษัทที่มีเครื่องเป็นของตัวเองและความสามารถของ Android Enterprise เพียงพอต่อความต้องการ
นอกจากนี้ผู้ผลิตอุปกรณ์แอนดรอยด์บางเจ้าก็เป็น Partner ด้วยเช่นกัน อย่างเช่น Samsung เป็นต้น ในกรณีที่ต้องการใช้งาน Android Enterprise บนเครื่อง Samsung ก็สามารถติดต่อกับทาง Samsung ได้โดยตรงเลย
โดยสามารถเข้าไปดูรายชื่อ Partner ทั้งหมดของ Android Enterprise ได้ที่ Android Enterprise Solutions Directory - EMMs
ถึงแม้ว่า Huawei จะไม่ได้เป็น Partner ก็ตาม แต่ก็มี Enterprise Solution สำหรับอุปกรณ์แอนดรอยด์ของ Huawei เหมือนกันนะ
Launcher App สำหรับ Kiosk Mode
สำหรับกรณีที่ไม่ต้องการลูกเล่นหรือการทำงานที่จริงจังมากนักอย่างอุปกรณ์ที่เป็น Employee-facing (พนักงานเป็นคนใช้งานเท่านั้น) ก็อาจจะใช้เพียงแค่ Launcher App สำหรับ Kiosk Mode ก็ได้เช่นกัน ซึ่งในปัจจุบันก็สามารถดาวน์โหลดแอปจำพวกนี้บน Google Play ได้เช่นกัน
สรุป
Android เป็น OS ที่ให้ความอิสระในการนำไปใช้งาน ไม่ได้มีแค่ Smartphone หรือ Tablet เท่านั้น แต่ยังรวมไปถึงอุปกรณ์เฉพาะทางอย่าง POS, Kiosk และ Vending Machine ด้วย ส่วนหนึ่งก็เพราะ Android เป็น Platform ที่ออกแบบมาเพื่อใช้งานกับ Smart Device จึงทำให้หยิบไปพัฒนาเป็นแอปที่เรียกใช้งานความสามารถเหล่านั้นได้ง่าย รวมไปถึง User Interface ที่เข้ามามีส่วนดึงดูดสำหรับผู้ใช้งานด้วยเช่นกัน
ดังนั้นใครที่จะต้องทำงานในด้านนี้ ก็สามารถหยิบ Android OS เป็นหนึ่งตัวเลือกได้เหมือนกันนะ 😉