1 poin oleh GN⁺ 2024-02-05 | 1 komentar | Bagikan ke WhatsApp
  • Apple memberikan perangkat yang aman dan minim beban pengelolaan kepada pelanggan, tetapi ada kesimpulan empiris bahwa Apple tidak membentuk tingkat saling ketergantungan yang sama dengan pengembang individu
  • Bug mode gelap/terang di Google Search dipakai sebagai contoh bahwa ketidaknyamanan yang tidak memengaruhi pendapatan bisa dibiarkan sangat lama, alih-alih karena kurangnya kemampuan teknis
  • Nilai inti Apple dinilai bukan pada ekosistem aplikasi, melainkan pada komputer dan perangkat yang bisa dipakai pengguna tanpa pengelolaan terpisah; iPhone atau iPad dianggap tetap layak dibeli bahkan tanpa aplikasi
  • Apple Music API yang diharapkan pada 2016, delapan tahun kemudian, masih menyisakan bug dan pembatasan akses, dan bahkan untuk sekadar mencoba tetap memerlukan akun pengembang 100 dolar per tahun
  • Platform web yang tidak dimiliki satu perusahaan memang tidak sempurna dan rapuh, tetapi tetap menjadi pilihan realistis bagi pengembang yang ingin tidak terlalu terikat pada struktur zero-sum milik perusahaan tertentu

Apple kuat terhadap pelanggan, tetapi tidak bergantung pada pengembang

  • Intinya adalah pandangan bahwa Apple jelas memberi nilai kepada individu sebagai pelanggan, tetapi memiliki alasan struktural yang lemah untuk memberi perhatian pada pengembang individu dengan cara yang sama
  • Relasi ketergantungan mengalir sebagai Developer -> Apple, Apple -> Consumer, dan hampir tidak ada ketergantungan balik dari Apple ke pengembang individu
  • Bahkan jika semua pengembang berhenti membuat aplikasi untuk platform Apple, Apple secara umum masih bisa bertahan, karena proposisi nilai intinya tidak bergantung pada pengembang individu
  • Kerja sama dengan “mitra” pengembang perusahaan mungkin diperlukan, tetapi itu persoalan yang berbeda dari ketergantungan pada pengembang individu
  • Beberapa perusahaan multinasional menempatkan pengembang sebagai inti strategi mereka, tetapi Apple dinilai bukan tipe seperti itu
  • Setelah menerima pembedaan ini, menjadi mungkin memisahkan rasa suka terhadap produk Apple dari keinginan untuk mengembangkan sesuatu untuk Apple

Kasus Google: bug yang tidak memengaruhi pendapatan bisa bertahan lama

  • Google Search memiliki masalah ketika sistem berpindah secara dinamis antara mode terang/gelap, di mana halaman hasil pencarian pertama ditampilkan dengan tema yang berlawanan
    • Pada malam hari, saat seluruh sistem berada dalam keadaan gelap, halaman hasil pertama justru muncul terang dan menyakiti mata
    • Pada pagi hari, setelah laptop kembali ke mode terang, hasil pencarian justru tampil dengan latar hitam yang sulit dibaca
  • Bug ini telah berlangsung selama bertahun-tahun, dan dinilai kecil kemungkinan akan diperbaiki kecuali kebetulan terselesaikan saat perombakan besar
  • Penyebabnya ditafsirkan bukan karena Google tidak mampu memperbaikinya, tetapi karena hal itu tidak berdampak pada pendapatan
  • Orang yang memakai mesin pencari alternatif seperti DDG sudah lebih dulu pergi, dan mayoritas besar tetap terikat pada Google
  • DDG mengusung privasi sebagai nilai utama, tetapi alasan praktis untuk memakainya adalah UX sederhana yang mengingatkan pada Google awal, hasil pencarian exact-match berkualitas baik, dan iklan yang tidak mengganggu
  • Google tidak menjadikan pengguna sebagai sasaran tujuan game-theoretic, dan interaksi yang terasa memusuhi pengguna saat harus memakai produk Google dipahami sebagai hasil dari struktur tersebut

Nilai inti Apple: komputer aman dengan beban pengelolaan minimal

  • Sekitar 2009, saat memilih komputer untuk keluarga, Windows dinilai terlalu lemah dari sisi keamanan pada masa itu, sementara Linux memerlukan dukungan teknis berkelanjutan
  • Pada akhirnya disiapkan komputer dengan OpenBSD, Firefox, dan game bawaan, tetapi sebagai imbalan atas keamanan, privasi, dan rendahnya beban dukungan, kegunaannya menjadi sangat terbatas
  • Setelah menggunakan Mac kerja di perusahaan aplikasi iOS, muncul kesimpulan: “inilah komputer yang dulu saya inginkan untuk ibu saya”
  • Setelah menabung lalu membeli MacBook, seiring waktu form factor yang dipakai keluarga berubah dari laptop ke iPad, tetapi nilai inti yang sama tetap terpenuhi
  • Bahkan tanpa aplikasi, iPhone tetap mungkin dibeli untuk diri sendiri, dan hampir pasti dibeli untuk keluarga
  • Dalam model bisnis Apple, pengembang bukan unsur yang wajib; pengembang boleh saja bahagia, tetapi strukturnya tidak menuntut mereka harus bahagia
  • Di dalam Apple memang ada individu yang peduli pada pengembang dan ingin memperbaiki keadaan, tetapi tindakan di tingkat perusahaan bisa tidak konsisten

Harapan dan kekecewaan terhadap Apple Music API

  • Sekitar 2016, ketika Apple Music API diumumkan di WWDC, ada harapan besar, tetapi pada praktiknya hal “yang mengubah segalanya” tidak pernah terjadi
  • Pemutar musik buatan Apple sendiri masih terasa sulit digunakan, dan pemutar alternatif yang dicoba pun umumnya mengikuti pendekatan ala Spotify
  • Ada harapan untuk menciptakan kembali pengalaman pemutar musik yang cepat, mulus, personal, dan terus mengalir seperti pada era Justin Frankel di Winamp
  • Dengan katalog musik Apple, pengalaman seperti itu dianggap bisa dihidupkan kembali tanpa bergantung pada pembajakan seperti dulu
  • Saat ada waktu luang, dibuatlah pemutar musik bernama Flowers, dan juga ada rencana menulis tutorial agar orang lain bisa membuat pemutar musik mereka sendiri
  • Dalam proses implementasi, muncul penilaian bahwa bahkan setelah 8 tahun, API tersebut masih penuh bug dan tidak terbuka
    • Hanya untuk mencoba API saja, pengguna harus membayar 100 dolar per tahun kepada Apple
    • Biaya itu bukan untuk penggunaan massal, melainkan bahkan untuk akses percobaan sederhana
    • Bahkan dengan akun pengembang berbayar pun, API yang tersedia tetap terbatas
  • Dengan memasukkan MusicKit.getInstance().developerToken di konsol browser pada pemutar musik web Apple, orang bisa memperoleh root token tanpa batas secara gratis, sehingga prosedur resmi untuk pengembang dianggap tidak masuk akal

Web adalah platform bersama tanpa pemilik tunggal

  • Kesimpulannya mengarah pada anjuran untuk menulis kode yang berjalan di web
  • Web adalah platform bersama yang tidak dimiliki satu entitas tunggal, dan dalam hal bisa rusak bahkan oleh niat baik yang berubah menjadi ketidakmampuan, web berbeda dari platform perusahaan tertentu
  • Platform web berada dalam kondisi rapuh karena faktor-faktor berikut
    • pemerintah yang terlalu banyak campur tangan
    • struktur duopoli browser
    • ekosistem pengembang yang kompleks
  • Tidak ada jaminan web akan terus makmur, tetapi karena sejauh ini ia tetap bertahan, semakin lama ia bertahan semakin besar pula kemungkinan ia akan terus makmur
  • Disebutkan bahwa kode workaround terbaru yang harus ditulis terkait web disebabkan oleh perilaku Safari yang aneh
  • Pada saat yang sama, Google dinilai melakukan banyak hal hebat untuk web, sehingga dalam konteks ini dipandang memainkan peran yang baik

Sulit membagi hubungan dengan perusahaan ke dalam baik dan buruk yang tetap

  • Sebagaimana tidak berguna mengklasifikasikan orang secara tetap menjadi orang baik dan orang jahat, perusahaan juga dinilai sulit dikategorikan secara permanen sebagai perusahaan baik atau buruk
  • Perusahaan dianggap berbagi sifat yang mirip dengan manusia: punya kecerdasan, kepribadian, kelahiran, pertumbuhan, kematian, dan status sebagai subjek hukum
  • Seperti manusia tidak bisa hidup tanpa manusia lain, manusia juga tidak bisa hidup tanpa perusahaan; meskipun memiliki sifat nonmanusiawi, bentuk fraktal organisasi manusia ini akan terus ada
  • Jika perusahaan tidak dimasukkan ke kategori moral yang tetap, maka hubungan dengannya bisa dijalani dengan lebih luwes
    • ketika perusahaan mendorong kita ke permainan zero-sum, tingkat ketergantungan dikurangi
    • ketika perusahaan memungkinkan hubungan yang lebih simbiotik, keterlibatan bisa ditingkatkan lagi
  • Pada 1996, Steve Jobs mengatakan bahwa perusahaan besar, menengah, dan kecil semuanya mulai melihat web sebagai jalur distribusi langsung terakhir ke pelanggan, yaitu jalur langsung dari pemasok ke konsumen dengan melewati perantara

