Uygulama temeli

Notability ve Logitech ile Googlebook'ta ilk dalganın içinde

Hoparlörler

  • Emilie Roberts

    Geliştirici İlişkileri Mühendisi

  • Ryan Shea

    Android Başkanı

  • Joe Yezhou Wang

    Logitech'te mühendislik yöneticisi

Hakkında

Konuşma hakkında

Googlebook'un kullanıma sunulması, yüksek kaliteli, masaüstü düzeyinde deneyimler için yeni bir sayfa açıyor. Bu oturumda, bu platform için sıfırdan uygulama geliştiren iki öncü iş ortağının kamera arkası deneyimlerini dinleyeceğiz.

Notability, Jetpack Compose kullanarak masaüstü sınıfı bir Android uygulaması oluşturma yolculuğunu paylaşacak. Masaüstü odaklı diğer uygulama platformlarından geçiş sürecini öğrenin. İkinci olarak Logitech, donanım tarafına değinecek ve Googlebook ile sorunsuz bir şekilde entegre olacak çevre birimlerini nasıl oluşturup özelleştirdiklerini anlatacak. Girişleri optimize etme, büyük ekran API'lerinden yararlanma ve donanım ile yazılım genelinde üst düzey, tutarlı bir kullanıcı deneyimi sunma hakkında pratik ve gerçek hayattan bilgiler edinmek için oturuma katılın.

Özet

  • Jetpack Compose ve Navigation 3, düzenleri cihaz form faktörleri yerine mevcut pencere boyutuna göre cihazlar arasında uyarlamayı kolaylaştırır.
  • Masaüstü sınıfı deneyimler için klavye ve dokunmatik yüzey gibi çoklu giriş modellerinin desteklenmesi gerekir. Android 17'deki "Devam et" gibi özellikler, kullanıcıların görevleri cihazlar arasında aktarmasına da olanak tanır.
  • Jetpack Ink, geliştiricilere özel oluşturma iş parçacıklarını veya karmaşık katman aktarımlarını yönetmek zorunda kalmadan düşük gecikmeli bir çizim ardışık düzeni sunar.
  • İzin verilenler listesindeki Çevre Birimi Özelleştirme API'si, geliştiricilerin tedarikçi ve ürün kimliklerini kullanarak çevre birimi donanım tetikleyicilerini OS işlemleriyle eşlemesine olanak tanır.

Gemini Notebook

Konular

  • googlebook
  • jetpack-compose
  • jetpack-ink
  • navigation-3
  • büyük ekranlar
  • peripheral-customization
  • kotlin-multiplatform

Transkript

Googlebook için uygulama geliştirmeye giriş

  • Merhaba, ben Emilie Roberts. Yaklaşık dokuz yıldır dizüstü bilgisayarlarda Android uygulamalarıyla çalışan bir geliştirici destekçisiyim.

  • Googlebook lansmanı yapıldı.

  • Yaşasın!

  • Dizüstü bilgisayar alanına getirdiğimiz yenilikler bence çok heyecan verici.

  • Uygulamalarının Googlebook'ta harika görünmesi için gerçekten yatırım yapan iki geliştiriciyle burada sahnede olmaktan çok mutluyum.

  • Merhaba,

  • Ben Notability'den Ryan.

  • Ben Android yöneticisiyim. Android'de yeni kullanıma sunduğumuz bir dijital not defteri uygulaması.

  • Ayrıca iOS, masaüstü ve artık Google Kitaplar'da da kullanılabilir.

  • Merhaba.

  • Ben Logitech'ten Joe. Harika donanımlarımız ve çevre birimlerimizle tanınırız.

  • Ayrıca bu oyunları yeni platformlara nasıl taşıdığımızdan bahsedeceğim.

Büyük ekranlar için Android uygulamaları tasarlama

  • Onları devireceğim.

  • Googlebooks da bu şekilde ortaya çıktı.

  • Yaşasın!

  • Yaşasın!

  • Yaşasın!

  • Umarım bunları kendi başınıza test etme veya demo standında bir üst ya da bir alt kata çıkma fırsatınız olmuştur.

  • Uygulamanızın bu cihazlarda nasıl göründüğünü kontrol etmeyi de unutmayın.

  • Her zamanki gibi Android ekosisteminin büyüdüğünü söyleyeceğim.

  • Bunu dokuz yıldır söylüyorum ve hâlâ geçerli.

  • Uygulamaların da tüm bu ekran boyutları ve cihazlarda kullanıcılarınızın ihtiyaçlarını karşılayacak şekilde gelişmesi gerekiyor.

  • İyi performans gösteren ve düzgün çalışan bir uygulama düzenine sahip olmak artık standart bir uygulamadır.

  • Bunu yapmanın en iyi yolu Jetpack Compose ve Navigation 3'ü kullanmaktır.

  • Giriş de aynı şeydir.

  • Bu işlem sorunsuz bir şekilde tamamlanacaktır.

  • Uygulamalarınızın mimarisi ve durum yönetimi de elbette düzen ve girişlerin bir parçasıdır.

  • ADS'de en yeni araçlar ve en iyi uygulamalarla bunu nasıl yapacağınız hakkında birçok konuşma var.

  • Ancak bugün, Googlebook için en başından beri uygulama geliştiren geliştiricilere biraz yer ayırmanın ve hikayelerini dinlemenin harika bir fırsat olacağını düşündük.

  • Notability, Googlebook için sıfırdan oluşturulmuş, gelişmiş bir not alma uygulamasıdır.

  • Logitech, klavye, fare ve diğer çevre birimlerinin Googlebook'larda çalışmasını sağlamakla kalmadı, kullanıcı özelleştirmesi de dahil olmak üzere mükemmel bir şekilde çalışmasını sağladı.

  • Sözünü kestiğim için kusura bakma Joe, ayrıntılara gireceğiz.

  • Bu benim için yeterli.

  • Bu sefer rap yapamayacağım, kusura bakma.

  • Ve kesinlikle doğaçlama yapmayın.

  • Notability'nin Google Kitaplar'da yer almasından çok memnunuz. Şimdi sözü Ryan'a bırakıyorum.

  • Teşekkürler.

Notability'yi Android'e taşıma

  • Müthiş.

  • Çok teşekkürler Em.

  • Google Kitaplar'da yer aldığımız için çok heyecanlıyız.

  • Notability, milyonlarca öğrencinin ders çalıştığı ve profesyonellerin not aldığı bir platformdur.

  • Daha önce de belirttiğim gibi, bu özellik artık Android'de kullanılabilir. Bu özelliği nasıl geliştirdiğimizden ve Android için doğru şekilde geliştirmenin, Google Kitaplar için en uygun şekilde geliştirmeye nasıl çok yakın olduğundan kısaca bahsedeceğim.

  • Yaklaşık iki yıl önce bu projeye başladığımızda, iOS uygulamamızı olduğu gibi taşıyıp kullanıcılara sunmakla yetinmek istemedik.

  • Kullanıcı beklentilerine gerçekten uygun olan ancak yine de tam özellik eşitliği sunan bir şey istiyorduk.

  • Bunu başarmak için Materyal Tasarım'ı ve bileşenleri kullanarak tüm ekranları baştan aşağı özelleştirdik.

  • Ayrıca Jetpack Compose'u da kullandık.

  • Tamamen Jetpack Compose üzerinde yerel bir Android uygulaması olması, yalnızca küçük telefonlar ve alt segment cihazlar gibi değil, aynı zamanda büyük ekranlı üst segment, güçlü tabletler, bilgisayarlar, XR, arabalar ve diğer her şey gibi tüm donanımları destekleyebilmemizi sağlıyor.

  • Jetpack Compose, kullanıcı arayüzlerinde çok sayıda ek özellik oluşturmak zorunda kalmadan bu özellikleri yerel olarak desteklemeyi çok kolaylaştırır.

  • Notability'ye geçelim.

  • Notability'deki her şey Jetpack Compose üzerine inşa edilmiştir.

  • Kullanıcı arayüzü platform genelinde tutarlıdır ve temelde bir kez oluşturulur. Telefonda gösterilenler ile tablet ve Googlebook gibi daha büyük cihazlarda gösterilenler arasında gerçek bir fark yoktur.

  • Bunu yapmak için Navigasyon 3 bizim için çok önemli bir gelişme.

  • Notability'de yerleşik olarak bulunan Google'da Navigation 3, ekran boyutuna göre düzeni özelleştirebilir. Bu sayede, özelliğin nasıl sunulacağı konusunda endişelenmenize gerek kalmaz.

  • Bu demoda, yan panelin açılması için yer varsa açılacağını görebilirsiniz.

  • Ancak bu mümkün değilse alt sayfa olarak açılır.

  • Peki, bu kodda nasıl görünür?

  • Buradaki kodda, yan taraftaki özet paneli için bir giriş noktası olduğunu ve bunu eski yığına eklediğimizi görebilirsiniz.

  • Ardından, özel sahne stratejimiz, boşluk olup olmamasına bağlı olarak bu yan panel için bir düzen seçer.

  • Dolayısıyla, tablet veya Googlebook cihazlarda kullanılabilir alan bulur, yer açar ve paneli sağ taraftan kaydırarak ekler.

  • Ancak telefon veya katlanabilir cihaz gibi bir cihazda bu paneli düzgün bir şekilde gösterecek kadar yer olmayabilir. Bu nedenle, panel alt sayfa olarak açılır.

  • Notability, cihazın türüne (telefon, Googlebook, tablet, katlanabilir cihaz vb.) değil, pencerenin boyutuna uyum sağladığı için kullanıcı arayüzümüzün kullanıcıların ihtiyaçlarına otomatik olarak uyum sağlaması çok kolay.

  • Burada, telefondaki tüm düğmelerin ve araçların başparmağın kolayca erişebileceği şekilde yeniden konumlandırıldığını görebilirsiniz.

  • Tabletlerde, daha fazla alan ve etkileşim kurabileceğiniz daha kolay ekranlar olduğu için gezinme panelleri tüm ana içeriğin yanında gösterilir.

  • Katlanabilir cihazlarda, katlama özelliğinden yararlanarak benzersiz düzenler ve kullanıcı arayüzleri sunuyoruz. Örneğin, çalışma testinde kullanıcılar yanıtlarını alt yarıda, testin ilerleme durumunu ise üst yarıda görebilir.

  • Son olarak, Google Kitaplar'da pencereyi sorunsuz bir şekilde yeniden boyutlandırabiliyoruz.

  • Masaüstündeki diğer normal pencereli uygulamalarda olduğu gibi Notability, pencereyi yan yana kullanım ihtiyaçlarınıza göre yeniden boyutlandırdığınızda uyum sağlar.

  • Uyarlanabilir kullanıcı arayüzünü geliştirirken, bahsettiğim gibi, Google Kitaplar'daki masaüstü deneyiminin neredeyse tamamında çalışmasını sağladık.

  • Bu sayede hedefinize çok yaklaşacaksınız.

  • Ancak masaüstü sınıfı bir deneyim, gerçekten olağanüstü bir deneyim istiyorsanız yapmanızı önerdiğimiz birkaç şey var.

  • İlk olarak, klavye öncelikli olun.

  • Kullanıcılar, normal bir tablet veya telefon cihazında olduğu kadar dokunmaya duyarlı olmayacaktır. Bu nedenle, klavye kısayollarının ve Android kısayol listesine kolayca ulaşmanın bir yolunun olması çok önemlidir.

  • Bazen özelliklerinizi, cihaz türüne ve mevcut giriş çevre birimlerine bağlı olarak farklı şekilde düzenlenecek şekilde tasarlayabilirsiniz.

  • Klavye veya fare takılı bir dizüstü bilgisayar gibi bir cihaz algıladığımızda ana ekranda biraz farklı bir kullanıcı arayüzü sunuyoruz. Böylece kullanıcılar, tablet gibi bir cihazda tercih edeceklerini düşündüğümüz araçlara yönlendiriliyor. Tablette ise dijital kalem ve otomatik el yazısı kalemiyle not alma birincil seçenek oluyor.

  • Düşünmeye başlamanız gereken bir diğer konu da birden fazla farklı cihazın nasıl etkileşim kurduğudur.

  • Android 17'deki yeni "Devam et" özelliği, uygulamanızı bir cihazdan diğerine sorunsuz bir şekilde aktarmanıza olanak tanır.

  • Bu örnekte, telefonunuzdaki bir notu daha büyük bir masaüstü cihazınıza aktarıyoruz.

  • Bu işlem, not kimliğinin hızlı bir şekilde senkronize edilmesi ve tarafımızdaki ilerleme durumunuzun hızlı bir şekilde güncellenmesiyle kolayca gerçekleştirilir.

  • Bu sayede Googlebook cihazına hızlı bir uygulama intent'i gönderip tam olarak kaldığınız yerden devam edebilirsiniz.

  • Masaüstü sınıfı cihazlar için dikkate alınması gereken bir diğer konu da çoklu giriş destek modelleridir.

  • Yani daha önce bahsettiğimiz klavye kısayolları gibi özelliklerin yanı sıra farklı yakınlaştırma ve kaydırma davranışlarına sahip dokunmatik yüzeyler de kullanacaksınız.

  • Ayrıca, daha önce mevcut olmayan ve kullanıcılara sunulması gerekebilecek sağ tıklama menüleriniz de olacak.

  • Ayrıca, Googlebook cihazlarının çoğu dokunmatik ekranlı cihazlar olduğundan, kullanıcı bu cihazla etkileşim kurduğunda yalnızca ekran kalemi ve parmak için değil, aynı zamanda dokunmatik yüzey imleci için de farklı bir giriş tanıma özelliğiniz olduğundan emin olmanız gerekir. Çünkü bu üçü farklı şekilde ele alınmalıdır.

