Jika optimasi perangkat lunak menjadi prioritas, lebih banyak dunia dapat berjalan di perangkat keras lama
(twitter.com/ID_AA_Carmack)- Jika optimasi perangkat lunak benar-benar dijadikan prioritas, lebih banyak sistem daripada yang diperkirakan dapat berjalan bahkan di perangkat keras lama
- Jika sinyal harga pasar bekerja pada sumber daya komputasi yang langka, tekanan untuk membuat perangkat lunak yang lebih efisien akan meningkat
- Salah satu contohnya adalah membangun ulang produk berbasis bahasa terinterpretasi dan microservices menjadi codebase native monolitik
- Namun tanpa komputasi yang sangat murah dan sangat skalabel, akan jauh lebih jarang untuk bereksperimen dengan dan meluncurkan produk baru yang inovatif
- Optimasi performa saja tidak cukup; komputasi yang murah dan dapat diskalakan menentukan frekuensi eksperimen dan peluncuran produk
Eksperimen pemikiran yang mengutamakan optimasi
- Jika optimasi perangkat lunak benar-benar menjadi prioritas, lebih banyak sistem daripada yang diperkirakan dapat beroperasi di atas perangkat keras lama
- Jika sinyal harga bekerja kuat pada sumber daya komputasi yang langka, pasar akan menuntut perangkat lunak yang lebih efisien
Cara implementasi yang mungkin dan keterbatasannya
- Salah satu contohnya adalah membangun ulang produk berbasis bahasa terinterpretasi dan microservices menjadi codebase native monolitik
- Namun tanpa komputasi yang sangat murah dan sangat skalabel, produk baru yang inovatif bisa menjadi jauh lebih jarang
1 komentar
Komentar Hacker News
Pasar tampaknya membeli perangkat lunak yang penuh bug dan tidak efisien sama baiknya dengan perangkat lunak yang matang, sehingga muncul logika bahwa salah satunya adalah perangkat lunak termurah yang bisa dibuat
Ini mirip dengan kisah “pasar lemon”. Pasar menjual semua barang seolah-olah berkualitas tinggi, tetapi diam-diam menurunkan kualitas untuk mengurangi biaya marjinal. Pembeli tidak bisa membedakan kualitas tinggi dan rendah sebelum membeli, sehingga permintaan menjadi tampak serupa secara artifisial, dan penyebabnya adalah asimetri informasi
Di AI, hal ini sudah terjadi dan akan makin parah ke depannya. Pengguna tidak bisa membedakan antara aplikasi machine learning yang canggih dan mode peras mesin cuci yang disebut AI. Label AI sendiri menciptakan premi harga, dan pengguna akhirnya membayar terlalu mahal untuk mesin cuci
Membayar terlalu mahal karena percaya bahwa perangkat lunak berantakan dirancang dan ditulis oleh teknisi dan ahli pada dasarnya sama saja. 99% perangkat lunak ditulis oleh IC1~3, dan di kebanyakan perusahaan teknologi, satu orang QA adalah satu-satunya mekanisme yang menaikkan kualitas melampaui “memenuhi kriteria penerimaan”. Kadang ada segerombolan intern yang melafalkan mantra “LGTM”, tetapi itu pun jarang
https://www.lg.com/uk/lg-experience/inspiration/lg-ai-wash-e...
Saya yakin bahwa jika produknya lebih baik, orang-orang akan bisa diyakinkan dan pertumbuhannya akan viral, tetapi ternyata tidak begitu. Memang tumbuh, tetapi terlalu lambat sehingga dana habis dalam beberapa tahun sebelum mencapai titik impas
Yang saya sadari adalah bahwa di pasar yang kompetitif, biaya rendah, dan karena itu kualitas rendah, justru menjadi keunggulan kompetitif. Semakin besar skala produk, semakin besar pula tekanan untuk menekan biaya, dan karena orang menginginkan yang murah, seseorang akan memangkas “biaya”, yaitu kualitas, agar bisa menjual lebih murah. Perusahaan hanya membayar seminimal mungkin agar bisa bertahan dan menghasilkan laba
Memang ada perusahaan muda yang berusaha membuat kualitas tinggi atau sesaat meningkatkan pengeluaran, tetapi pada akhirnya muncul arus yang meluncur menuju mediokritas yang stabil. Ini sedikit berbeda dari pasar lemon, dan tampaknya berujung pada kemediokeran di mana-mana, bukan keruntuhan pasar
Namun, jika orang rata-rata diminta memilih antara Slack dan klien IRC cepat seperti Weechat, kemungkinan besar mereka akan menganggap yang berkualitas lebih rendah adalah yang punya UI ala terminal, tidak ada panggilan video, tidak ada integrasi webhook, serta tidak ada avatar dan emoji kustom
Performa juga merupakan fitur. Salah satu alasan besar Internet Explorer kalah dari Chrome adalah karena Chrome jauh lebih cepat saat pertama dirilis, dan alasan developer Python cepat berpindah ke uv/ruff juga karena peningkatan performa. Hanya saja, ketika waktu membuka Slack menjadi 5 detik alih-alih 10 ms, sangat sedikit orang yang benar-benar peduli
Itu memang kadang terjadi pada perangkat lunak yang banyak bug, tetapi pada umumnya orang ingin membayar lebih sedikit dan dalam prosesnya rela menerima beberapa bug. Coba pikirkan berapa biaya yang harus ditagihkan jika ingin menjalankan proses di mana setiap baris kode ditinjau oleh beberapa engineer dan QA ketat dilakukan dengan banyak waktu
Saat tinggal di Padova, saya pernah membuat software untuk toko buku kecil, dan karena pemiliknya teman, saya membuatnya cepat dan tidak mengenakan biaya besar. Tidak sempurna, tetapi jika ada masalah saya perbaiki, masalahnya juga tidak banyak, dan teman saya puas dengan kesepakatan itu. Karena dia tahu harganya murah, dia juga lebih sabar
Saya berkali-kali bilang bahwa jika tim kami mengatakan kepada pelanggan, “proyeknya sudah selesai, tetapi penuh bug dan mimpi buruk UI seperti platform back-office ini,” kami akan dimarahi, diturunkan jabatannya, atau dipecat
Ini termasuk perusahaan seperti Google yang kekurangan dukungan manusia. Dukungan muncul dalam banyak bentuk: ada informasi seperti dokumentasi, video, dan blog; ada orang yang membantu seperti “Bu, cara pakai Google itu begini”; ada dukungan untuk hal yang dipakai seperti sistem operasi, browser, dan format; dan ada juga dukungan terhadap cara saya bekerja itu sendiri, seperti Excel
Terakhir, ada manusia sungguhan. Ini adalah faktor nomor satu yang membuat ERP terburuk di dunia pun tetap hidup. Pemasaran dan penjualan juga menjadi sinyal bahwa ada dukungan. Bagi pelanggan perusahaan, jika yang terlihat hanya engineer, itu bisa jadi sinyal buruk. Developer sering tidak bisa melakukan pekerjaan lain, padahal pekerjaan lain itulah dukungan penting
Produk yang bagus pun akan mati tanpa dukungan. Untuk melawan produk yang lebih buruk, memang masuk akal mengurangi kebutuhan dukungan seperti bug, masalah performa, dan platform demi menekan biaya tim saya, tetapi bentuk dukungan di dimensi lain tetap harus ditambahkan. Bagi tim kecil, yang paling mudah adalah menyediakan manusia, sumber daya dukungan yang paling langka, dan setelah itu dibutuhkan kreativitas
Selain itu, keunggulan juga harus dikomunikasikan dengan baik. Sebagian orang lebih menghargai jenis dukungan tertentu, seperti “bisa memiliki kode vs produk proprietari”. Banyak orang lebih memilih produk proprietari yang punya dukungan daripada kode tanpa dukungan
Sejak 1980, kinerja komputasi secara kasar bisa dianggap meningkat sekitar 1000 kali lipat
Bahkan jika pemeriksaan batas array dinamis memakan biaya 5%, dalam praktiknya jauh lebih kecil dari itu, dan jika diaktifkan di mana-mana komputer hanya akan menjadi sekitar 950 kali lebih cepat
Jika kita kembali ke tahun 1980 dan diminta memilih antara “komputer yang 950 kali lebih cepat, tidak memiliki kelas besar kerentanan keamanan memori, dan debugging-nya beberapa tingkat lebih mudah” dan “komputer yang 1000 kali lebih cepat, tetapi perangkat lunaknya tetap penuh bug atau bahkan lebih buruk, dan debugging adalah mimpi buruk”, orang-orang pasti sudah akan tercengang hanya dengan 950 kali lipat
Namun yang kita pilih adalah yang terakhir, dan secara pribadi saya merasa kubu 1000x merusak segalanya bagi yang lain
Pada akhirnya, setelah mereka mengoptimalkannya agar berjalan efisien di Sparc 20, perusahaan punya fondasi untuk sukses di pasar yang lebih luas. Optimisasi harus diperlakukan sebagai keunggulan kompetitif, dan dalam beberapa kasus bisa menjadi keunggulan kompetitif yang paling penting
Jadi jika pemeriksaan batas dipaksakan, bahasa itu bisa kehilangan daya saing pada tugas tertentu
Dalam sebagian besar kasus, ini sama sekali tidak penting dan jauh lebih kecil dari 5%. Saya rasa solusi yang baik adalah memisahkan rentang aman/tidak aman atau rentang umum/kinerja
CPU arus utama lebih dekat ke 1 juta~2 juta kali lebih cepat daripada mesin era 80-an. Dengan beberapa ratus dolar, Anda masih bisa membeli komputer kantor refurb yang masuk kategori 1 juta kali lebih cepat
Fenomena komputer sekarang lambat dan terasa lambat bukan sekadar karena komputernya lambat, namun tetap terjadi. Bahasa skrip yang terus mengalokasikan memori untuk operasi kecil dan harus mengikuti pointer untuk tiap variabel karena tipe dinamis juga menjadi sebagian penyebabnya, dan ada juga orang yang memakai program yang sangat tidak efisien di lingkungan yang sudah buruk
Sebagian besar program saat ini ditulis bukan dengan cara yang diinginkan pengguna, tetapi dengan cara yang ingin dipakai penulisnya untuk bekerja. Banyak orang tidak punya konsep optimisasi atau intuisi tentang apa yang berjalan lebih cepat, lalu setelah programnya berhasil dibuat mereka berpikir, “oh, memang segini cepatnya program ini”
Gagasan bahwa perangkat lunak yang sama sebenarnya bisa dibuat lebih cepat sendiri adalah cara berpikir yang niche, dan bahkan di Hacker News pun tidak semua orang berpikir begitu
Bahasa dengan garbage collection sering memakai memori beberapa kali lebih banyak. Memori yang sudah tidak dipakai lagi tidak langsung dibebaskan, dan dari awal pun cenderung membutuhkan lebih banyak alokasi
Setelah bekerja di Google dan Facebook, saya jadi merasakan sendiri betapa murahnya hardware, dan betapa rendahnya nilai optimisasi kode dalam banyak kasus
Google mulai mengelola penggunaan sumber daya data center lebih dari 10 tahun lalu, dan tiap proyek punya anggaran seperti core CPU, ruang hard disk, penyimpanan flash, spindle disk, dan memori. Sumber daya ini umumnya bisa saling dikonversi, sehingga biaya relatifnya bisa dilihat
Saat itu penyimpanan flash sekitar 20 kali lebih mahal daripada hard disk, tetapi karena bottleneck spindle, dalam total biaya sering justru lebih murah
Semua ini bisa dikonversi menjadi “mili-SWE”, yaitu seperseribu upaya satu SWE yang bekerja selama satu tahun. Proyek bisa menghemat hardware lalu merekrut lebih banyak orang, atau merekrut lebih sedikit orang dan mendapat lebih banyak hardware dalam anggaran yang ada
Saya tidak ingat persis berapa banyak core CPU yang setara dengan 1 SWE, tetapi rasanya ribuan. Jika Anda menghabiskan 1 tahun SWE untuk optimisasi seluruh proyek namun tidak bisa menghemat 5000 core CPU, itu rugi bersih
Proyek yang sangat besar memakai jauh lebih banyak dari itu sehingga optimisasi masuk akal, tetapi dalam banyak kasus optimisasi tidak tepat, terutama jika kode yang ditulis kemungkinan besar suatu saat akan diganti
Sementara itu, web punya masalah kegunaan umum. Web seharusnya tidak memakai sumber daya sebanyak sekarang. Jika Anda mengenal orang yang pernah melakukan pekerjaan input data, Anda akan tahu mouse itu cukup tidak efisien. Terminal berbasis teks 30~40 tahun lalu memberi antarmuka yang sangat efisien sambil memakai sumber daya yang sangat sedikit
Dulu saya mengira web suatu hari akan “selesai”, dalam arti tumpukan teknologi yang diharapkan secara umum akan mapan lalu kita beralih ke masalah lain, tetapi ternyata tidak begitu. Masih saja ada “framework minggu ini”, dan orang melakukan hal bodoh seperti mengimplementasikan ulang scrollbar di kode pengguna yang tidak cocok dengan mouse wheel. Saya tidak tahu bagaimana masalah ini bisa dipecahkan, atau apakah memang bisa “dipecahkan” sejak awal
Google mencurahkan upaya sangat besar pada dua aspek kinerja lain, yaitu latensi dan tingkat utilisasi keseluruhan peralatan. Keduanya adalah arahan dari atas, menyedot waktu dan perhatian ribuan engineer, dan biaya tenaga kerjanya juga besar
Namun jika peralatan adalah kendala, meskipun satu core individu murah, Anda tetap tidak ingin membiarkannya menganggur tanpa alasan. Biaya peluang menunggu pembangunan data center baru itu besar. Jika penggunaan sangat sensitif terhadap latensi, memang masuk akal memangkas milidetik bukan demi penghematan biaya hardware, tetapi demi metrik bisnis
Penilaian harus dilakukan berdasarkan biaya marjinal. Bahkan jika penghematannya hanya beberapa sen per tahun untuk setiap 1 dolar, tetap lebih baik mengerjakan itu daripada membiarkan engineer menganggur
Masalahnya, hampir tidak ada yang benar-benar melakukannya. Cara pengambilan keputusan tidak ada hubungannya dengan perhitungan ekonomi, dan kebanyakan hanya meniru “apa yang dilakukan Google”. Ini menjelaskan banyak disfungsi
Tetapi perusahaan biasa, bahkan perusahaan besar sekalipun, tidak sampai seperti itu. Ini terlihat seperti contoh klasik dari “Facebook/Google/Netflix adalah kelas tersendiri, dan sebagian besar praktik mereka tidak berlaku untuk Anda”
Kita bisa membayangkan semesta alternatif di mana sumber daya manusia dikerahkan ke optimisasi, tetapi semesta itu akan sangat berbeda dari sekarang. Menambah satu engineer untuk optimisasi berarti mengurangi satu engineer pengembang fitur. Untuk apa? Demi menghemat beberapa siklus CPU? Rasanya konyol
Dari judulnya saja, saya sempat mengira Carmack sedang mengkritik software yang tidak dioptimalkan dengan baik dan mendorong peningkatan performa di hardware lama.
Ternyata isi tweet-nya sama sekali bukan keduanya; itu membahas eksperimen pemikiran tentang dunia di mana kemajuan hardware berhenti, lalu menyimpulkan bahwa “tanpa komputasi yang sangat murah dan bisa diskalakan, produk baru yang inovatif tentu akan jauh lebih jarang muncul.”
https://news.ycombinator.com/item?id=43967208
https://threadreaderapp.com/thread/1922015999118680495.html
Justru saya merasa kita tidak melihat banyak inovasi besar selama 18 tahun sejak smartphone, dan modal bergantung pada kemajuan hardware untuk menjual kepada konsumen produk yang pada dasarnya sama dengan yang sudah mereka miliki.
Tentu saja saya tidak bisa membaca setelah tweet pertama.
Akan ada stagnasi, tetapi bukan stagnasi yang berkelanjutan.
Jika Anda bisa merekrut orang dengan bahasa yang lebih sederhana dan membuat mereka produktif, pasar tenaga kerja menjadi lebih luas dan biayanya turun.
Dalam teks aslinya, Carmack pada dasarnya berargumen bahwa “developer yang baik dan cerdas itu mahal, dan karena ada pekerjaan yang lebih besar, orang tidak mengeluarkan uang agar kode dan sistem dioptimalkan sampai tuntas, sehingga software menjadi lambat.”
Jadi implikasinya, jika developer bagus tiba-tiba menjadi sangat murah, semua orang bisa memakainya untuk optimisasi dan banyak software bisa mendadak menjadi lebih cepat. Kalau begitu, mengapa developer bagus bisa tiba-tiba menjadi murah?
Akan bagus jika umur hardware bisa diperpanjang 5 atau 10 tahun lagi setelah “planned obsolescence”.
Dengan begitu kita bisa banyak mengurangi limbah elektronik, membiarkan logam tanah jarang tetap di dalam tanah, dan juga sangat menurunkan emisi gas rumah kaca.
Namun, kekuatan pasar dalam produksi software tidak membayar biaya atas eksternalitas seperti itu. Jauh lebih murah untuk rilis cepat, uji, dan iterasi daripada merencanakan dan mendesain demi performa. Beberapa organisasi di industri game telah menemukan rumus untuk mendapatkan performa bagus sekaligus penjualan, tetapi itu belum tersebar merata.
Dalam software enterprise maupun consumer, insentif untuk memasukkan target performa ke dalam requirement tidak besar. Sistem dirancang pada tingkat yang masih bisa ditoleransi pengguna, lalu perubahan dan fitur harus terus dirilis, sehingga disisakan kelonggaran sebesar mungkin. Setiap perubahan adalah utang yang dapat memengaruhi performa dan kepuasan pengguna, jadi perlu ruang anggaran untuk menanggung tingkat error.
Ini sangat berbeda dari cara lama mendesain dan mengembangkan di balik pintu tertutup sampai “siap”.
Kita seharusnya punya ekonomi yang berpusat pada perawatan dan pemeliharaan, serta menyelaraskan upaya makro pada kebaikan seluruh umat manusia, bukan pada sedikit kemakmuran yang dipersepsikan.
Jika kita berfokus pada merawat kendaraan lama, menggunakan kembali komputer lama, dan semacamnya, tempat pembuangan akhir akan lebih kecil dibanding pertumbuhan yang terjadi.
Tentu saja, rasanya juga mungkin ada konstruksi teori permainan yang menunjukkan bahwa konservasionisme adalah strategi yang secara objektif lebih lemah.
Sudah lebih dari 10 tahun sejak seluruh order matching engine sebuah bursa bisa dijalankan dalam satu thread.
Saya rasa kapasitas komputasi untuk kelas tertentu dari pemrosesan transaksi yang benar-benar harus diserialkan tidak tumbuh secepat yang disiratkan metrik lain. Menambahkan 31 core tidak akan membuat order matching engine lebih cepat, malah bisa membuatnya lebih lambat.
Jika produk Anda memproses kurang dari beberapa juta transaksi per detik tetapi Anda sudah mencari cluster mesin, Anda mungkin perlu mundur 15 langkah dan mulai lagi dari awal.
Padahal desain aslinya saja masih akan memenuhi 99% use case, dan dengan kemampuan komputasi lokal saat ini, mungkin seluruh pasar bisa dijalankan di satu mesin.
Apakah karena selain pengurutan berdasarkan waktu dan harga, tidak ada cukup banyak komputasi lain yang bisa dikerjakan?
Jika tiap transaksi butuh pemrosesan yang lebih kompleks, jumlah sebesar itu tidak akan bisa ditangani. Hanya saja, sulit membayangkan jenis pemrosesan yang lebih kompleks apa yang akan dibutuhkan jika Anda bukan orang yang bekerja di domain tersebut.
Benar. Ini adalah masalah ekonomi, yaitu masalah alokasi sumber daya.
Pilihannya adalah apakah seseorang harus menghabiskan lebih banyak waktu untuk mengoptimalkan perangkat lunak, atau membuat lebih banyak fitur. Jika yang kedua menghasilkan lebih banyak uang tunai, maka itulah yang akan dikerjakan; jika yang pertama menjadi penting bagi arus kas, maka itulah yang akan dikerjakan
Ini adalah contoh yang jelas dari eksternalitas negatif yang dibebankan perusahaan perangkat lunak kepada masyarakat. Sebagian besar perusahaan perangkat lunak tidak menanggung biaya nyata dari energi, waktu yang hilang, dan tambahan limbah elektronik, jadi mereka tidak peduli pada optimisasi
Ada banyak kasus ketika optimisasi menyeluruh memang tidak terlalu berarti, tetapi gagasan untuk sekadar menambah server alih-alih menulis ulang adalah keadaan yang menyedihkan
Saya tidak menggunakan sebagian besar fitur baru di macOS, Windows, dan Android. Yang saya inginkan adalah lingkungan yang efisien untuk menjalankan aplikasi dan peningkatan keamanan. Banyak perbaikan seperti aplikasi Settings di macOS juga tidak terlalu memuaskan.
Hal yang sama berlaku untuk perangkat lunak desain. Saya tidak menggunakan sebagian besar fitur baru yang ditambahkan Adobe, dan saya bisa tetap sangat puas dengan Illustrator atau Photoshop dari 10 tahun lalu. Yang saya inginkan adalah perangkat lunak yang tidak terlalu bloat.
Untuk produksi audio dan musik, alur kerja masih terus membaik jadi saya memang menginginkan fitur baru, tetapi bukan dengan mengorbankan efisiensi.
Untuk editor kode, fitur VSCode sudah cukup. Tidak ada lagi yang benar-benar saya butuhkan, dan saya memang menginginkan LSP yang lebih baik, tetapi itu bukan inti editornya. Saya hanya berharap VSCode lebih cepat dan memakai lebih sedikit memori
Optimisasi perangkat lunak menarik dengan cara yang mirip. Tetapi jika persoalannya adalah “menghabiskan beberapa jam waktu engineering yang mahal untuk optimisasi” versus “menambah RAM murah”, maka pilihan yang lebih murah akan menang. Kadang masalahnya cukup besar sehingga layak dioptimalkan.
Pasar akan menentukan pilihan mana yang layak dikejar. Ketika kita mencapai titik diminishing returns dari pendekatan melempar lebih banyak hardware ke masalah, maka perangkat lunak akan dioptimalkan. Hukum Moore memang melambat, tetapi tampaknya kita masih belum sampai ke titik itu
Tetapi kenyataannya justru lebih dekat ke kebalikannya. Jika label harganya lebih murah, mereka bahkan akan memilih versi dengan performa lebih rendah
Bukan bantahan terhadap Carmack, tetapi ada contoh spesifik yang kadang saya pikirkan.
Aplikasi Electron berada di antara sesuatu yang ditoleransi atau dibenci konsumen karena masalah performa, tetapi mungkin juga merupakan satu inovasi yang membuat laptop Linux praktis dipakai di tempat kerja. Misalnya, bisa masuk ke rapat MS Teams tanpa instalasi itu benar-benar berguna.
Jadi ketika semua orang meratapi bahwa sekarang tidak ada lagi yang dikodekan serapat Winamp, mereka melupakan tiga huruf pertama itu
Ada kemungkinan besar itu juga bisa dijalankan di Linux, sedangkan perangkat lunak Electron buruk di platform mana pun
Pada 2010 saya bekerja sebagai petugas kebersihan sambil menangani peran kepala IT sebagai pekerjaan sampingan.
Saat itu saya mengatakan kepada perusahaan bahwa laptop dari lima tahun terakhir mereka, kira-kira produk sejak Nehalem dan sesudahnya, sudah cukup bertenaga untuk pekerjaan spreadsheet. Praktis hanya itu yang mereka lakukan, dan 2 core, RAM 16GB, serta SSD SATA 500GB sudah cukup. Hanya beberapa orang di pemasaran yang butuh mesin sedikit lebih kuat, tetapi perbedaannya tidak besar, dan kami menghemat banyak uang dengan tidak membeli laptop kelas atas terbaru.
Saya sudah tidak bekerja di sana lagi sekarang, tetapi saya yakin komputer-komputer itu seharusnya masih sangat memadai untuk spreadsheet bahkan hari ini. Alur kerja bisnisnya tidak banyak berubah; yang berubah adalah perangkat lunaknya. Kalau terus diperbarui, saya bahkan tidak tahu apakah sekarang mereka masih bisa “menjalankan” MS Windows 10 atau 11, tetapi kemungkinan besar produktivitas mereka turun tajam karena bloat, dan terutama karena spreadsheet yang hanya online.
Internet di sana juga buruk. Pilihannya hanya DSL asimetris sekitar 16Mbit seharga $300 per bulan karena alasan “bisnis”, atau kabel Comcast 120Mbit seharga $500 per bulan. Bahkan 120Mbit pun cuma pas-pasan untuk spreadsheet yang hanya online, dan 16Mbit jelas tidak cukup. Yang lebih buruk lagi, jika internet putus maka bisnis berhenti total.
Inilah wujud nyata dari pencurian yang disebut komentar lain, dan saya sepenuhnya setuju. Sama sekali tidak ada alasan laptop yang mengedit dan memperbarui spreadsheet di kantor harus membutuhkan internet, sumber daya komputasi/penyimpanan yang konyol, atau bandwidth besar.
Tidak ada pembenaran untuk buruknya performa komputer saat ini selain mengalihkan biayanya kepada pelanggan, baik individu maupun perusahaan.
https://news.ycombinator.com/item?id=43971960
Dunia berjalan di atas fitur, bukan perangkat lunak yang anggun, cepat, dan bebas bug
Bagi pengguna akhir, tidak adanya fitur dan bug pada dasarnya tidak berbeda. Performa yang buruk sehingga suatu tugas butuh 5 menit untuk selesai, dan tidak adanya fitur sehingga pengguna harus melakukan hal yang sama secara manual selama 5 menit, juga tidak memiliki perbedaan yang berarti. Keduanya sama-sama “lambat”
Jika terus memaksimalkan nilai bagi pengguna akhir, pada akhirnya kita justru akan membuat perangkat lunak yang lambat dan penuh bug. Selain itu, jika pengguna ditanya apakah mereka mau perangkat lunak yang lebih cepat dan lebih sedikit bug tetapi fiturnya berkurang, ternyata jawabannya sering kali tidak. Yang lebih penting, di dunia korporat, pembeli perangkat lunak sering kali bukan pengguna akhirnya, dan mereka lebih menginginkan fitur serta lebih tidak peduli pada performa dan keanggunan
Jika kumpulan fiturnya sama, pengguna dan pembeli tentu akan memilih perangkat lunak yang paling cepat, paling minim bug, dan paling anggun. Tetapi jika ada satu saja fitur yang hilang, itu kalah. Alasan perangkat lunak harus tetap cepat dan anggun adalah karena dengan begitu kemungkinan terbesar untuk terus menambah fitur tanpa berakhir menjadi produk dengan fitur yang lebih sedikit tetap terjaga
Solusi yang cepat dan anggun bisa mendapat ulasan bagus dan pujian karena enak digunakan. Karena itu, hal tersebut bisa terlihat sebagai faktor penting. Namun pada akhirnya, jika perangkat lunak itu tidak bisa melakukan hal yang diinginkan, orang bahkan tidak akan membelinya. Jika fitur inti yang dibutuhkan ada, mereka akan memilih kekacauan yang lambat, menjengkelkan, dan penuh bug
Perlu juga diingat bahwa Microsoft sekarang harus menendang pengguna dan membuat mereka menjerit sambil menyeret mereka ke versi Windows berikutnya. Jika pengguna dibiarkan memutuskan sendiri, banyak orang kemungkinan tidak akan pernah upgrade setelah Windows XP. Itu pun terjadi meskipun versi-versi setelahnya punya banyak fitur baru yang cantik
Saya setuju bahwa perusahaan dan investor menginginkan fitur itu sendiri, tetapi pengguna jelas tidak demikian
Jika memungkinkan, tak seorang pun akan upgrade apa pun lagi. Lihat saja betapa kerasnya Microsoft berusaha membuat orang upgrade. Saya belum pernah mendengar ada orang yang benar-benar menginginkan versi baru dari Windows, Office, Slack, Zoom, dan sebagainya
Ini juga alasan semua hal seperti Photoshop dipaksa masuk ke cloud. Mayoritas orang tidak menginginkan fitur baru yang ditawarkan, termasuk pembeli korporat. Jawaban untuk mempertahankan pendapatan adalah membuat orang tetap membeli, terlepas dari apakah fitur itu benar-benar diberikan atau tidak
Hanya saja, pengguna lama sudah menyelesaikan pekerjaan yang mereka butuhkan dengan perangkat lunak itu, jadi fitur baru bisa membantu menghilangkan kebutuhan akan perangkat lunak lain atau memungkinkan pekerjaan baru. Tetapi jika itu pekerjaan baru yang benar-benar sangat penting, mereka kemungkinan sudah mencari dan memakai perangkat lunak lain, dan itu berarti mereka selama ini sudah bisa bertahan tanpanya. Jadi, kalau pengguna lama benar-benar reflektif, saya rasa mereka pertama-tama akan meminta peningkatan performa, lalu mungkin beberapa perbaikan kecil
Sebaliknya, calon pengguna mungkin belum mengenal perangkat lunaknya, atau mereka membutuhkan fungsi lain sebelum merasa perangkat lunak itu berguna. Kelompok inilah yang secara masuk akal mencari fitur baru
Jadi keputusan “fitur vs performa” juga menjadi sinyal apakah prioritas pengembang adalah menambah pengguna baru atau memuaskan pengguna lama. Wajar jika orang teknis lebih menyukai yang kedua. Mereka sudah pernah memainkan permainan ini, dan tahu bahwa mereka ingin menjadi prioritas saat benar-benar menggunakan produk dalam jangka panjang, bukan hanya saat sedang diakuisisi sebagai pengguna
Perangkat lunak yang lambat, penuh bug, tetapi kaya fitur mendominasi pasar juga karena perusahaan menaruh pertumbuhan sebagai prioritas utama. Sejarah dipenuhi perangkat lunak yang indah dan anggun yang dirindukan pengguna, tetapi tidak pernah menyebar cukup luas untuk membuat perusahaannya bertahan
Trade-off itu nyata di kedua arah. Kebanyakan orang menghabiskan lebih banyak waktu sebagai pengguna daripada sebagai calon pengguna. Ini kemungkinan besar salah satu penyebab utama persepsi umum bahwa perangkat lunak dan komputer masa kini benar-benar buruk sampai sulit dipercaya
Uang yang dibelanjakan untuk RAM dan CPU yang lebih baik pada komputer rumah dan kantor memungkinkan semua perangkat lunak yang berjalan di atasnya dirilis dengan biaya lebih rendah dan dalam keadaan memiliki lebih banyak fitur