Nasrul Hazim Bin Mohamad

Training: Mobile Apps Development with Ionic Framework – Batch 1


Registration Open Now!

Please register at Mobile Apps Development with Ionic Framework

Course Details

Date: 24th April 2016


Fee: RM 100

Syllabus Details


Level 0
– NodeJS: (need to be done before coming to the class)
– Ionic: Just run step 1 at (need to be done before coming to the class)

Level 1
Ionic Creator
– Sign Up (need to be done before coming to the class)
– Creating Project
– Export Project

Level 2
– Using Google Chrome Developer Tools
– app.js
– route.js
– controller.js
– Templates

Level 3
– ngCordova (Geo Location & Camera)
– services.js (Factory & Service)

Level 4
– Preview App on Device using Ionic View app (need to be done before coming to the class)

Bootstrap Studio: 2.0.0 Review

Bootstrap Studio 2.0.0

Bootstrap Studio 2.0.0


Bootstrap Studio 2.0.0 has been released. New features have been added – as per screen shot below.

So, I’ve tested some of the new features – multiple CSS, pages and JavaScript. I’m trying to use Animate.css & WOW.js.

Here my review:

  1. PAGES – The pages are working great! with Duplicate features, that’s awesome! Except one thing – if one of your menu(for example) change, you need to update all the pages – workaround make sure you use custom components so that you can pull / push any changes to the component.
  2. STYLES – as what it mentioned – yes you can have multiple CSS! But I’m looking for to be able to import external CSS perfectly(currently I just copy-paste the animate.css, but it’s not working – have to export & update my animate.css)
  3. JavaScript – Again, importing JavaScript will be good(currently I’m copy-paste the WOW.js into new JavaScript) and the scripts is in alphabetical order! I hope I can manage my JavaScript position.

Below are some screenshots of the new Bootstrap Studio 2.0.0 and here the demo (with a little tweak to ensure animate.css & WOW.js are working) 🙂

Bootstrap Studio 2.0.0: Design Features

Bootstrap Studio 2.0.0: Design Features

Bootstrap Studio 2.0.0: Pages

Bootstrap Studio 2.0.0: Pages

System Development: Must Have 3rd Party Library


A list of useful libraries used for system development – such as uploading, sorting, beautiful alert messages.

So, you don’t have to stick to those old schools methods for all the above. 🙂


Ply, beautiful alert messages and even you can customize for login or registration modal.

DropzoneJS, similar to WordPress uploading Media.

DropzoneJS, similar to WordPress uploading Media.


Sortable, useful when it’s come to sort out your staff list for instance, or probably you have a list of products need to be sort.

Slide in Elements



.slideanim {visibility:hidden;}
.slide {
    /* The name of the animation */
    animation-name: slide;
    -webkit-animation-name: slide; 
    /* The duration of the animation */
    animation-duration: 1s; 
    -webkit-animation-duration: 1s;
    /* Make the element visible */
    visibility: visible; 

/* Go from 0% to 100% opacity (see-through) and specify the percentage from when to slide in the element along the Y-axis */
@keyframes slide {
    0% {
        opacity: 0;
        -webkit-transform: translateY(70%);
    100% {
        opacity: 1;
        -webkit-transform: translateY(0%);
@-webkit-keyframes slide {
    0% {
        opacity: 0;
        -webkit-transform: translateY(70%);
    100% {
        opacity: 1;
        -webkit-transform: translateY(0%);


$(window).scroll(function() {
    var pos = $(this).offset().top;

    var winTop = $(window).scrollTop();
    if (pos < winTop + 600) {

Reference: Bootstrap Theme “Company”

JavaScript: JSON


JSON, number of references for beginners, shared by one of my student during training in INTIM, Kemaman.



Bootstrap Studio: Demos


Bootstrap Studio, is a powerful web design tool for creating responsive websites using the Bootstrap framework.

Here are some screen shots that I have when working with it. An awesome desktop application, recommended for frond-end developer, reducing time spent for front-end development.



Columns Sizing

Columns Sizing

Options for Columns

Options for Columns

CSS Panel

Similar to Chrome Developer Tools CSS Panel

For Dekstop

For Dekstop

The Files

The Files

The Files

The Files

For Desktop

For Desktop

For Mobile

For Mobile

Source Code

Clean Source Code Generated

Here are some samples that I’m able to create with Bootstrap Studios. Hope you guys enjoy it.

Source code available here

  1. Carousel (component available in BS 1.0.9)
  2. Simple Login

Here are the summary from my experience using Bootstrap Studio:

      Reducing time spent for front-end development
      Doing two job at one time – design & write codes
      Lightweight and easy-going UI

Anyways, before you consider to buy Bootstrap Studio, please make sure that you’re understand how HTML5, CSS3, JavaScript works, and of course Twitter Bootstrap itself, else, you might get confusing or too dependent with the tool.

Happy Bootstrapping!

Training: Web Mobile Application Development (Basic / Intermediate) – INTIM – August 2015


Training: Web Mobile Application Development (Basic / Intermediate)

Location: INTAN Kampus Wilayah Timur (INTIM), Kemaman, Terengganu

Date: 17th – 20th August 2015


Training Materials:

  1. Web Mobile Application Starter Kit –
  2. Basic Android Configuration –
  3. API Template –

Important Articles:

  1. HTTP Methods for Restful Services –
  2. Android Configuration –
  3. Chrome Device Mode –


jQuery Mobile: Set Selected Item for jQM Select


There’s a minor different how to set selected item in drop down list in jQuery Mobile. We can’t set by using standard jQuery $().val(value);. Here the workaround

$("#selector option[value='your-value']").attr('selected', 'selected');  

Reference: Is there a way to set the selected value in JQM select?

jQuery: Create Loading Indicator with ajaxSend & ajaxComplete


Referring to my earlier post jQuery: Show Loading…, a better way to show & hide loading icon – by binding to ajaxSend and ajaxComplete event.

The Html Markup

 <div id="loading" class="overlay-loading">
    <i class="loading-icon fa fa-5x fa-circle-o-notch fa-spin"></i>


.overlay-loading {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: #000;
    opacity: 0.8;
    filter: alpha(opacity=80);
    z-index: 2000;
.loading-icon {
    position: absolute;
    top: 50%;
    left: 50%;

The JavaScript

$(document).bind("ajaxSend", function(){
 }).bind("ajaxComplete", function(){


  1. Ajax Events
  2. JsFiddle
  3. FontAwesome

jQuery: Get Non-empty Text Area Inputs


Simple solutions to get non-empty text area inputs. Let say you have a list or text area like the following:

<textarea name="remark[about_us] id="remark-about_us"></textarea>
<textarea name="remark[about_us2] id="remark-about_us2"></textarea>
<textarea name="remark[about_us3] id="remark-about_us3"></textarea>
<textarea name="remark[about_us4] id="remark-about_us4"></textarea>
<textarea name="remark[about_us5] id="remark-about_us5"></textarea>
var remarks = $('[name^=remark]');
$.each( remarks, function( index, value ){
	var remark = $.trim($('#';
	if(remark.length != 0) { 
		console.log( + ' - ' + value.value);
	} else {
		console.log( + ' - empty');

Here a sample I have on my current working project.

Get Non-Empty Text Area