Catatan Akhir Liburan, part 3 : mobile.ugm.ac.id public beta release

Setelah menyelesaikan project experimental yang pertama(yang sebenernya belum benar2 selesai) berlanjutlah sudah pekerjaanku ke babak yang ke 2 , sesuai yang diembankan padaku sebelumnya (sebenernya gara-gara udah stuck, daripada jalan ditempat), dan masih seputar aplikasi mobile, yaitu sebuah aplikasi semacam portal berbasis WAP/WML. Berhubung lagi-lagi materi dan detail implementasinya masih belum jelas(tergantung project yang lainnya), terpaksa harus putar otak lagi untuk menghasilkan solusi yang fleksibel.

Berhubung aku ini pemalas, maka aku langsung berfikir untuk membuat aplikasi untuk mengkonversi situs-situs atau halaman web biasa agar langsung bisa diakses oleh mobile browser. Dan.. lagi-lagi dengan prinsip don’t reinvent the wheel, aku mulai mencari-cari aplikasi open source yang.. paling enggak mirip-mirip dengan bayanganku. Sialnya.. kali ini aplikasi yang kubayangkan tidak kunjung ketemu di Internet.. terpaksalah cari-cari bahan dasar buat bikin sendiri, dari pada bikin satu-satu halaman khusus buat mobile browser.. mending hajar sekalian pake satu aplikasi
Dari aplikasi yang dibayangkan, dapat disimpulkan kebutuhan yang harus dicari, diantaranya adalah :
– HTML DOM parser
– HTML cleaner
– web proxy

Pada experiment awal, percobaan fokus pada pemrosesan dokumen HTML untuk diubah menjadi WML, untuk itu aku memilih simple html dom parser dengan alasan kelengkapan manual dan API yang cukup sederhana. Setelah oprek-oprek dengan berpedoman pada referensinya w3schools, akhirnya jadi juga versi experimental, alias versi sandbox. Untuk memuluskan pemrosesan dokumen, kugunakanlah php-tidy sebagai HTML cleaner, simple dan cukup powerful, dan setelah diujikan ke beberapa dokumen HTML, ternyata hasilnya cukup efektif.

Percobaan berlanjut pada tahap berikutnya, yaitu fungsi proxy yang mengatur akses situs-situs serta mengelola session, dari pencarian dan coba-coba, awalnya aku pake class dari PHPProxy, sayangnya aplikasi tersebut belum sempurna, karena itu aplikasi ini gagal mengelola session. Experiment dilanjutkan dengan PHProxy(poxy) , dan.. ternyata kemampuan poxy jauh lebih baik, sehingga akhirnya diputuskan sudah poxy sebagai inti fungsi web proxy.

Setelah menggabungkan fungsi-fungsi tersebut, melakukan pengujian, dan perbaikan kecil-kecilan.. tiba2 seorang teman menunjukkan situs Google Wireless Transcoder (www.google.com/gwt/n) serta mowser (www.mowser.com), sebuah situs penyedia layanan transcoding dari HTML ke XHTML-MP .Melihat situs2 tersebut, jadi tertarik untuk bikin tiruannya.. akhirnya setelah beberapa hari ngoprek, jadi sudah prototype-nya. Tapi.. begitu liat kodenya.. koq kayaknya kacau ya..

Dengan semangat 45, akhirnya kurubah semua strukturnya (terlalu berlebihan sebenarnya), intinya.. pokoknya dirapikan, yang bisa di merger ya di merger , dan.. setelah selesai restrukturisasi atau refactoring istilah geeksnya.. jadi kepikiran di publish ke http://www.sourceforge.net. Dengan ambisi publish ke sourceforge, akhirnya aku lengkapi komponennya, termasuk image resizer serta file konfigurasi agar lebih fleksibel, tak lupa disertakan release note , license, serta readme buat gaya-gayaan.

Setelah melengkapi semuanya dan melakukan beberapa pengujian untuk situs-situs lokal ugm dan situs-situs di luar UGM , baru aku berani upload release versi 0.1 beta. Sialnya waktu mau rilis dalam bentuk layanan publik beta.. servernya bermasalah, server yang dipake rada ngaco, ga mau ngeload extension tidy secara otomatis. Butuh beberapa hari untuk memahami masalah dan menemukan solusinya.. dan setelah masalah diselesaikan, sedikit bug fixing dan mendapatkan nama domain resmi.. akhirnya vers 0.1 stable dan layanan publik beta dirilis di situs http://mobile.ugm.ac.id/

Bagi yang tertarik dengan project ini, source dapat ditemukan di http://www.sourceforge.net/projects/wmlxhtmlgateway/ , sedangkan untuk informasi detail mengenai arsitektur dan latar belakangnya bisa di dapat di dokumen yang disertakan di post ini. Untuk informasi lebih lanjut, laporan bug dan pertanyaan bisa kontak saya langsung, email tertera di dokumentasi

mobile-gateway dokumentasi


About this entry