Dilema Layout Tanpa Tabel (Tableless Layout)
Dunia web 2.0 membawa teknologi baru dalam hal layouting tampilan, yaitu layout tanpa tabel (tableless layout) dengan menggunakan CSS (Cascading Stylesheet). Keunggulan CSS dibandingkan dengan tabel adalah pada fleksibilitasnya. Dengan topografi yang sama, desain bisa dirombak secara dramatis hanya dengan mengubah stylesheet-nya. Contohnya, layout-layout WordPress dan Joomla yang begitu mudah diubah dengan berbekal stylesheet dan dengan sedikit modifikasi pada topografi desain.
Komponen utama CSS adalah floating-div. Setiap kotak div bisa dilempar kesana kemari, tumpah ke kiri atau ke kanan, bertumpuk-tumpuk sesuka hati. Dengan kemampuan seperti ini, desainer web bisa mengeksplorasi desain web yang tidak terbatas pada layout konvensional: bagian navigasi situs di kiri/kanan, halaman utama mendapat porsi yang lebih besar di sebelah bagian navigasi situs. Kalau Anda menyempatkan diri berkunjung ke situs CSS Mania, Anda akan menemukan berbagai desain yang begitu kreatif memanfaatkan kehebatan CSS.
Bukan berarti tabel tidak bisa menampilkan desain yang aneh dan kreatif. Tetap bisa, tetapi terbatas. Sifat tabel adalah kaku. Kalau ia sudah diam di suatu tempat, ia akan tetap diam di situ tidak akan bisa digeser oleh siapapun termasuk Javascript. Atribut tabel yang bisa dinamis dikendalikan oleh script sangat sedikit, terbatas pada warna dan font, bukan pada tata letak, posisi, dan lebarnya.
Kedinamisan CSS membawa petaka: konsistensi tampilan di setiap browser yang berbeda. Kekakuan tabel membawa keuntungan: konsistensi tampilan di setiap browser yang berbeda.
Saya selalu kagum pada desainer web CSS. Kemampuan untuk tetap konsisten di browser yang berbeda-beda (minimal IE, Firefox, Opera, dan Safari) adalah sesuatu yang sulit dilakukan. Ketidak-standar-an dalam menerjemahkan kode-kode CSS jauh lebih parah daripada ketidak-standar-an Javascript. Di Firefox tampil cantik, di IE porak-poranda. Di IE sudah tampil memukau, di Firefox kacau balau. Demikian seterusnya. Melakukan kodifikasi dengan CSS adalah mimpi buruk bagi desainer web bau kencur seperti saya. Belum lagi kalau sudah dikejar-kejar deadline.
CSS bukan pilihan kalau kita dikejar deadline yang sempit: katakanlah dalam dua hari Anda harus menyelesaikan sebuah website. Saya tidak berani melakukan hal itu dengan CSS.
Tentu saja, saya akan lari ke tabel. Dengan tabel, kita tak perlu pusing-pusing dengan masalah kompabilitas antar browser. Konsentrasi dengan apa yang kita kerjakan. Apa yang perlu ditampilkan. Apalagi kalau ada tool dahsyat Adobe Photoshop dan Macromedia Adobe Dreamweaver. Pekerjaan desain web dalam waktu dua hari bukanlah sesuatu yang mustahil dilakukan.
Pilkada Kabupaten Tulungagung
FLICKR
Lokasi: Pasar Ngemplak, Tulungagung
Nikon D40 | Sigma 10-20mm HSM
Saya menemukan baliho ini masih terpasang di depan Pasar Ngemplak Tulungagung. Saya ambil ini dalam perjalanan pulang dari stasiun Tulungagung (saya naik Gajayana) dan mampir dulu mengantarkan ibu membeli sesuatu. Kelihatannya ibu ingin membuatkan masakan spesial untuk saya (dan ternyata iya ).
Kabarnya, pemenang dari Pilkada ini adalah calon incumbent: bapak Heru Tjahjono. Isunya, calon yang lain hanyalah boneka karena posisi pak Heru ini begitu kuat di Tulungagung.
Review: Opera Mini, Browser untuk Ponsel
Ponsel saya, Sony Ericsson W200i, memiliki dukungan untuk akses internet via GPRS (2,5 G). Di dalamnya terdapat sebuah browser internal yang membuat kita berseluncur di dunia maya tanpa harus menyambungkannya ke notebook. Browser ini memiliki sangat banyak kelemahan, utamanya ketika harus me-load halaman besar dan kompleks yang sama sekali tidak didesain untuk pengunjung yang memakai mobile device. Sempat saya berpikir untuk memodifikasi halaman pencarian google yang sangat mobile-friendly untuk menjadi semacam jembatan perantara setiap situs yang akan saya kunjungi dengan ponsel saya.
Sampai pada ketika saya menemukan browser imut-imut ini: Opera Mini!
Berbasis Java ME (Java Micro Edition), Opera Mini bekerja dengan sangat baik pada hampir semua situs yang kompleks. Ia memiliki dua pilihan, mobile view dan standard view. Mobile view memiliki perilaku seperti browser internal W200i, yaitu melakukan konversi halaman dan memindahkan isinya sehingga lebih nyaman dibaca. Meski demikian, Opera melakukannya jauh lebih baik daripada browser internal W200i.
Standard view mempertahankan tampilan semirip mungkin dengan aslinya. Agar muat di layar ponsel yang portrait dan kecil (sementara desain web kebanyakan berbentuk landscape), Opera mengecilkan tampilan (zoom out). Jika kita ingin membaca detailnya, ada alat pembesar (magnification) untuk mendetailkan tampilan pada area tertentu. Di beberapa situs, Opera menampilkan semirip aslinya, namun dalam beberapa situs yang lain lagi, Opera menampilkan tampilan yang porak poranda. Bukan suatu masalah yang berarti saya kira, karena kita bisa saling berganti-ganti mode view: mobile view atau standard view.
Satu lagi yang saya suka dari Opera Mini. Scrolling yang begitu halus dan nyaman. Di browser W200i, saya memerlukan waktu yang lama untuk melakukan scrolling halaman dari atas ke ujung bawah karena banyaknya teks. Solusi membagi halaman menjadi banyak seperti yang dilakukan Google kurang menarik bagi saya. Tetapi Opera melakukannya dengan lebih baik, ia membuat mode scrolling yang menggulung halaman dengan lebih banyak dan lebih cepat tanpa mengorbankan kenyaman.
Bravo Opera!
Dilema CMS Open Source
CMS (Content Management System) adalah sebuah sistem (saya lebih suka menyebutnya framework – bingkai kerja) yang ditujukan untuk manajemen isi suatu situs, misalnya portal. CMS yang sudah jadi sendiri sudah sangat banyak, baik yang bersifat lisensi berbayar (propietary) maupun yang open source. CMS Open Source juga sangat banyak yang populer, diantaranya adalah Joomla dan Drupal.
Kemudahan memakai CMS tentu saja adalah kecepatan pengembangannya. Tinggal lakukan instalasi, set up database, lakukan penyesuaian (customize) sesuai kebutuhan, sesuaikan tampilan, dan selesai. Siap launching. Live. Ini sangat berguna ketika kita diminta untuk menyelesaikan sebuah situs portal dengan deadline yang hampir tidak masuk akal. Apa pasal? Dalam pengembangan sebuah situs, paling tidak kita memerlukan beberapa pekerjaan besar, yaitu:
- Desain tampilan, dan potong-potong (kawan saya yang pakai Adobe Photoshop pasti mengerti maksud potong-potong ini ) menjadi HTML
- Serahkan HTML mentah kepada tim programmer untuk membuatnya dinamis dan bisa memuat data dari database
- Tahap desain: database, site map, site flow
- Pembuatan halaman administrasi situs, lengkap dengan validasinya
- Set up database, set up webserver, set up DNS Server, dan lakukan proses deployment agar siap diluncurkan
Dalam waktu singkat, semua pekerjaan itu hampir mustahil dilakukan dengan sangat baik. Oleh karena itu, kemudahan dan kecepatan pengembangan situs dengan menggunakan CMS yang sudah jadi menjadi salah satu pilihan yang patut menjadi pertimbangan serius.
Namun demikian, memakai CMS yang sudah jadi apalagi open source mendatangkan masalah baru: sisi keamanan. Karena open source, semua orang menjadi tahu sudut-sudut terkecil dari infrastruktur CMS. Dengan demikian, semua orang (inilah contoh generalisasi hiperbolistik ) juga tahu kelemahan setiap CMS. Semua orang berpotensi menjadi penyerang sistem keamanan yang menggunakan CMS open source. Apalagi, dalam forum-forum terbuka, selalu ada saja kelemahan titik keamanan yang dipublikasikan, lengkap dengan cara penyerangannya.
Oleh karena itu, sebenarnya situs yang menggunakan CMS open source harus rajin-rajin dirawat, diteliti, dan diupdate agar celah-celah keamanan yang muncul dapat ditutup dengan cepat. Inilah yang jarang tidak pernah terjadi di sebagian besar portal yang memakai CMS open source. Biasanya memang pembuatan sebuah portal adalah outsourcing, dan kontrak yang ada tidak melibatkan proses perawatan. Sehingga tentu saja, portal-portal itu demikian mudah diserang oleh para script kiddies1.
Bagi saya, ini adalah pilihan yang dilematis. Kalau saya pakai CMS, saya harus merawatnya baik-baik. Kalau saya buat CMS sendiri, tentu saja saya lebih bisa mengendalikan infrastruktur keamanannya, tapi saya babak belur di waktu pembuatannya. Ironisnya, jika melihat bagaimana kontrak pembuatan sebuah website yang tidak menyertakan klausul perawatan, kebanyakan orang memilih memakai CMS yang jauh lebih cepat dan mengabaikan sisi keamanannya.
Catatan Kaki:
1: Penyuka kegiatan penyerangan sisi keamanan sistem dengan mencontek informasi yang sudah ada yang tersedia di forum-forum underground di internet atau IRC.
Seraut Wajah: Nikita Willy(?)
FLICKR
Lokasi: Pameran Fotografi FOCUS 12-16 Maret 2008, JCC, Jakarta
Nikon D40 | Nikkor AF-S 55-200mmÂ
Ekspresinya begitu takzim waktu menimang-nimang Canon Ixus di booth Datascrip Canon waktu pameran fotografi Focus kemarin. Kata kawan saya yang pengamat infotainment, wajah ini milik Nikita Willy. Saya memotretnya dengan Nikkor AF-S 55-200mm VRÂ beberapa kali karena wajahnya mengingatkan saya pada sesuatu.
Sesuatu yang dingin… dan angkuh
Foto-foto ada di Flickr saya. Bagi yang ingin resolusi besarnya (2200 pixel), hubungi saya via email. Okey
Lagi, Lagi, Lagi… dan Lagi
Lama-lama saya takut juga dengan motto Panglima Tian Feng yang saya anggap sebagai joke ini,
Cinta, deritanya tiada pernah berakhir…
Sampai capek saya. Lari ke sana, bukan. Lari ke situ, eh, ternyata juga bukan. Saya ingat komentar Paman Tyo di sini, sangat mengena,
Ah, belum ada cewe yang nyantel di hati saja, Dik Galih. Ndak masalah. Namanya juga jodoh, dianya mau, kita ogah. Kitanya pengin, dianya (yang lain) cuma mau berteman.
Ya ya… alangkah susahnya. Betapa melelahkannya berusaha memperkenalkan diri seadanya. Dan akhirnya terpaksa harus melangkahkan kaki beranjak pergi, memulai segala sesuatu dari nol lagi, mengulangi menyusuri jalan-jalan yang telah dilalui berkali-kali. Saya menganggap, sebuah hubungan yang berhasil adalah sebuah keajaiban kalau melihat begitu sulitnya membuat dua hubungan itu klik.
Seorang kawan berusaha menghibur saya. Kesulitan-kesulitan ini adalah sebuah persiapan agar kita menjadi lebih baik ketika akhirnya kita dipertemukan. Agar kita nanti menghargai sebuah komitmen karena pencariannya sangatlah sulit. Kekuatan sebuah proses, bukan hasil. Proses akan selalu membuat kita berkembang ke arah yang lebih baik.
Saya percaya itu.
Jadi, untuk seorang kawan saya yang trenyuh melihat posting-posting melankolis saya, saya ucapkan terima kasih untuk perhatian dan tawaran bantuannya. Bukan saya menolak itu, tetapi biarkan saya terus belajar mencari dengan segala upaya saya dulu. Biarkan saya melalui jalan ini berulang-ulang. Saya masih punya banyak waktu untuk itu. Nanti, ketika saya merasa tak mampu lagi, tentunya saya akan berteriak.
Saya yakin, saya akan menemukannya. Meskipun, harus jatuh berkali-kali. Lagi.. lagi.. lagi… dan lagi.
Dialog Aneh tentang Masa Lalu
Biasanya kalau sebuah hubungan persahabatan itu sudah akrab, maka batas-batas akan mulai hilang. Seperti dialog di bawah ini,
“Nduk (Adik — red), kenapa dulu kamu menolak aku?” tanya saya,
“Karena dulu aku belum begitu mengenal sampean (kamu dalam arti yang sopan, bahasa jawa — red)” jawabnya pasti tanpa pikir-pikir.
“Jadi, mari kita berandai-andai. Andai sekarang kamu lagi jomblo, kamu masih nolak aku nggak kalau kamu aku lamar sekarang?” sambung saya dengan sedikit jahil bin usil.
“Karena aku sekarang udah kenal, aku akan mau!” jawabnya, lagi-lagi dengan tegas dan pasti.
Wah… mungkin juga ia bisa menjawab dengan begitu pasti karena beberapa bulan lagi ia akan menikah. Suasana hatinya memang sedang gembira, karena saya baru saja menyatakan diri bersedia untuk menjadi fotografer pre-wedd buatnya dan menjadi seksi sibuk di acara pernikahannya — setelah berkali-kali saya berkata tidak mau waktu ia minta.
Kemudian pembicaraan mengalir ke masa-masa lalu. Waktu masih zamannya Wartel. Waktu saya masih suka menelepon nomor berkepala 0274-562xxx itu lewat Wartel Sakinah (supermarket di lingkungan kampus ITS). Waktu saya menembaknya dan ia tolak, waktu ia kemudian berpacaran, lalu putus dan memiliki waktu jeda sebentar untuk sendirian.
“Dulu, waktu kamu lagi kosong beberapa bulan itu, andai aku masuk dan menyatakan cinta lagi, kamu mau nggak?” tanya saya lagi. Masih penasaran rupanya saya, hehe.
“Mau.” sahutnya pendek.
“Aaarggh….! Kenapa dulu aku nggak masuk yah??”
“Salah mas sendiri kenapa dulu nggak mendekati aku lagi, padahal aku kan nggak cari yang aneh-aneh, ” semburnya.
“Hah, iya yah… yah.. namanya… kalau nggak jodoh…” desah saya agak menyesal.
Begitulah, percakapan yang aneh. Kami sendiri heran, karena apa yang mendekatkan kami adalah hal yang akan membuat orang lain saling membenci: yaitu luka karena cinta yang bertepuk sebelah tangan. Kami telah beranjak beberapa tahun lebih tua. Terlalu banyak yang telah kami lalui bersama dalam persahabatan yang aneh. Dia menganggap saya kakak, tetapi saya tak pernah menganggapnya adik.
Pesan moral dari dialog tadi adalah: Nyatakanlah cintamu atau kamu akan menyesal. Ini adalah pesan moral dari guru Matematika SMA saya, Pak Priyo. Sakit karena ditolak ternyata memang tak seberapa dibandingkan dengan sakit karena tak sempat menyatakan cinta. Menjadi secret admirer itu ternyata lebih sakit. Sekarang saya baru sadar perbedaannya. Paling tidak, kita telah lega kalau sudah menyatakan cinta. Urusan kok ternyata setelah itu ditolak, ya.. itu salah satu risiko yang harus diambil. Seperti koin mata uang. Fifty-fifty. Tapi rasanya, mak plong, tanpa beban. Jadi, nyatakanlah cintamu sekarang kawan, sebelum keduluan ia diambil orang, hahaha… )
Comments