Akses web dari paket Blackberry Chat + Email

Di Thailand, operator yang saya pakai (TrueMove) hanya memiliki beberapa paket Blackberry. Paket full biayanya sebesar 599 baht (hampir 180 rb rupiah) dan akan naik menjadi 690 baht (205 ribu rupiah) mulai bulan depan. Sebenarnya saya agak jarang memanfaatkan fitur selain chat (terutama BBM/YM) dan Email. Sesekali saya mengakses web (terutama Wikipedia) ketika di jalan. Ketika di rumah atau di kantor, saya dapat mengakses Wifi kecepatan tinggi (dan lebih enak mengaksesnya dari desktop).

Nah untuk menghemat, saya mulai beralih ke paket chat + email, yang hanya 199 baht/bulan (sekitar 60 ribu rupiah). Penghematan yang lumayan, selisihnya bisa untuk menyumbang Free Software Foundation. Tapi kadang saya tetap perlu mengakses web. Saya bisa saja membayar ekstra dengan membayar biaya GPRS, tapi saya menggunakan solusi sendiri: web by email. Pengalaman saya 11 tahun yang lalu ternyata sekarang kembali berguna.

Dulu, tahun 1999 saya pernah menerjemahkan dokumen Accessing the Internet by E-mail FAQ ke Bahasa Indonesia (masih ada yang menyimpan mirrornya, misalnya di sini). Dokumen tersebut adalah dokumen gratis yang tersedia untuk semua orang di Internet. Kira-kira ketika semester 3 kuliah di ITB, saya menerjemahkan dokumen tersebut dan mengirimkannya ke maintainernya karena saya merasa dokumen tersebut akan berguna juga untuk orang lain.

Lanjutkan membaca “Akses web dari paket Blackberry Chat + Email”

Masalah Teknis Hybrid Blackberry

Tulisan saya sebelumnya (OS Hybrid Blackberry: Usaha yang sia-sia) mengundang banyak respon dari berbagai pihak. Sayangnya responnya bersifat emosional dan tidak membangun, tidak bersifat teknis. Nah sekarang saya akan membahas beberapa hal teknis lanjutan mengenai hybrid. Saya sebutkan di artikel saya bahwa hybrid bisa saja berhasil kalau kita *tahu* apa yang kita campurkan. Yang menjadi masalah, dan menjadi kritik utama saya adalah: kebanyakan hybrid itu ngasal, jadi kemungkinan berhasilnya kecil (dan andaikan berhasil, kemungkinan membuat bug lain lagi). Saya juga mengkritik bahwa menyebarkan hybrid itu sifatnya illegal (kalimat saya adalah ‘sebenarnya penyebaran OS hybrid adalah sesuatu yang illegal’). Mungkin ada yang salah paham: membuat hybrid itu legal (silakan Anda campur-campur sendiri file yang sudah Anda download sendiri). Yang saya kritik adalah penyebarannya atau istilah legalnya redistribution.

Di artikel ini saya akan menuliskan bagaimana caranya supaya hybrid menjadi tidak ‘ngasal’ dan bagaimana mengatasi masalah redistribution sehingga bisa tetap membuat hybrid yang legal. Saya akan mulai dulu dengan masalah teknis, lalu akan saya teruskan dengan masalah legalitas redistribusi modul. Perlu ditegaskan: Saya tetap tidak berniat membuat hybrid. Tulisan ini hanya untuk melengkapi tulisan saya sebelumnya kalau Anda masih ingin membuat hybrid.

Masalah pertama yang dimiliki para hybrider adalah: kekurangtahuan masalah teknis. Ini dari hal dasar mengenai pemrograman: apa itu modul, apa itu kelas, apa itu inteface, dsb sampai ke masalah teknis jaringan, misalnya apa itu LDAP atau DNS resolver. Tanpa mengetahui itu semua, kita masih bisa terus berjalan meski akan sering terantuk batu, tapi jika tahu maka akan lebih baik.

Hal mendasar yang harus diketahui oleh para hybrider adalah: modul apa yang harus diganti. Kadang nama modul sangat mencerminkan isinya, misalnya net_rim_bb_twitter itu isinya adalah aplikasi twitter. Masalahnya adalah ada banyak nama yang tidak jelas, misalnya net_rim_bb_elt atau net_rim_se13nettable. Ada juga modul utama yang namanya jelas, seperti net_rim_bb_addressbook_app tapi modul pendukungnya kurang jelas, misalnya net_rim_bb_addressbook_gal.

Hal teknis pertama yang bisa dilakukan oleh para hybrider adalah: mendokumentasikan fungsi setiap modul. Hal ini jelas gunanya: supaya tidak ngawur mencampur modul. Misalnya saya pernah melihat di salah satu hybrid: ada masalah web browser, lalu dia mencoba mengganti modul net_rim_bb_ldap_browser dengan harapan browsing akan lebih baik, hal tersebut ngawur, karena meski ada kata-kata “browser”-nya, modul tersebut tidak ada hubungannya dengan web browsing. Modul tersebut berhubungan dengan LDAP suatu protokol layanan direktori. Kata-kata ‘browser’ di situ tidak berhubungan dengan web browser. Bahkan bagi pengguna awam yang tidak terhubung dengan enterprise, perubahan tersebut tidak berpengaruh sama sekali terhadap apapun di handsetnya (sia-sia, karena modul ini dipakai oleh modul secure email/pgp).

Lanjutkan membaca “Masalah Teknis Hybrid Blackberry”

OS Hybrid Blackberry: Usaha yang sia-sia

Karena jadi bahan diskusi di berbagai tempat, saya tambahkan FAQ di bagian akhir, supaya orang yang kurang mengerti teknis bisa mengikuti. Saya baru balas sekarang, karena anak pertama saya baru lahir (lihat posting mengenai Jonathan mengenai beritanya). Baca juga komentar saya atas komentar orang lain, sebelum Anda membuat komentar baru.

Salah satu hal yang menarik bagi saya di komunitas BB adalah adanya OS Hybrid. OS Blackberry terdiri atas banyak modul, dan OS Hybrid ini adalah gabungan modul-modul dari berbagai versi OS. Teorinya katanya begini: di OS versi X browsingnya cepat, tapi memorinya boros, di OS versi Y memorinya hemat tapi browsingnya lambat, nah untuk mendapatkan hasil terbaik, modul-modul kedua OS tersebut digabung, supaya browsingnya cepat dan memorinya hemat.

Sebagai programmer, hal yang terpikir oleh saya adalah: bagaimana caranya orang-orang ini tahu modul mana yang harus dipilih? Jangan-jangan mereka hanya ngasal saja. Berdasarkan penyeledikan saya, kesimpulan yang saya dapatkan adalah: ya mereka cuma ngasal saja. Atau boleh dibilang 99% Hybrid sebenarnya tidak perlu (akan saya jelaskan yang 1% itu di bagian akhir).

Kenapa “menuduh” demikian? Saya tidak menuduh, saya menggunakan metode ilmiah untuk membuktikannya. Mengapa saya menghabiskan waktu cukup banyak (beberapa jam) untuk menyelediki hal ini? pertama saya penasaran, kenapa ada banyak sekali hybrid, dan nasihatnya kebanyakan sama: “dicoba aja dulu”, dan “cari yang mana yang cocok”. Kalau memang OS hybrid tersebut bagus, seharusnya akan berjalan dengan baik di semua handset (yang hardwarenya sama persis). Jadi saya kemudian mulai meragukan OS hybrid, dan ingin membuktikan bahwa OS hybrid ini adalah hal yang sia-sia. Siapa tahu tulisan saya ini bisa membujuk banyak orang agar menghemat bandwidth (tidak mendownload OS hybrid), dan menghemat waktu (instalasi dan boot Blackberry butuh waktu lama).

Pertama perlu diketahui bahwa setiap versi OS Blackberry, terdiri atas dua bagian penting, bagian pertama adalah firmware (disebut juga file radio). Firmware ini hanya berupa satu file. Dan bagian kedua adalah file module Java (.cod), ada banyak modul (banyak file .cod) dalam sebuah paket OS.

Isi file firmware adalah yang paling penting, di situlah JVM (Java Virtual Machine) dan segala driver hardware (termasuk driver GSM, driver kamera). Di OS 6, komponen terpenting browser (rendering engine) juga berada di firmware. Firmware ini ditulis dalam bahasa C, dan dikompilasi untuk target ARM. Beberapa komponen yang membutuhkan kecepatan tinggi juga ditulis dalam C (seperti misalnya Video decoder/encoder, lalu SQL engine yang menggunakan SQLite). Saat ini belum ada yang bisa memodifikasi file firmware ini, karena file ini ditandatangani secara digital oleh RIM, dan belum ada yang bisa (atau mau meluangkan waktu) untuk mencari kelemahan bootloadernya. Yang dilakukan oleh para pembuat Hybrid hanyalah memakai firmware versi sebelumnya atau sesudahnya (jadi mereka tidak bisa memodifikasi file ini).

Bagian yang disusun oleh para pembuat hibrid adalah file-file/modul .cod. File dari berbagai OS bisa dicampur menjadi satu, dan inilah yang disebarkan. Klaim dari para pembuat hibrid biasanya adalah: pemakaian memori lebih sedikit, lebih stabil, dan batere akan tahan lebih lama. Kadang ada juga klaim kamera akan lebih baik gambarnya.

Secara teori beberapa hal bisa diatur dari file cod milik sistem. Misalnya di engineering screen (escreen), kita bisa mengubah beberapa parameter firmware. Tapi hasil penyelidikan saya menunjukkan bahwa nilai yang digunakan adalah selalu nilai default dari firmware, dan tidak ada ada modul RIM yang mengubah-ubah parameter GPS, kamera, atau signal radio GSM/GPRS/3G/CDMA. Jadi secara praktis: menukar COD dari satu versi OS ke versi yang lain tidak akan mempengaruhi kinerja GPS, signal, atau kamera.

Lalu bagaimana membuktikan bahwa OS hybrid itu kebanyakan hanya ngawur saja? Lalu apa penjelasannya yang setelah memakai hybrid, pemakaian memorinya turun atau baterenya bisa bertahan lebih lama?. Pertama saya jelaskan dulu pembuktiannya, lalu saya akan mencoba menjawab pertanyaan mengapa hybrid tampaknya “berhasil”.

Lanjutkan membaca “OS Hybrid Blackberry: Usaha yang sia-sia”

Salah Kaprah Mengenai Memory dan Batere Blackberry

Buat yang malas membaca detail teknis yang panjang, isi singkat posting ini adalah:

  1. Membersihkan log tidak akan membuat memori bertambah banyak atau membuat BB menjadi lebih cepat
  2. Fungsi memori cleaner di BB bukan untuk meningkatkan free memory
  3. Aneka program memory booster tidak membantu membersihkan/membebaskan memori, bahkan akan menggunakan memori dan menguras batere.
  4. Dengan menggunakan engineering screen (escreen) Anda akan bisa mengetahui aplikasi mana yang memakai banyak RAM dan CPU

Buat Anda yang bertanya-tanya: mengapa baru menulis hal ini sekarang? Saya baru menggunakan Blackberry sekitar 2 bulan ini, dan selama 2 bulan ini saya sudah mempelajari sangat banyak mengenai Blackberry. Selama dua bulan ini saya sudah:

  1. Memprogram 7 Aplikasi.
  2. Mempelajari berbagai fitur Blackberry, dari mulai shortcut sampai Engineering Screen
  3. Mempelajar berbagai tools Blackberry seperti cfp.exe, JavaLoader.exe, dsb
  4. Mempelajari reverse engineering modul Blackberry dari situs ini dan ini. Tapi source code yang diberikan keduanya ternyata memiliki banyak bug, jadi saya sekalian mempelajari format internal file COD agar dapat mengkoreksi programnya.

Saya bisa mempelajari itu dalam waktu relatif cepat, karena saya memiliki background dalam reverse engineering dan kernel programming.

Dari hal-hal yang telah saya pelajari tersebut, ada beberapa hal yang ingin saya tuliskan. Kali ini saya ingin membahas mengenai salah kaprah mengenai memori dan batere Blackberry. Sekaligus saya mengumumkan bb-meter versi 1.1 yang merupakan hasil dari pembelajaran saya.

Dari berbagai blog dan mailing list yang saya baca, kebanyakan user Blackberry sangat terobsesi dengan jumlah free memory dan ketahanan batere. Dari hasil membaca beberapa blog dan arsip mailing list, ada beberapa salah kaprah tentang tips memori dan batere. Berikut ini beberapa salah kaprah yang saya temukan:

Membersihkan Event Log (dengan Alt-LGLG lalu memilih “Clear Log”) tidak akan mempercepat Blackberry Anda. Ukuran Event Log di Blackberry hanya 16 kb. Jika ada event baru yang harus dicatat, maka log lama akan dihapus. Ini penjelasan dari API Blackberry: The log itself is 16 KB in size; each log entry uses 15 bytes for overhead, plus whatever space is used by the entry’s actual data. Once the log meets or exceeds the 16 KB size, old entries will get erased as required to fit in the new entries..

Lanjutkan membaca “Salah Kaprah Mengenai Memory dan Batere Blackberry”

Lima Aplikasi Blackberry dalam Seminggu

Sepanjang minggu ini sepulang kerja saya membuat beberapa aplikasi kecil untuk Blackberry. Hasilnya ada 5 aplikasi.

Untuk cepatnya bisa langsung klik saja dari halaman daftar aplikasi:

http://compactbyte.com/bb/

Berikut ini saya deskripsikan semua aplikasinya.

Time Span

Aplikasi Time Span ini merupakan aplikasi yang amat sangat sederhana. Gunanya cuma menghitung sudah berapa tahun/bulan/hari suatu peristiwa berlalu, atau berapa tahun/bulan/hari suatu peristiwa akan datang. Aplikasi ini dibuat atas permintaan Risna yang sekarang sedang menghitung hari sampai kelahiran anak pertama kami. Event yang sudah
dimasukkan bisa dimasukkan kalender, dan teksnya bisa dicopy paste ke aplikasi lain.

Aplikasi ini bisa didownload dari:

http://compactbyte.com/bb/timespan/

BBDial Prefix

Saat ini saya tinggal di Thailand. Setiap ingin menelpon ke nomor Indonesia, saya menggunakan prefix 001/006/008 supaya murah. Di Nokia ini mudah dilakukan dengan fungsi “Edit Number” yang mengedit nomor sementara untuk menelepon. Fungsi “Edit Number” ini adalah salah satu fitur BBDial Prefix. Tapi karena keseringan saya hanya mengedit untuk menambahkan 001/006/008 atau mengedit nomor yang masih lokal (081x, seharusnya +6281x), maka ada fungsi untuk menambahkan prefix secara otomatis. Pertama kita harus mendefinisikan prefix dulu (di sini misalnya 001, atau misalnya di Indonesia memakai XL pakai prefix 01000).

Di address book, ketika memilih contact, Anda bisa memilih “Dial With Prefix”.

Alternatif untuk aplikasi ini adalah BlaCaDa (http://www.blacada.com/), ini ada versi freenya, tapi dibatasi setiap
19 kali menelpon dengan BlaCaDa versi free (gagal atau berhasil), maka BB perlu cabut batere.

Aplikasi ini bisa didownload dari:

http://compactbyte.com/bb/bbdialprefix/

Lanjutkan membaca “Lima Aplikasi Blackberry dalam Seminggu”

BB Meter: Monitor Batere Blackberry

Kedua adik saya Aris dan Yosi sudah lama menggunakan Blackberry, dan termasuk orang yang cukup rajin ngoprek blackberrynya. Salah satu aplikasi yang suka mereka pakai adalah Meterberry. Aplikasi ini berbayar, dan sebenarnya tidak terlalu mahal (bisa dibeli kurang dari 50 ribu rupiah). Tapi sebagai programmer, saya lebih suka membuat sendiri (selain karena meterberry tidak mendukung OS 4.5). Hasilnya adalah aplikasi BB-Meter bisa dilihat di

http://compactbyte.com/bb-meter

Untuk Anda yang bertanya-tanya: Aplikasi ini untuk apa? Pertama saya kurang mengerti mengapa orang-orang suka meterberry. Beberapa fitur program ini sudah ada di program gratis lain, misalnya fitur restart device ketika memori sudah hampir habis bisa dilakukan oleh aplikasi gratis QuickPull. Fitur yang disuka oleh banyak orang adalah fitur untuk melihat kecepatan penurunan batere dan memory.

Apa gunanya mengetahui penurunan batere dan memori? untuk orang yang memiliki banyak batere, mereka jadi bisa tahu mana batere yang sudah mulai lemah. Untuk orang yang suka mencoba-coba OS Hybrid, mereka bisa tahu apakah OS yang baru lebih boros atau irit batere. Untuk orang yang suka mencoba-coba aplikasi, mereka bisa tahu apakah batere atau memori menjadi lebih cepat habis setelah menginstall aplikasi tersebut.

Program ini saya buat sesederhana mungkin, dengan ukuran yang sangat kecil (kurang dari 30 kb). Tidak seperti program meterberry yang melakukan pencatatan batere secara periodik, saya merancang program ini agar hanya melakukan pencatatan ketika level batere berubah. Proses pencatatan dan analisis dilakukan terpisah. Jadi program di latar belakang sifatnya sangat ringan, hanya mencatat level dan temperatur batere saja. Semua analisis dilakukan ketika user mulai melihat data tersebut. Saya ingin agar program yang mencatat level batere tidak memboroskan batere.

Program ini sudah diuji oleh istri saya, dan adikadik saya. Dan semoga program ini bisa berguna juga untuk Anda.