Buat dan sebarkan sendiri software-mu
Hmmm…
Saya sebenarnya bukanlah seorang yang ‘expert’ dalam bidang pengembangan software. Bahasa pemrograman pun tidak seutuhnya paham. Saya cuma mengerti satu cara pembuatan program, yakni menggunakan Visual Basic. Itupun dengan cara otodidak, saya lakukan dikala senggang. Latar belakang pendidikan saya juga ‘nyeleneh’ cukup jauh dari bidang pengembangan software, selain ketika SMA saya masuk di kelas IPS, pas kuliah pun saya di Fakultas Ilmu Sosial dan Ilmu Politik, tepatnya di jurusan Ilmu Komunikasi.
Dalam tulisan ini hanya akan dibahas mengenai ‘desktop programming’ (dilingkungan sistem operasi) bukan ‘web programming’ (dilingkungan internet).
Kalau boleh saya katakan, ini adalah tips dari saya, seorang ‘lamer’ (strata terendah didunia perkomputeran). Jadi, maafkan saya bila ternyata ada kesalahan.
Dengan lapang dada, silakan dikoreksi :)
Langkah pertama pengembangan software
Tentu saja yang pertama dan utama adalah anda menguasai setidaknya satu bahasa pemrograman. Pemahaman tentang sistem operasi pun menjadi salah satu kewajiban.
Software apa yang mesti saya buat?
Tidak usah bingung apalagi bimbang. Tidak usah merasa ‘kecil’ saat melihat program buatan pihak lain ternyata lebih baik. Buat dan kembangkan saja software yang menurut anda akan bermanfaat bagi diri anda pribadi. Bila ternyata anda merasa sangat puas dengan software hasil kreasi anda tersebut, barulah persilakan ‘dunia luar’ mencicipinya.
Saya sendiri suka membuat software-software yang menurut saya unik dan dapat berdayaguna untuk diri saya pribadi. Contohnya, ShutterDownXP yang beberapa waktu lalu sempat saya buat (rilis terakhir versi 1.3). Saat itu saya berpikir tentulah akan sangat menarik bila komputer saya dapat ’shut down’ secara otomatis pada waktu yang saya tentukan sehingga ketika waktu tidur telah tiba, saya dapat dengan tenang meninggalkan komputer saya dalam keadaan menyala dan musik teralun. Saat saya telah terlelap, komputer saya pun akan turut terlelap.
Ketika itu, saya tahu bahwa telah banyak software yang mampu melakukan hal tersebut. Namun tidak ada satu pun yang mampu menarik hati saya untuk konsisten menggunakannya. Ada software yang bagus tetapi berstatus shareware dengan fitur dan atau masa pemakaian yang dibatasi. Ada software yang gratis, alias freeware, namun fiturnya minim. Ada juga software shut down yang hebat alias mampu melakukan apa saja, termasuk menjalankan suatu program ketika waktunya telah tiba, dan fitur-fitur lainnya disamping shut down otomatis, yang tentu saja saya pikir tidak akan bermanfaat bagi saya dan hanya memperberat kerja komputer saja. Maka saya berinisiatif untuk membuat sendiri program shut down otomatis sesuai dengan apa yang saya inginkan, fiturnya, tampilannya, dll.
Contoh lain adalah software yang belakangan saya rilis, TOYD alias ‘Text On Your Desktop’. Yang pembuatannya tidak disengaja. Ketika itu saya sedang suntuk didepan komputer, memandangi baris-baris teks bahan skripsi saya. Tiba-tiba ide itu muncul. Ya, ide untuk menampilkan running text di layar monitor yang bisa saya masukkan kata-kata penyemangat. Sehingga saya tetap membaca kata-kata tersebut ketika saya nongkrong didepan komputer.
Intinya, buatlah software sesuai dengan keinginan anda, yang mampu memuaskan anda, dan tentu saja bermanfaat bagi anda. Tidak usah dulu memikirkan hal-hal lain seperti “apakah software saya nanti bisa dijual?” Lupakan hal itu untuk sejenak.
Apa yang harus saya perhatikan ketika membuat software?
Tentukan dulu, fungsi-fungsi dan fitur-fitur apa saja yang akan ada di software anda nanti. Baik fungsi utama, maupun fitur tambahan Usahakan fitur tambahan yang ada tidak berlawanan dengan fungsi utama software yang anda buat. Misal, anda membuat software antivirus, tentulah akan lebih menarik bila ditambahkan fitur-fitur seperti process manager. Dan tidak akan ‘nyambung’ bila didalam software antivirus tersebut anda sisipkan sebuah word atau text processor seperti notepad.
Bila nantinya anda ingin menyebarluaskan software buatan anda tersebut. Perhatikan dengan seksama tata letak serta tampilan program (GUI/Graphical User Interface). Usahakan agar setiap fungsi dan fitur yang ada dapat diketahui dan diakses dengan mudah oleh pengguna. Pertimbangkan juga jenis huruf, ukuran huruf, warna, dan ukuran serta tata letak elemen-elemen seperti text box, command button, list box, dsb. Usahakan tampilan software anda sederhana dan ‘user friendly’. Sebab, pengguna biasanya akan lebih menyukai tampilan software yang sederhana. Pertimbangkan pula untuk tidak menambahkan pernak-pernik tampilan yang berlebihan, misal: animasi dan gambar.
Software buatan saya telah selesai, apa yang harus saya lakukan?
Cek dan ricek. Ceklah tiap bagian dari software anda. Mulai dari source code, tampilan atau GUI (Graphical User Interface), dsb. Perhatikan dengan seksama. Bila ternyata ditemukan hal yang tidak diinginkan (bugs), segeralah perbaiki.
Buatlah juga sebuah ‘help file’ yang menerangkan segala sesuatu tentang software anda tersebut. Bila anda malas membuat ‘help file’, anda dapat mendeskripsikan garis besar penggunaan software anda tersebut di file ‘readme’.
Ingat! Jangan remehkan file ‘readme’ sebab biasanya file inilah yang akan menjadi rujukan awal pengguna ketika akan menggunakan software anda. Usahakan file ‘readme’ yang anda sertakan mencakup garis besar software anda (lisensi, cara penggunaan, informasi mengenai anda dan atau perusahaan anda, dsb) dengan lugas, jelas, padat, namun tidak berlebihan, Maksud ‘tidak berlebihan’ disini adalah file ‘readme’ tersebut tidak terlampau panjang dan bertele-tele.
Tentukan lisensi atas software buatan anda. Apakah freeware, shareware, open source, dll. Lisensi ini mempengaruhi minat pengguna ketika akan menggunakan software anda. Bila anda menginginkan agar software anda berlisensi shareware dan anda ingin agar orang-orang membayar untuk penggunaannya. Pastikan dan yakinkan lagi bahwa software anda memang layak untuk dijual serta memiliki kemampuan dan keunggulan yang lebih baik dari software sejenis dengan lisensi freeware atau open source yang mungkin akan menjadi saingan terberat anda. Selain itu, pertimbangkan juga harga yang anda patok, dan tata cara pembayaran untuk lisensi software anda.
Bila diperlukan, pack-lah software anda menggunakan software packer semisal ASPack, ASProtect, UPX atau yang lainnya, guna menciutkan ukuran file .exe-nya. Disamping itu beberapa packer juga memungkinkan keamanan software anda akan lebih terjaga dengan cara ‘menyamarkan’ struktur resource software anda tersebut sehingga akan lebih sulit untuk di-crack.
Bila diperlukan juga, buatlah file ’setup’ atau installer untuk software anda tersebut. Hal ini perlu dilakukan bila software yang anda buat menggunakan ActiveX dan atau Library eksternal (*.ocx, *.dll, *.tlb) guna mendukung proses kerjanya. Installer mampu melakukan hal-hal yang terkait dengan pemasangan software di komputer dengan mudah dan cepat (file extracting, ActiveX/Library registering, pembuatan entry registry yang diperlukan software anda, dll) sehingga pengguna tidak merasa direpotkan saat akan mulai menggunakan software anda. Ada banyak ‘installer maker’ atau pembuat installer bertebaran di internet. Dari yang freeware sampai yang berbayar. Beberapa yang saya sukai anta
ra lain InnoSetup dan NSIS – NullSoft Install System.
Akan lebih baik lagi bila anda mengompress lagi file-file yang ada (setup-bila digunakan, .exe, readme, dll) guna memperkecil lagi ukuran file tersebut dan memudahkan pendistribusian software anda.
Saya ingin menyebarluaskan program saya nih, bagaimana caranya?
Cara yang paling mudah adalah melalui jasa situs-situs download. Seperti upload.com, softpedia.com, topshareware.com, freewarefiles.com. tucows.com, dsb. Cukup ’submit’ software anda dibeberapa situs penyedia download yang besar dan mempunyai nama. Sertakan informasi yang jelas didalamnya. Setelah proses submission, software anda akan di-cek oleh pihak penyedia layanan. Bila software anda dianggap layak untuk masuk database mereka, maka anda akan menerima pemberitahuan melalui e-mail.
Yang saya suka dari situs-situs penyedia download ini adalah statistik berapa banyak software anda di-download, dan popularitas.
Bila anda memiliki website atau blog pribadi, anda dapat juga memasukkan informasi mengenai software yang telah anda buat tersebut.
Bila didekat tempat tinggal anda ada software house atau pun penjual CD/DVD software baik legal maupun bajakan, anda dapat menitipkan software anda disana.
Cara lainnya adalah: penyebaran message melalui Friendster, posting di mailing list, posting di forum, dan lain-lain.
Saya cukupkan dulu tulisan ini sampai disini. Ntar lain kali Insya Allah akan disambung lagi dengan topik yang berbeda tapi masih tetap seputar software development :)










