Wednesday, March 20, 2013

Pembangunan Aplikasi Online

 

Mungkin ramai di antara kita yang sudah biasa membina aplikasi web. Saya sendiri sudah lebih 10 tahun terlibat dalam bidang ini. Namun, apa yang saya perhatikan kebanyakan developer membangunkan aplikasi web secara semberono. Ya! Termasuk saya.

Pembangunan sesebuah aplikasi sepatutnya mengambil berat bab perancangan projek. Tidak perlu lah ikut sebijik teori apa yang telah kita belajar semasa di universiti dahulu. Itu dulu. Sekarang lain. Teknologi pun berubah dan berkembang dengan pesat.

Ada beberapa perkara asas yang masih boleh digunakan dalam setiap pembangunan aplikasi. Kita sebagai developer pun kadangkala memang malas nak ambil tahu. tetapi hakikatnya, perkara tersebut amatlah penting diimplementasikan.

Secara asasnya, (ini adalah pandangan peribadi saya) sebagai developer kita perlu mengikuti langkah-langkah berikut apabila terlibat dengan projek pembangunan aplikasi online. Saya tidak pasti sama ada ia boleh digunapakai bagi projek pembangunan mobile app atau client-server kerana saya tidak pernah terlibat dengannya:

Dapatkan keperluan pengguna:

  • Minta pemohon sediakan carta alir tentang perjalanan proses kerja manual dan apabila telah disistemkan.

  • Developer perlu berbincang dan memberi pandangan ke atas carta alir tersebut.

  • Dapatkan juga info-info seperti berapa ramai pengguna sistem yang akan terlibat, had capaian dan sebagainya.


Bina draf awal sistem:

  • Developer perlu sediakan satu draf dalam bentuk wireframe, iaitu paparan skrin dari page pertama sehingga selesai bagi setiap proses kerja/modul.

  • Setiap page juga perlu disertakan dengan tajuk skrin, kandungan skrin, kumpulan pengguna yang boleh melihat paparan tersebut, data yang diterima dari skrin sebelumnya, data yang akan dihantar ke skrin seterusnya dan apakah proses yang perlu dilakukan oleh pengguna bagi skrin tersebut.


Sediakan mockup untuk pembentangan awal kepada pemohon:

  • Pindahkan draf berkenaan ke dalam template sistem sebagai mockup. Ini bermakna ia belum perlu disambungkan ke pangkalan data.

  • Wujudkan juga pautan (link) antara page supaya sistem tersebut nampak hidup semasa dibentangkan (demo) kepada pemohon.


Penambahbaikan:

  • Jarang sekali pemohon akan berpuas hati dengan hasil pertama. Banyak pembetulan dan penambahbaikan akan diminta oleh pemohon.

  • Ia tidak perlu dihairankan kerana pemohon melihat sistem tersebut buat kali pertama.

  • Drafkan penambahbaikan tersebut.


Mulakan rekabentuk pangkalan data & proses pengaturcaraan:

  • Peringkat ini, developer sudah boleh memulakan proses merekabentuk pangkalan data yang diperlukan.

  • Developer juga memulakan proses pengaturcaraan.

  • Sekiranya projek dibuat secara berkumpulan, ketua projek akan memainkan peranan yang penting dalam pembahagian tugas.

  • Ia tidak boleh dibahagikan mengikut modul, sebaliknya tugas pengaturcaraan diagihkan berdasarkan setiap page.

  • Katakan dalam satu modul sistem yang dibangunkan itu mempunyai 5 skrin. Tugas pengaturcaraan boleh dibahagikan kepada developer pertama menyiapkan 3 skrin, developer kedua menyiapkan 2 skrin dan seterusya.


Pembentangan projek yang telah siap:

  • Developer perlu membentangkan semula projek, kali ini dengan projek yang telah 100% siap dibangunkan.


Dan seterusnya.. Terpulang kepada developer nak dengar sebarang komen pemohon sistem yang kadangkala cerewet atau dengan bermacam kerenah.. Ada yang di awalnya mereka kata A kemudian di akhirnya kata G.  Itu bergantung kepada anda, sebagai seorang developer, bagaimana anda hendak menghadapi situasi tersebut?

Ok, nampak memang macam senang. Cuba aku buat?
Share:

Tuesday, December 11, 2012

Penjenamaan baru Neural.my - Untuk Sahabat

Saya telah melakukan sedikit pembaharuan ke atas projek Neural.my yang telah saya bangunkan sejak 2010. Projek ini, walaupun belum sepenuhnya siap, namun sudah boleh digunakan.

Penjenamaan semula itu melibatkan penggunaan tagline baru iaitu "Untuk Sahabat" yang lebih ringkas dan mudah diingat. Ia sangat releven dengan konsep Neural.my itu sendiri sebagai sebuah laman sosial yang mensasarkan kepada sesebuah komuniti kecil sebagai penggunanya.

Konsep Neural.my ini sama sahaja dengan laman sosial yang lain tetapi ia difokuskan kepada satu kumpulan yang lebih kecil. Pengguna yang tidak mendaftar tidak boleh melihat segala aktiviti yang ada di dalam laman tersebut.

Pengguna juga boleh berbincang mengikut topik yang lebih fokus dengan membina grup yang spesifik bagi topik tersebut.

Buat masa ini, perisian aplikasi tersebut belum dibuka untuk umum kerana masih di peringkat pengujian. Insyaallah, jika tiada aral melintang ia akan dilancarkan secara rasmi pada awal 2013.

Untuk melayari aplikasi tersebut, anda boleh ke URL berikut:

http://neural.my
Share:

Friday, December 7, 2012

Fungsi str_pad dalam PHP

Entri kali ini saya buat simple sahaja iaitu tentang kegunaan fungsi str_pad. Anda boleh rujuknya di http://php.net/manual/en/function.str-pad.php.

Contoh kegunaan:

Jika anda ingin memaparkan nombor dengan didahului 0 (nombor kosong). Dalam situasi yang saya alami, saya mendapat satu data tarikh di mana tarikh hari dalam bentuk satu digit. Contohnya 3/12/2012, setelah dipecahkan data tersebut, saya ingin gunakan data hari tersebut dalam format '03'.

Apa yang perlu dilakukan ialah:

$day = 3;
$newday = str_pad($day, 2, '0', STR_PAD_LEFT);


Output:

03


Keterangan:

str_pad('input nombor','panjang string','string ','jenis/posisi');
Share:

Sunday, November 25, 2012

Gagal Memainkan Fail MP3 Pada Browser Dengan HTML5

Dalam projek Muraii.com - Panduan Penentuan Waktu Solat Mengikut Lokasi (Latitud & Longitud) Melalui Peta Google Map, saya telah memasukkan alert laungan azan menggunakan fail mp3. Apabila telah masuk waktu bagi kawasan yang dipilih pengguna, azan secara automatik akan dimainkan. Nampak tiada masalah.

Kini, atas sebab tertentu, saya memindahkan aplikasi tersebut ke domain & hosting yang baru. Saya letakkan keseluruhan aplikasi tersebut di http://sempoi.me. Namun apa yang terjadi, fail azan dalam format mp3 tersebut tidak dapat dibaca apabila telah masuk waktu solat.

Untuk pengetahuan anda, saya menggunakan HTML5 untuk embed fail mp3 azan berkenaan. Ia mungkin berkaitan dengan perbezaan setting pada server (apache) yang digunakan oleh pihak penyedia hosting tersebut & menyebabkan server tersebut tidak mengenali format audio yang perlu dimainkan.

Sebagai penyelesaiannya, saya perlu melakukan sesuatu supaya server tersebut mengenali fail audio yang digunakan. Apa yang perlu dilakukan ialah menambah kod di bawah ke dalam fail .htaccess anda.

# AddType TYPE/SUBTYPE EXTENSION
AddType audio/mpeg mp3
AddType audio/mp4 m4a
AddType audio/ogg ogg
AddType audio/ogg oga
AddType audio/webm webma
AddType audio/wav wav


Untuk lebih kefahaman, anda boleh rujuk laman web ini http://html5doctor.com/html5-audio-the-state-of-play/ kerana saya juga membuat rujukan darinya.
Share:

Sunday, November 11, 2012

Inisiatif: Kuasa dari dalam diri

Saya bermula dengan CodlFusion semasa di universiti, sehingga berkhidmat di syarikat IT swasta. Kemudian diminta pula mendalami ASP. Namun atas inisiatif sendiri, saya juga pelajari PHP kerana nampak akan pasarannya di masa depan pada ketika itu. Alhamdulillah, selepas 10 tahun, apa yang saya pelajari dulu tidak sia-sia. Saya masih dengan PHP.
Share: