Joel on Software

Joel on Software   Pojok Software Joel

 

Artikel-artikel "Joel on Software" lain dalam bahasa Indonesia

Artikel-artikel "Joel on Software" lain dalam bahasa Inggris

Email pengarang (hanya dalam bahasa Inggris)

 

Problem Ayam dan Telur


Oleh Joel Spolsky
Diterjemahkan oleh Darwin Tjoe


Ada pendapat bahwa beriklan tujuannya adalah berbohong tanpa kuatir ditangkap. Kebanyakan perusahaan ketika melakukan kegiatan periklanan, adalah mengangkat bagian terlemah dari kebenaran dalam perusahaan dan terus berbohong tentang itu. Sebut saja itu “pembenaran dari penegasan yang berulang-ulang” Contoh, bepergian dengan pesawat udara selalu tidak menyenangkan dan sempit, pekerja maskapai penerbangan kasar dan tidak menyenangkan. Sesungguhnya, semua system penerbangan komersial memang dirancang sedemikian menyiksa. Tidak mengherankan semua iklan maskapai penerbangan selalu menunjukkan betapa nyaman dan menyenangkan bepergian dengan pesawat udara dan betapa Anda dimanjakan dalam setiap hal. Pada saat British Airways menunjukkan iklan seorang businessman duduk tertidur di pesawat dan bermimpi seolah dia adalah bayi yang sedang tidur di keranjang bayi.

Mau contoh lain? Semua orang tahu semua pabrik kertas telah menghancurkan hutan nasional kita, mencukur habis semua pohon-pohon yang bukan milik mereka. Jadi ketika beriklan yang ditunjukkan adalah hutan pinus yang sungguh bagus dan pembicaraan betapa mereka peduli akan lingkungan. Rokok menyebabkan kematian, tetapi diiklannya yang ditunjukkan adalah kehidupan yang menyenangkan, orang-orang yang sehat dan tersenyum bahagia berlalu lalang.


Ketika Macintosh pertama sekali diperkenalkan, tidak tersedia software apapun untuknya. Apple justru membuat katalog raksasa sederet software hebat yang dibuat untuk Macintosh. Setengah dari daftar panjang itu ditambah tulisan kecil "dalam pengembangan", setengah sisanya lagi belum tersedia di pasar. Beberapa diantaranya adalah produk mainan dimana tidak akan ada orang yang ingin membelinya. Jadi walaupun dipersenjatai dengan katalog tebal dan tercetak bagus tidak bisa menghindari kenyataan bahwa Anda bahkan tidak bisa membeli software pengolah data atau spreadsheet untuk Macintosh 128KB. Hal yang sama terjadi juga pada "panduan produk software" untuk NeXT dan BeOS (Perhatian penggemar fanatik NeXT dan BeOS: Saya tidak perlu komentar mengenai operating system Anda OK? Silakan tulis kolom Anda sendiri). Panduan produk software hanya menunjukkan kepada Anda bahwa tidak ada software yang tersedia untuk system itu.

Amiga, Atari ST, Gem, IBM TopView, NeXT, BeOS, Windows CE, General Magic, "platform baru" yang masuk kedalam daftar gagal bertambah dan bertambah. Karena mereka bermain pada level platform, secara definisi kalau hanya mereka hadir sendiri tidaklah terlalu menarik bagi orang lain jika tidak ada software yang bisa berjalan diatasnya. Kecuali dengan beberapa kekecualian, tidak ada pengembang software yang tertarik untuk membuat software untuk platform yang hanya dipakai oleh 100.000 pengguna seperti BeOS jika dengan pengorbanan yang sama mereka bisa menulis software untuk platform yang dipakai oleh lebih dari 100.000.000 pengguna seperti Windows. Kenyataan bahwa kalau ada orang yang menulis software untuk system yang aneh seperti diatas, bisa dipastikan motifnya bukan pada keuntungan finansial. Jika Anda menulis tiruan microEmacs untuk Timex Sinclair 100, hebat, untuk Anda sendiri.

Jadi, jika Anda bermain pada level pembuat platform, kemungkinan Anda akan mengalami fenomena yang dikenal dengan problem ayam dan telur. Tidak ada orang yang akan membeli platform Anda sebelum tersedia cukup banyak software bagus yang berjalan diatasnya, sebaliknya tidak ada orang yang ingin menulis software untuk platform Anda sebelum mempunyai installed base yang cukup besar. Ooops…

Persoalan ayam dan telur, dan beberapa variasi darinya adalah elemen terpenting dari strategi yang perlu dipahami. Oke, kadangkala Anda bisa hidup tanpa perlu memahami hal ini: Steve Jobs sepanjang karirnya praktis juga tidak memahami hal tersebut, tetapi kita-kita yang tidak mewarisi Jobs perlu belajar lebih keras.

Pelajaran pertama. Ruang lingkup ayam dan telur secara klasik adalah dalam platform software. Tetapi ada contoh problem ayam dan telur yang lain. Setiap bulan, perusahaan kartu kredit mengirimkan jutaan tagihan kepada nasabahnya dalam bentuk surat. Para nasabah, sebaliknya menuliskan juga jutaan cek, memasukkan ke dalam amplop dan mengirimkan kembali ke perusahan kartu kredit. Amplop-amplop ditaruh didalam satu kardus besar dan dibawa ke negara dimana upah kerja masih murah untuk dibuka dan diproses. Keseluruhan proses memakan biaya cukup besar, saya dengar lebih dari $1 per satu tagihan.

Bagi kita yang melek internet, ada lelucon, "Kirimkan tagihan saya melalui email, dan saya akan membayar online". "Biayanya hanya, katakan, 1/100000 sen, dan Anda bisa menghemat jutaan". Kurang lebih seperti itu.

Anda benar, jadi banyak perusahaan mencoba masuk kedalam bisnis ini yang secara teknis dikenal dengan sebutan Bill Presentment. Satu contoh (coba tebak) Microsoft. Solusi mereka, TransPoint, bisa dilihat pada website mereka. Anda pergi ke sana, lihat tagihan Anda, dan Anda membayar.

Jadi sekarang, Anda menerima tagihan Anda melalui sistem Microsoft. Anda mengunjungi halaman web setiap beberapa hari untuk melihat apakah ada tagihan yang masuk sehingga tidak sampai terlewatkan. Jika Anda menerima, katakan, 10 tagihan perbulan, mungkin ini bukan persoalan terlalu besar. Tetapi bisa jadi masalah lain adalah hanya sejumlah kecil merchant yang mau menggunakan sistem tersebut sehingga bagi Anda untuk tagihan lain, Anda masih harus mengunjungi tempat lain.

Akhirnya, tidak cukup berharga. Saya akan heran jika ada 10.000 orang menggunakan sistem ini. Sekarang, Microsoft pergi ke merchant dan mengatakan, "kirimkan tagihan kepada pelanggan Anda lewat sistem kami!" Merchant akan bertanya, "Ok! Berapa biayanya?" dan Microsoft menjawab, "50 sen! Jauh lebih murah dari $1" Merchant :"Ada lagi yang lain?" Microsoft menjawab,"Oh ya, Anda perlu membayar $250.000 untuk setup software, menghubungkan sistem kami dengan sistem Anda agar semuanya bisa berjalan."

Dan karena Microsoft hanya memiliki sejumlah kecil pengguna, sulit dibayangkan ada yang bersedia membayar $250.000 untuk menghemat $50 sen pada 37 pengguna. Aha! Pelanggan tidak akan menggunakan sistem Anda sampai Anda mempunyai cukup banyak merchant, sebaliknya merchant juga tidak akan menggunakan sistem Anda sampai Anda mempunyai cukup banyak pelanggan.

Platform software memberi kita beberapa tips bagus bagaimana mengatasi problem ayam dan telur ini. Mari kita lihat kebelakang sejenak sejarah personal komputer sejak IBM-PC dirilis dan mungkin kita bisa menemukan sesuatu.

Banyak orang berpikir bahwa IBM-PC mengharuskan PC-DOS. Salah, ketika IBM-PC pertama keluar, Anda mempunyai 3 pilihan OS, PC-DOS, XENIX dan sesuatu yang disebut UCSD P-System, yang kalau Anda mau percaya, yang terakhir ini seperti Java: lumayan bagus, perlahan, portable, 20 tahun sebelum Java.

Sekarang, kebanyakan orang tidak pernah mendengar apa itu XENIX atau UCSD. Mungkin Anda juga mempunyai pikiran itu karena Microsoft mengambil alih pasar OS melalui adu otot kebijakan pemasaran. Sangat tidak betul, Microsoft masih perusahaan kecil pada saat itu. Perusahaan dengan otot pemasaran yang sangat kuat justru Digital Research yang jug amemasarkan OS lain. Jadi mengapa PC-DOS bisa memenangkan persaingan?

Pada jaman sebelum PC, OS yang sesungguhnya yang bisa diperoleh hanya CP/M walaupun pasar untuk komputer berbasis CP/M yang seharga $10.000 terlalu kecil. Selain mahal, juga tidak user friendly. Tetapi orang-orang yang membeli, menggunakannya untuk pengolah kata karena ada produk bagus untuk itu, WordStar untuk CP/M sementara Apple II masih belum bisa melakukan pengolahan kata (tidak mempunyai huruf kecil untuk memulai).

Sekarang, ini fakta yang tidak banyak diketahui orang. DOS 1.0 dirancang backward kompatible dengan CP/M, tidak hanya mempunyai interface programming yang baru, dikenal oleh banyak programmer sebagai INT 21, tetapi juga didukung oleh interface programming CP/M yang lama. Nyatanya, WordStar diporting ke DOS hanya dengan mengganti satu single byte code. (Programmer yang sesungguhnya bisa menunjukkan kepada Anda byte yang mana, saya sudah lama lupa).

DOS populer karena mempunyai software pada hari pertama. DOS mempunyai software karena Tim Paterson sudah berpikir memasukkan fitur kompatibel dengan CP/M.

Dalam sejarah PC, hanya pernah terjadi dua kali pergeseran paradigma dimana hampir semua pengguna PC dilibatkan: kita semua ganti ke Windows 3.x, dan kemudian kita semua ganti lagi ke Windows 95. Hanya sejumlah kecil orang yang pernah pindah lagi ke platform lain. Mungkin Anda berpikir, konspirasi Microsoft untuk memegang kendali dunia? Sah-sah saja jika banyak orang berpikir seperti itu tetapi saya mempunyai pemikiran lain, alasan yang lebih menarik dan kembali ke problem ayam dan telur.

Kita semua pindah ke Windows 3.x. Hal terpenting untuk diperhatikan dalam hal ini adalah angkat 3. Mengapa kita tidak pindah ke Windows 1.0, atau 2.0, atau Windows 286 / 386? Karena Microsoft memerlukan lima rilis untuk membuatnya jadi bagus? Bukan.

Alasan sesungguhnya adalah kebutuhan hardware yaitu kemunculan chip Intel 80386 yang dibutuhkan Windows 3.0 untuk berjalan dengan optimal..

  • Fitur satu: program DOS menampilkan pada layar pada saat menulis langsung pada lokasi memory sesuai dengan sel karakter pada layar. Inilah cara untuk menampilkan output secara cepat sehingga program kelihatan bagus. Tetapi Windows berjalan pada mode grafis. Pada chip Intel yang lebih tua, engineer Microsoft tidak mempunyai pilihan lain kecuali menampilkan secara full screen pada saat menjalankan program DOS. Tetapi pada 80386, mereka bisa membuat blok memory virtual dan set interrupts sehingga OS akan diberitahu jika ada program yang mencoba menulis langsung ke memory. Windows kemudian bisa menuliskan text yang sama ke dalam jendela grafis pada layar seketika.
  • Fitur dua: program DOS mengasumsikan mereka berjalan diatas ship. Intel 80386 mempunyai kemampuan untuk membuat "virtual" PC (maya), masing-masing dari mereka bertindak seakan-akan seperti sebuah sistem 8086 yang lengkap jadi program PC yang lama beranggapan sedang berjalan diatas satu sistem sendiri, sementara program lain juga demikian, pada waktu yang bersamaan.

Jadi Windows 3.x dengan Intel 80386 adalah versi pertama yang bisa menjalankan beberapa program DOS bersamaan. (Secara teknis Windows 386 bisa melakukan hal yangsama, tetapi pada saat itu 80386 masih sangat langka dan mahal hingga Windows 3.0 dirilis). Windows 3.0 adalah versi pertama yang sesungguhnya bisa menjalankan semua software lama Anda.

Windows 95? Tidak masalah. Sebuah API 32 bit yang baru, tetapi masih bisa menjalankan software 16 bit dengan sempurna. Microsoft terobsesi dengan hal ini, menghabiskan sekian banyak waktu dan pengorbanan agar berkesempatan mengetest semua software lama yang bisa mereka temukan untuk berjalan diatas Windows 95. Jon Ross, penulis Sim City versi Windows 3.x mengatakan kepada saya bahwa dia tanpa sengaja telah meninggalkan satu cacat kecil yakni Sim City membaca lagi memory yang baru saja dilepas. Pada Windows 3.x, software tersebut berjalan baik karena memory tidak diperuntukkan untuk hal lain. Inilah hal yang menakjubkan, pada versi beta Windows 95, Sim City tidak bisa berjalan. Microsoft menemukan bug tersebut dan menambahkan satu code spesific yang jika menemukan Sim City diaktifkan, dia akan menjalankan satu proses memory allocator pada special mode agar tidak membebaskan memory. Backward compatibility seperti inilah yang membuat orang-orang ingin upgrade ke Windows 95.

