Pengantar Reverse Engineering

Sudah beberapa kali saya ditanya: kalo ada aplikasi X bagaimana cara membongkarnya? Bahasa kerennya: bagaimana saya melakukan reverse engineering terhadap aplikasi tertentu?. Sayangnya tidak ada jawaban sederhana untuk ini. Bagaimana membongkar sesuatu tergantung pada teknologi yang digunakan untuk membangun dan memproteksi benda itu. Berbagai tools juga bergantung pada sistem operasi yang menjadi target.

Saya sudah menulis secara umum tentang reverse engineering, tapi belum memberikan jawaban praktis, jadi di posting ini saya akan berusaha menuliskan secara praktis langkah-langkah untuk memulai reverse engineering.

label
convert -size 1200×630 -background white -fill black -font Nimbus-Mono-L -pointsize 144 -gravity center -label:”Reverse\nEngineering” -flip label.png

Continue reading “Pengantar Reverse Engineering”

Mengapa Harga Pembuatan Aplikasi Mobile Mahal

Salah satu pertanyaan yang sering diajukan ke saya adalah: berapa harganya membuat aplikasi mobile. Jawaban saya biasanya: tergantung aplikasinya, tapi minimal beberapa juta (ini benar-benar minimal, untuk aplikasi statik sangat sederhana sekali), biasanya angka yang saya sebutkan adalah belasan atau puluhan juta, dan kadang sampai ratusan juta. Sebagian terkejut dengan angka ini, tapi ini bukan angka yang mengada-ada, Anda bisa mencari-cari di berbagai artikel lokal ataupun berbahasa Inggris. bahwa angka ini sangat wajar

Sebelum Anda membaca panjang lebar, coba salah satu web yang memperkirakan biaya pembuatan app. Lalu kembali ke sini untuk mengetahui kenapa bisa semahal itu. Untuk yang malas mengklik, estimasi biaya minimum lebih dari 2000 USD, dan umumnya lebih dari 20 ribu USD.

Saat ini saya sendiri tidak banyak mengembangkan aplikasi mobile, tapi cukup mengenal dunianya. Saya akan menjelaskan secara sederhana proses pembuatan dan penerbitan aplikasi ini, supaya sebagai orang yang meminta pembuatan aplikasi bisa mengerti. Ceritanya agak panjang, tapi saya harap tidak terlalu teknis.
Continue reading “Mengapa Harga Pembuatan Aplikasi Mobile Mahal”

Menulis program Alkitab, dulu dan sekarang

Di posting ini saya ingin sedikit bernostalgia membuat program Alkitab di device Nokia 3650 yang sangat terbatas, sampai device terbaru Blackberry 10 yang sangat mudah. Isinya kebanyakan teknis pemrograman mengenai betapa sulitnya dulu membuat program Alkitab, dan betapa mudahnya sekarang membuat program Alkitab.

Warning: posting ini panjang sekali. Dan jika Anda bukan programmer, mungkin bisa dibaca singkat saja ke bagian akhir (penutup).

Continue reading “Menulis program Alkitab, dulu dan sekarang”

Selamat Natal 2012

IMG_00000142

Natal tahun ini kami rayakan di Chiang mai. Dan seperti tahun lalu kami ga mengikuti kebaktian malam Natal. Di sini kebaktian malam Natal itu mulainya jam 11 malam. Awalnya kami berencana untuk mengikuti kebaktian malam Natal, mengingat tahun ini kami tidak bisa hadir di Christmas Pageant seperti tahun sebelumnya, tapi kami batal pergi karena papa Jonathan masih capek sepulang dari Jerman. Kebaktian Natal jam 10 pagi kami bisa datang, karena kami sudah cukup tidur malamnya.

