Apps foundation

เจาะลึกคลื่นลูกแรกของ Googlebook ด้วย Notability และ Logitech

ลำโพง

  • Emilie Roberts

    วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์

  • Ryan Shea

    หัวหน้าฝ่าย Android

  • Joe Yezhou Wang

    ผู้จัดการฝ่ายวิศวกรรมที่ Logitech

เกี่ยวกับ

เกี่ยวกับการเสวนา

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

Notability จะแชร์เส้นทางการสร้างแอป Android ระดับเดสก์ท็อปโดยใช้ Jetpack Compose ดูข้อมูลเกี่ยวกับเส้นทางการย้ายจากแพลตฟอร์มแอปอื่นๆ โดยคำนึงถึงเดสก์ท็อปเป็นหลัก ส่วนที่ 2 Logitech จะเจาะลึกด้านฮาร์ดแวร์ โดยพูดคุยเกี่ยวกับวิธีสร้างและปรับแต่งอุปกรณ์ต่อพ่วงเพื่อผสานรวมกับ Googlebook ได้อย่างราบรื่น เข้าร่วมเซสชันเพื่อรับข้อมูลเชิงลึกที่นำไปใช้ได้จริงเกี่ยวกับการเพิ่มประสิทธิภาพอินพุต การใช้ประโยชน์จาก API สำหรับหน้าจอขนาดใหญ่ และการมอบประสบการณ์ของผู้ใช้ระดับพรีเมียมที่สอดคล้องกันทั้งในด้านฮาร์ดแวร์และซอฟต์แวร์

สรุป

  • Jetpack Compose และ Navigation 3 ช่วยให้ปรับเลย์เอาต์ในอุปกรณ์ต่างๆ ได้ง่ายๆ โดยอิงตามขนาดหน้าต่างที่ใช้ได้ ไม่ใช่รูปแบบของอุปกรณ์
  • ประสบการณ์การใช้งานระดับเดสก์ท็อปต้องรองรับโมเดลอินพุตหลายรายการ เช่น แป้นพิมพ์และแทร็กแพด ฟีเจอร์ต่างๆ เช่น "ทำต่อใน" ใน Android 17 ยังช่วยให้ผู้ใช้ส่งต่องานระหว่างอุปกรณ์ได้ด้วย
  • Jetpack Ink ช่วยให้นักพัฒนาแอปมีไปป์ไลน์การวาดที่มีเวลาในการตอบสนองต่ำโดยไม่ต้องจัดการเทรดการแสดงผลที่กำหนดเองหรือการส่งต่อเลเยอร์ที่ซับซ้อน
  • Peripheral Customization API ที่อยู่ในรายการที่อนุญาตช่วยให้นักพัฒนาซอฟต์แวร์แมปทริกเกอร์ฮาร์ดแวร์อุปกรณ์ต่อพ่วงกับการดำเนินการของระบบปฏิบัติการได้โดยใช้รหัสผู้ให้บริการและรหัสผลิตภัณฑ์

Gemini Notebook

หัวข้อ

  • googlebook
  • jetpack-compose
  • jetpack-ink
  • navigation-3
  • หน้าจอขนาดใหญ่
  • peripheral-customization
  • kotlin-multiplatform

ข้อความถอดเสียง

ข้อมูลเบื้องต้นเกี่ยวกับการสร้างสำหรับ Googlebook

  • สวัสดี ฉันชื่อ Emilie Roberts เป็นผู้ประสานงานนักพัฒนาซอฟต์แวร์ที่ทำงานกับแอป Android บนแล็ปท็อปมาประมาณ 9 ปีแล้ว

  • และ Googlebook ก็เปิดตัว

  • ไชโย

  • ผมคิดว่านวัตกรรมที่เรานำมาใช้กับแล็ปท็อปนั้นเจ๋งมาก

  • และฉันดีใจมากที่ได้ขึ้นเวทีที่นี่ร่วมกับนักพัฒนาแอป 2 คนที่ทุ่มเทอย่างมากในการทำให้แอปของตนดูดีบน Googlebook

  • สวัสดี

  • ผมชื่อ Ryan จาก Notability

  • ฉันเป็นผู้จัดการ Android และนี่คือแอปสมุดบันทึกดิจิทัลที่เราเพิ่งเปิดตัวใน Android

  • นอกจากนี้ ยังพร้อมให้บริการบน iOS, เดสก์ท็อป และ Google Books ด้วย

  • สวัสดี

  • ผมชื่อ Joe จาก Logitech เราเป็นที่รู้จักในด้านฮาร์ดแวร์และอุปกรณ์ต่อพ่วงที่ยอดเยี่ยม

  • และฉันจะพูดถึงวิธีที่เรานำเกมเหล่านั้นมาไว้ในแพลตฟอร์มใหม่

การออกแบบแอป Android สำหรับหน้าจอขนาดใหญ่

  • ฉันจะผลักพวกมันให้ล้ม

  • Googlebooks จึงเกิดขึ้น

  • ไชโย

  • ไชโย

  • ไชโย

  • เราหวังว่าคุณจะมีโอกาสได้ทดลองใช้ด้วยตนเอง หรือไปที่บูธสาธิตที่ชั้นบนหรือชั้นล่าง

  • และอย่าลืมตรวจสอบว่าแอปของคุณมีลักษณะอย่างไรบนอุปกรณ์เหล่านั้น

  • ฉันจะพูดถึงเรื่องที่พูดเป็นประจำ นั่นคือระบบนิเวศของ Android กำลังเติบโต

  • ผมพูดแบบนี้มา 9 ปีแล้ว และก็ยังเป็นความจริงอยู่

  • และแอปต้องพัฒนาเพื่อให้แน่ใจว่าคุณตอบสนองความต้องการของผู้ใช้ในทุกความต้องการในหน้าจอและอุปกรณ์ทุกขนาดเหล่านั้น

  • การมีเลย์เอาต์แอปที่ทำงานได้ดีและทำงานอย่างถูกต้องถือเป็นแนวทางปฏิบัติมาตรฐานในปัจจุบัน

  • และวิธีที่ดีที่สุดในการทำเช่นนั้นคือการใช้ Jetpack Compose และ Navigation 3

  • และอินพุตก็เป็นสิ่งเดียวกัน

  • ซึ่งควรจะใช้งานได้ทันที

  • และแน่นอนว่าสถาปัตยกรรมและการจัดการสถานะของแอปเป็นส่วนหนึ่งของเลย์เอาต์และอินพุต

  • และเรามีการพูดคุยมากมายที่ ADS เกี่ยวกับวิธีดำเนินการดังกล่าวด้วยเครื่องมือใหม่ล่าสุดและแนวทางปฏิบัติแนะนำ

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

  • Notability เป็นแอปจดโน้ตที่มีประสิทธิภาพสูงซึ่งสร้างขึ้นมาใหม่โดยเฉพาะสำหรับ Googlebook

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

  • ขออภัยที่แย่งซีนนะ Joe แต่เราจะลงรายละเอียดกัน

  • แค่นั้นก็เพียงพอแล้วสำหรับฉัน

  • ขอโทษด้วยนะ ครั้งนี้ไม่มีแร็ป

  • และห้ามแร็ปฟรีสไตล์อีกเด็ดขาด

  • อย่างไรก็ตาม เราตื่นเต้นมากที่ได้นำ Notability มาไว้ใน Googlebooks และตอนนี้ฉันจะส่งต่อรีโมตนี้ให้ Ryan

  • ขอขอบคุณ

การนำ Notability มาสู่ Android

  • เยี่ยมมาก

  • ขอบคุณมากนะ Em

  • และเราตื่นเต้นมากที่ได้อยู่บน Google Books

  • Notability เป็นแอปที่นักเรียนหลายล้านคนใช้เรียนรู้และมืออาชีพใช้จดบันทึกในปัจจุบัน

  • อย่างที่บอกไปก่อนหน้านี้ ตอนนี้ฟีเจอร์นี้เผยแพร่แล้วใน Android และผมจะพูดสั้นๆ เกี่ยวกับวิธีที่เราสร้างฟีเจอร์นี้ และวิธีที่การสร้างสำหรับ Android อย่างถูกต้องช่วยให้สร้างฟีเจอร์ที่ใกล้เคียงกับ Chromebook ได้อย่างเหมาะสมตั้งแต่เริ่มต้น

  • เริ่มแรก เมื่อเราเริ่มโปรเจ็กต์นี้เมื่อประมาณ 2 ปีที่แล้ว เราต้องการตรวจสอบให้แน่ใจว่าเราไม่ได้เพียงแค่พอร์ตแอป iOS และส่งต่อให้ผู้ใช้โดยคิดว่าดีพอแล้ว

  • เราต้องการสิ่งที่ให้ความรู้สึกเป็นเนทีฟอย่างแท้จริงตามความคาดหวังของผู้ใช้ แต่ยังคงให้ฟีเจอร์ที่เทียบเท่ากันอย่างสมบูรณ์

  • เราใช้ Material Design และคอมโพเนนต์เพื่อปรับแต่งหน้าจอทั้งหมดตั้งแต่ต้นเพื่อให้บรรลุเป้าหมายดังกล่าว

  • และเรามั่นใจว่าเราใช้ Jetpack Compose เป็นหลัก

  • การเป็นแอปพลิเคชัน Android แบบเนทีฟที่ใช้ Jetpack Compose อย่างเต็มรูปแบบทำให้เราสามารถรองรับฮาร์ดแวร์ได้หลากหลาย ไม่เพียงแต่โทรศัพท์ขนาดเล็กและอุปกรณ์ระดับล่างเท่านั้น แต่ยังรวมถึงแท็บเล็ตระดับไฮเอนด์ที่มีประสิทธิภาพสูงพร้อมหน้าจอขนาดใหญ่ คอมพิวเตอร์, XR, รถยนต์ และอื่นๆ อีกมากมาย

  • Jetpack Compose ช่วยให้รองรับฟีเจอร์เหล่านี้แบบเนทีฟได้ง่ายมาก โดยไม่ต้องสร้างฟีเจอร์เพิ่มเติมจำนวนมากในอินเทอร์เฟซ UI

  • มาต่อกันที่ Notability

  • ทุกอย่างใน Notability สร้างขึ้นบน Jetpack Compose

  • UI จะสอดคล้องกันทั่วทั้งแพลตฟอร์ม และโดยพื้นฐานแล้วจะสร้างขึ้นเพียงครั้งเดียวโดยไม่มีการเปลี่ยนแปลงที่แท้จริงระหว่างสิ่งที่แสดงบนโทรศัพท์กับสิ่งที่แสดงบนอุปกรณ์ขนาดใหญ่ เช่น แท็บเล็ตและ Googlebook

  • Navigation 3 จึงเป็นตัวช่วยสำคัญที่ทำให้เราทำสิ่งนี้ได้

  • วิธีการทำงานของ Navigation 3 ใน Notability ที่มี Google ในตัวคือเราสามารถปรับแต่งเลย์เอาต์ตามขนาดหน้าจอได้โดยไม่ต้องกังวลว่าฟีเจอร์จะแสดงผลอย่างไร

  • ในการสาธิตนี้ คุณจะเห็นว่าหากมีพื้นที่ให้แผงด้านข้างเปิด แผงด้านข้างก็จะเปิดขึ้น

  • แต่หากไม่รองรับ ก็จะแสดงเป็น Bottom Sheet แทน

  • แล้วโค้ดจะมีลักษณะอย่างไร

  • ในโค้ดที่เรามีอยู่ คุณจะเห็นว่ามีจุดแรกเข้า 1 จุดสำหรับแผงสรุปจริงที่ด้านข้าง และเรากำลังเพิ่มจุดแรกเข้านั้นลงใน Back Stack

  • จากนั้นกลยุทธ์ฉากที่กำหนดเองจะเลือกเลย์เอาต์สำหรับแผงด้านข้างนั้น โดยขึ้นอยู่กับว่ามีพื้นที่ว่างหรือไม่

  • ดังนั้นในแท็บเล็ตหรืออุปกรณ์ Googlebook ระบบจะค้นหาพื้นที่ว่างและสร้างพื้นที่ว่าง แล้วเลื่อนแผงนั้นเข้ามาจากด้านขวา

  • อย่างไรก็ตาม ในอุปกรณ์อย่างโทรศัพท์หรืออุปกรณ์แบบพับได้ อาจมีพื้นที่ไม่เพียงพอที่จะแสดงแผงดังกล่าวอย่างเหมาะสม จึงจะแสดงเป็น Bottom Sheet แทน

  • เนื่องจาก Notability ปรับขนาดตามหน้าต่างแทนที่จะกังวลเกี่ยวกับประเภทอุปกรณ์ ไม่ว่าจะเป็นโทรศัพท์, Googlebook, แท็บเล็ต, อุปกรณ์พับได้ หรืออื่นๆ UI ของเราจึงปรับให้เข้ากับสิ่งที่ผู้ใช้ต้องการได้ง่ายมากโดยอัตโนมัติ

  • คุณจะเห็นได้จากโทรศัพท์เครื่องนี้ว่าปุ่มและเครื่องมือทั้งหมดจะเปลี่ยนตำแหน่งให้อยู่ในระยะที่นิ้วโป้งเอื้อมถึงได้ง่าย

  • ในแท็บเล็ต เรามีแผงการนำทางที่แสดงอยู่ด้านข้างถัดจากเนื้อหาหลักทั้งหมด เนื่องจากคุณมีพื้นที่มากขึ้นและหน้าจอที่โต้ตอบได้ง่ายขึ้น

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

  • และสุดท้าย ตอนนี้ใน Googlebooks เราสามารถปรับขนาดหน้าต่างได้อย่างราบรื่น

  • ดังนั้น Notability จะปรับขนาดตามที่คุณปรับขนาดหน้าต่างเพื่อตอบสนองความต้องการในการใช้งานแบบเคียงข้างกัน เช่นเดียวกับที่คุณทำในแอปพลิเคชันแบบหน้าต่างปกติอื่นๆ บนเดสก์ท็อป

  • ตอนที่เราสร้าง UI แบบปรับเปลี่ยนได้ ซึ่งใช้ได้กับประสบการณ์การใช้งานเดสก์ท็อปเกือบทั้งหมดใน Google Books อย่างที่ฉันได้กล่าวไปแล้ว

  • ซึ่งจะช่วยให้คุณเข้าใกล้เป้าหมายได้มาก

  • แต่หากต้องการประสบการณ์การใช้งานระดับเดสก์ท็อปที่ยอดเยี่ยมอย่างแท้จริง เราขอแนะนำให้ทำสิ่งต่อไปนี้

  • อย่างแรกคือการใช้แป้นพิมพ์เป็นหลัก

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

  • ถัดไป บางครั้งคุณสามารถออกแบบฟีเจอร์ให้มีเลย์เอาต์ที่แตกต่างกันไปตามประเภทของอุปกรณ์และอุปกรณ์ต่อพ่วงอินพุตที่พร้อมใช้งาน

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

  • อีกสิ่งหนึ่งที่คุณควรเริ่มคิดถึงคืออุปกรณ์ต่างๆ โต้ตอบกันอย่างไร

  • ดังนั้น "ใช้งานต่อ" จึงเป็นฟีเจอร์ใหม่ใน Android 17 ที่ช่วยให้คุณส่งต่อแอปจากอุปกรณ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้อย่างราบรื่น

  • ตัวอย่างเช่น ในกรณีนี้ เราจะส่งโน้ตจากโทรศัพท์ไปยังอุปกรณ์เดสก์ท็อปที่มีขนาดใหญ่กว่า

  • ซึ่งทำได้ง่ายๆ เพียงซิงค์รหัสโน้ตอย่างรวดเร็วและดูความคืบหน้าอย่างรวดเร็วว่าคุณอยู่ในขั้นตอนใดในฝั่งของเรา

  • เราจึงส่ง Intent ของแอปไปยังอุปกรณ์ Googlebook ได้อย่างง่ายดาย และคุณก็สามารถดำเนินการต่อจากจุดที่ค้างไว้ได้ทันที

  • อีกสิ่งหนึ่งที่ควรพิจารณาสำหรับอุปกรณ์ระดับเดสก์ท็อปคือรูปแบบการรองรับอินพุตหลายรายการ

  • ดังนั้น คุณจะไม่เพียงแต่มีสิ่งต่างๆ เช่น แป้นพิมพ์ลัดตามที่กล่าวถึงก่อนหน้านี้ แต่คุณจะมีแทร็กแพดที่มีการซูมและลักษณะการเลื่อนที่แตกต่างจากที่คุณอาจเคยมีมาก่อน

  • นอกจากนี้ คุณยังมีเมนูคลิกขวาที่อาจต้องเปิดให้ผู้ใช้ที่ก่อนหน้านี้ไม่มีสิทธิ์เข้าถึงได้ใช้งานด้วย

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

การวาดภาพที่มีเวลาในการตอบสนองต่ำด้วย Jetpack Ink

  • หากคุณสนใจเรื่องหมึกและการจดโน้ตเหมือน Notability เราขอแนะนำให้ใช้ Jetpack Ink

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

  • แต่ถ้าตอนนี้ใช้ได้แล้ว ผมก็ต้องขอบคุณ Logitech ที่ทำให้ผมสามารถสาธิตการใช้งานแอป Notability แบบสดๆ ให้ทุกคนดูได้

  • ใช่ เยี่ยมเลย

  • อ๊ะ มาเลย

  • เรียบร้อย เยี่ยมเลย

  • นี่คือการทดสอบก่อนหน้านี้

  • แต่คุณจะเห็นว่าฉันใช้นิ้วอยู่ ดังนั้นระบบจึงยังคงจดจำการป้อนข้อมูลด้วยนิ้วได้ ซึ่งเป็นเรื่องดี

  • ฉันยังใช้เมาส์ได้ด้วยหากต้องการ

  • แต่ตอนนี้เราสามารถสร้างแปรงแบบกำหนดเองที่ใช้ได้เฉพาะใน Android ได้แล้ว

  • คุณจะเห็นได้ว่าฉันเลือกเอฟเฟกต์สายรุ้งและกลิตเตอร์นี้ไว้ เพื่อให้เอฟเฟกต์อินพุตหรือหมึกได้รับผลกระทบจากไลบรารี Jetpack Ink ที่อยู่ด้านล่าง

  • ฉันจะเขียนข้อความอีกครั้ง

  • สวัสดี

  • จากนั้นมาเลือกสีเขียว Android สำหรับส่วนสุดท้ายตรงนี้กัน

  • แตะได้ยาก

  • นี่ไง สีเขียว Android

  • จากนั้นเราจะเห็นว่าสีจริงเปลี่ยนไปตามสีที่คุณใช้เป็นโมเดลพื้นฐานที่นี่

  • เยี่ยมเลย

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

  • แต่ตอนนี้ Jetpack Ink ช่วยให้ใช้เวลาไม่ถึง 1 สัปดาห์ด้วย AI และเครื่องมือสร้างแปรงแบบกำหนดเอง

  • ดังนั้นหากคุณกำลังมองหาบริการสักประเภทใดก็ตาม โปรดแจ้งให้พวกเขาทราบ

  • API นี้ยอดเยี่ยมมากและช่วยประหยัดเวลาให้เราได้มาก

  • เยี่ยมเลย

  • และนี่คือลักษณะของหน้าจอที่ฉันพูดถึงก่อนหน้านี้

  • เราจึงมีสิ่งที่เรียกว่าเลเยอร์หมึกเปียก

  • นั่นคือหมึกที่กำลังทำงานอยู่ ซึ่งยังคงวาดอยู่ และต้องตอบสนองได้ดีมากๆ เมื่อเทียบกับเลเยอร์หมึกแห้ง

  • ซึ่งเป็นเรื่องที่เข้าใจได้หากเป็นสิ่งของที่จับต้องได้

  • นั่นคือหมึกที่บันทึกไว้ ซึ่งเสร็จเรียบร้อยแล้ว

  • ดังนั้นการส่งต่อข้อมูลจึงเคยเป็นหน้าที่ของเราทั้งหมด

  • เราจึงต้องทำเธรดนี้ ต้องวาดใหม่และล้างข้อมูล ต้องส่งต่อไปยังเลเยอร์แห้งและตรวจสอบว่าเลเยอร์เหล่านั้นซิงค์กันและไม่กะพริบ และยังมีปัญหาแทรกซ้อนอื่นๆ อีกมากมาย

  • และสุดท้าย เราต้องนำเอกลักษณ์ของ Notability มาใช้ใช่ไหม

  • เรามีโมเดลการปรับเส้นโค้งของเราเอง และมีวิธีที่ทำให้ลายมือของคุณโดดเด่นขึ้นมาจริงๆ

  • นั่นคือโมเดลแบบเก่า

  • Jetpack Ink ช่วยให้เราเพียงแค่ป้อนการปรับเส้นโค้งลงในมุมมองรูปร่างความคืบหน้าที่กำหนดเอง แล้วทุกอย่างก็ทำงานได้อย่างน่าอัศจรรย์ทันทีบน Android

  • อีกสิ่งหนึ่งที่เรากำลังพิจารณาขณะพูดคุยเกี่ยวกับทั้ง Jetpack Ink และไลบรารีอื่นๆ ของ Google คือ KMP

  • จริงๆ แล้วเราเริ่มจากการดูโค้ด iOS ที่สร้างไว้แล้ว และคิดว่า "โอเค เราอยากแชร์ตรรกะบางอย่างระหว่าง Android กับ iOS

  • เรามีโมเดล มีการเปลี่ยนแปลง มีคณิตศาสตร์ที่ซับซ้อน

  • การแชร์จึงเป็นเรื่องที่สมเหตุสมผล"

  • เราจึงคิดว่า "C++ หรือ Objective-C ของ Apple น่าจะเหมาะ"

  • ปรากฏว่า Kotlin Multiplatform ไม่เพียงแต่ช่วยให้วิศวกร iOS ของเราติดตั้งใช้งานได้ง่ายขึ้นเท่านั้น แต่ยังทำงานได้เร็วขึ้นด้วย

  • ดังนั้นเราจึงไม่เพียงแต่ได้ประสิทธิภาพที่ดีขึ้นจากการใช้ Kotlin และสามารถคัดลอกโค้ด Android จำนวนมากได้เท่านั้น แต่ยังช่วยให้ iOS ทำงานได้ง่ายขึ้นในระยะยาวด้วย

  • ดังนั้นหากคุณต้องการแชร์โค้ด เราขอแนะนำให้ลองดู Kotlin Multiplatform

  • ขณะนี้เรายังอยู่ระหว่างการประเมิน

  • อย่างที่ทราบกันดีว่ายังไม่มีการรองรับแบบ 100% หรืออะไรทำนองนั้น เนื่องจากโมเดล AI ต่างๆ ช่วยให้โกงได้ง่ายขึ้นเล็กน้อยในตอนนี้ด้วยการมีโค้ดอยู่ในหลายๆ ที่ แต่เราก็ยังคงตรวจสอบเรื่องนี้อย่างจริงจังและให้ความสำคัญอย่างมาก

  • เอาล่ะ ตอนนี้มาดูฟีเจอร์พิเศษจาก Notability กันบ้าง

  • สิ่งหนึ่งที่คุณอาจสังเกตเห็นหากเคยพยายามสร้างเครื่องมือแก้ไขข้อความที่ใช้งานได้บน Android คือตอนนี้ยังไม่มีวิธีที่ดีในการสร้างเครื่องมือแก้ไขข้อความสำหรับเอกสารขนาดใหญ่

  • ช่องป้อนข้อมูลการแก้ไขพื้นฐานของ Android จะเป็น UI ขนาดเล็ก, EditText ขนาดเล็ก และสิ่งต่างๆ ในรูปแบบสั้นๆ

  • สิ่งที่เราต้องสร้างขึ้นมาคือระบบที่ซับซ้อนมาก ซึ่งโดยพื้นฐานแล้วจะทำงานอยู่บน Android API ที่มีอยู่ แต่จะสามารถจัดการเอกสารขนาดใหญ่กว่ามากได้ เช่น ข้อความหลายพันหน้าพร้อมกัน ซึ่งสามารถแก้ไขร่วมกันได้ ดังนั้นคุณจึงสามารถมีผู้ใช้ที่อื่นแก้ไขเอกสารที่อยู่ห่างจากคุณ 500 หน้า ซึ่งทำให้เกิดการเปลี่ยนแปลงที่ส่งผลต่องานของคุณในขณะที่กำลังทำอยู่

  • และวิธีที่เราพบว่าทำได้ก็คือการกดแป้นพิมพ์ของเราจะใช้ 2 เส้นทาง

  • ดังนั้นเส้นทางแรกคือ เราพยายามอย่างเต็มที่แล้ว คีย์นี้ควรปรากฏที่นี่

  • เราคิดว่านี่เป็นเรื่องดี โดยพิจารณาจากทุกสิ่งที่เราบอกได้ในตอนนี้เกี่ยวกับลักษณะของทุกอย่างที่อยู่เบื้องหลัง

  • จากนั้นเราก็ซิงค์ข้อมูลกันอย่างรวดเร็วใช่ไหม

  • เราจะไปที่แบ็กเอนด์ ตรวจสอบผู้ร่วมงาน และถามว่า "ทุกอย่างเรียบร้อยดีไหม

  • คุณเข้าใจไหม

  • เราโอเคไหม"

  • และหากต้องมีการเปลี่ยนแปลง ระบบจะปรับเปลี่ยนใหม่ ณ จุดนั้น

  • คุณคงนึกภาพออกว่าหากผู้ใช้ 2 คนใช้สายเดียวกันและกดปุ่มพร้อมกัน ระบบจะสับสนเล็กน้อยว่าใครเป็นผู้กดปุ่มใด

  • แต่โดยส่วนใหญ่แล้ว วิธีนี้ได้ผลดีมาก

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

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

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

  • โอเค แล้วนี่คือวิธีการทำงานของหมึก

  • ดังนั้นในแง่ของโมเดลการทำงานร่วมกัน นี่เป็นข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการทำงานโดยตรงในฝั่งของเรา

  • คุณจะเห็นว่ามี 3 ขั้นตอน

  • มีเหตุการณ์ Touchdown ซึ่งเราจะบอกว่า "เรากำลังเริ่มเหตุการณ์หมึก" กับอุปกรณ์ที่เชื่อมต่อ ซึ่งในกรณีนี้คือ iPad

  • จากนั้นก็จะเป็นการวาดจริง ซึ่งอาจมีตั้งแต่ 1 ถึงหลายล้านครั้ง ขึ้นอยู่กับระยะเวลาที่ผู้ใช้หมุนปากกาบนอุปกรณ์

  • หวังว่าจะไม่นานเกินไปนะ

  • เราคิดว่ามีขีดจำกัดอยู่บ้าง แต่สำหรับการใช้งานปกติก็ถือว่าดีมาก

  • และยังมีกิจกรรม Lift-Up ด้วย

  • ดังนั้นวิธีที่เราจัดการเรื่องนี้คือเรามีออบเจ็กต์ชั่วคราวที่เก็บไว้ในโมเดล

  • ซึ่งหมายความว่าใน iPad เราจะบอกว่า "โอเค มีการลากเส้นเข้ามา แต่ยังไม่ถึง

  • เราโต้ตอบกับองค์ประกอบดังกล่าวไม่ได้

  • มันเป็นเรื่องชั่วคราว"

  • และเมื่อเหตุการณ์สิ้นสุดนั้นเริ่มขึ้น เราจึงจะเข้าไปและพูดว่า "โอเค เยี่ยมเลย

  • ตอนนี้เราแทนที่ทั้งหมดด้วยออบเจ็กต์เดียวที่ iOS หรือไคลเอ็นต์อื่นๆ สามารถดึงข้อมูลและโต้ตอบได้"

  • และนี่ก็เป็นสิ่งที่เรากำลังพิจารณาที่จะเปิดให้เป็นโอเพนซอร์สด้วย

  • นี่ไม่ใช่การเขียนด้วยหมึกโดยตรงของเรา แต่เป็นข้อมูลชั่วคราวบางอย่าง โดยเฉพาะในเลเยอร์ข้อความ

  • เยี่ยมมาก

  • แล้วก็ใช่เลย

  • ดังนั้น เราขอแนะนำให้ใช้สิ่งอื่นๆ ต่อไปนี้

  • AI ในอุปกรณ์นั้นยอดเยี่ยมมาก

  • เราใช้โมเดลนี้สำหรับการสแกนเอกสาร คุณจึงสแกนเอกสาร วิเคราะห์ข้อความ PDF และใช้การจดจำลายมือได้

  • นอกจากนี้ เรายังใช้โมเดล AI แบบเปิดบนระบบคลาวด์อย่าง Gemini เพื่อช่วยสร้าง Smart Notes ด้วย โดยระบบจะจัดหมวดหมู่ สรุป และส่งโน้ตของผู้ใช้กลับไปให้ผู้ใช้ในรูปแบบที่ดีขึ้นและโต้ตอบได้มากขึ้นสำหรับโมเดลการเรียนรู้

  • และทั้งหมดนี้รวมกันทำให้ Notability ให้ความรู้สึกเหมือนเป็นแอปพลิเคชันบนแล็ปท็อปเลยใช่ไหม

  • นั่นคือเป้าหมายสูงสุด

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

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

  • แต่ตามที่ฉันได้กล่าวไปก่อนหน้านี้ Jetpack Compose, Navigation 3, Material Design ทั้งหมดนี้ครอบคลุมเรื่องนี้

  • ดังนั้นจึงไม่ใช่เรื่องยากหากคุณทำอย่างถูกต้อง

  • การเดินทางมาที่นี่ค่อนข้างง่าย

  • ประมาณนั้น

  • และนี่คือสรุปประเด็นสำคัญ

  • เมื่อคุณนึกถึง Android ในอนาคต คุณจะไม่นึกถึงอุปกรณ์อีกต่อไป

  • ผมจะไม่คิดว่านี่คือโทรศัพท์ นี่คืออุปกรณ์แบบพับได้ นี่คืออุปกรณ์ XR นี่คือเดสก์ท็อปหรือแล็ปท็อป หรือแท็บเล็ต หรือรถยนต์ หรือทีวี

  • แต่เป็นการถามว่าหน้าจอมีขนาดเท่าใด และผู้ใช้มีโมดัลอินพุตใดบ้าง

  • และมามอบประสบการณ์การใช้งานที่ดีที่สุดเท่าที่จะเป็นไปได้ให้แก่ผู้ที่ก้าวไปข้างหน้ากัน

  • อย่างที่ฉันได้กล่าวไปก่อนหน้านี้ในสไลด์ที่แล้ว Compose และ Nav 3 ช่วยให้รองรับสิ่งต่างๆ เหล่านั้นได้ง่ายขึ้นมาก

  • และ Google ก็เปิดตัว API ใหม่ๆ ที่มีประสิทธิภาพสูงทุกวัน เช่น Jetpack Ink หรือ Gemini ในอุปกรณ์ หรือสิ่งต่างๆ ทุกประเภทที่ช่วยให้คุณสร้างประสบการณ์หลักได้ง่ายๆ แล้วมุ่งเน้นไปที่สูตรลับที่ทำให้คุณไม่เหมือนใคร

  • ตกลง

  • ประมาณนี้

  • ขอบคุณมากครับ

  • นี่คือสิ่งที่ฉันจะพูดในวันนี้

  • เราพร้อมตอบคำถามของคุณในภายหลัง หรือคุณจะติดต่อ Notability ก็ได้

  • แอปนี้เพิ่งเปิดตัวใน Android เมื่อประมาณ 2 เดือนที่ผ่านมา

  • ในที่สุดเราก็ออกจากเวอร์ชันเบต้าแล้ว

  • ดังนั้น คุณลองใช้ได้เลย

  • แสดงความคิดเห็น

  • และยังมีให้บริการที่ Google Books ในกระบวนการสาธิตด้านหลังคุณด้วย

  • และตอนนี้ฉันขอส่งต่อให้ Joe จาก Logitech ดำเนินการต่อ

  • ขอขอบคุณ

การนำ Logitech Options+ มาใช้กับ Googlebook

  • โอเค

  • ขอบคุณ คุณ Ryan

  • วันนี้ ขอโทษด้วย

  • มาดูสไลด์กันเลย

  • ขอบคุณ คุณ Ryan

  • และวันนี้ผมจะมาแชร์วิธีที่เรานำ Options+ ซึ่งเป็นแอปปรับแต่งอุปกรณ์ต่อพ่วงมาใช้กับ Chromebook

  • และประสบการณ์การใช้งานอุปกรณ์ต่อพ่วงหมายความว่าอย่างไร

  • เราจะพูดถึงสิ่งที่เราสร้างขึ้น ไฮไลต์ด้านวิศวกรรมเบื้องหลังบางส่วน และสิ่งที่เราจะทำต่อไป

  • อุปกรณ์ Logitech ใช้ได้กับ Android ในอดีต และผู้ใช้ส่วนใหญ่พบว่าอุปกรณ์ต่อพ่วงช่วยปรับปรุงการช่วยเหลือพิเศษ โดยเฉพาะอย่างยิ่งกับแล็ปท็อประดับพรีเมียมและโทรศัพท์ที่วางอยู่บนแท่นชาร์จซึ่งเชื่อมต่อกับจอภาพภายนอก

  • พูดถึงเรื่องนี้ ก่อนหน้านี้ที่ชั้นล่าง ผมเห็นที่บูธสาธิต Googlebook พวกเขาต่อเกียร์ Sequential สำหรับเล่นเกมของ Logitech เข้ากับโต๊ะ และใช้เกียร์นั้นเพื่อเปลี่ยนหน้าจอต่างๆ บนแท็บเล็ต

  • จัดให้เลย

  • นั่นเป็นวิธีหนึ่งในการใช้ฟีเจอร์นี้

  • Ferrari ต้องคิดเงินเพิ่มอีก 50,000 ยูโรสำหรับเกียร์ซีเควนเชียล ช่างเถอะ

  • ใช่

  • ดังนั้นใน Googlebook อย่างที่ Ryan ได้พูดถึงอย่างครอบคลุมว่าเรามีพื้นที่ให้ทำงานมากขึ้น

  • อย่างที่เห็น คุณสามารถปรับขนาดหน้าจอเป็นแนวนอน แนวตั้ง หรือสี่เหลี่ยมจัตุรัสได้ตามต้องการ และมีพื้นที่ในการทำงานระหว่างแอปต่างๆ มากขึ้น

  • คุณสามารถทำงานต่อได้ ไม่ว่าจะเป็นแอปต่างๆ และคุณก็รู้ว่าการเปลี่ยนบริบท และสิ่งต่างๆ เหล่านั้น

  • ซึ่งทำให้การออกแบบแอปเปลี่ยนไปอย่างแน่นอน และเลย์เอาต์ต้องคงความมีประโยชน์ตลอดกระบวนการทั้งหมด

  • สำหรับ Logitech แล้ว เรื่องนี้ดูน่าสนใจเป็นพิเศษเพราะเราเป็นบริษัทที่มีประสบการณ์มากมายเกี่ยวกับอุปกรณ์ต่อพ่วงใช่ไหม

  • เรามีรากฐานที่แข็งแกร่งมากสำหรับงานนี้

  • ดังนั้นในมุมมองของเรา สำหรับสภาพแวดล้อมการทำงานประเภทนั้น เมาส์หรือแป้นพิมพ์คือวิธีที่ผู้ใช้โต้ตอบตลอดทั้งวันทำงาน

  • ซึ่งช่วยให้ผู้ใช้เข้าสู่เวิร์กโฟลว์การทำงานได้อย่างราบรื่น

  • และเราคิดว่าไม่เกินจริงเลยที่จะบอกว่า Logitech นำประสบการณ์หลายทศวรรษมาใช้ในงานนี้

  • ฉันคิดว่าเราเพิ่งฉลองครบรอบ 45 ปีไปเมื่อต้นเดือนนี้

  • และเราก็คิดว่าตั้งแต่สร้างเมาส์ตั้งแต่วันที่ 2 ปีที่ 2 ของ Logitech

  • ด้วยประสบการณ์ดังกล่าว เราจึงมั่นใจอย่างยิ่งที่จะเข้าสู่แวดวงนี้

  • ยิ่งไปกว่านั้น เรายังมีประวัติอันยอดเยี่ยมกับ ChromeOS

  • ที่ผ่านมา เรารับประกันความเข้ากันได้ระดับสูงสุดกับ ChromeOS

  • จากที่กล่าวมาทั้งหมดนี้ เรามีประสบการณ์ที่ดีมากในการนำไปใช้จริงเพื่อทลายขอบเขตระหว่างฮาร์ดแวร์ที่เราสร้าง ซอฟต์แวร์ที่เราสร้างขึ้น และแพลตฟอร์ม ระบบปฏิบัติการ และ Googlebooks

  • ตัวอย่างเช่น ผู้ใช้กดปุ่มและเห็นผลลัพธ์ที่คาดเดาได้

  • มันเกือบจะเหมือนกับสิ่งที่พวกคุณทุกคนมองข้ามไป

  • แต่จริงๆ แล้วต้องใช้ความเข้ากันได้ของคอมโพเนนต์ที่ราบรื่น

  • นอกจากนี้ ทุกคนยังชอบความเข้ากันได้กับอุปกรณ์ต่อพ่วงของตนเอง

  • เช่น การปรับความไวให้เหมาะสม

  • 65 ไม่มากไปกว่านี้และไม่น้อยไปกว่านี้

  • ดังนั้น สิ่งเหล่านี้จึงต้องมีการผสานรวมความเข้ากันได้ที่ราบรื่นและมีประสิทธิภาพระหว่างทั้ง 3 สิ่งนี้

  • ตอนนี้เราเปิดตัว Googlebooks แล้ว เราจึงจัดส่ง Options+ สำหรับ Googlebooks ด้วย

  • ดังนั้น ณ ขณะนี้ เรารองรับเมาส์และแป้นพิมพ์หลากหลายรุ่น และจะมีรุ่นอื่นๆ เพิ่มเติมในอนาคต

  • และยังเป็นที่ที่เราอนุญาตให้ผู้ใช้กำหนดค่าอุปกรณ์ของตนด้วย

  • และอย่างที่ผมได้พูดไปก่อนหน้านี้ เช่น ความอ่อนไหว และเรื่องอื่นๆ ทั้งหมด

  • ทีนี้มาดูฉากที่น่าสนใจกัน

  • เมื่อพูดถึงความสามารถในการกำหนดค่า เรากำลังพูดถึง 2 ด้านด้วยกัน

  • ด้านหนึ่งคือด้านฮาร์ดแวร์และเฟิร์มแวร์ ซึ่งเป็นส่วนที่ใช้ฟีเจอร์ต่างๆ ในเฟิร์มแวร์ของเรา

  • อีกด้านหนึ่งซึ่งเป็นประเด็นสำคัญของการสาธิตและงานนำเสนอนี้คือด้านระบบปฏิบัติการ

  • ผมคิดว่าทุกคนที่นี่ทราบดีว่าในอดีต อุปกรณ์ Android และแอปส่วนใหญ่จะอยู่ในแซนด์บ็อกซ์และพื้นที่ผู้ใช้ของตนเอง

  • มีข้อจำกัดบางอย่างเกี่ยวกับสิ่งที่คุณทำได้ และในหลายกรณี สิ่งที่คุณทำไม่ได้และสิ่งที่คุณต้องการ

  • สำหรับเราแล้ว เรื่องนี้สำคัญมาก

  • นี่คือภาพหน้าจอ เราจะมีการสาธิตในภายหลัง แต่ตอนนี้ดูภาพหน้าจอนี้ไปก่อน

  • เรามีเมาส์ MX Master 4 อยู่ตรงนี้ และมีฟังก์ชันมากมาย

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

  • และบางคนก็ไม่เห็นด้วยอย่างแน่นอน

  • และสิ่งที่เรากำลังทำคือพยายามให้ผู้ใช้สามารถกำหนดค่าทั้ง 2 ด้านได้

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

  • ตอนนี้เรามาดูการสาธิตสั้นๆ กัน

  • โอ้ การสาธิตนี้น่าประทับใจมาก

  • แต่ครั้งหน้า Ryan ใช้เมาส์นะ