1 komentar

 
GN⁺ 2024-02-05
Pendapat di Hacker News
  • Sejak awal saya memutuskan untuk tidak mempelajari pengembangan mobile native, dan mencurahkan seluruh waktu yang terbatas ke web; kali ini saya merasa itu pilihan yang tepat
    Sekarang kita bisa membuat hal-hal luar biasa di browser, dan menurut pendapat saya yang sangat pribadi, selain Uber, Google Drive, dan game, sebagian besar aplikasi semestinya berupa aplikasi web
    Saya bekerja di industri media, dan di negara kami pada awal 2010-an, media yang bahkan tidak punya banyak uang sedang menggelontorkan anggaran untuk membuat aplikasi mobile; saya adalah orang nyentrik yang menolak tren itu
    Saya tahu kualitas sebagian besar aplikasi itu tidak mungkin bagus, dan perusahaan-perusahaan tidak akan terus memperbarui front-end mobile mereka, dan pada akhirnya memang persis begitu yang terjadi
    Sekarang mereka terkurung dalam aplikasi yang hampir tidak dipelihara lagi, dan kebanyakan tampak seperti peninggalan zaman yang sudah lewat—dan memang begitu adanya

    • Saya paham Google Drive berjalan lebih baik sebagai aplikasi native. Ia perlu menyediakan sistem file virtual ke sistem operasi dan melakukan hal-hal seperti sinkronisasi latar belakang
      Tapi saya tidak mengerti kenapa Uber. Uber punya atau pernah punya situs mobile yang menangani permintaan perjalanan dan hampir semua hal yang dilakukan aplikasinya dengan baik, dan saya tidak begitu melihat nilai apa yang ditambahkan aplikasi native bagi pengguna
      Sebagian besar game mobile juga sama. Biasanya grafisnya sederhana dan bisa dirender oleh browser dengan performa yang memadai, dan sering kali mereka membuat ulang sendiri komponen UI umum, jadi tidak bisa memakai tombol sistem native pun tidak terlalu berbeda
      PWA juga bisa menyediakan ruang penyimpanan yang cukup untuk file penyimpanan lokal dan data game. Tentu saja game yang mendorong batas sistem adalah pengecualian
      Saya tidak berharap game seperti Death Stranding atau remake RE4 berjalan baik tanpa akses langsung ke akselerasi grafis native, dan ukurannya terlalu besar untuk dimuat sebagai satu halaman web
      Namun sebagian besar aplikasi mobile, bahkan game free-to-play berpendapatan tinggi yang bisa mengambil tambahan 30% pendapatan jika pindah ke web, tidak termasuk kategori itu
      Lalu kenapa tidak menargetkan web? Intuisi saya, pengguna mobile sudah dibiasakan mencari aplikasi dan game di app store, sementara pengguna desktop berharap aplikasi—kecuali beberapa tool profesional dan game kelas berat—disediakan lewat browser
      Pada akhirnya, sebagian besar ini adalah masalah budaya, dan dukungan PWA Apple yang kurang memadai juga tidak membantu
    • Andai saja pengalaman pengembangan web tidak semenyebalkan ini. Memang sudah jauh membaik selama 10 tahun terakhir, tetapi dibandingkan lingkungan pengembangan native, rasanya masih belum optimal
      Sebagian besar rasa frustrasi itu datang dari tooling, khususnya TypeScript; sulit dijelaskan singkat, tetapi saya jauh lebih sering bergulat dengan sistem tipe TypeScript dibandingkan di sisi native
    • Terutama PWA yang dibuat dengan pendekatan offline-first kini jauh lebih mendekati pengalaman native dibandingkan 5 tahun lalu
      Namun saya khawatir apakah Google dan Apple punya insentif untuk membantu meningkatkan PWA sampai ke tingkat yang bisa bersaing dengan aplikasi native. Jika sampai begitu, pendapatan mereka bisa terdampak
    • Mengapa menginvestasikan waktu pada teknologi tren yang berubah setiap bulan?
      Lebih baik menginvestasikan waktu pada komponen dasar dari tech stack
    • Saya sangat lelah melihat ponsel dan tablet dipenuhi aplikasi serba-serbi. Tempat parkir terdekat saja punya aplikasi, mesin fotokopi perpustakaan juga punya aplikasi
      Semua itu bisa ditangani lewat web
  • Alasan Apple tidak peduli pada developer adalah, seperti yang mereka jelaskan sendiri, mereka telah menciptakan semacam kultus walled garden di sisi pengguna
    Jika developer tidak membuat produk untuk platform itu, mereka kehilangan separuh pasar atau bahkan lebih
    Dalam pekerjaan utama saya membuat game mobile di sebuah studio kecil di dalam perusahaan besar, kami harus terus berhadapan dengan Apple bukan hanya soal masalah teknis, tetapi juga kebijakan dan persetujuan
    Namun sulit membayangkan merilis game mobile yang tidak punya cara untuk berjalan di iOS, jadi kami tidak punya pilihan selain mengikuti
    Dalam banyak hal, strategi PC Microsoft yang asli justru kebalikannya. Mereka memperhatikan developer dan menyediakan dokumentasi, contoh, serta tool yang sangat banyak
    Perusahaan tempat para developer itu bekerja punya insentif untuk membuat, mempromosikan, dan menjual software untuk Microsoft, dan gelombang developer individu yang membanjiri Windows dengan software-lah yang membentuk sistem operasi desktop yang masih dominan sampai sekarang

    • Selama 15 tahun saya menulis software secara profesional, tetapi saya belum pernah menulis satu baris pun kode untuk perangkat Apple, dan tidak akan melakukannya ke depan
      Berkontribusi pada ekosistem Apple adalah pilihan, bukan paksaan. Developer yang berkontribusi pada ekosistem Apple berarti secara aktif ikut ambil bagian dalam situasi saat ini
    • Menurut saya itu karena Apple adalah perusahaan hardware dan menggunakan software untuk menarik konsumen, sedangkan Microsoft adalah perusahaan software dan menggunakan hardware untuk menarik konsumen
    • Apple tidak memaksa developer untuk melakukan sesuatu. Alasan developer membuat aplikasi untuk platform itu adalah karena konsumen ingin membelanjakan uang di sana
      Apple berhasil melakukan ini dengan bersikap keras terhadap developer, atau lebih tepatnya dengan mencegah developer bersikap buruk terhadap pelanggan
      Ini juga mirip dengan cara menekan pemasok dengan kuat, tetapi pada akhirnya tercipta ekosistem yang sehat dan makmur, dan developer serta pemasok tetap menyediakan aplikasi di sana
    • Ini terasa agak berbeda dari situasi yang dibicarakan penulis. Sepertinya penulis berfokus pada layanan yang tetap bermakna dalam kondisi apa pun, dengan mobile hanya sebagai salah satu dari beberapa titik akses
      Contohnya jejaring sosial, aplikasi kencan, Reddit, Stack Overflow. Bukan layanan yang bergantung pada pengalaman mobile, seperti Uber yang membutuhkan pelacakan lokasi, atau game mobile yang dirancang untuk dimainkan saat bepergian
      Jika bisnis tidak bergantung pada pengalaman mobile, layanan bisa disediakan tanpa aplikasi native
      Pengguna mobile juga bisa mengaksesnya lewat browser mobile, dan meskipun mungkin bukan pengalaman ideal, itu tetap sebuah pilihan
      Menurut saya intinya adalah: jika platform mobile tidak wajib atau bisnis Anda tidak bergantung padanya, jangan membuat untuk platform itu
    • Terkait game mobile, saya penasaran hal-hal apa saja yang pernah dihambat Apple
  • Beberapa tahun lalu saya sempat mendalami Swift dan pengembangan iOS native, tetapi sama sekali tidak bisa membiasakan diri memakai Xcode
    UI/UX Xcode begitu buruk sampai sulit diungkapkan, dan saya harus terus membuka-tutup panel hanya untuk menekan ikon-ikon yang bahkan tidak dikelompokkan secara intuitif
    Saat satu panel dibuka, panel lain dipaksa mengecil, dan rasanya sepersepuluh waktu praktis habis untuk “mengemudikan panel”
    Sepertinya para desainer Apple ingin membuat IDE yang cantik secara visual dan minimalis, bukan IDE dengan friksi rendah bagi developer
    Namun IDE tidak perlu minimalis; setiap developer harus bisa mengustomisasi dan membiarkannya berantakan sesuka hati sesuai apa yang ingin mereka buat
    Kalau membayangkan meja kerja fisik di garasi, Visual Studio membiarkan kita mengacak-acak dan menyesuaikan ruang kerja sesuka hati, sedangkan Apple terasa seperti menuntut kita memasukkan alat sebelumnya ke kotak setiap kali sebelum mengambil alat berikutnya
    Inilah yang saya maksud dengan mengemudikan panel, dan saya penasaran apakah developer lain juga merasakannya seperti ini

    • Ucapan ini benar-benar terasa tepat, dan alasan saya beberapa kali mencoba lalu berhenti dari pengembangan native Mac/iOS persis karena IDE-nya
      Ungkapan bahwa bentuk didahulukan daripada fungsi membuat saya akhirnya bisa menjelaskan dengan kata-kata apa yang tidak saya sukai dari Xcode
      Saya sudah lebih dari 10 tahun berada di ekosistem JetBrains, dan meski ada kekurangannya, saya tidak pernah merasa JetBrains tidak berusaha membuat IDE bekerja seperti yang saya inginkan
    • Saya setuju bahwa kegunaan Xcode benar-benar buruk. Lambatnya sulit dipercaya dan terlalu sering crash, sampai-sampai rasanya tidak akan lolos jika dinilai lewat proses review App Store
      Namun yang benar-benar membuat saya berpaling dari pembuatan aplikasi native untuk platform Apple adalah kombinasi bug dan kurangnya dokumentasi
      Saat terakhir saya memakainya setahun lalu, SwiftUI belum berada dalam kondisi yang sesuai tujuan, dan bahkan library yang lebih matang pun sering kali hampir tidak punya dokumentasi
      Sulit juga mengetahui mana yang sudah ditinggalkan
      Dalam pekerjaan saya, keunggulan aplikasi native dari sudut pandang pengguna sejak awal kecil, terutama hanya penyimpanan lokal yang lebih stabil
      Jika produktivitasnya jauh lebih rendah dibanding membuat webapp, sulit membenarkan biaya dan risiko tambahan karena harus bergantung pada belas kasihan sosok seperti penguasa monopoli
    • Menurut saya ini cukup bergantung pada gaya pengembangan dan lingkungan yang sudah akrab
      Xcode sama sekali tidak mengganggu saya, tetapi Android Studio berbasis IntelliJ yang banyak dipuji itu terus membuat saya kesal
      Visual Studio juga terasa sama-sama menjengkelkan dan punya batasan yang aneh. Misalnya, entah kenapa tidak bisa memakai italic untuk syntax highlighting
      Editor pun begitu. VS Code punya hal-hal kecil yang mengganggu, tidak seperti Sublime Text atau TextMate
    • Setuju. Setiap kali ingin mencari hal seperti Build Output atau Project Settings yang bisa ditemukan dengan mudah di IDE lain, saya mudah tersesat dan harus mencari di Google cara membuka panelnya
    • Bagi saya pribadi, Xcode itu hebat sekaligus mengerikan. Saat berada di VS Code saya merindukannya, tetapi saat berada di Xcode saya membencinya—entah apakah ini masuk akal
      Rasanya seperti IDE berat zaman dulu; semakin mengikuti caranya, semakin nyaman, tetapi sekaligus tetap ada perasaan bahwa saya bukan yang memegang kendali
      Kalau Apple mau peduli, meski tidak sampai secepat VS Code, setidaknya bisa membuatnya setengah lebih responsif, dan jelas seharusnya bisa lebih baik dari sekarang
      Dukungan key binding Vim yang buruk saja sudah membuat marah. Misalnya, sebagian besar aksi seperti c atau r tidak bisa diulang
      Saya tidak tahu saat itu memakai SwiftUI atau sedang bergulat dengan storyboard UIKit, tetapi yang terakhir adalah pengalaman terburuk dan tidak akan saya rekomendasikan bahkan kepada musuh
      SwiftUI memang masih tahap awal dan masih banyak yang perlu dipoles, tetapi dibanding itu terasa seperti masa depan
  • Dulu pernah harus menyiapkan akun developer Apple agar salah satu aplikasi pemerintah daerah kami ditampilkan sebagai milik kami
    Saya tidak tahu kenapa aplikasi lain tidak memerlukannya, tetapi bagaimanapun kami harus melakukannya, dan pengalamannya cukup mengerikan
    Pertama saya butuh akun Apple, dan karena tidak ingin memakai akun pribadi, saya harus membuat akun kerja baru
    Karena tidak bisa membuat “akun organisasi”, akun itu terikat pada diri saya pribadi, dan untungnya ada iPhone lama yang rencananya akan dipensiunkan sehingga bisa saya pakai
    Setelah itu saya menunggu beberapa hari sampai Apple memverifikasi identitas saya, yang pada praktiknya berupa Apple menelepon orang yang saya cantumkan sebagai atasan, lalu orang itu mengatakan bahwa saya memang orangnya
    Saya berharap mereka melakukan pemeriksaan lebih lanjut, tetapi saya tidak yakin; bahasa Inggris orang-orang yang menelepon bahkan lebih buruk daripada kami, jadi setidaknya situasinya lucu
    Lalu saya harus menyiapkan pembayaran, karena entah kenapa untuk punya akun developer Apple harus membayar
    Jumlahnya mungkin nyaris tidak terlihat dalam anggaran total kota berpenduduk 60 ribu orang, tetapi karena ini langganan luar negeri dan Apple tidak menyediakan cara untuk memprosesnya sebagai pembelian B2B yang mudah didaftarkan ke otoritas pajak lokal, setiap tahun hal itu masuk daftar untuk ditinjau
    Pembayaran juga hanya bisa dengan kartu kredit, dan kartu organisasi pun terikat pada orang nyata, sehingga dibutuhkan orang yang bertanggung jawab memperbaruinya
    Orang pindah kerja, dan untuk mengganti pemilik harus ada kontak antara Apple dan orang sungguhan, jadi bisa dibayangkan betapa menyenangkannya
    Ini terjadi beberapa tahun lalu, jadi mungkin sudah berubah, tetapi dari lebih dari 300 solusi TI enterprise yang pernah saya tangani, tidak ada yang seburuk Apple
    Agar adil, saya ini developer jadi saya juga tidak tahu kenapa tugas ini jatuh ke saya, dan mungkin hal seperti ini lebih umum di sisi operasional TI

    • Sekarang kemungkinan besar malah lebih buruk. Mereka terus menambahkan rintangan agar orang tidak memublikasikan aplikasi ke “ekosistem” mereka
      Kecuali jika Anda perusahaan besar AS yang bisa mengurus dokumen dengan mudah
    • Sekarang pun sama saja. Saat menyiapkan akun developer, saya terjebak dalam loop error di iPhone, dan tim dukungan tidak mengerti apa yang terjadi; sekitar 6 bulan kemudian tiba-tiba berfungsi
      Masih acak. Bisa langsung berhasil, atau kalau sedang sial terkena bug acak dalam proses ini, akan gagal untuk waktu lama
    • Sejauh yang saya tahu, pemerintah dan organisasi nirlaba bisa mendapat pembebasan biaya keanggotaan $99 Developer Program
      Saya tidak tahu kapan dimulainya, tetapi bukan baru-baru ini sekali
    • Kalau dilakukan sekarang, dari sisi pembelian perusahaan mungkin bisa jauh lebih mudah. Sekarang sering diterbitkan nomor kartu virtual sekali pakai untuk tiap layanan
  • Kadang kita lupa betapa terbukanya web/www dulu, dan bahkan sekarang pun secara keseluruhan masih jauh lebih terbuka dibanding “ekosistem aplikasi” yang dimonopoli Apple dan Google
    Memang ada “cloud”, tetapi tidak ada yang mencegah kita menyewa server dan meng-hosting sendiri milik kita
    Kalau tidak berjalan baik, kita bisa memindahkannya dari sana lalu menyewa server lain. Ada efek lock-in dan mungkin tidak mudah, tetapi bukan tidak mungkin
    Kalau melihat seluruh ekosistem aplikasi, pilihannya hanya ada 2, dan secara harfiah kita bergantung pada belas kasihan mereka
    Secara pribadi, saya tidak akan pernah mempertaruhkan seluruh bisnis pada satu “aplikasi”. Jika audiens benar-benar menuntutnya, mungkin bisa saja ada aplikasi sebagai sarana pendukung kecil, tetapi hanya sebatas itu
    Saya tidak suka produk yang memaksa saya memakai aplikasi di perangkat mobile. Lebih baik pendekatan seperti m.website.com kembali lagi, dan saya ingin menghindari seluruh ekosistem aplikasi

    • Jika 2 itu adalah yang saya pikirkan, salah satunya adalah tempat dengan palu pengasingan menuju lubang hitam dukungan pelanggan
      Dalam semalam, karena alasan apa pun atau bahkan tanpa alasan, kita bisa berada dalam posisi “harus mengemis bantuan di halaman depan HN”
      Saya berdoa agar arus sideloading baru di UE memicu tuntutan serupa di AS, tetapi pada saat yang sama saya juga sadar bahwa itu hanya mungkin jika cukup banyak orang tahu dan peduli apa arti “walled garden” atau “sideloading”
  • Secara teori web itu hebat, tetapi karena lingkungan browser hanya menyediakan hal yang terlalu mendasar, sebagai platform aplikasi ia tidak terlalu menarik jika kita terbiasa dengan pengalaman pengembangan “batteries included” seperti di platform Apple
    Di macOS, aplikasi yang kuat dan halus pun bisa dikembangkan dengan jumlah dependensi dan subdependensi yang bisa dihitung dengan jari satu tangan, bahkan dengan sedikit usaha bisa tanpa dependensi sama sekali
    Sebaliknya, webapp yang setara akan memiliki puluhan hingga ratusan dependensi untuk menutup celah fitur
    Misalnya, saya tidak melihat alasan mengapa browser tidak bisa menyediakan list/table view bawaan yang mendaur ulang sel secara efisien dengan sama sekali tanpa JavaScript atau dengan JavaScript yang sangat sedikit
    Kebutuhan menggulir ratusan hingga ribuan item tanpa membuat perangkat tersendat atau kehabisan memori bukanlah hal yang langka
    AppKit, UIKit, SwiftUI, Android Framework, Compose, dan mungkin Flutter juga menangani ini dengan baik secara bawaan, tetapi di browser, untuk fungsi yang sangat mendasar ini kita harus menarik library atau menulis kode sendiri
    Ditambah lagi masalah manajemen paket dan tooling secara umum, masalah mendasar yang sama tetap membandel meski solusi datang dan pergi

    • Saya merasa pengalaman mengembangkan dengan Electron jauh lebih baik daripada mengembangkan untuk UI Apple
      Sejak 15 tahun lalu saya juga sudah cukup banyak membuat aplikasi iOS/iPad
      Hal bagus dari web adalah biasanya ada library atau framework yang sesuai kebutuhan. Electron adalah contohnya
      Di sisi Apple, sering kali tidak ada library yang bagus, dan SwiftUI terlalu banyak bug
      React berjalan begitu saja dan secara konseptual juga lebih sederhana. Two-way data binding adalah ide yang buruk
      Apple punya anggapan bahwa mereka membuat semuanya lebih sederhana, tetapi dalam praktiknya sering kali justru membuatnya lebih merepotkan dan sulit
    • Karena web dibuat dengan dokumen sebagai fokus, ada asumsi bahwa file HTML sudah berisi semua data yang akan ditampilkan
      Tabel sudah diisi dari server dengan data yang diperlukan dan dalam urutan yang benar
      Karena itu tidak perlu mendaur ulang sel dan baris, dan meski ada ribuan baris, datanya hanya dalam satuan KB sehingga tetap responsif
    • Flutter memiliki rendering engine sendiri, sehingga API bawaannya cukup kuat
      Jika mempertimbangkan alternatif seperti WebAssembly dan Flutter, kurangnya fitur bawaan browser seharusnya tidak lagi menjadi masalah
    • Saya tidak tahu apa masalahnya dengan JavaScript
  • Menurut saya tidak benar bahwa developer tidak memberi apa-apa kepada Apple
    Tanpa aplikasi pihak ketiga di iPhone, Apple akan menjual jauh lebih sedikit ponsel
    Secara teori banyak aplikasi bisa pindah ke web, tetapi tetap saja aplikasi pihak ketiga membuat iPhone jauh lebih layak dimiliki
    Jika ada persaingan yang sehat, pembuat sistem operasi akan berusaha keras menarik developer. Ingat saja video “developers developers developers” Ballmer dulu
    Karena mereka tahu developer menambah nilai pada platform dan memengaruhi pilihan konsumen
    Masalah saat ini adalah tidak adanya persaingan yang berarti
    Apa pun aturan Apple, developer harus menyediakan sesuatu untuk iPhone, dan Apple bisa tenang karena peluang platform mobile ketiga untuk benar-benar mapan hampir tidak ada
    Apple mengetahui ini, dan melalui kebijakan ketatnya mereka membalik keadaan secara brutal
    Meski developer berperan besar membuat iPhone layak dimiliki, Apple memajaki seluruh pendapatan seolah-olah mereka sedang bermurah hati dengan mengizinkan developer mengakses pelanggan iPhone
    Ini adalah penyalahgunaan posisi pasar, dan seperti yang dikatakan blog itu, tidak banyak yang bisa dilakukan selain mendistribusikannya lewat web
    Itu tidak sempurna, tetapi selain regulasi, hanya itulah alternatif yang berarti; dan karena Apple tidak punya alasan untuk secara sukarela melepaskan pendapatan miliaran dolar dari memajaki developer aplikasi, mereka akan melakukan segala cara untuk menghindari regulasi
    Saya berharap web mendapatkan kekuatan sebagai cara untuk menghindari aturan distribusi aplikasi yang abusif

  • Setiap hari saya memikirkan betapa hebatnya web, dan betapa disayangkannya Apple berusaha merusak web sebanyak mungkin dengan membuat developer membangun aplikasi iOS alih-alih webapp
    Tanpa App Store, web pasti sudah jauh lebih baik
    Akan ada lebih banyak keragaman dalam konsumsi konten, sumber media sosial, rekomendasi algoritmik, dan pengalaman digital
    Web berjalan di mana saja, dan juga memiliki banyak API hebat untuk membuat aplikasi imersif/generasi berikutnya seperti WebXR
    Namun meski seseorang membuat aplikasi WebXR di situsnya sendiri dan menjualnya berbayar, itu tidak menghasilkan uang bagi Apple, sehingga Apple tidak akan pernah mempromosikan webapp semacam ini
    Dalam jangka panjang, web tidak akan mati. Perusahaan-perusahaan datang, mengeruk keuntungan, lalu pergi, tetapi web tidak mati

  • Apple menyediakan ribuan API yang memudahkan pengembangan platform, menciptakan bahasa pemrogramannya sendiri yang terintegrasi baik dengan platformnya, dan juga memiliki IDE terintegrasi penuh yang bekerja bersama keduanya
    Benar, “teman”. Mereka tidak peduli padamu kecuali kamu mengembangkan untuk platform mereka
    Dan siapa yang bisa menyalahkan mereka? Hal-hal di atas adalah investasi yang sangat mahal dan memakan waktu lama

    • Ada yang terlewat: mereka mengunci semua hal selain alat-alat itu
      Saya pernah mencoba mengembangkan aplikasi langsung di macOS tanpa Swift dan alat Apple, dan itu luar biasa menyakitkan
      Mereka membuang dan membekukan versi OpenGL sampai tingkat yang sulit dijelaskan selain demi mendorong alat mereka sendiri
      Bahkan memuat satu DLL eksternal saja hampir mustahil
      Apa pun yang cross-platform harus turun ke ekosistem alat Apple, seperti mengubah Vulkan menjadi Metal
      macOS adalah kasus yang lebih aneh dan khusus daripada semua distribusi Linux
      Kalau melihat betapa mudahnya pengembangan Windows, rasanya mengejutkan. Di pihak Microsoft, hampir semuanya cross-platform
      Dari hal-hal Apple yang disebutkan, tidak ada yang memungkinkan bekerja secara platform-independen
      Sebaliknya, Windows mendukung teknologi miliknya sendiri seperti DirectX, tetapi juga mengizinkan Vulkan, OpenGL, dan lainnya berjalan langsung
    • Saya juga cukup positif soal pengembangan Apple dan suka Xcode. Setidaknya sejak SwiftUI; Interface Builder sama sekali tidak bisa saya kuasai
      Namun fakta bahwa penulis masuk lewat pengerjaan aplikasi musik itu penting. API audio Apple benar-benar berantakan
      Media Player, AVPlayer, Core Audio, AVFoundation, AVAudioEngine, dan lain-lain terasa seperti tim-tim pesaing yang masing-masing memakai library sendiri sejak era NeXT, lalu entah bagaimana semuanya bertahan sampai era iPhone
      Saat lockdown COVID, saya menghabiskan sekitar tiga bulan mencoba membuat pemutar Shoutcast/Icecast, dan itu benar-benar menyiksa
    • Apple tidak mengembangkan API-API itu dengan niat baik. Itu adalah strategi penguncian
      Mereka praktis membuat penulisan kode native cross-platform yang berjalan di iOS menjadi mustahil, dan telah melakukan semua yang bisa mereka lakukan dalam batas politik agar web app tidak bisa bersaing dengan aplikasi native
    • Dengan standar itu, saya khawatir Oracle akan dengan mudah menjadi pemenang sebagai perusahaan yang paling memperhatikan developer. Karena mereka telah melakukan investasi yang sangat mahal dan memakan waktu lama
    • Tidak ada kebutuhan khusus untuk membuat bahasa sendiri. Itu juga bagian dari efek penguncian
  • Saya suka sikap sehat penulis terhadap perusahaan besar. Itu adalah keterampilan bertahan hidup dasar di zaman modern
    Kalau bisa sesuka hati, saya berharap tidak perlu memasang aplikasi apa pun di iPhone atau iPad, tetapi karena pembatasan platform, pada praktiknya itu jadi perlu
    Saya melihat web app X/Twitter di Safari tidak memutar video, dan itu tetap terjadi meski saya mematikan Lockdown Mode untuk X
    Saya ingin tahu apakah ini salah Apple yang menciptakan ketidaksesuaian platform, atau niat X agar pengguna memasang aplikasinya
    Saya berspesialisasi dalam deep learning dan LLM, tetapi selalu menikmati pengembangan web juga
    Yang menghambat adalah alat-alatnya terlalu rumit
    Meski begitu, ada orang yang saya kenal banyak menulis tentang ClojureScript + Dart, jadi saya berpikir untuk mencobanya
    Saya ingin menemukan stack web app sederhana yang bisa dipelajari dalam beberapa hari dan didukung dengan baik; kalau ada rekomendasi, saya akan senang

    • Sebaiknya abaikan tulisan yang mencari “stack sempurna”. Stack sempurna itu tidak ada, dan juga tidak wajib untuk merilis software hebat yang benar-benar dirasakan bernilai oleh pengguna
      Sebagian besar pengembangan web adalah memahami browser dengan baik, dan web.dev adalah sumber yang bagus
      Setelah itu, pelajari React + TypeScript. react.dev yang baru juga bagus
      React tidak sempurna, tetapi sebagai paradigma untuk membuat UI, ia begitu bagus sampai Apple pun menirunya saat membuat SwiftUI
      Ambil Vite dan mulailah coding
      Hal yang paling ingin saya rekomendasikan adalah mempelajari materi-materi itu dengan benar. Mulailah dari halaman pertama dokumentasi dan ikuti perlahan sampai selesai
      Namun tidak banyak yang bisa dipelajari hanya dalam beberapa hari. Pekerjaan frontend memang sulit karena alasan yang valid