Seri Buku Micro Adventure

Ini cuma kisah singkat mengenai seri buku cerita yang saat ini mulai disukai Jonathan: Micro Adventure. Seri ini diterbitkan di tahun 1980-an  oleh Scholastic dan cukup terkenal pada masanya.  Satu hal yang menarik dari buku-buku ini adalah: di dalamnya ada program dalam bahasa BASIC yang bisa diketikkan dan merupakan bagian dari cerita.

Jonathan sedang menyalin kode dari buku ke QBasic di Dosbox
Jonathan sedang menyalink kode dari buku ke QBasic di Dosbox

Buku pertama yang selesai dibaca Jonathan adalah Space Attack, buku ini terbit tahun 1984.

Di awal cerita buku pertama ada pesan rahasia yang harus didekrip. Sebenarnya bisa didekrip manual (caesar cipher), tapi lebih menarik jika didekrip dengan program. Lanjutkan membaca “Seri Buku Micro Adventure”

Kisah sebuah bug kecil

Saya mau cerita tentang sebuah bug yang saya perbaiki dan dapat bounty 200 USD plus kerjaan ekstra yang menyusul dari ini. Meski secara nilai ini kecil dibandingkan banyak proyek lain, tapi ada banyak hal yang membuat gembira dari satu bug kecil ini sehingga ingin saya ceritakan.

Maaf, ini bukan cerita tentang serangga, tapi bug software

Cerita singkatnya: teman saya memakai software open source QZ, sebuah library untuk printing via web browser. Jadi jika client menginstall software ini di PC-nya maka web app yang memakai library QZ bisa mengakses langsung printer lokal. Langsung di sini artinya bisa mengirimkan kode mentah, sehingga printing bisa cepat dan mendukung berbagai fitur spesifik printer. Fitur semacam ini dibutuhkan untuk software Point Of Sales, aplikasi bank atau sejenisnya yang butuh langsung mencetak ke printer yang tidak standar (misalnya printer thermal, printer buku tabungan, dsb). Lanjutkan membaca “Kisah sebuah bug kecil”

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

Lanjutkan membaca “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.
Lanjutkan membaca “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).

Lanjutkan membaca “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.