การสาธิตแบบสดของ Options+

  • เอาล่ะ มาเริ่มกันเลย

  • หน้าจออุปกรณ์ของฉันมีดังนี้

  • คุณจะเห็นว่าฉันมีเมาส์ MX Master 4 ที่เชื่อมต่ออยู่ ซึ่งก็คือตัวนี้

  • มาเริ่มกันเลย

  • เราจะไปที่หน้าจอการกำหนดค่าโดยตรงอย่างที่คุณเห็นก่อนหน้านี้ และนี่คือจุดที่ความมหัศจรรย์เกิดขึ้น

  • ตอนนี้เรามาเลือกฟีเจอร์วงเพื่อค้นหาสำหรับปุ่มนิ้วโป้งกันก่อน

  • จากนั้นให้ใส่ Magic Pointer ลงในปุ่มฟีเจอร์

  • มาเริ่มกันเลย

  • มาเปิดเบราว์เซอร์กัน

  • ดูได้ที่นี่

  • ในที่นี้ ฉันกดปุ่มนิ้วโป้งซึ่งเพิ่งกำหนดให้เป็นฟีเจอร์วงเพื่อค้นหา

  • อย่างที่เห็น ฉันวงกลมแป้นพิมพ์

  • เท่านี้ก็เรียบร้อย

  • Google เพียงแค่แสดงข้อมูลเกี่ยวกับแป้นพิมพ์นี้

  • ซึ่งมีประโยชน์และราบรื่นมาก

  • คราวนี้มาลองทำอะไรที่แตกต่างออกไปกันบ้าง

  • อ๋อ ขอโทษที

  • ขอย้อนกลับไปก่อน

  • มาลองใช้ Magic Pointer กัน

  • มาสลับตัวเลือกนี้กัน

  • และฉันสามารถกดปุ่มฟีเจอร์ ติดแท็กนี้ แล้วกด "อุปกรณ์นี้คืออะไร"

  • และนี่คือผลลัพธ์

  • Google จะเริ่มทำการค้นหาและแสดงผลลัพธ์

  • ข้อดีของฟีเจอร์นี้คือคุณสามารถผสานรวมเวิร์กโฟลว์ทั้งหมดเข้ากับการใช้งานด้วยมือเดียว

  • คุณกำหนดฟีเจอร์ไว้ล่วงหน้า จากนั้นก็กด วงกลม คลิก แล้วก็เสร็จ

  • ดังนั้น เราเชื่อว่าการดำเนินการประเภทนี้จะช่วยเพิ่มและปรับปรุงการช่วยเหลือพิเศษของผู้ใช้และวิธีการทำงานของผู้ใช้ได้อย่างมาก

  • ตอนนี้เรากลับไปที่สไลด์กัน

ภาพรวม API การปรับแต่งอุปกรณ์ต่อพ่วง

  • คุณจึงอาจถามว่าอะไรทำให้เกิดสิ่งนั้นขึ้น

  • เพราะในอดีตมีหลายสิ่งหลายอย่างที่แอปทำไม่ได้

  • และนี่คือ Peripheral Customization API ซึ่งพร้อมใช้งานทั้งใน Googlebooks และอุปกรณ์ Android

  • อย่างไรก็ตาม โปรดดูหมายเหตุจาก Google ด้านล่าง

  • ขณะนี้ API นี้อยู่หลังรายการที่อนุญาต

  • แต่เราวางแผนที่จะเปิดตัวพร้อมกับการอัปเดต Android ในไตรมาสที่ 4 ปี 2026 ซึ่งก็คือไตรมาสนี้

  • ดังนั้นเมื่อเปิดตัวแล้ว ผมคิดว่านักพัฒนาซอฟต์แวร์ทั่วโลกจะสามารถใช้โมเดลนี้ได้

  • ทีนี้มาดูด้านเทคนิคกันสักเล็กน้อย

  • ทั้งหมดนี้มีองค์ประกอบหลัก 3 อย่าง ได้แก่ อุปกรณ์ ซึ่งเข้าใจได้ ทริกเกอร์ ซึ่งอาจเป็นคีย์หรือปุ่มที่ต้องการ และการดำเนินการ ซึ่งอยู่ที่ฝั่งระบบปฏิบัติการของแอป

  • ตอนนี้เรามาดูข้อมูลโค้ดนี้กันอย่างรวดเร็ว

  • และที่ด้านบนสุด เราจะกำหนดอุปกรณ์โดยใช้รหัสผู้ให้บริการและรหัสสินค้า

    // Vendor and product Information
    const val VENDOR_ID = 1234
    val pid = 123
    
    // Use the mouse Middle Button as the trigger
    val trigger = ButtonCustomizationTrigger(MotionEvent.BUTTON_TERTIARY)
    
    // Set Voice Assistant as the action
    val actionBuilder = AppCustomizationAction.Builder(component, ACTION_MAIN)
    actionBuilder.setData(ActionId.ACTION_VOICE_ASSIST.actionId) // Action IDs are predefined
    val action = actionBuilder.build()
    
    val im = context.getSystemService(INPUT_SERVICE) as InputManager
    im.addPeripheralCustomization(VENDOR_ID, pid, trigger, action)
  • ซึ่งเรามักจะเรียกว่า VID และ PID

  • เมื่อเลื่อนลงมา เราจะเริ่มกำหนดทริกเกอร์

  • และในที่นี้ คุณจะเห็นว่าเราต้องการใช้ปุ่มกลางเป็นทริกเกอร์

  • และในส่วนนี้ เราต้องการแมปปุ่มกลางนั้นกับส่วน Voice Assistant ของฟีเจอร์ระบบปฏิบัติการ

  • ถูกต้องไหม

  • เรามี actionBuilder อยู่ตรงนี้จาก AppCustomizationAction และตรงนี้

  • จากนั้นเลื่อนลงมาด้านล่าง เราจะลงทะเบียนการแมประหว่างผลิตภัณฑ์ อุปกรณ์ ทริกเกอร์ และการดำเนินการ

  • และแน่นอนว่าโค้ดจริงจะซับซ้อนกว่านั้นเล็กน้อย แต่แนวคิดโดยรวมก็เป็นเช่นนี้

  • ใช้งานง่ายและไม่ซับซ้อน

  • และนี่คืออีกหนึ่งฟีเจอร์ที่น่าสนใจและเจ๋งมากๆ

  • ฉันใส่ไฟล์ GIF ไว้ที่นี่เพื่อให้ทุกคนเห็นได้ง่ายขึ้น

  • โดยพื้นฐานแล้ว เมื่ออุปกรณ์ที่เข้ากันได้และรองรับ ซึ่งในกรณีนี้คือเมาส์ Logitech Mobifold ระบบปฏิบัติการจะทริกเกอร์การแจ้งเตือนมาตรฐานเพื่อแจ้งให้คุณทราบว่า "คุณมีแอปสำหรับอุปกรณ์นั้น"

  • แจ้งให้ผู้ใช้ทราบ

  • เมื่อคลิกแล้ว ระบบจะนำคุณไปยัง Play Store และคุณจะติดตั้งได้ทันที

  • ซึ่งเรียกว่าการค้นพบการจับคู่ด่วน

  • สุดท้ายนี้ เรามาดูฝั่ง UI กัน

  • Ryan ได้พูดถึงสิ่งดีๆ มากมายเกี่ยวกับ Googlebook และวิธีที่คุณใช้ UI ดังนั้นฉันจะพูดถึงเรื่องนี้อย่างรวดเร็ว

  • คุณจะเห็นว่า Options+ ทำงานได้จากแพลตฟอร์มต่างๆ ซึ่งในกรณีของเราคือ Windows, Mac และตอนนี้ก็มี Chromebook ด้วย

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

  • นั่นหมายความว่าเราต้องการใช้ประโยชน์จากแพลตฟอร์มนั้นๆ แต่ในขณะเดียวกันก็ใช้ภาษาออกแบบเดียวกัน

  • ดังนั้น ภาษาออกแบบจึงมีความสอดคล้องกันในทุกส่วนอย่างที่คุณเห็น

  • และอย่างที่เราได้พูดคุยกันไปก่อนหน้านี้ ผู้ใช้ Googlebook ของ Google มักจะใช้ Googlebook ในลักษณะที่คล้ายกับแล็ปท็อป/เดสก์ท็อปมากกว่า

  • แน่นอนว่าแอปของเราเอง แม้จะอยู่บน Googlebook ก็ดูเหมือนแอปบนเดสก์ท็อป

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

แผนกลยุทธ์ในอนาคตและบทสรุป

  • เอาล่ะ นั่นเป็นเรื่องราวสั้นๆ และเป็นเรื่องราวเวอร์ชันค่อนข้างสั้นเกี่ยวกับอุปกรณ์ต่อพ่วง Logitech และ Options+ ใน Googlebook

  • ซึ่งก็ใช้ได้ผลดี

  • อย่างไรก็ตาม เราเพิ่งเริ่มต้นเท่านั้น

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

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

  • ดังนั้นเป้าหมายสูงสุดของเราคือการทำให้การปรับแต่งอุปกรณ์ต่อพ่วงเป็นประสบการณ์การใช้งาน Googlebook ที่เป็นธรรมชาติอย่างยิ่ง และช่วยให้ผู้คนทำงานได้ในแบบที่ต้องการ

  • โอเค

  • อย่าลืมแวะไปที่บูธของเราที่ชั้นล่างและลองใช้ Options+ และอุปกรณ์ Logitech ที่ยอดเยี่ยมด้วยตัวคุณเอง

  • และขอขอบคุณ Google ที่เป็นพาร์ทเนอร์กับเรา และขอขอบคุณทุกคนที่สละเวลา

  • ขอบคุณมากครับ

รหัส

ข้อมูลโค้ด

ข้อมูลโค้ด Kotlin ที่ 26:16 ใน "ภาพรวม API การปรับแต่งอุปกรณ์ต่อพ่วง"
// Vendor and product Information
const val VENDOR_ID = 1234
val pid = 123

// Use the mouse Middle Button as the trigger
val trigger = ButtonCustomizationTrigger(MotionEvent.BUTTON_TERTIARY)

// Set Voice Assistant as the action
val actionBuilder = AppCustomizationAction.Builder(component, ACTION_MAIN)
actionBuilder.setData(ActionId.ACTION_VOICE_ASSIST.actionId) // Action IDs are predefined
val action = actionBuilder.build()

val im = context.getSystemService(INPUT_SERVICE) as InputManager
im.addPeripheralCustomization(VENDOR_ID, pid, trigger, action)