Kebaktian Natal hari ini sangat singkat, tapi tidak mengurangi semangat Natal itu sendiri. Pesan Natal kali ini adalah: What you really want for Christmas? Hmm… kalau saya sendiri sih merasa semua yang saya perlu selalu Tuhan sudah cukupkan. Banyak sih keinginan-keinginan yang tidak terpenuhi di tahun ini, tapi banyak juga hal-hal di luar dugaan yang merupakan kado Natal buat saya dan buat keluarga kami. Keluarga kecil kami bisa bernyanyi, berdoa dan bersama-sama juga sudah merupakan kebahagiaan di hari Natal. Bisa merayakan Natal dengan teman di perantauan juga merupakan kebahagian ekstra buat kami. Makanya tadi sepulang gereja kami berkunjung ke rumah Timmy sahabat pertama Jonathan di Chiang mai, dan juga dengan khruu Ang, guru bahasa Thai kami yang sekarang jadi teman keluarga setelah mama papa ga belajar bahasa Thai lagi.

Tahun ini awalnya kami berniat membeli pohon Natal kecil untuk dipasang di rumah, pertimbangannya Jonathan sudah mulai mengerti dengan tradisi dan hiasan Natal. Tetapi karena sibuk mengurus ini itu, kami tidak jadi sempat membeli pohon Natal. Walau demikian tidak mengurangi makna natal, semoga tahun depan bisa terlaksana keinginan beli pohon Natalnya. Terpikir juga untuk pulang atau mengundang orangtua untuk natalan di sini, tapi situasi tidak memungkinkan juga. Semoga tahun depan ada kesempatan untuk merayakan natal dengan keluarga besar, entah itu di sini ataupun di Indonesia.

Salah satu hadiah Natal terbesar yang saya rasakan di akhir tahun ini adalah: saya bisa bekerja dari rumah tanpa meninggalkan Jonathan. Pekerjaan ini sebenarnya bukan pekerjaan yang baru buat keluarga kami, tapi baru sekarang kami terpikir untuk lebih serius menjalankannya. Sejak Jonathan mulai suka bermain dengan tablet, kami terpikir untuk membuatkan materi permainan sendiri. Papa Jonathan pun merintis pembuatan aplikasinya di sela-sela waktu luangnya. Menjelang Jonathan 2 tahun, saya sudah mulai bisa membantu mengerjakan aplikasi untuk playbook dan BB10. Sejauh ini penjualan aplikasi kami belum luar biasa (karena pengguna playbook tidak sebanyak pengguna ipad dan BB10 sendiri baru akan launch januari 2013), tapi rasanya senang bisa mulai punya penghasilan tambahan. Harapannya aplikasi yang dibuat bertambah terus dan penjualannya juga meningkat seiring waktu. Aplikasi yang pernah dibuat sebelum Jonathan 2 tahun bisa dilihat di posting ini.

Wat Ket-20121224-01982Sepertinya Tuhan membukakan jalan buat kami, ketika kami sedang giat-giatnya membuat aplikasi untuk playbook, RIM memotivasi developer playbook untuk membuat aplikasi untuk BB10 dengan hadiah 100 USD per apps. Target awal kami menyelesaikan 10 aplikasi untuk playbook sampai akhir tahun 2012, dan ternyata kami bisa membuat lebih dari yang ditargetkan untuk playbook dan BB10 (berkat motivasi  hadiah dari RIM hahaha). Dan di luar dugaan, kami ternyata juga dapat hadiah ekstra berupa playbook dan device BB10 alpha (device ini merupakan cikal bakal generasi berikutnya dari BB yang ada sekarang). Hadiah dari RIM sudah sampai tanggal 24 Desember kemarin, secara tidak langsung jadi hadiah Natal buat kami. Ini contoh hadiah Natal yang tidak diduga. Senang rasanya karena baru mulai bekerja 2 bulan, tapi sudah dapat bonus akhir tahun hahahaha.

Salah satu aplikasi yang kami buat tentu saja aplikasi Christmas Game. Berikut ini screen shoot nya:

Anyway, sementara ini aplikasi ini belum ada versi gratisnya. Semoga sebelum akhir tahun sempat merilis versi litenya.

Seperti saya bilang sebelumnya, Tuhan tahu apa yang kami perlu, dan dia selalu mencukupkan kebutuhan kami. Kalau Tuhan berkenan semoga kami bisa banyak merilisi aplikasi gratis selain aplikasi berbayar dan juga bukan hanya di playbook dan BB10 tapi juga bisa untuk di tablet lainnya.

Sekali lagi selamat Natal buat kita semua, dan selamat menyambut tahun yang baru 2013.

Game Puzzle Mesin Konstruksi

Jonathan suka sekali bermain puzzle di iPad dan Android. iPad ukurannya besar, dan  tablet Android yang kami miliki (Asus Transformer) juga sama besarnya. Biasanya kami membawa-bawa Playbook ke mana-mana untuk hiburan Jonathan, tapi mainan puzzle anak-anak kurang banyak di Playbook. Jadi saya memutuskan untuk membuatkan game puzzle untuk Jonathan sekaligus aplikasinya dijual.

Tema yang dipilih untuk puzzle pertama ini adalah mesin konstruksi (construction machines). Salah satu alasannya karena Jonathan suka dengan mobil-mobil mainan konstruksinya yang berwarna kuning.

Game ini sudah dirilis di Blackberry Appworld. Mungkin di masa depan akan dirilis di Ipad dan Android. Versi lite (5 Puzzle) bisa di dapat di sini dan versi fullnya (20 Puzzle) bisa dibeli di sini.

Untuk Anda yang memakai desktop dengan browser yang mendukung Flash, Anda bisa melihat demonya (versi lite di): http://yohan.es/demo/construction-puzzle/ Harap sedikit sabar, karena file SWF utamanya 3 mb.

Sebelum membahas mengenai detail implementasinya, saya berikan dulu gambaran mengenai aplikasinya. Berikut ini halaman awalnya. Di sini pengguna bisa langsung menunjuk gambar puzzle yang ingin diselesaikan.

IMG_00000130

Puzzlenya beberapa jenis. Misalnya yang standar seperti puzzle biasa seperti ini:

IMG_00000145

Sebagian sedikit lebih sulit karena tidak menampilkan garis:

IMG_00000148

 

Sebagian hanya melengkapi bagian kendaraan saja:

IMG_00000112

 

Dan sebagian melengkapi bentuk dalam sebuah scene:

IMG_00000136

Gambar-gambar puzzle ini dibeli dari VectorStock. Harga sebuah vektor di VectorStock bervariasi. Untuk standard license, sebagian besar biayanya 1 USD per file (satu file bisa cuma satu gambar, bisa juga banyak gambar), dan tidak boleh digunakan di aplikasi yang dijual (aplikasi gratis boleh, website boleh). Untuk expanded license yang mengijinkan penggunaan gambar untuk produk komersial, harganya mulai dari 25 USD per file.

Saya membeli dua file expanded license untuk aplikasi ini. Biaya VectorStock ini sangat murah dibandingkan situs lain dan hal ini membuat sebagian designer/artist kesal karena VectorStock ini membuat mereka sulit bersaing dengan situs lain. Sebagai developer, saya merasa harga ini cukup fair. File yang rumit dihargai lebih mahal di VectorStock.

Untuk masalah kode program, saya menggunakan haxenme yang baru saya pelajari baru-baru ini. Haxe memungkinkan pembuatan program cross platform dari satu source code. Game ini sebenarnya jalan di Android dan iPad (juga di browser), tapi masih butuh sedikit polesan supaya sesuai dengan ukuran layar Android  dan iPad.

Secara algoritma, game puzzle yang dibuat ini sangat sederhana, yang memakan waktu adalah membuat konten puzzlenya. Puzzle dirancang menggunakan inkscape oleh saya dan Risna. Untuk memudahkan pemotongan gambar, saya menulis program dalam Python yang akan melakukan pemotongan gambar secara otomatis (berdasarkan properti objek di inkscape). Dengan tools yang sudah saya rancang, rencananya kami akan merilis lagi beberapa aplikasi puzzle dengan tema yang berbeda-beda.

Jonathan menjadi tester utama kami. Dia sudah sangat lancar memainkan berbagai jenis puzzle di tablet lain dan semua puzzle ini bisa dimainkan oleh Jonathan. Jonathan juga menemukan beberapa bug kecil yang sudah saya perbaiki. Namanya saya cantumkan di bagian about sebagai tester Smile

register

Semoga puzzle-puzzle berikutnya bisa segera menyusul.