Jetpack Ink ile düşük gecikmeli çizim

  • Notability gibi mürekkep ve not yazma ile ilgileniyorsanız Jetpack Ink'i kullanmanızı öneririz.

  • Bu, mürekkebimiz için düşük gecikmeli bir derleme sistemi sağlamak amacıyla kullandığımız bir yöntem. Bu sayede, ağır ve karmaşık bir iş parçacığı yığını, oluşturma ve arabellek okuyucuları gibi birazdan göstereceğim farklı şeyleri yönetmemiz gerekmiyor.

  • Ancak şu anda çalışıyorsa Logitech sayesinde size Notability uygulamasının canlı demosunu gösterebilirim.

  • Evet, mükemmel.

  • Hadi bakalım.

  • İşte bu kadar, mükemmel.

  • Daha önce yaptığım test burada.

  • Ancak gördüğünüz gibi parmağımı kullanıyorum. Bu nedenle, parmak girişini hâlâ tanıyor. Bu harika bir şey.

  • İstersem fareyi de kullanabilirim.

  • Ancak şu anda Android'e özel bazı özel fırçalar oluşturabildik.

  • Burada gökkuşağı ve sim efektini seçtiğimi görebilirsiniz. Böylece girişimiz veya mürekkep efektlerimiz, Jetpack Ink kitaplığından etkilenecek.

  • Mesajımı bir kez daha yazayım.

  • Merhaba.

  • Son olarak, buradaki son bölüm için Android yeşilini seçelim.

  • Doğru şekilde dokunmak zordur.

  • İşte oldu, Android yeşili.

  • Ardından, gerçek renklerin burada temel model olarak seçtiğiniz renge göre değiştiğini görebiliriz.

  • Harika.

  • Geçmişte bu tür fırçalar oluştururken tüm özel gölgelendiricileri, arayüzü ve her şeyi doğru ve iyi görünecek şekilde ayarlamak aylarımızı alabiliyordu.

  • Neyse ki Jetpack Ink sayesinde, yapay zeka ve özel fırça oluşturma aracıyla bu süre bir haftadan kısa sürebiliyor.

  • Dövme yaptırmak istiyorsanız onlarla iletişime geçebilirsiniz.

  • Bize çok zaman kazandıran harika bir API.

  • Mükemmel.

  • Daha önce de bahsettiğim gibi, bu süreç aşağı yukarı bu şekilde işler.

  • Bu nedenle, ıslak mürekkep katmanı dediğimiz bir katmanımız var.

  • Bu, devam eden, hâlâ çizilmekte olan mürekkebimiz. Kuru bir mürekkep katmanına kıyasla süper, süper duyarlı olması gerekiyor.

  • Fiziksel bir şey olarak düşünürseniz mantıklı gelecektir.

  • Bu, kaydedilen mürekkep, zaten tamamlanmış.

  • Eskiden devir işlemi tamamen bize aitti.

  • Bu nedenle, bu iş parçacığını oluşturmamız, yeniden çizim ve temizleme yapmamız, bunu kuru bir katmana aktarmamız ve bunların senkronize edildiğinden ve titreme olmadığından emin olmamız gerekiyordu. Tüm bu karmaşıklıklar vardı.

  • En sonunda da Notability'yi benzersiz kılan özellikleri uygulamamız gerekiyordu.

  • Kendi eğri uydurma modellerimiz var. El yazınızı gerçekten öne çıkaracak yöntemlerimiz var.

  • Eski model böyleydi.

  • Jetpack Ink sayesinde tek yapmamız gereken, eğri uydurma özelliğimizi özel ilerleme şekilleri görünümüne beslemek. Bu sayede her şey Android'de hemen çalışmaya başlıyor.

  • Hem Jetpack Ink hem de diğer Google kitaplıklarını ele alırken düşündüğümüz bir diğer konu da KMP.

  • Bu, aslında önceden oluşturulmuş iOS koduna bakarak başladığımız bir şeydi. Kendi kendimize, "Android ile iOS arasında bazı mantıkları paylaşmak istiyoruz.

  • Modeller, değişiklikler ve karmaşık matematiksel işlemler var.

  • Paylaşmak mantıklı."

  • Biz de "C++ ve Apple'ın Objective-C'si var, bu yoldan gidelim." diye düşündük.

  • Kotlin Multiplatform'un iOS mühendislerimiz için yalnızca daha kolay değil, aynı zamanda daha hızlı olduğu ortaya çıktı.

  • Kotlin'i kullanarak daha iyi performans elde etmekle ve Android kodunun büyük bir kısmını kopyalayabilmekle kalmadık, aynı zamanda uzun vadede iOS için de daha kolay bir süreç elde ettik.

  • Kod paylaşmak istiyorsanız Kotlin Multiplatform'u incelemenizi öneririm.

  • Şu anda değerlendirme aşamasındayız.

  • Henüz %100 desteklenmiyor. Farklı yapay zeka modelleri, kodun birden fazla yerde bulunmasıyla hile yapmayı biraz daha kolaylaştırıyor ancak bu konu üzerinde aktif olarak çalışıyoruz ve bu konuya çok önem veriyoruz.

  • Şimdi de Notability'nin özel bir özelliğinden bahsedelim.

  • Android'de çalışan bir metin düzenleyici oluşturmaya çalışırsanız şu anda büyük bir belge metin düzenleyicisi oluşturmanın iyi bir yolu olmadığını fark edebilirsiniz.

  • Temel Android giriş alanlarını düzenleme, daha küçük kullanıcı arayüzleri, küçük EditText'ler ve kısa formlarla ilgilidir.

  • Sonuçta, mevcut Android API'lerinin üzerinde çalışan ancak çok daha büyük belgeleri, yani binlerce sayfalık metni aynı anda işleyebilen ve ortaklaşa düzenlenebilen çok karmaşık bir sistem oluşturmamız gerekti. Böylece başka bir yerdeki kullanıcı, sizden 500 sayfa uzakta düzenleme yapabiliyor ve bu da çalışmanızı etkileyen değişikliklere neden oluyor.

  • Bunu yapmanın yolu, tuş vuruşlarımızın iki yoldan geçmesidir.

  • İlk yol, "Bu bizim en iyi çabamız, bu anahtar burada görünmeli." diyerek anahtarı yerleştirmektir.

  • Şu anda her şeyin nasıl göründüğüne bakarak bunun iyi bir şey olduğunu düşünüyoruz.

  • Ardından hızlı bir senkronizasyon yapıyoruz, değil mi?

  • Arka uca gidip iş ortaklarımızı kontrol ediyoruz ve "Her şey yolunda mı?

  • Bu mantıklı mı?

  • Anlaştık mı?"

  • Değişiklik yapılması gerekiyorsa o noktada yeniden ayarlanır.

  • İki kullanıcı aynı satırda tuşlara basıyorsa kimin neyi aldığı biraz karışabilir.

  • Ancak çoğu durumda bu yöntem çok işe yarar.

  • Bunu burada belirtmemin nedeni, bu işe çok fazla emek vermiş olmamız ve bunu açık kaynaklı hale getirmeyi düşünmemiz.

  • Bu nedenle, konferanstaki veya gelecekte internet üzerinden katılanlardan bu konuda işbirliği yapmak isteyen ve bunun iyi bir fikir olduğunu düşünen varsa lütfen bize bildirin.

  • Bu konuda yatırım yapmaya değip değmeyeceğini tartışıyoruz ancak bu bizim için büyük bir girişim oldu ve sonuçlardan oldukça memnunuz.

  • Mürekkebin işleyiş şekli de bu şekilde.

  • İş birliği modeli açısından, bu biraz daha doğrudan bir yöntemdir.

  • Burada üç adım olduğunu görebilirsiniz.

  • Dokunma etkinliği, bağlı cihazlarımızdan herhangi birine (bu örnekte iPad) "Bu arada, bir mürekkep etkinliği başlatıyoruz" dediğimiz etkinliktir.

  • Ardından asıl çizim gelir. Kullanıcının cihazını ne kadar süre kullandığına, yani kalemini ne kadar süre hareket ettirdiğine bağlı olarak bunlardan bir ila milyonlarca olabilir.

  • Umarım çok uzun sürmez.

  • Bir noktada sınır olduğunu düşünüyorum ancak normal kullanım alanları için oldukça iyi.

  • Ardından bir kaldırma etkinliği gerçekleşir.

  • Bu durumu yönetmek için modelimizde geçici bir nesne tutuyoruz.

  • iPad'de, "Tamam, bir vuruş geliyor ama henüz burada değil.

  • Bu öğeyle etkileşim kuramayız.

  • Geçici bir durum."

  • Yalnızca bu bitiş etkinliği başlatıldığında "Tamam, güzel.

  • Şimdi tüm bunları iOS veya diğer istemcilerin alıp etkileşim kurabileceği tek bir nesneyle değiştirin."

  • Ayrıca bunu açık kaynaklı hale getirmeyi de düşünüyoruz.

  • Bu, doğrudan mürekkeplememiz değil, özellikle metin katmanındaki geçici öğelerden bazıları.

  • Harika.

  • Ardından, evet.

  • Kullanmanızı önerdiğimiz başka şeyler de var.

  • Cihaz üzerinde yapay zeka harika bir özellik.

  • Bu modeli belge tarama için kullanıyoruz. Böylece belgeleri tarayabilir, PDF metinlerini analiz edebilir ve el yazısı tanıma gibi işlemler yapabilirsiniz.

  • Ayrıca, Akıllı Notlar'ı oluşturmak için Gemini gibi açık bulut yapay zeka modellerini de kullanıyoruz. Bu sayede kullanıcıların notları kategorize ediliyor, özetleniyor ve öğrenme modeli için daha iyi ve daha etkileşimli bir şekilde onlara geri gönderiliyor.

  • Tüm bunlar bir araya geldiğinde Notability'nin bir dizüstü bilgisayar uygulaması gibi hissettirmesini sağlıyor, değil mi?

  • Nihai hedefimiz bu.

  • Tüm bu ilginç farklı modeller, farklı şeyler, metinler, girişler var. Ancak asıl önemli olan, bunun bir dizüstü bilgisayar uygulaması gibi mi yoksa büyük ekranınızda bir telefon uygulaması açmışsınız ve onunla uğraşıyormuşsunuz gibi mi hissettirdiği.

  • Klavye, dokunmatik yüzey, ekran kalemi, pencere boyutlandırma gibi özelliklerin doğru şekilde çalışması, kullanıcılara gerçekten iyi bir deneyim sunmak için çok önemlidir.

  • Ancak daha önce de belirttiğim gibi Jetpack Compose, Navigation 3, Materyal Tasarım gibi araçlar bu süreci kolaylaştırıyor.

  • Yani doğru şekilde yaparsanız aslında çok büyük bir iş yükü olmaz.

  • Buraya ulaşmak oldukça kolay.

  • Evet.

  • Önemli noktalarımız bunlardı.

  • Gelecekte Android'i düşündüğünüzde artık cihazları düşünmeyeceksiniz.

  • "Bu bir telefon, bu katlanabilir bir cihaz, bu bir XR cihazı, bu bir masaüstü veya dizüstü bilgisayar, tablet, araba ya da TV" diye düşünmeyin.

  • Bunun yerine, "Kullanabileceğim ekran boyutu nedir ve kullanıcılarımın kullanabileceği giriş modalları nelerdir?" diye sormalısınız.

  • Gelecekte de mümkün olan en iyi deneyimi sunmaya devam edelim.

  • Önceki slaytta da belirttiğim gibi, Compose ve Nav 3 tüm bunları desteklemeyi gerçekten kolaylaştırıyor.

  • Google da her gün Jetpack Ink veya cihaz üzerinde Gemini gibi yeni ve gerçekten güçlü API'ler çıkarıyor. Bunlar, temel deneyimlerinizi oluşturmanızı kolaylaştırıyor ve sizi benzersiz kılan sihirli dokunuşa odaklanmanızı sağlıyor.

  • Anladım.

  • Evet.

  • Teşekkür ederiz.

  • Konuşmamın sonuna geldik.

  • Sorularınız olursa daha sonra da yardımcı olabilirim. Dilerseniz Notability ile de iletişime geçebilirsiniz.

  • Uygulama, Android'de yaklaşık iki ay önce kullanıma sunuldu.

  • Sonunda beta sürümünden çıktık.

  • Bu nedenle, denemekten çekinmeyin.

  • Geri bildirimde bulunabilirsiniz.

  • Arkanızdaki demo sürecinde Google Kitaplar'da da mevcut.

  • Şimdi devam etmesi için sözü Logitech'ten Joe'ya bırakıyorum.

  • Teşekkür ederiz.

Logitech Options+ artık Googlebook'ta

  • İşte böyle.

  • Teşekkürler, Ryan.

  • Bugün, tamam, pardon.

  • Slaytımızı getirelim.

  • Teşekkürler, Ryan.

  • Bugün, çevre birimi özelleştirme uygulaması olan Options+'ı Chromebook'lara nasıl getirdiğimizi paylaşacağım.

  • Çevre birimi deneyimi oluşturmak ne anlama gelir?

  • Neler geliştirdiğimizden, bu süreçte mühendislik açısından öne çıkan birkaç noktadan ve gelecekteki planlarımızdan bahsedeceğim.

  • Logitech cihazlar geçmişte Android ile çalışıyordu ve çoğu kullanıcı, çevre birimlerinin erişilebilirliklerini iyileştirdiğini, özellikle de premium dizüstü bilgisayarlar ve harici monitörlere bağlı telefonlarla iyi çalıştığını fark etti.

  • Bu konudan bahsetmişken, az önce alt katta Googlebook demo standında, masaya bir Logitech oyun sıralı vites bağladıklarını ve bunu tablet ekranındaki farklı seçenekler arasında geçiş yapmak için kullandıklarını gördüm.

  • İşte hazır.

  • Bu, kullanmanın bir yoludur.

  • Bu arada Ferrari, sıralı şanzıman için 50.000 avro daha talep etti. Neyse.

  • Evet.

  • Ryan'ın da ayrıntılı bir şekilde açıkladığı gibi, Googlebook'ta çalışmak için çok daha fazla alanımız var.

  • Gördüğünüz gibi ekranları yatay, dikey veya kare olarak yeniden boyutlandırabilirsiniz. Böylece uygulamalar arasında çalışmak için çok daha fazla alanınız olur.

  • Üzerinde çalıştığınız işe devam edebilir, farklı uygulamalar kullanabilir, bağlam değiştirebilir ve diğer her şeyi yapabilirsiniz.

  • Bu durum, uygulama tasarımını kesinlikle değiştirdi ve düzenlerin tüm işlemler boyunca kullanışlı olması gerekiyor.

  • Logitech olarak bu bizim için özellikle ilgi çekici bir konu. Çünkü çevre birimleri konusunda çok deneyimli bir şirketiz.

  • Bu çalışmaya çok güçlü bir temel oluşturuyoruz.

  • Bu nedenle, bizim bakış açımıza göre, bu tür bir çalışma ortamında kullanıcılarımız gün boyunca fare veya klavye kullanarak etkileşim kurar.

  • İş akışlarına çok sorunsuz bir şekilde dahil olabilirler.

  • Logitech'in bu çalışmaya onlarca yıllık deneyimini kattığını söylemek abartı olmaz.

  • Bu ayın başlarında 45. yıl dönümümüzü kutladık.

  • Logitech'in ikinci yılından beri fare üretiyoruz.

  • Bu deneyim sayesinde bu alana girmek konusunda kendimize çok güveniyoruz.

  • Daha da iyisi, ChromeOS ile harika bir geçmişimiz var.

  • Geçmişte ChromeOS ile üst düzey uyumluluk garantisi vermiştik.

  • Tüm bunları göz önünde bulundurduğumuzda, ürettiğimiz donanım, geliştirdiğimiz yazılım ve platform, OS, Googlebook'lar arasındaki sınırı ortadan kaldıran çok iyi bir pratik deneyimimiz var.

  • Örneğin, kullanıcı bir düğmeye bastığında tahmin edilebilir bir sonuç görür.

  • Bu, herkesin doğal karşıladığı bir şey gibi.

  • Ancak aslında bileşenlerin sorunsuz bir şekilde uyumlu olması gerekir.

  • Ayrıca herkes çevre birimleriyle uyumluluğu sever.

  • Örneğin, hassasiyetlerini doğru şekilde ayarlamak.

  • 65. Ne bir fazla ne bir eksik.

  • Bu nedenle, tüm bu unsurlar arasında çok iyi ve sorunsuz bir uyumluluk entegrasyonu gerekir.

  • Google Kitaplar'ın kullanıma sunulmasıyla birlikte, Google Kitaplar için Options+'ı da kullanıma sunuyoruz.

  • Şu anda çeşitli fare ve klavyeleri destekliyoruz. Gelecekte daha fazla cihazı destekleyeceğiz.

  • Ayrıca kullanıcıların cihazlarını yapılandırmasına da olanak tanır.

  • Daha önce de belirttiğim gibi, hassasiyet gibi konular da var.

  • Şimdi, işler daha da ilginçleşiyor.

  • Yapılandırılabilirlikten bahsettiğimizde aslında iki taraftan bahsediyoruz.

  • Bir tarafı donanım ve donanım yazılımı tarafıdır. Özellikler donanım yazılımımızda uygulanır.

  • Diğer taraf ise bu demonun asıl önemli noktası olan işletim sistemi tarafıdır.

  • Sanırım buradaki herkes geçmişte Android cihazların ve çoğu uygulamanın kendi korumalı alanında, kullanıcı alanlarında yaşadığını biliyor.

  • Yapabilecekleriniz, çoğu durumda yapamayacaklarınız ve istediklerinizle ilgili belirli sınırlamalar vardır.

  • Bizim için bu çok önemli.

  • Şimdi bir ekran görüntüsü göstereceğim. Daha sonra bir demo yapacağız ama önce ekran görüntüsüne bakalım.

  • Burada MX Master 4 faremiz var ve birçok işlevi bulunuyor.

  • Çevre birimleri dünyasını bilenler, belirli özelliklerin donanım yazılımı ve cihaz özellikleri olarak uygulandığını fark edebilir.

  • Bazıları ise kesinlikle değildir.

  • Biz de kullanıcılara her iki tarafı da yapılandırma olanağı sunmaya çalışıyoruz.

  • Bizim görevimiz ise öncelikle bu seçenekleri anlaşılır hale getirmek ve kullanıcıya tam kapasite sunmak. Ayrıca bu ayarları işletim sistemine ve donanım yazılımına göre doğru şekilde yapılandırıyoruz.

  • Şimdi kısa bir demo yapalım.

  • Bu çok etkileyici bir demoydu.

  • Ama bir dahaki sefere fare kullan, Ryan.

Options+ canlı demosu

  • Evet, başlıyoruz.

  • Cihazımın ekranı burada.

  • Gördüğünüz gibi MX Master 4 farem var.

  • Hadi başlayalım.

  • Daha önce gördüğünüz yapılandırma ekranına doğrudan gideceğiz. Sihir burada gerçekleşiyor.

  • Şimdi, başparmak düğmesi için Seçerek Arat'ı seçelim.

  • Ardından Sihirli İmleç'i özellik düğmesine ekleyelim.

  • Şimdi başlayalım.

  • Bir tarayıcı açalım.

  • Buraya gidin.

  • Burada, az önce Seçerek Arat özelliğini atadığım başparmak düğmesine basıyorum.

  • Gördüğünüz gibi, bir klavyeyi daire içine alıyorum.

  • İşte oldu!

  • Google, bu klavyeyle ilgili bilgileri gösterir.

  • Çok kullanışlı ve sorunsuz bir deneyim sunuyor.

  • Şimdi farklı bir şey deneyelim.

  • Pardon.

  • Geriye dönelim.

  • Sihirli İmleç'i deneyelim.

  • Burada, bunu açalım.

  • Özellik düğmesine basıp bunu etiketleyebilir ve "Bu cihaz nedir?" diyebilirim.

  • İşte bu kadar.

  • Google aramaya başlar ve sonuçları gösterir.

  • Bu sayede, tüm iş akışını tek bir işlemde birleştirebilirsiniz.

  • Özellikleri atarsınız, basarsınız, daire içine alırsınız, tıklarsınız ve işlem tamamlanır.

  • Bu tür bir işlemin, kullanıcıların erişilebilirliğini ve çalışma şeklini büyük ölçüde iyileştireceğine inanıyoruz.

  • Şimdi slaytlara geri dönelim.

