Local blog covering the latest news, updates, and stories for Indonesian speaking developers.
Setelah Melatih 110 ribu Pengembang, Google Tawarkan Machine Learning Crash Course di Indonesia!
06 December 2018
Oleh
Aida Martinez, Machine Learning Education Program Manager
Machine learning sudah membantu kami mengatasi sejumlah besar masalah,
seperti memecahkan hambatan
bahasa di Google Translate, mendeteksi spam di Gmail,
hingga membantu dokter mendiagnosis penyakit.
Tapi kami baru di awal. Ada begitu
banyak masalah yang bisa diselesaikan dengan machine learning. Itulah
sebabnya tujuan
kami adalah untuk membuat manfaat AI tersedia bagi semua orang, dan memberi alat untuk
membantu mereka mengatasi masalah di bidangnya.
Sekarang, kami membuat kursus online dan gratis
Machine Learning Crash Course (MLCC)
tersedia dalam
Bahasa Indonesia, untuk membantu pengembang Indonesia berinovasi
dengan AI. Kursus singkat dan gratis ini,
membantu pengembang yang tertarik pengetahuan
praktis tentang bagaimana memulai dengan Machine Learning,
termasuk
open source framework
yang dikembangkan oleh Google, TensorFlow.
MLCC adalah bagian dari "
Learn with Google AI
" - serangkaian sumber daya yang kami satukan
untuk membantu
memberikan informasi tentang machine learning, langkah praktis, hingga
contoh machine learning yang diterapkan
pada masalah dunia nyata. MLCC tidak hanya
mencakup teori machine learning, tetapi juga mencakup latihan
pemrograman,
visualisasi
interaktif, dan video dari pakar machine learning di Google. Kursus ini telah digunakan
oleh
lebih dari 20.000 karyawan
Google,
untuk mempelajari dasar-dasar machine learning.
Sekarang kami membuatnya
dapat diakses dalam Bahasa Indonesia dan,
berharap ini
akan
mempermudah pengembang Indonesia mempelajari
machine learning dalam bahasa mereka,
membantu mereka
dalam
mengatasi
masalah lokal yang mereka pedulikan,
dan membantu
mempercepat kemajuan Indonesia dalam AI secara keseluruhan.
Ini adalah bagian dari upaya Google untuk mendukung pengembang Indonesia dan membantu
mereka mengembangkan keterampilan
mereka dan mempelajari teknologi baru. Sejak tahun
2016, kami telah melatih 110.000 pengembang di seluruh Indonesia dalam bidang seperti
Android dan pemrograman Web –– sekarang kami dengan senang hati membantu orang
Indonesia mengatasi masalah dengan AI untuk memberi
dampak positif bagi kehidupan
orang-orang di Indonesia dan sekitarnya.
Rekaman sesi TensorFlow dari O’Reilly AI Conference San Francisco 2018
20 November 2018
Oleh Marcus Chang, Developer Relations Program Manager
O’Reilly AI Conference, San Francisco
Pada bulan September, tim TensorFlow mempresentasikan dua hari pembicaraan terkait TensorFlow pada O’Reilly AI Conference di San Francisco yang mencakup topik meliputi TensorFlow Lite, TensorFlow.js, TFX (Extended) & Hub, Distributed TensorFlow, dan banyak lagi! Rekaman sesi sekarang tersedia di saluran YouTube TensorFlow kami bila Anda ingin melihatnya.
Lihat semua playlist
di sini
.
Sesi:
Mem-build AI dengan TensorFlow: Ringkasan
TensorFlow adalah salah satu project open source terbesar di dunia, dan tingkat adopsi serta fungsionalitasnya terus berkembang. Kami membagikan pengembangan utama terbaru dan memperjelas langkah-langkah pada masa mendatang, serta mendiskusikan bagaimana Anda bisa lebih terlibat dalam komunitas TensorFlow.
TensorFlow: Machine Learning untuk Programmer
Dalam pembicaraan ini, Laurence Moroney dari Google berbicara tentang Machine Learning, AI, Deep Learning, dan banyak lagi, serta bagaimana mereka cocok digunakan dengan toolkit programmer. Dia memperkenalkan semua hal ini, menjelaskan hype, untuk menunjukkan peluang yang tersedia dalam Machine Learning. Dia juga memperkenalkan TensorFlow, dan bagaimana framework-nya yang dirancang untuk menjadikan Machine Learning mudah dan bisa diakses, dan bagaimana aplikasi cerdas yang menggunakan ML dapat berjalan di berbagai platform termasuk seluler, web, dan IoT.
TensorFlow untuk JavaScript
TensorFlow.js adalah TensorFlow versi JavaScript yang baru saja dirilis yang berjalan di browser dan Node.js. Dalam pembicaraan ini, tim memperkenalkan framework ML TensorFlow.js, dan menunjukkan demo tentang cara melakukan alur kerja machine-learning lengkap, termasuk pelatihan, penerapan sisi klien, dan pembelajaran transfer.
Swift untuk TensorFlow
Swift untuk TensorFlow menggabungkan fleksibilitas Eager Execution dengan kinerja Grafik dan Sesi yang tinggi. Di belakang layar, Swift menganalisis kode Tensor dan secara otomatis mem-build grafik untuk Anda. Swift juga menangkap error ketik dan ketidakcocokan bentuk sebelum menjalankan kode Anda, memiliki kemampuan untuk mengimpor library Python, dan memiliki Diferensiasi Otomatis terintegrasi-bahasa. Kami percaya bahwa fitur machine learning sangat penting sehingga mereka layak mendapatkan compiler dan bahasa kelas satu.
TensorFlow Lite
TensorFlow Lite adalah framework machine-learning ringan yang bisa melakukan inferensi pada berbagai perangkat kecil dan seluler (dari ponsel, Raspberry Pi dan pengontrol mikro). Ini juga menyediakan abstraksi sederhana yang memungkinkan Anda untuk mengakses akselerator AI. Tim berbicara tentang dasar-dasar framework, status pengembangan saat ini dan pengembangan terbaru. Dalam sesi ini, Anda akan mempelajari konsep cara menyiapkan model untuk seluler, dan cara menulis kode yang mengeksekusinya di berbagai platform yang berbeda.
TensorFlow Extended (TFX) & Hub
Dalam sesi ini tim memperkenalkan TensorFlow Extended (TFX), platform machine learning end-to-end untuk TensorFlow yang mendukung semua produk di Alphabet. Seiring dengan berkembangnya machine learning dari eksperimen hingga melayani beban kerja produksi, begitu juga kebutuhannya untuk secara efektif mengelola alur kerja produksi dan pelatihan end-to-end termasuk manajemen model, pembuatan versi, dan penyajian.
Cloud TPU
Pembicaraan ini memberikan Anda pemahaman teknis yang mendalam mengenai akselerator Cloud TPU Google, serta cara memprogramnya. Ini juga mencakup abstraksi pemrograman yang memungkinkan Anda menjalankan model pada CPU, GPU, dan Cloud TPU, dari satu perangkat hingga seluruh pod Cloud TPU.
TensorFlow Autograph
TensorFlow AutoGraph secara otomatis mengonversi kode Python biasa menjadi TensorFlow yang setara, menggunakan transformasi kode sumber. Pendekatan kami bersifat komplementer dengan project Eager TensorFlow yang baru dan akan memperbolehkan penggunaan model imperatif dari mode Eager, selagi mempertahankan keuntungan mode grafik. Dengan menggunakan konversi kode otomatis, developer bisa menulis kode yang lebih ringkas, efisien, dan kuat.
TensorFlow Probability
TensorflowProbability (TFP) adalah library TF/Python yang menawarkan pendekatan modern pada fitur probabilitas/statistik tradisional & yang baru muncul. Ahli statistik/data scientist akan menemukan kemampuan seperti-R yang secara natural memanfaatkan hardware modern. Peneliti/praktisi ML akan menemukan blok building yang kuat untuk menentukan dan mempelajari model probabilistik yang mendalam. Dalam pembicaraan ini, kami memperkenalkan abstraksi TFP inti dan mendemonstrasikan beberapa kemudahan dan kekuatan pemodelannya.
Deep learning untuk sains dasar menggunakan komputasi berkinerja tinggi
Sains dasar (termasuk fisika partikel dan kosmologi) menghasilkan data berukuran beberapa exabyte dari instrumen kompleks dan menganalisisnya untuk mengungkap rahasia alam semesta. Deep learning memungkinkan eksploitasi langsung data instrumen berdimensi lebih tinggi dari sebelumnya, sehingga meningkatkan sensitivitas penemuan baru. Dalam pembicaraan ini, pembicara tamu kami Wahid Bhimji (
NERSC
) menjelaskan aktivitas terbaru di bidang ini, terutama di NERSC, pusat superkomputer misi untuk sains dasar AS, yang berbasis di Berkeley National Lab. Pekerjaan ini memanfaatkan dan mem-build di Tensorflow untuk mengeksplorasi metode dan aplikasi baru; memanfaatkan skala komputasi berkinerja tinggi; dan menyediakan lingkungan deep learning yang produktif bagi para ilmuwan fundamental.
Tensor2Tensor
Tensor2Tensor adalah library dataset dan model deep learning, yang memfasilitasi pembuatan model terkini untuk berbagai aplikasi ML, seperti penerjemahan, penguraian kalimat, pemberian teks gambar dan banyak lagi, yang memungkinkan eksplorasi berbagai ide jauh lebih cepat daripada yang sebelumnya.
Distributed TensorFlow
Pembicaraan ini menunjukkan bagaimana melakukan pelatihan TensorFlow terdistribusi menggunakan API tingkat tinggi Keras. Tim akan menjelaskan arsitektur terdistribusi TensorFlow, cara menyiapkan kluster terdistribusi menggunakan Kubeflow dan Kubernetes, dan cara mendistribusikan model yang dibuat di Keras.
Penginstalan peer to peer offline versi beta Google Play
19 November 2018
Ditulis oleh James Bender, Product Manager, Google Play
Pada bulan Juni kami mulai menambahkan
metadata keamanan
ke semua aplikasi dan update aplikasi untuk membantu memverifikasi keaslian produk dari Google Play. Kami melakukan hal ini untuk membantu developer menjangkau audience yang lebih luas, terutama negara-negara di mana berbagi aplikasi peer-to-peer adalah hal yang lumrah karena paket data yang mahal dan terbatasnya konektivitas.
Sekarang, ketika pengguna berbagi aplikasi melalui aplikasi peer-to-peer mitra yang Play approved, Play akan dapat menentukan keaslian aplikasi yang dibagikan saat perangkat offline, menambahkan aplikasi yang dibagikan itu ke Play Library pengguna, dan mengelola update aplikasi saat perangkat kembali online. Ini akan membuat kepercayaan pengguna lebih tinggi saat menggunakan mitra aplikasi peer-to-peer versi beta yang diakui-Play, mulai hari ini dengan
SHAREIt
dan
Files Go by Google
. Integrasi tambahan dari
Xender
direncanakan hadir dalam beberapa minggu mendatang. Silakan kunjungi Play Store untuk memastikan Anda memiliki versi terbaru dari aplikasi ini.
Anda sebagai developer juga diuntungkan karena ini menyediakan saluran distribusi offline resmi-Play dan, karena aplikasi berbagi peer-to-peer ditambahkan ke Play library pengguna, aplikasi Anda sekarang memenuhi syarat untuk mendapatkan update aplikasi dari Play.
Developer atau pengguna Anda tidak perlu melakukan aksi apa pun. Ini adalah langkah penting yang akan meningkatkan integritas ekosistem aplikasi seluler Google Play. Berbagi peer-to-peer Play offline menghadirkan peluang distribusi baru bagi developer sembari membantu lebih banyak pengguna menjaga aplikasi mereka selalu terupdate.
Pembelajaran dan praktik terbaik AMP stories
15 November 2018
Sejak kami mengumumkan pratinjau developer AMP stories kami berfokus untuk memastikan format ini menjadi cara yang mudah dan menarik bagi penayang untuk membuat konten visual di web. Sangat menyenangkan melihat eksperimen dan arah yang diambil oleh beberapa penguji awal dengan produk ini.
Tentu saja ada banyak orang yang meminta kami untuk berbagi pembelajaran awal tentang cerita AMP – apa yang berhasil, apa yang tidak – jadi kami mencoba untuk menyusun ringkasan praktik terbaik dengan cepat di sini:
Kualitas Cerita
1)
AMP stories
adalah –
cerita
,
yang ditujukan untuk mengomunikasikan pesan, menjelaskan situasi, suatu kejadian, seseorang, atau konsep. Penayang harus menceritakan kisah-kisah penting yang layak dibaca yang kaya secara visual dan berbagi informasi yang relevan dalam pengiring teks mereka. Kami telah melihat cerita-cerita visual yang dibuat dalam berbagai kategori konten, dari olahraga, resep, berita utama hingga hiburan.
Beberapa hal yang harus dihindari:
AMP storiesyang hanya merupakan slideshow gambar atau dihasilkan secara otomatis sering kali tidak memiliki konten inti yang diharapkan dan dicari pengguna saat memilih apa yang ingin dibaca.
AMP stories harus lengkap, artikel mandiri; mereka harus masuk akal dan berguna bagi pengguna tanpa
mengharuskan
pengguna mengklik link lain.
Lihat contoh cerita AMP dari
Washington Post
,
Mic.com
dan
FIFA
(ditampilkan di atas).
Contoh dari FIFA
2) Kualitas Aset Adalah Penting
:
Kami melihat interaksi pengguna yang jauh lebih baik ketika aset yang tepat dipilih dan diformat dengan benar untuk AMP stories sehingga pengguna merasa menjadi bagian dari pengalaman tersebut. Di luar relevansi, ini artinya gambar dan video memiliki resolusi tinggi, berorientasi potret, dan selayar penuh karena membuat pengalaman lebih imersif, indah, dan menarik bagi pengguna. Meskipun kami tahu bahwa memanfaatkan aset yang ada bisa mempercepat pembuatan cerita, harap perhatikan bahwa aset yang dipilih harus menyatu dengan pengalaman tersebut dan pas dengan dimensi perangkat yang digunakan untuk melihatnya.
Contoh dari The Washington Post
3) Lebih Dari Sekadar Gambar Diam:
Beberapa AMP stories yang paling menarik menggabungkan video singkat atau
efek Ken Burns
untuk melibatkan pengguna secara mendalam.
Saat menggunakan video, lihat
dokumentasi video
kami di AMPproject.org, termasuk tips ini:
Praktik terbaik adalah menggunakan 720p, yang pada rasio aspek 3:4 memiliki lebar 720px dan tinggi 960px: Over-indexing pada video resolusi tinggi tidak semestinya memperlambat waktu pemuatan cerita untuk kualitas yang berkurang.
Jika menggunakan audio, harap perhatikan bahwa cerita AMP bisa berdiri sendiri dengan audio yang dimatikan, mengingat bahwa beberapa kasus penggunaan terjadi ketika pengguna sedang bepergian dan mungkin tidak ingin mengaktifkan audio. Untuk alasan ini framework AMP mendukung teks, serta kemampuan untuk menentukan apakah video berisi audio melalui
atribut `noaudio`
.
Contoh dari WIRED
Mem-build Audience & Memonetisasinya
4) “Jika AMP stories
yang sangat bagus dibuat tetapi tidak ada yang melihatnya, apakah itu ada?
” Karena AMP stories bersifat
self-canonical
, kualitas dan relevansi (di seluruh web) berasal dari Cerita AMP itu sendiri.
Seperti halaman lainnya
, sinyal-sinyal ini penting agar dapat ditayangkan oleh platform seperti Google Penelusuran. Penayang harus mempromosikan AMP stories kepada pengguna di halaman beranda dan situs mereka sendiri, melalui saluran sosial, dan mekanisme promosi standar lainnya. Penayang berita harus mempertimbangkan penautan dari
peta situs Google Berita
.
5) Visibilitas & Pengindeksan:
Ada sejumlah hal yang ingin dilakukan oleh penayang untuk memastikan bahwaAMP stories – meskipun mungkin condong ke visual – memiliki metadata dan struktur teks yang diperlukan untuk memastikan Google bisa menemukan dan memahami AMP stories:
Buat semua teks bisa di-crawl:
Gunakan overlay teks, daripada menyisipkan judul atau teks pengiring langsung ke dalam gambar atau video.
Terapkan markup data terstruktur:
Seperti AMP, penayang harus menyertakan
data terstruktur yang tepat
selain
metadata khusus Cerita AMP
. Perhatikan bahwa ada persyaratan ukuran yang unik untuk thumbnail utama dan gambar logo penayang khusus untuk dokumen Cerita AMP.
6) Bereksperimen dengan monetisasi:
Meskipun baru beberapa bulan sejak kami membagikan
dokumentasi publik di github
untuk Single Page Ads di AMP stories, kami mulai melihat adopsi awal dari format yang memanfaatkan aset gambar dan video ini. Kami juga melihat eksperimen dengan real estat iklan untuk menjalankan eksperimen bagi produk mereka sendiri dan untuk podcast, newsletter, dll.
Iklan cerita AMP
Fitur & Pengembangan
7) Uji lebih awal dan sering.
Ada fitur layanan mandiri yang tersedia (
situs Pengujian AMP
dan
Situs Pengujian Validasi AMP
Google) sehingga penayang bisa menguji AMP storiessebelum mendorongnya ke web dan mengidentifikasi serta mengatasi error. Selain itu, penayang bisa menguji markup data terstruktur
di sini
. Komunitas AMP stories berharap fitur ini semakin kuat dari waktu ke waktu dan menantikan masukan agar fitur ini semakin bermanfaat.
8) Jadikan Itu Sebagai Milik Anda!:
Seperti AMP, AMP stories adalah project open source dan keberhasilannya akan bergantung pada kontribusi penayang dan mitra di seluruh dunia yang memberikan masukan, permintaan fungsionalitas, dan bahkan kode itu sendiri. Dukungan teks dan subtitel ditambahkan ke project oleh organisasi yang menginginkan dukungan untuk fitur tersebut, tetapi membutuhkannya dengan cepat. Dengan sedikit panduan dari tim AMP, mereka mengimplementasikan fitur tersebut, membuatnya tersedia untuk semua orang
di sini
. Jika Anda memiliki pertanyaan atau ide, jangan ragu untuk menghubungi kami melalui saluran yang tepat
di sini
.
Contoh teks dalam AMP stories
Kami gembira bisa terus bekerja sama dengan mitra untuk mengembangkan format ini dan berharap dapat mendengar – dan melihat! – dari Anda.
Ingin lebih banyak sumber daya?
Pengantar untuk Mem-build AMP stories
Praktik terbaik Cerita AMP
Persyaratan AMP untuk Google Penelusuran
Revisi Spesifikasi Ekstensi AMP stories
Ditulis oleh Lisa Lehman, AMP story Partnerships, Google
Google for Publishers Surabaya
14 November 2018
Google for Publishers kembali lagi diadakan, kali ini di kota Surabaya. Bergabunglah bersama para ahli dari tim Google untuk mempelajari trend terbaru & best practices di dalam dunia publishing, mulai dari cara kerja Google Search, perkenalan Structured Data, Accelerated Mobile Pages (AMP), Progressive Web Apps (PWA), dan juga cara meningkatkan pendapatan dengan Google AdSense.
Acara ini akan diadakan pada 13 Desember 2018 di Surabaya, daftar gratis sekarang di
https://events.withgoogle.com/gfpsurabaya
Pelatihan gratis untuk developer Android - pelajari cara meraih kesuksesan di Google Play
12 November 2018
Dan Lavelle, Head of Learning Operations, Google Play
Memiliki ide bagus untuk aplikasi atau game hanyalah sebuah permulaan. Di Google Play, tujuan kami adalah memberi Anda fitur dan keterampilan untuk mem-build bisnis game dan aplikasi seluler yang sukses. Pelatihan terus menjadi salah satu fitur yang paling banyak diminta oleh developer Android, dan kami telah mendengar masukan Anda.
Itulah mengapa sebabnya kami meluncurkan
platform e-learning
gratis yang baru, untuk membantu Anda mewujudkan potensi penuh dari bisnis Anda di Google Play.
Memperkenalkan Google Play Academy for App Success
Anda ingin meningkatkan jumlah audience, memahami metrik kinerja, atau meningkatkan pendapatan,
Play Academy
hadir untuk membantu Anda memahami praktik terbaik dan fitur Konsol Play agar berhasil di Google Play. Kami mem-build Play Academy agar sesuai dengan kesibukan Anda. Pelajari dari komputer di rumah atau kantor Anda, atau ikuti kursus saat bepergian keluar dengan perangkat seluler Anda.
Fitur utama Play Academy
Jalur pembelajaran
Pilih dari 10 rangkaian kursus kecil yang disusun di seputar fitur dan praktik terbaik, meliputi;
Uji aplikasi Anda sebelum rilis
,
Evaluasi kinerja teknis aplikasi Anda
, dan
Monetisasi aplikasi Anda
.
Pembelajaran interaktif
Belajar melalui pengalaman e-learning interaktif dan pengalaman multimedia yang kaya.
Penilaian
Uji pengetahuan baru Anda tentang fitur utama Konsol Play dan praktik terbaik aplikasi seluler.
Pencapaian
Dapatkan pengakuan untuk keahlian baru Anda. Kenakan badge pencapaian Anda dengan bangga di profil Play Academy.
Mulai pembelajaran hari ini
Sangatlah mudah untuk memulai konten e-learning gratis dari Google Play. Buka
g.co/play/academy
untuk mendaftar dan memulai perjalanan developer Anda. Selain itu, pastikan Anda terus memantau berita Play Academy terbaru - kami akan secara rutin memperbarui kursus agar selalu update dengan fitur dan program terbaru sehingga Anda bisa terus mengikuti perkembangan terbaru dengan analisis yang Anda perlukan untuk mengembangkan bisnis aplikasi atau game Anda.
Menurut Anda seberapa bermanfaatkah entri blog ini?
★
★
★
★
★
Yang baru di #AndroidDevSummit!
09 November 2018
Ditulis oleh Stephanie Cuthbertson, Director of Product Management
Hari ini, di Computer History Museum, Mountain View, CA, kami memulai
Android Dev Summit
, melihat kembali Android dalam 10 tahun terakhir kemudian melompat ke beberapa fitur baru yang penting untuk para developer Android. Berikut ini beberapa hal yang kami bagikan!
Membuka Android ke dalam pengalaman baru
Semenjak Android 1.6, Android dan mitra kami telah mempertimbangkan beragam ukuran dan kepadatan layar, yang memungkinkan platform ini untuk mendukung berbagai faktor bentuk dan pengalaman baru seperti Android TV, Android Auto, Wear OS, dan bahkan aplikasi Android di Chromebook. Layar ponsel adalah area tempat mitra Android menyetel standar, memperkenalkan "pablet" ketika layar ponsel dirasa terlalu kecil. Hingga saat ini, pablet... hanyalah sebuah ponsel, ukuran standar yang disukai pengguna.
Sekarang kami melihat pembuat perangkat Android membuat kategori baru:
Foldables
. Memanfaatkan teknologi layar fleksibel terbaru, layar bisa benar-benar menekuk dan dilipat.
Ada dua varian yang banyak diperbincangkan: perangkat dua-layar dan perangkat satu-layar. Saat dilipat, foldables terlihat seperti ponsel, pas di saku atau tas Anda. Saat dibuka, fitur utama mereka adalah apa yang kami sebut kontinuitas layar. Misalnya, Anda bisa memulai video dengan layar terlipat yang lebih kecil - kemudian Anda dapat duduk dan membentangkan perangkat untuk mendapatkan layar berukuran tablet yang lebih besar untuk pengalaman yang indah dan imersif. Saat perangkat dibentangkan, aplikasi akan ditransfer ke layar yang lebih besar secara mulus. Kami mengoptimalkan Android untuk faktor bentuk baru ini. Dan, membuat perubahan untuk membantu developer di mana pun dengan memanfaatkan peluang ini untuk menciptakan pengalaman baru yang menakjubkan, cara baru untuk menarik dan menyenangkan pengguna Anda. Ikutilah sesi Foldables di Dev Summit pekan ini untuk mempelajari lebih lanjut. Nantikan kedatangan Foldables dari beberapa produsen Android, termasuk satu pratinjau Foldables oleh Samsung hari ini dan direncanakan meluncur tahun depan.
Kotlin: update untuk bahasa yang paling cepat berkembang
Kami membuat
Kotlin
sebagai bahasa utama di Android pada tahun 2017. Bulan ini kami memiliki lebih dari 118.000 project baru yang menggunakan Kotlin dimulai di Android Studio - dari pengguna yang memilih untuk berbagi metrik. Ini adalah peningkatan 10 kali lipat dari tahun lalu. Ini menjadi bahasa yang paling cepat berkembang dalam hal pertumbuhan jumlah kontributor di GitHub, dan terpilih sebagai bahasa #2 yang paling disukai di Stack Overflow. Dalam survei kami, semakin lama developer menggunakan Kotlin, semakin tinggi tingkat kepuasan mereka.
Pekan lalu, JetBrains
merilis versi terbaru Kotlin, 1.3
, yang menghadirkan fitur bahasa baru, API, perbaikan bug, dan peningkatan kinerja:
Inline classes
memungkinkan Anda membuat tipe yang tidak dialokasikan kecuali kalau dikemas. Untuk perangkat terbatas yang ditargetkan aplikasi Android, menghindari alokasi selagi mempertahankan keamanan-tipe adalah keuntungan besar.
Unsigned numbers
sekarang menjadi bagian dari library standar Kotlin termasuk UInt, UByte, dan ULong. Tipe-tipe baru ini dibangun menggunakan inline classes.
Kode
multiplatform
yang sebelumnya ditulis untuk Android atau JVM sekarang juga bisa menargetkan Javascript atau native. Ini membuka kemungkinan untuk menggunakan kembali bagian basis kode Anda di lebih banyak platform.
Dukungan
coroutines
sekarang stabil. Dukungan bahasa dan library digabungkan untuk menyederhanakan cara Anda berinteraksi dengan operasi tidak bersamaan dan melakukan pekerjaan secara bersamaan yang penting untuk setiap aplikasi Android.
Semua fitur baru Kotlin 1.3 ini akan diintegrasikan ke dalam API khusus-Kotlin yang kami sediakan, yang sebagian besar disediakan melalui ekstensi KTX sebagai bagian dari Jetpack.
Android Jetpack: Navigation, Work Manager, dan Slices
Di Google I/O kami mengumumkan
Jetpack
, Android API dan fitur generasi terbaru untuk mempercepat pengembangan aplikasi Android. Jetpack dibangun di atas fondasi yang dibuat oleh Support Library dan Architecture. Saat ini, 80% dari 1.000 aplikasi dan game teratas menggunakan salah satu library Jetpack terbaru dalam produksinya.
Musim panas ini kami telah memindahkan
AndroidX
- evolusi Jetpack dari Android Support Library asli - ke AOSP publik. Ini berarti Anda bisa melihat perbaikan bug dan fitur yang diimplementasikan secara real-time, serta berkontribusi untuk salah satu library AndroidX. Anda bisa mempelajari lebih lanjut tentang kontribusi
di sini
.
Kami berupaya mendapatkan sebanyak mungkin masukan dan melakukan penyempurnaan pada dua library Architecture Component yang baru:
Navigation
dan
Work Manager
, dan kami berencana untuk memindahkan keduanya ke versi Beta pada bulan ini. Navigation Architecture Component menawarkan cara yang disederhanakan untuk mengimplementasikan prinsip-prinsip navigasi Android dalam aplikasi Anda, menggunakan satu Activity. Plus, Navigation Editor yang baru di Android Studio untuk membuat dan mengedit arsitektur navigasi Anda. Proses ini mengeliminasi boilerplate navigasi, memberi Anda operasi navigasi yang mendetail, transisi animasi yang lebih mudah, dan banyak lagi. WorkManager memudahkan kita dalam melakukan tugas-tugas latar belakang dengan cara yang paling efisien, memilih solusi yang paling tepat berdasarkan status aplikasi dan API level perangkat.
Navigation Editor
Kami juga sangat senang melihat Android Slices berpindah ke eksperimen Penelusuran publik! Pada I/O tahun ini kami memperkenalkan Slices, sebuah cara baru untuk menarik pengguna ke aplikasi Anda. Slices bertindak seperti cuplikan mini aplikasi Anda, di sini Anda bisa menampilkan konten dan tindakan. Anda bisa memesan tiket pesawat, memutar video, atau menelepon tumpangan. Slices adalah contoh lain di mana kami ingin membukanya sangat awal, tetapi kami ingin meluangkan waktu untuk menyempurnakannya. Kami berpindah ke EAP publik pada bulan ini dengan Doist, Kayak, dan lainnya. Kami akan menjalankan eksperimen yang menampilkan Slices di hasil penelusuran Google. Untuk mempelajari lebih lanjut, hari ini juga diselenggarakan sesi di Dev Summit dengan lebih banyak info dan praktik terbaik.
Android Studio: berfokus pada produktivitas, kecepatan build, kualitas, dan fundamental
Android Studio
adalah IDE resmi kami untuk pengembangan Android. Kami bertanya di mana Anda menghabiskan waktu paling banyak? Ketika mengumpulkan data dari pengguna Android Studio yang ikut serta, kami melihat bahwa waktu build semakin cepat bersamaan dengan setiap rilis, kadang-kadang sampai 20%, tetapi kami juga melihat waktu build semakin lambat saja dari waktu ke waktu. Jadi, bagaimana kedua hal ini bisa terjadi bersamaan? Kami telah berusaha keras untuk memahaminya.
Ternyata, build adalah ekosistem yang cukup rumit. Pilihan developer membuat perbedaan yang besar. Developer kami menggunakan berbagai kombinasi OS yang sangat banyak (dan terus bertambah), plugin khusus, prosesor anotasi, dan bahasa. Semua hal ini secara signifikan memengaruhi waktu. Dalam satu kasus, sebuah plugin yang ingin ditambahkan pengguna secara diam-diam memperlambat kecepatan build hingga 45%. Mempelajari hal ini, kami menyadari bahwa kami memerlukan fitur analisis dan pembuatan profil build sehingga Anda bisa dengan mudah memahami apa yang memperlambat build Anda. Kami juga banyak berinvestasi di plugin kami sendiri untuk mempercepat kinerja guna memastikan kami terus meningkatkan kinerja build inti.
Android Studio 3.3 meluncurkan versi beta 3 hari ini
.
Dalam rilis mendatang, nantikan fokus utama pada
kualitas dan fundamental
: mengurangi jumlah error dan hang, mengoptimalkan penggunaan memori, dan memperbaiki bug yang berdampak terhadap pengguna. Hari ini kami juga mengumumkan Android Studio sebagai IDE yang didukung secara resmi di Chrome OS awal tahun depan; pelajari lebih lanjut
di sini
.
Android App Bundle dan fitur dinamis
Ukuran aplikasi bertumbuh secara dramatis, naik 5x sejak 2012. Namun aplikasi yang berukuran lebih besar memiliki kelemahan: tingkat konversi penginstalan yang lebih rendah, tingkat update yang lebih rendah, dan uninstal yang lebih tinggi. Inilah sebabnya kami membangun
Android App Bundle
, format publikasi baru yang hanya menayangkan kode dan sumber daya yang dibutuhkan pengguna untuk menjalankan aplikasi Anda di perangkat mereka; pada rata-rata aplikasi, didapatkan
35% penghematan ukuran dibandingkan dengan APK universal. Paket aplikasi juga menghemat waktu dan upaya Anda dengan setiap rilisnya karena Anda tidak perlu menggunakan solusi yang tidak lengkap seperti multi-APK.
Android Studio 3.2 membawa
dukungan IDE lengkap dari paket aplikasi, dan sekarang ada ribuan paket aplikasi yang diproduksi dengan jumlah total miliaran penginstalan, termasuk aplikasi Google seperti YouTube, Google Maps, Google Foto, dan Google Berita.
Paket aplikasi sekarang mendukung
library native tak terkompresi
; tanpa memerlukan kerja ekstra developer, paket aplikasi sekarang membuat aplikasi yang menggunakan library native rata-rata 8% lebih kecil untuk didownload dan 16% lebih kecil pada disk di perangkat M+.
Setelah beralih ke paket aplikasi, Anda juga bisa melakukan modularisasi aplikasi. Dengan
modul fitur dinamis
, Anda bisa memuat fungsionalitas aplikasi apa pun sesuai permintaan sebagai ganti pada waktu penginstalan. Anda tidak perlu menyimpan fitur-fitur berukuran besar yang hanya digunakan sekali, di setiap perangkat selamanya; fitur dinamis bisa diinstal dan di-uninstal secara dinamis ketika aplikasi Anda memintanya.
In-app Updates API
Kami mendengar bahwa Anda menginginkan lebih banyak kontrol untuk memastikan bahwa pengguna menjalankan versi terbaru dan terbaik dari aplikasi Anda. Untuk mengatasinya, kami meluncurkan
In-app Updates API
. Kami menguji API ini dengan mitra akses awal dan akan segera meluncurkannya ke semua developer.
Anda memiliki dua opsi dengan API ini; yang pertama adalah pengalaman layar penuh untuk update penting ketika Anda mengharapkan pengguna menunggu update untuk segera diterapkan. Opsi kedua adalah update fleksibel,
yang berarti pengguna bisa tetap menggunakan aplikasi saat update didownload. Anda bisa sepenuhnya menyesuaikan alur update sehingga terasa seperti bagian dari aplikasi Anda.
Discovery Instan
Kami juga membuat
instant app
lebih mudah dari sebelumnya untuk diadopsi. Kami baru-baru ini menggunakan URL web opsional, yang memungkinkan Anda untuk mengambil traffic deep link play store yang ada dan mengirim pengguna ke pengalaman instan Anda jika tersedia. Selain itu, kami telah menaikkan batas ukuran instant app menjadi 10MB untuk tombol Try Now di Play Store dan spanduk web untuk membuatnya lebih mudah diadopsi.
Di Android Studio 3.3 beta, Anda sekarang bisa membangun paket aplikasi yang diaktifkan secara instan. Hal ini berarti, Anda sekarang bisa membangun dan menerapkan pengalaman Instan dan terinstal Anda dari satu project Android Studio, dan menyertakannya dalam satu Android App Bundle. Anda hanya perlu mengupload SATU artefak untuk instant app dan aplikasi yang diinstal.
Sebagai developer, masukan Anda sangatlah penting dalam membentuk area investasi ini; Anda adalah bagian dari cara kami bekerja, mulai dari ide awal, hingga EAP dan canary, Beta, dan iterasi setelah peluncuran. Bergabunglah dengan kami untuk dua hari berikutnya, dengan
menonton 30+ sesi di livestream
, bergabung di media sosial, atau hadir secara langsung di Mountain View. Dari tim, kami ucapkan banyak terima kasih atas semua masukan dan kontribusi Anda yang sangat berharga. Kami harap Anda menikmati Android Dev Summit.
Mengumumkan Google Developer Challenge 2018
08 November 2018
Selama bulan November, lebih dari 100,000 developer ditantang untuk unjuk kebolehannya dalam Google Developer Challenge – sebuah ajang kompetisi online hackathon untuk pembuatan aplikasi yang dapat memberikan solusi bagi lima sektor industri di Indonesia: Pertanian, Perikanan, Kesehatan dan Kesejahteraan, Pariwisata, dan Ketahanan Bencana. Sebuah panel yang terdiri dari tenaga ahli teknis dan tenaga ahli di masing-masing sektor akan menyeleksi dan mengundang tim finalis Google Developer Challenge untuk menghadiri Google for Indonesia Developer Showcase di Jakarta pada tanggal 6-7 Desember, dimana mereka berkesempatan untuk mengikuti pelatihan satu hari dan bekerja langsung dengan para ahli teknologi, UX, dan pemasaran dengan tujuan menyempurnakan solusi yang telah dikembangkan. Di akhir rangkaian kegiatan, para finalis akan melakukan pitching dimana mereka akan unjuk ide di hadapan panel juri, dan solusi terbaik akan mendapat penghargaan atas karyanya.
Ajang kompetisi online hackathon ini diselenggarakan bekerja sama dengan Dicoding. Peserta akan berkompetisi untuk memperebutkan sejumlah penghargaan dan hadiah menarik, diantaranya 20,000 poin Dicoding untuk solusi terbaik yang dihasilkan pada setiap kategori tantangan. Kelima tantangan tersebut merepresentasikan sebagian langkah-langkah kunci untuk mencapai Tujuan Pembangunan Berkelanjutan (Sustainable Development Goals) di Indonesia. Dari pertanian hingga ketahanan bencana, Indonesia menghadapi segudang tantangan sekaligus kesempatan yang akan sangat terbantu dengan hadirnya inovasi-inovasi digital yang berlandaskan open platform. Kami mencari solusi-solusi inovatif yang mampu menjawab tantangan-tantangan berikut ini:
Tantangan Pertanian Berkelanjutan: Sasaran dari tantangan ini adalah untuk menciptakan solusi-solusi inovatif yang mampu mengakselerasi keberlanjutan pertanian di Indonesia, sebagai langkah pertama dan utama untuk mencapai Tujuan SDGs #2 Mengakhiri Kelaparan: “Pada tahun 2030, memastikan sistem produksi pangan yang berkelanjutan dan mengimplementasikan praktek-praktek agrikultur yang memiliki ketahanan yang baik yang mampu meningkatkan produktivitas dan produksi, yang mampu menjaga ekosistem, yang dapat menguatkan kemampuan adaptasi terhadap perubahan iklim, cuaca ekstrim, kekeringan, banjir, dan bencana lainnya, serta secara progresif mampu memperbaiki kualitas lahan dan tanah.”
Silakan daftar pada
tautan berikut
untuk mengikuti tantangan ini.
Tantangan Kesehatan dan Kesejahteraan: Sasaran dari tantangan ini adalah untuk menciptakan solusi-solusi inovatif yang mampu menurunkan angka kematian yang diakibatkan oleh penyakit tidak menular serta menggalakkan kesehatan mental dan kesejahteraan masyarakat di Indonesia untuk mendukung pencapaian Tujuan SDGs #3 Kesehatan yang Baik dan Kesejahteraan: “Pada tahun 2030, mengurangi sepertiga dari angka kematian dini yang diakibatkan oleh penyakit tidak menular melalui tindakan pencegahan dan pengobatan serta menggalakkan kesehatan mental dan kesejahteraan.”
Silakan daftar pada
tautan berikut
untuk mengikuti tantangan ini.
Tantangan Perikanan Berkelanjutan: Sasaran dari tantangan ini adalah untuk menciptakan solusi-solusi inovatif yang mampu mengakselerasi praktek-praktek perikanan berkelanjutan di Indonesia sebagai upaya untuk mendukung pencapaian Tujuan SDGs #14 Menjaga Ekosistem Laut: “Pada tahun 2020, secara efektif meregulasi panen dan menghentikan pengambilan ikan yang berlebihan, pengambilan ikan secara illegal, tidak terlaporkan, dan tidak teregulasi, dan praktek-praktek pengambilan ikan yang destruktif serta menerapkan rencana pengelolaan berbasis sains ilmiah agar dapat mengembalikan persediaan ikan sesegera mungkin, setidaknya hingga mencapai tingkatan dimana mampu memproduksi hasil maksimum yang berkelanjutan sebagaimana yang ditetapkan untuk karakteristik biologis tiap-tiap jenis ikan.”
Silakan daftar pada
tautan berikut
untuk mengikuti tantangan ini.
Tantangan Pariwisata: Sasaran dari tantangan ini adalah untuk menciptakan solusi-solusi inovatif untuk mengembangkan dan mengimplementasikan alat atau perangkat yang dapat mendukung dan memantau pelaksanaan pariwisata berkelanjutan sebagai satu langkah untuk mencapai Tujuan SDGs #12 Konsumsi dan Produksi yang Bertanggung jawab: “Mengembangkan dan mengimplementasikan alat untuk memonitor dampak pembangunan berkelanjutan untuk pariwisata yang berkelanjutan yang dapat menciptakan lapangan kerja serta mendukung budaya dan produk lokal.”
Silakan daftar pada
tautan berikut
untuk mengikuti tantangan ini.
Tantangan Ketahanan Bencana: Sasaran dari tantangan ini adalah untuk memperkuat ketahanan dan kemampuan adaptasi masyarakat dalam menghadapi bencana alam dan bencana yang terkait iklim di Indonesia, sebagai salah upaya untuk mendukung tercapainya Tujuan SDGs #13 Penanganan Perubahan Iklim: “Menguatkan ketahanan dan kemampuan adaptasi terhadap bencana yang terkait dengan iklim dan bencana alam di Indonesia.”
Silakan daftar pada
tautan berikut
untuk mengikuti tantangan ini.
Bagi developer yang tertarik untuk mengikuti hackathon ini, silakan tinjau ulasan mendetail mengenai setiap tantangan dan daftarkan diri Anda
disini.
Kompetisi online hackathon akan berlangsung selama bulan November dengan tenggat waktu pengumpulan 28 November untuk mengirimkan solusi terbaik Anda. Tim yang terpilih menjadi finalis akan diumumkan pada tanggal 30 November. Semua finalis akan diundang ke Jakarta untuk ikut serta dalam acara Google for Indonesia Developer Showcase pada 6-7 Desember 2018. Seluruh biaya perjalanan untuk kegiatan ini akan ditanggung oleh Google.
Sebagai penghujung rangkaian acara Pekan Google for Indonesia, kegiatan Google for Indonesia Developer Showcase akan menampilkan informasi terbaru dan kisah-kisah sukses terkait komitmen Google untuk melatih 100,000 developer mobile di Indonesia pada tahun 2020. Komitmen yang dibuat saat kunjungan Presiden Joko Widodo ke Sillicon Valley dalam pertemuan beliau dengan para pemuka industri teknologi di sana pada awal tahun 2016 telah menghasilkan berbagai program dan inisiatif, termasuk diantaranya Google Developers Kejar 2018, Google Developers Student Clubs, Google Faculty Training and Scholarships, Google Developer Certifications, dan Google Launchpad. Google akan berbagi tentang dampak yang telah dihasilkan oleh masing-masing program tersebut dalam acara Developer Showcase pada tanggal 6 Desember.
Untuk informasi lebih lanjut, silakan hubungi:
Dicoding
info@dicoding.com
Apa yang baru di AMP, Q4 2018
07 November 2018
Model tata kelola baru dan terbuka untuk AMP
Dalam
entri blog
terpisah, kami mendiskusikan maksud kami untuk beralih ke model tata kelola baru untuk AMP Project.
AMP Linker
Untuk browser yang membatasi akses cookie pihak ketiga, AMP Linker adalah cara baru untuk menjaga sesi pengguna tetap sinkron. Lihat
entri blog pemberitahuan kami
untuk detail dan cara penerapannya di halaman Anda.
“Scroll tanpa batas” dengan amp-next-page
<amp-next-page>
(sekarang tersedia sebagai versi eksperimen) mendukung apa yang disebut dengan “scroll tanpa batas” artikel. Developer bisa menetapkan hingga tiga URL yang akan dimuat ketika pengguna sampai ke kedalaman-scroll yang sudah ditetapkan dalam halaman, dan dokumen tersebut akan memuat dengan mulus secara berurutan.
Animasi tilt-bound dengan amp-orientation-observer
<amp-orientation-observer>
, yang mendukung sinkronisasi tingkat-rendah antara orientasi perangkat dan bingkai pengguna dalam animasi yang diberikan, sekarang sudah diluncurkan. Dengan ini, Anda bisa membuat berbagai efek, seperti menggeser latar belakang halaman dengan halus, panning gambar, atau melanjutkan gerak animasi dengan memiringkan perangkat. Anda bahkan bisa membuat ruang 3D berlapis dengan menggeser beberapa komponen overlay dari suatu adegan dengan kecepatan yang berbeda.
Membandingkan gambar dengan amp-image-slider
<amp-image-slider>
memberi pengguna kemampuan untuk membandingkan dua gambar sebagai overlay. Ini sangat berguna untuk perbandingan foto “sebelum dan sesudah”. Baca selengkapnya tentang komponen tersebut di
entri blog terbaru kami
.
Dukungan AMP Story Ads dengan Google Ad Manager (Beta)
Google Ad Manager sekarang mendukung pengiriman iklan yang terjual langsung oleh penayang ke AMP Stories yang mereka hasilkan. Anda bisa membaca selengkapnya tentang hal tersebut
di sini
.
Melihat iklan Google Pixel 2 sebagai salah satu halaman cerita
Terbaik dari yang lain
Kami meluncurkan beberapa komponen baru:
<amp-pan-zoom>
, mendukung pan dan zoom konten interaktif inline. Komponen ini membantu pengguna pada berbagai kasus penggunaan, seperti memeriksa detail gambar produk, atau memilih kursi dalam denah kursi interaktif.
<amp-date-picker>
, mendukung masukan tanggal dan rentang tanggal ke dalam formulir. Komponen ini sebelumnya diluncurkan sebagai eksperimen, dan sekarang tersedia secara umum. Detail selengkapnya
di sini
.
<amp-date-countdown>
, menampilkan hitung mundur dinamis ke tanggal dan waktu tertentu.
<amp-google-document-embed>
menampilkan file dokumen seperti dokumen Word, spreadsheet Excel, dan PDF secara inline di halaman AMP.
Developer sekarang bisa
menyesuaikan transisi
masuk dan keluar dari komponen <amp-lightbox> yang ada.
MOAT
telah
meluncurkan
dukungan versi beta untuk instrumentasi keterlihatan dan deteksi spam bagi iklan AMPHTML. Silakan hubungi MOAT untuk berpartisipasi dalam versi beta.
Penyedia email bisa mengintegrasikan dengan AMP for Email menggunakan petunjuk
di sini
.
Fitur-fitur mendatang yang layak diperhatikan
Pernahkah Anda ingin terus menonton video saat membaca artikel mengenai video itu, atau membaca petunjuk resep sambil menonton seseorang mempraktikkannya? Atribut “dock” di <amp-video> akan segera mendukung
pengecilan video ke sudut viewport
saat pengguna melakukan scroll. Developer akan dapat
menyesuaikan letak dan bentuk video ditempatkan
.
<amp-video-iframe>
akan segera mendukung satu set fitur yang tersedia untuk amp-video dan komponen video pihak ketiga lainnya (misalnya, fitur pengecilan video di atas) untuk video yang tersemat di dalam iframe.
Sama seperti AMP yang sekarang memiliki
<amp-next-page>
untuk “scroll tanpa batas” pada dokumen, segera hadir berikutnya adalah perilaku yang sama untuk
elemen halaman dalam daftar
. Ini sangat berguna untuk elemen daftar scroll tanpa akhir seperti hasil penelusuran dan kartu produk.
Input masking
akan segera membantu pengguna mengisi formulir secara lebih efisien dengan menambahkan pemformatan secara otomatis seperti spasi dan karakter pengantara yang ditentukan oleh developer.
Dukungan untuk framework persetujuan dan transparansi IAB
akan segera hadir sebagai bagian dari <amp-consent> bersama dengan kemampuan untuk mengintegrasikan CMP pihak ketiga. Jika Anda adalah CMP atau penayang yang ingin berintegrasi dengan framework persetujuan IAB di halaman AMP, silakan hubungi kami di GitHub.
Pemutar
<amp-ima-video>> disempurnakan
dengan fitur baru dan perbaikan bug yang meliputi penambahan tombol mute/unmute yang hilang, perbaikan kontrol tersembunyi saat memutar dan kemampuan untuk mengulang video.
Dukungan
sticky ads di desktop
ketika posisi konstan di pinggir kiri atau kanan halaman
* * *
Terima kasih kepada komunitas development AMP untuk karya dan masukan Anda. Seperti biasa, mohon
beri tahu kami
bila ada masalah atau permintaan fitur.
Ditulis oleh Eric Lindley, Product Manager, AMP Project at Google
Melihat Lebih Baik dan Lebih Jauh dengan Super Res Zoom di Pixel 3
05 November 2018
Ditulis oleh Bartlomiej Wronski, Software Engineer dan Peyman Milanfar, Lead Scientist, Computational Imaging
Zoom digital yang menggunakan algoritme (bukan lensa) telah lama menjadi "kambing hitam" dari kamera perangkat seluler. Dibandingkan dengan kemampuan zoom optik
kamera DSLR
, kualitas gambar yang diperbesar secara digital belum kompetitif, dan kebanyakan masyarakat berpendapat bahwa mekanisme dan optik kompleks kamera yang berukuran besar tidak akan dapat digantikan dengan algoritme cerdas dan kamera perangkat seluler yang jauh lebih ringkas.
Dengan fitur Super Res Zoom baru di Pixel 3, kami menantang pendapat tersebut.
Teknologi Super Res Zoom di Pixel 3 berbeda dan lebih baik daripada pembesaran digital sebelumnya yang menggunakan teknik pembesaran potongan pemangkasan
satu
gambar, karena kami menggabungkan
banyak bingkai
secara langsung ke gambar resolusi yang lebih tinggi. Hal ini menghasilkan detail yang jauh lebih baik dan kompetitif dengan lensa zoom optik 2x pada banyak smartphone lainnya.
Super Res Zoom berarti bahwa jika Anda melakukan cubit-zoom sebelum menekan rana, Anda akan mendapatkan lebih banyak detail dalam gambar daripada jika Anda memangkas setelahnya.
Pangkas Zoom 2x: Pixel 2, 2017 vs. Super Res Zoom di Pixel 3, 2018.
Tantangan Zoom Digital
Zoom digital sangat sulit karena algoritme yang baik berharap permulaan dengan gambar resolusi lebih rendah dan "merekonstruksi" detail yang hilang dengan andal — dengan zoom digital biasa, pemangkasan kecil sebuah gambar kemudian diperbesar untuk menghasilkan gambar yang jauh lebih besar. Secara tradisional, ini dilakukan dengan
metode interpolasi linear
, metode ini mencoba menciptakan kembali informasi yang tidak tersedia dalam gambar aslinya, tetapi mengakibatkan tampilan kabur atau seperti “plastik” yang tidak memiliki tekstur dan detail. Sebaliknya, kebanyakan pembesaran satu gambar modern menggunakan machine learning (termasuk karya kami sebelumnya,
RAISR
). Fitur ini memperbesar beberapa fitur gambar khusus seperti tepi lurus dan bahkan bisa menyintesis tekstur tertentu, tetapi mereka tidak bisa memulihkan detail resolusi tinggi yang natural. Meskipun kami masih menggunakan RAISR untuk meningkatkan kualitas gambar visual, sebagian besar resolusi ditingkatkan yang disediakan oleh Super Res Zoom (setidaknya untuk faktor zoom yang tidak terlalu tinggi seperti 2-3x) berasal dari pendekatan multibingkai kami.
Array Filter Warna dan Demosaicing
Merekonstruksi detail halus sangat sulit karena foto digital sudah tidak lengkap — mereka telah direkonstruksi dari informasi warna parsial melalui proses yang disebut
demosaicing
. Pada kamera konsumen biasa, elemen sensor kamera hanya ditujukan untuk mengukur intensitas cahaya, bukan warnanya secara langsung. Untuk mengambil warna sesungguhnya saat ini di layar, kamera menggunakan
array filter warna
yang ditempatkan di depan sensor sehingga setiap piksel hanya mengukur satu warna (merah, hijau, atau biru). Ini tersusun dalam pola
Bayer
seperti yang ditunjukkan pada diagram di bawah ini.
Filter warna mosaik Bayer. Setiap gugus piksel 2x2 mengambil cahaya yang difilter oleh warna tertentu — dua piksel hijau (karena mata kita lebih sensitif terhadap warna hijau), satu merah, dan satu biru. Pola ini diulang di seluruh gambar.
Pipeline pemrosesan kamera kemudian harus merekonstruksi warna asli dan semua detail dalam semua piksel, dengan informasi parsial ini.
*
Demosaicing dimulai dengan membuat tebakan terbaik pada informasi warna yang hilang, biasanya dengan menginterpolasi warna di piksel terdekat, yang berarti bahwa dua pertiga gambar digital RGB sesungguhnya adalah rekonstruksi!
Demosaicing merekonstruksi informasi warna yang hilang dengan menggunakan piksel yang berdekatan.
Dalam bentuk yang paling sederhana, ini bisa dicapai dengan melakukan rata-rata dari nilai-nilai yang berdekatan. Sebagian besar implementasi algoritme demosaicing yang sesungguhnya lebih rumit daripada hal ini, tetapi mereka masih menyebabkan artefak dan hasil yang tidak sempurna - karena terkendala oleh informasi parsial. Meskipun situasi ini juga terjadi pada kamera DSLR berformat besar, sensor dan lensa yang lebih besar memungkinkan mereka menangkap lebih banyak detail daripada kamera seluler biasa.
Situasinya semakin tidak menguntungkan ketika Anda melakukan cubit-zoom pada perangkat seluler; lalu algoritme dipaksa untuk membuat lebih banyak informasi, dengan interpolasi dari piksel terdekat. Namun, tidak semuanya hilang. Di sinilah fotografi burst dan perpaduan banyak gambar bisa digunakan untuk membuat resolusi-super, bahkan ketika terbatas oleh optik perangkat seluler.
Dari Fotografi Burst ke Resolusi Super Multibingkai
Meskipun sebuah bingkai tidak bisa memberikan informasi yang cukup untuk mengisi warna yang hilang, kita bisa mendapatkan beberapa informasi yang hilang ini dari beberapa gambar yang diambil secara berurutan. Proses menangkap dan menggabungkan beberapa foto berurutan ini dikenal sebagai
fotografi burst
.
Algoritme HDR+
Google, yang berhasil diterapkan di ponsel Nexus dan Pixel, sudah menggunakan informasi dari beberapa bingkai untuk menjadikan foto dari ponsel mencapai tingkat kualitas yang diharapkan dari sensor yang jauh lebih besar; apakah pendekatan serupa bisa digunakan untuk meningkatkan resolusi gambar?
Telah
dikenal selama lebih dari satu dekade
, termasuk dalam astronomi dengan konsep dasar yang dikenal sebagai “
drizzle
”, yang menangkap dan menggabungkan
beberapa
gambar yang diambil dari posisi yang sedikit berbeda bisa menghasilkan resolusi yang setara dengan zoom optik, setidaknya pada tingkat pembesaran rendah seperti 2x atau 3x dan dalam kondisi pencahayaan yang baik. Dalam proses yang disebut
resolusi super
multibingkai ini, ide umumnya adalah menyelaraskan dan menggabungkan foto burst resolusi rendah secara langsung ke grid resolusi yang diinginkan (lebih tinggi). Berikut adalah contoh bagaimana algoritme resolusi super multibingkai yang ideal berfungsi:
Dibandingkan dengan pipeline demosaicing standar yang membutuhkan interpolasi warna yang hilang (atas), idealnya, seseorang bisa mengisi beberapa lubang dari beberapa gambar, masing-masing digeser sebesar satu piksel secara horizontal atau vertikal.
Dalam contoh di atas, kami mengambil 4 bingkai, tiga di antaranya bergeser tepat satu piksel: ke arah horizontal, vertikal, dan ke kedua arah. Semua lubang akan terisi, dan demosaicing sama sekali tidak diperlukan! Memang, beberapa kamera DSLR mendukung operasi ini, tetapi hanya jika kamera tersebut menggunakan tripod, dan sensor/optik secara aktif berpindah ke posisi yang berbeda. Ini kadang-kadang disebut "microstepping".
Selama bertahun-tahun, penggunaan praktik pendekatan “super-res” untuk pencitraan resolusi yang lebih tinggi baru digunakan secara terbatas pada sebagian besar laboratorium, atau setelan terkontrol lainnya di mana sensor dan subjek disejajarkan dan gerakan di antara keduanya dikendalikan dengan sengaja atau dibatasi secara ketat. Misalnya, dalam pencitraan astronomi, teleskop stasioner mengetahui arah gerakan langit. Namun, dalam perangkat pencitraan yang banyak digunakan seperti smartphone modern, praktik penggunaan super-res untuk aplikasi zoom in seperti kamera perangkat seluler masih belum terjangkau.
Hal ini karena fakta bahwa agar bisa berfungsi dengan benar, kondisi tertentu harus terpenuhi. Pertama, dan yang paling penting, adalah bahwa lensa harus bisa memberikan detail yang lebih baik daripada sensor yang digunakan (sebaliknya, Anda dapat bayangkan sebuah kasus ketika lensa dirancang sedemikian buruk sehingga penambahan sensor yang lebih baik tidak memberikan manfaat sama sekali). Properti ini sering diamati sebagai artefak kamera digital yang tidak diinginkan yang disebut aliasing.
Aliasing Gambar
Aliasing
terjadi ketika sensor kamera tidak bisa dengan tepat merepresentasikan semua pola dan detail yang ada dalam foto. Contoh yang bagus dari aliasing adalah
pola Moiré
, yang kadang-kadang terlihat di TV sebagai akibat dari
salah memilih kabinet
. Selain itu, efek aliasing pada fitur fisik (seperti tepi meja) berubah ketika ada sesuatu yang bergerak dalam adegan foto. Anda bisa mengamatinya dalam rentetan burst berikut, di mana sedikit saja gerakan kamera selagi rentetan burst akan menciptakan efek time-varying alias:
Kiri: Resolusi tinggi, sebuah gambar tepi meja dengan latar belakang berpola frekuensi tinggi, Kanan: Bingkai yang berbeda dari foto burst. Efek Aliasing dan Moiré terlihat jelas antar bingkai — piksel terlihat melompat-lompat dan menghasilkan pola warna yang berbeda.
Namun, perilaku ini merupakan keuntungan tersembunyi: jika seseorang menganalisis pola yang dihasilkan, pola ini memberikan kita variasi nilai warna dan kecerahan, seperti yang dibahas di bagian sebelumnya, untuk mencapai resolusi super. Meskipun begitu, banyak tantangan yang harus diselesaikan, karena praktik resolusi super harus berfungsi dengan ponsel genggam dan setiap rentetan burst.
Praktik Resolusi Super Menggunakan Gerakan Tangan
Seperti yang disebutkan sebelumnya, beberapa kamera DSLR menawarkan mode khusus resolusi super menggunakan tripod yang bekerja dengan cara yang serupa dengan yang kami jelaskan sejauh ini. Pendekatan ini bergantung pada gerakan fisik sensor dan optik di dalam kamera, tetapi memerlukan stabilisasi kamera yang sempurna, sehingga tidak praktis diterapkan di perangkat seluler, karena hampir selalu digenggam. Tampaknya, akan dibutuhkan 22 jepretan guna pencitraan resolusi super pada platform seluler untuk hal ini.
Namun, kami memutarbalikkan kesulitan ini, dengan menggunakan gerakan tangan untuk keuntungan kami. Saat kami mengambil foto burst dengan kamera genggam atau ponsel, selalu ada gerakan yang terjadi antar bingkai. Sistem
Optical Image Stabilization
(OIS) mengompensasi goyangan kamera yang besar - biasanya 5-20 piksel antar bingkai berturutan berjarak 1/30 detik - tetapi tidak bisa sepenuhnya menghilangkan sedikit getaran tangan alami yang terjadi cepat, yang dialami oleh semua orang (bahkan mereka dengan “tangan stabil”). Ketika mengambil foto menggunakan ponsel dengan sensor resolusi tinggi, getaran tangan ini hanya memiliki besaran beberapa piksel.
Efek getaran tangan yang terlihat dalam burst yang dipangkas, setelah penyesuaian global.
Untuk mengambil keuntungan dari getaran tangan, pertama-tama kami harus menyesuaikan gambar-gambar burst tersebut secara bersamaan. Kami memilih satu gambar dalam burst sebagai "basis" atau bingkai referensi, dan menyesuaikan setiap bingkai lain yang terkait dengannya. Setelah penyesuaian, gambar yang digabungkan bersama kira-kira terlihat seperti dalam diagram yang ditunjukkan sebelumnya dalam postingan ini. Tentu saja, goyangan tangan tidak mungkin menggeser gambar tepat satu piksel, jadi kita harus melakukan interpolasi antar piksel yang berdekatan di setiap bingkai yang baru diambil sebelum memasukkan warna ke dalam grid piksel bingkai dasar.
Ketika tidak ada gerakan tangan karena perangkat benar-benar stabil (mis. ditempatkan di tripod), kita masih bisa mencapai tujuan dari menyimulasikan gerakan tangan alami dengan sengaja “menggoyang-goyang” kamera, dengan memaksa modul OIS bergerak sedikit antar jepretan. Gerakan ini sangat kecil dan dipilih sedemikian rupa sehingga tidak mengganggu foto normal - tetapi Anda bisa mengamatinya langsung di Pixel 3 dengan menahan ponsel agar stabil, seperti dengan menekannya ke jendela, dan secara maksimal melakukan cubit-zoom jendela bidik. Carilah gerakan elips yang kecil namun terus menerus terjadi pada benda-benda yang jauh, seperti yang ditunjukkan di bawah ini.
Mengatasi Tantangan Resolusi Super
Deskripsi proses ideal yang kami jelaskan di atas terdengar mudah, tetapi resolusi super tidak semudah itu — ada banyak alasan mengapa resolusi super tidak banyak digunakan dalam produk konsumen seperti telepon seluler, dan membutuhkan pengembangan inovasi algoritme yang signifikan. Tantangan-tantangan tersebut meliputi:
Sebuah gambar burst tidak bersih, ber-noise, bahkan dalam pencahayaan yang baik. Praktik algoritme resolusi super harus menyadari noise ini dan tetap berfungsi dengan baik. Kami tidak hanya menginginkan gambar ber-noise dengan resolusi lebih tinggi - tujuan kami adalah meningkatkan resolusi tetapi juga menghasilkan tingkat noise yang jauh lebih sedikit.
Kiri: Sebuah bingkai foto burst yang diambil dalam kondisi cahaya yang bagus masih terdapat banyak noise karena underexposure. Kanan: Hasil penggabungan beberapa bingkai setelah pemrosesan burst.
Gerak antar gambar dalam burst tidak terbatas hanya pada gerakan kamera. Ada gerakan yang kompleks dalam adegan foto seperti daun yang ditiup angin, riak yang bergerak melintasi permukaan air, mobil, orang-orang yang bergerak atau mengubah ekspresi wajah mereka, atau nyala api — bahkan beberapa gerakan yang tidak bisa ditetapkan dalam estimasi gerakan unik karena transparan atau multilayer, seperti asap atau kaca. Penyesuaian yang benar-benar andal dan dilokalkan pada umumnya tidak mungkin dilakukan, dan oleh karena itu, algoritme resolusi super yang baik harus tetap berfungsi bahkan jika estimasi gerakan tidak sempurna.
Karena banyak gerakan acak, bahkan jika ada kesesuaian yang baik, data mungkin padat di beberapa area gambar dan tipis di area lainnya. Inti dari resolusi super adalah masalah interpolasi kompleks, sehingga penyebaran data yang tidak teratur membuatnya menantang untuk menghasilkan gambar dengan resolusi tinggi di semua bagian grid.
Semua tantangan di atas tampaknya akan membuat penerapan resolusi super dalam pemakaian sehari-hari sulit dipraktikkan, atau terbatas hanya pada adegan foto statis dan kamera yang diletakkan di atas tripod. Dengan Super Res Zoom di Pixel 3, kami telah mengembangkan metode peningkatan resolusi burst yang akurat dan stabil yang menggunakan gerakan tangan alami, dan cukup kuat serta efisien untuk diterapkan di ponsel.
Berikut cara kami mengatasi tantangan-tantangan tersebut:
Untuk secara efektif menggabungkan bingkai dalam burst, dan untuk menghasilkan nilai merah, hijau, dan biru untuk setiap piksel tanpa demosaicing, kami mengembangkan metode integrasi informasi di seluruh bingkai dengan memperhitungkan
tepi
gambar, dan menyesuaikannya. Secara khusus, kami menganalisis bingkai masukan dan menyesuaikan cara kami menggabungkannya, mencari keseimbangan yang baik antara peningkatan detail dan resolusi vs. penghalusan dan peredam bising. Kami melakukannya dengan menggabungkan piksel di sepanjang tepi yang terlihat, daripada yang berhadapan. Efek bersihnya adalah metode multibingkai kami menyediakan keseimbangan praktik terbaik antara pengurangan noise dan peningkatan detail.
Kiri: Gambar yang digabungkan dengan tradeoff yang tidak optimal dari pengurangan noise dan resolusi yang ditingkatkan. Kanan: Gabungan gambar yang sama dengan tradeoff yang lebih baik.
Agar algoritme bisa menangani adegan dengan gerakan lokal yang kompleks (orang, mobil, air atau daun pohon yang bergerak) dengan andal, kami mengembangkan model ketahanan yang dapat mendeteksi dan mengurangi error penyesuaian. Kami memilih satu bingkai sebagai “gambar referensi”, dan menggabungkan informasi dari bingkai lain ke dalamnya hanya jika kami yakin bahwa kami telah menemukan fitur yang tepat dan sesuai. Dengan cara ini, kami bisa menghindari artefak seperti “ghosting” atau motion blur, dan salah menggabungkan bagian gambar.
Bus yang bergerak cepat dalam burst gambar. Kiri: Digabungkan tanpa model ketahanan. Kanan: Digabungkan dengan model ketahanan.
Mendorong Kualitas Tertinggi dalam Fotografi Seluler
Mode Potret
tahun lalu, dan pipeline
HDR+
sebelumnya, menunjukkan seberapa bagus fotografi seluler saat ini. Tahun ini, kami melakukan hal yang sama untuk fitur zoom. Ini adalah langkah lain dalam memajukan kualitas tertinggi dalam fotografi komputasional, sembari mengecilkan kesenjangan kualitas antara fotografi seluler dan DSLR. Berikut ini adalah
album
yang berisi gambar FOV penuh, kemudian diikuti dengan gambar Super Res Zoom. Perhatikan bahwa gambar Super Res Zoom dalam album ini tidak dipangkas — mereka diambil langsung di perangkat menggunakan cubit-zoom.
Kiri: Pangkas dari gambar yang diperbesar 7x di Pixel 2. Kanan: Hasil pemangkasan yang sama dari Super Res Zoom di Pixel 3.
Ide mengenai resolusi super sudah lebih dahulu ada setidaknya satu dekade sebelum munculnya smartphone. Hampir selama itu pula, ide ini hidup dalam imajinasi publik melalui film dan televisi. Ia sudah menjadi subjek ribuan makalah dalam konferensi dan jurnal akademik. Sekarang, ide ini menjadi kenyataan — di genggaman tangan Anda, di Pixel 3.
Animasi ilustratif Super Res Zoom. Ketika pengguna mengambil foto yang di-zoom, Pixel 3 mengambil keuntungan dari gerakan tangan alami pengguna dan menangkap burst gambar pada posisi yang sedikit berbeda. Gambar kemudian digabungkan untuk menambahkan detail ke gambar akhir.
Ucapan Terima Kasih
Super Res Zoom adalah hasil kolaborasi beberapa tim di Google. Project ini tidak akan mungkin berjalan tanpa upaya gabungan dari tim yang dipimpin oleh Peyman Milanfar, Marc Levoy, dan Bill Freeman. Penulis ingin mengucapkan terima kasih khususnya kepada Marc Levoy dan Isaac Reynolds atas bantuannya dalam penulisan blog ini.
Penulis ingin secara khusus berterima kasih kepada kontributor-kontributor utama project Super Res Zoom: Ignacio Garcia-Dorado, Haomiao Jiang, Manfred Ernst, Michael Krainin, Daniel Vlasic, Jiawen Chen, Pascal Getreuer, dan Chia-Kai Liang. Project ini juga sangat diuntungkan atas kontribusi dan masukan Ce Liu, Damien Kelly, dan Dillon Sharlet.
Bagaimana cara memaksimalkan Super Res Zoom?
Berikut adalah beberapa tips untuk mendapatkan hasil Super Res Zoom terbaik di ponsel Pixel 3:
Cubit dan zoom, atau gunakan tombol + untuk meningkatkan zoom dengan langkah-langkah terpisah.
Tap dua kali preview untuk beralih dengan cepat antara zoom in dan zoom out.
Super Res bekerja dengan baik di semua faktor zoom, meskipun untuk alasan kinerja, ia hanya aktif di atas 1,2x. Itu sekitar setengah jalan antara tanpa zoom dan “klik” pertama di UI zoom.
Ada batasan mendasar untuk resolusi optik kamera sudut lebar. Jadi untuk mendapatkan hasil maksimal dari (setiap) zoom, pertahankan faktor pembesaran yang tidak terlalu tinggi.
Hindari objek yang bergerak cepat. Super Res Zoom akan menangkapnya dengan benar, tetapi Anda kemungkinan tidak mendapatkan resolusi yang lebih tinggi.
*
Perlu dicatat bahwa situasinya mirip dengan cara mata kita melihat — pada manusia (dan mamalia lainnya),
sel kerucut
mata yang berbeda sensitif terhadap beberapa warna tertentu, dan otak mengisi detailnya untuk merekonstruksi gambar penuh.
↩
Labels
#GoogleforGames
#JetpackCompose
#TheAndroidShow
#WeArePlay
10 years
64bit
actions on google
ad blocking
admob
Ads
adventure games
agency
AI
amp
android
android 13
Android 14
Android 15
Android betas
android dev summit
android developers
android development
Android Emulator
Android Jetpack
Android release
android sdk
android studio
Android Studio Emulator
android studio flamingo
Android Studio Iguana
Android UI
androidstudio
anniversary
announcement
anthos
apac
api
aplikasi
App
app development
Apps
arcore
Artificial Intelligence
assistant
augmented reality
bangkit
Baseline Profiles
beginner
best practices
beta
big query
CameraX
case study
chrome
chrome ads
chrome os
Cloud
coalition
coalition for better ads
compose
conferencing
coroutine
DAC/Develop
DAC/Google
dart
data
data binding
data flow
data science
develop
developer
Developer Preview
developer stories
developer tools
developer wear os 4
developers
dialogflow
documentation
domains
doubleclick
ecosystem
emojis
entepreneur
entrepreneurs
events
explore
featured
film
firebase
flutter
flutter 3
flutter app development
flutter3
foldables
game
Game Development
Games
Gemini
Gemini Pro
Generative AI
Global Game Jam
gmail
google
google bisnisku
google cloud
google code-in
google design
Google Developers
google font
google for entrepreneurs
Google for Games Developer Summit
google io
google maps
google partners
google photos
google pixel
google pixel fold
google pixel tablet
google play
Google Play Academy
Google Play Console
Google Play Developers
Google Play Devs
Google Play Indie games accelerator
google play policy
Google Play x Unity Game Developer Training
google sign-in
googleforstartup
GooglePlay
graphics
gsuite
how to
how-to guide
hybrid interface
indie developers
indie game developers
indie games
Indie Games Accelerator
indonesia
insight
ios
Javascript
jetpack
jetpack compose
jetpack compose 1.5
JuaraGCP
kebijakan
kotlin
kubernetes
latest
launchpad
launchpad accelerator
Learn
Localization
lyft
Machine
machine learning
MAD
material design
meet
Meta
mobile
Mobile App Development
mobile games
modifier
now
OnePlus
opensource
pagespeed
partial
PGS
Pixel Fold AVD
Pixel Tablet AVD
platform
Platform_Update
play console
play privacy
play quality
play security
play store
Policy Bytes
Policy webinar
privacy
Problem Solving
Productivity
progressive web app
Project IDX
python
release notes
releases
reporting api
roadmaps
screen
screensharing
security
shapes
Sharing
small business
Solve
spotify
startup
student developers
subs
success stories
Tablets
tensorflow
testing
text-to-speech
The Android Show
theandroidshow
training
transparency
tutorial
Tutorials
twitter
update
usecase
users
Video
videocall
vr
Wear OS
web
windowmanager
workmanager
Archive
2024
Mar
Feb
Jan
2023
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2022
Dec
Nov
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2021
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2020
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2019
Dec
Nov
Oct
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2017
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2016
Dec
Nov
Subscribe
Follow @googledevsid
Visit
Google Developers
for docs, event info, and more.