Aplikasi Mobile (untuk developer)

Ada beberapa yang baru mulai akan belajar mobile development, dan bertanya ke saya: saya harus belajar teknologi yang mana? Sayangnya pertanyaan ini sulit dijawab, karena menurut saya jawabannya adalah “tergantung”. Tergantung waktu Anda, dana Anda, dan risiko yang ingin Anda ambil. Saya akan coba enumerasi satu persatu teknologi yang ada. Saat ini ada teknologi yang “common” bagi semua, yaitu HTML, ini akan saya bahas terakhir.

Pertama Anda bisa belajar Objective C untuk memprogram iOS (iPod Touch, iPhone, iPad). Ini adalah OS mobile yang paling menjanjikan (dalam hal keuntungan materi). Ratusan orang sudah mendapatkan jutaan dollar, ribuan developer mendapatkan ratusan ribu dollar. Tapi perlu dicatat juga: puluhan ribu developer lain tidak mendapat apa-apa, atau mendapat uang yang sedikit sekali. Anda perlu investasi hardware yang cukup mahal, dan jika ingin aplikasinya selalu teruji di hardware terbaru, Anda perlu membeli hardware baru setiap kali ada versi iPhone/iPad yang muncul. Pemrograman harus dilakukan di OS X. Artinya harus berinvestasi uang untuk membeli MacBook atau iMac (atau investasi waktu mengoprek Hackintosh sampai berjalan dengan baik).

Jika Anda menguasai objective C, ilmunya (sebagian) bisa dipakai untuk mengembangkan aplikasi desktop di OS X juga, tapi secara umum, pasar untuk aplikasi desktop Apple jauh dibawah aplikasi mobile Apple. Sebenarnya selain Objective C, ada yang namanya MonoTouch, Anda bisa memprogram iOS menggunakan .NET (aplikasi ini berbayar, jadi investasi ekstra lagi).
Continue reading “Aplikasi Mobile (untuk developer)”

LocalBar: install file BAR langsung dari PlayBook

Hal yang menyenangkan dari membuat program adalah kalau program yang kita buat bisa berguna buat banyak orang. Kali ini mau cerita dikit soal aplikasi LocalBar yang saya rilis Sabtu lalu.

Aplikasi gratis ini gunanya untuk menginstall file BAR langsung dari PlayBook. File BAR adalah file installer Playbook, sama seperti APK di Android atau IPA di iOS. Tadinya jika seseorang orang ingin menginstall file BAR, orang tersebut harus menggunakan aplikasi desktop.

 

main.jpg (1024×600)

Aplikasi ini saya umumkan di Forum Crackberry hari Sabtu siang, di URL ini:

http://forums.crackberry.com/showthread.php?p=6828950

localbar

 

Di forum BlackBerry terbesar ini, threadnya sempat masuk most viewed dan saya (tinyhack) masuk top thanked.

Hari minggu dan Senin artikelnya sudah masuk di sebagian besar situs BlackBerry di seluruh dunia. Orang-orang membuat berita dan tutorial dalam berbagai bahasa: Inggris (ada banyak sekali versi bahasa Inggris), Jerman, Vietnam, Spanyol , Italia, China, Perancis, Rusia, Jepang, dan mungkin bahasa lain juga. Bahkan ada yg membuat tutorial video dalam bahasa Inggris dan ada video dari Spanyol.

Aplikasi ini sebenarnya tidak sulit, tapi riset untuk membongkar protokol instalasinya yang lama. Sudah lama ingin mencoba Native SDK BlackBerry PlayBook, jadi ketika punya waktu, saya membuat aplikasi ini. Ini adalah aplikasi pertama yang bisa menginstall BAR langsung dari PlayBook. Banyak orang yang ingin tahu bagaimana cara kerjanya (bahkan ada yang menawar source codenya). Akhirnya saya putuskan akan bekerja sama dengan orang-orang dari BBXTeam untuk membuat aplikasi dengan user interface yang lebih indah.

Oh iya, karena belum ada yang bikin beritanya bahasa Indonesia, jadi ini sekalian ngasih pengumuman dalam bahasa Indonesia Smile