Çevre birimi özelleştirme API'sine genel bakış

  • Bu nedenle, bu durumun neden gerçekleştiğini sorabilirsiniz.

  • Çünkü geçmişte birçok şey uygulamalar tarafından yapılamıyordu.

  • İşte karşınızda hem Chromebook'larda hem de Android cihazlarda kullanılabilen Peripheral Customization API.

  • Ancak Google'ın notları şu şekilde:

  • Şu anda bu API, izin verilenler listesindedir.

  • Ancak bu çeyrekte, yani 2026 'nın 4. çeyreğinde Android güncellemeleriyle birlikte yayınlanması planlanıyor.

  • Bu nedenle, yayınlandıktan sonra dünyanın her yerindeki geliştiricilerin bu özelliği kullanabileceğini düşünüyorum.

  • Şimdi biraz teknik konulara girelim.

  • Bu sürecin üç temel bileşeni vardır: cihaz, tetikleyici (bir tuş veya düğme olabilir) ve işlem (uygulama işletim sistemi tarafında).

  • Şimdi bu kod snippet'ine kısaca göz atalım.

  • En üstte ise cihazı, satıcı kimliğini ve ürün kimliğini kullanarak tanımlarız.

    // 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)
  • Genellikle vid ve pid olarak adlandırılır.

  • Aşağı doğru ilerlediğimizde bir tetikleyici tanımlamaya başlarız.

  • Burada, gördüğünüz gibi orta düğmeyi tetikleyici olarak kullanmak istiyoruz.

  • Burada, ortadaki düğmeyi OS özelliğinin Sesli Asistan bölümüyle eşlemek istiyoruz.

  • Doğru mu?

  • Burada ve burada AppCustomizationAction'dan gelen bir actionBuilder var.

  • Daha aşağıda ise ürün, cihaz, tetikleyici ve işlem arasındaki bu eşlemeyi kaydederiz.

  • Elbette gerçek kod bundan biraz daha karmaşıktır ancak genel kavram budur.

  • Çok basit ve kullanımı kolay.

  • Şimdi çok havalı ve ilginç bir özellikten daha bahsedeceğim.

  • Herkesin daha kolay görebilmesi için buraya bir GIF dosyası ekledim.

  • Yani uyumlu ve desteklenen bir cihaz (bu örnekte Logitech mobifold fare) bağlandığında işletim sistemi standart bir bildirim tetikleyerek size "Bu cihaz için bir uygulamanız var." der.

  • Kullanıcıya "Elbette" deyin.

  • Tıkladığınızda Play Store'a yönlendirilirsiniz ve uygulamayı hemen yükleyebilirsiniz.

  • Buna hızlı eşleme keşfi denir.

  • Şimdi son olarak kullanıcı arayüzü tarafına geçelim.

  • Ryan, Googlebook'un kullanıcı arayüzüyle ilgili birçok güzel konuya değindi. Bu nedenle, bu konuyu oldukça hızlı geçeceğim.

  • Gördüğünüz gibi Options+ farklı platformlarda çalışıyor. Bizim örneğimizde Windows, Mac ve şimdi de Chromebook'lar var.

  • Aslında iki hedefimiz var: Birincisi, uygulamanın platforma özel olduğu hissini vermek istiyoruz. Aynı zamanda, tüm platformlarda benzer bir deneyim sunmak istiyoruz. Yani bir platformda Options+'a alıştıktan sonra başka bir platformda da sorunsuz bir şekilde kullanabilmelisiniz.

  • Bu nedenle, söz konusu platformların avantajlarından yararlanmak isteriz ancak aynı zamanda aynı tasarım dilini kullanırız.

  • Gördüğünüz gibi, her yerde tutarlı bir tasarım dili kullanılıyor.

  • Daha önce de belirttiğimiz gibi, Googlebook kullanıcıları Googlebook'u daha çok dizüstü/masaüstü bilgisayar gibi kullanma eğilimindedir.

  • Bu nedenle, uygulamamız Googlebook'ta bile masaüstü uygulaması gibi görünür.

  • Uygulama, masaüstü uygulaması gibi davranabilir ve farklı pencere boyutlarında, farklı dokunma hareketleriyle iyi çalışır. Ayrıca fare ve klavye kullanımını da kontrol edebilirsiniz.

Geleceğe yönelik yol haritası ve sonuç

  • Evet, Logitech çevre birimleri ve Googlebook'ta Options+ ile ilgili kısa bir hikaye ve bu hikayenin oldukça kısa bir versiyonu bu şekilde.

  • Bu yöntem kesinlikle işe yarıyor.

  • Ancak bu daha başlangıç.

  • Birkaç adımımız var: Öncelikle bu deneyimi daha fazla cihaza, daha fazla klavyeye, fareye ve diğer çevre birimlerine taşımak istiyoruz. Ayrıca gerçek kullanıcı geri bildirimlerini kullanarak bu uygulamayı iyileştirmek istiyoruz.

  • Tabii ki en önemlisi, gelecekte Google ile çalışmaya devam edecek ve yeni platformlara daha derinlemesine entegre olacağız.

  • Nihai hedefimiz, çevre birimi özelleştirmeyi Googlebook kullanımının çok doğal bir parçası haline getirmek ve kullanıcıların istedikleri gibi çalışmasına yardımcı olmak.

  • Anlaştık.

  • Alt kattaki stantlarımızı ziyaret ederek Options+ ve muhteşem Logitech cihazlarını kendiniz deneyin.

  • İş ortağımız Google'a ve zaman ayırdığınız için hepinize teşekkür ederiz.

  • Teşekkür ederiz.

Kod

Kod snippet'leri

"Çevre birimi özelleştirme API'sine genel bakış" videosunda 26:16'daki Kotlin snippet'i
// 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)