Anda mulai mendapatkan beberapa ide bagaimana memecahkan hambatan ayam dan telur: menyediakan mode backward kompatible yang akan memberikan Anda segerobak ayam atau segerobak telur, tergantung bagaimana Anda memandang.

Ah, sekarang kita kembali ke penanganan tagihan, ingat? Problem ayam dan telur adalah Anda hanya mendapatkan tagihan Con Ed, jadi Anda tidak akan menggunakan jasa itu. Bagaimana mengatasinya? Microsoft tidak menyadarinya. PayMyBills.com (dan sejumlah perusahaan lain di Silicon Valley) menyadari hal tersebut. Tawarkan mode backwards kompatibel: jika merchant belum mau mendukung sistemnya, minta merchant mengirimkan tagihan mereka ke University Avenue di Palo Alto, dimana sejumlah orang yang dipekerjakan membuka dan men-scan semua tagihan-tagihan. Sekarang Anda bisa melihat semua tagihan di website mereka. Pelanggan senang menggunakan sistem ini walaupun sebenarnya yang terjadi sesungguhnya dibelakangnya adalah mode backward compatible yang konyol. Bank-bank issuer kartu kredit mencetak lembar tagihan, memasukkan kedalam amplop, mengirim sejauh 1500 mil ke California dimana kemudian tagihan ini dibuka dan dientri dan scan ulang ke komputer. Lembar-lembar kertas dan bahan cetak promosi yang terbuang saja mencapai $9.95 terbuang sia-sia. Tetapi cara konyol seperti ini sungguh bekerja karena PayMyBills.com, berbeda dengan Microsoft, sungguh mendapatkan konsumen menggunakan sistem mereka. Kemudian mereka pergi ke bank-bank issuer kartu kredit Visa dan berkata "Hey, saya mempunyai 93.400 konsumen. Mengapa Anda tidak menghemat $93.400 setiap bulan dengan mengirimkan langsung tagihan Anda kepada saya secara elektronis?". Dan seketika PayMyBills menjadi perusahaan yang sangat menguntungkan.

Perusahaan yang gagal mengidentifikasi problem ayam dan telur bisa disamakan dengan "menggarami air laut": rencana bisnis mereka membutuhkan kerjasama 93 juta orang sebelum skema bisnis mereka yang tidak masuk akal bisa bekerja. Satu ide bisnis yang paling tolol yang pernah saya temui bernama ActiveNames. Idenya adalah semua orang diseluruh dunia akan menginstall sebuah tambahan (add in) kecil pada email client mereka yang kemudian akan mencari alamat email yang sesungguhnya pada server pusat. Sebagai pengganti memberitahu orang lain email Anda adalah kermit@sesame-street.com, Anda boleh memberitahu mereka bahwa ActiveName Anda adalah "spolsky" dan jika mereka ingin mengirimi Anda email, mereka harus install software khusus untuk itu terlebih dahulu. Bzzzzzt. Salah. Saya bahkan tidak bisa mulai memberikan daftar semua alasan mengapa ide tersebut tidak akan pernah berhasil.

Kesimpulan: Jika Anda masuk ke pasar dengan problem ayam dan telur, sebaiknya Anda memastikan backward kompatibel dengan pendahulu Anda, jika tidak, Anda akan membutuhkan waktu yang panjaaaang sekali (mungkin selamanya).

Ada banyak perusahaan menyadari problem ayam dan telur untuk dihadapi dan mengatasinya dengan cerdik. Ketika Transmeta merancang CPU terbaru, pertama kali sejak lama ada perusahaan diluar Intel memperkenalkan CPU dan ingin orang membeli dari Anda, pastikan produk Anda bisa menjalankan x86 code. Banyak perusahaan lain seperti Hitachi, Motorola, IBM, MIPS, National Semiconductor, yang gagal karena mereka merasa cerdik ketik bisa menciptakan instruction set yang baru. Sebaliknya arsitektur Transmeta sejak hari pertama mengasumsikan bahwa rencana bisnis membuat komputer apapun yang tidak bisa menjalankan Excel tidak akan kemana-mana.



Artikel ini aslinya bahasa Inggris dengan judul Strategy Letter II: Chicken and Egg Problems  

Joel Spolsky adalah pendiri Fog Creek Software, sebuah perusahaan software kecil di New York City. Dia lulus dari Yale University, dan pernah bekerja sebagai programer dan manajer di Microsoft, Viacom, dan Juno.


Isi halaman-halaman ini mewakili opini dari satu orang.
Semua isi Hak Cipta ©1999-2005  dari Joel Spolsky. Hak Cipta dilindungi Undang-undang

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky