Skip directly to content

Feed-aggregator

How Social Media Evolves and Influences Us [Op-Ed]

hongkiat.com - vr, 26/08/2016 - 17:01

From the way we communicate to the way we do business, there is a change catalyzed by social media at every corner. This is the very reason that social media is perhaps one of the most sought-after and well-researched themes of the last decade. Psychologists and sociologists, market researchers, in fact, people from every field have tried to dig out facts and statistics about different aspects and effects of social media.

15 Social Media Tools To Help You Publish At The Right Time


.no-js #ref-block-post-21975 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/when-post-social-media.jpg"); }

15 Social Media Tools To Help You Publish At The Right Time

Do a simple Google search and you will find an abundance of infographics and studies telling you the…Read more

Jumping on to the bandwagon, I resolved to perform my own dissection on social media, albeit by seeing things from a different angle, an angle so tilted that you get to see things which you don’t realize were there this whole time.

Consequently, following are some of the results of my observations regarding the animal called social media.

We carry an alter ego on social media

There have been many books and movies about MPD (Multiple Personality Disorder) in which a person carries multiple personalities and can change into any of it at any time.

IMAGE: freepik

These personalities are totally different from one another as well as from the original personality of the carrier and are called his ‘alter ego’.

Similar to that, every one of us carries an alter ego on social media platforms. We post only the best photos of ourselves and usually maintain a profile that is quite contrary to our daily lives.

There is even a complete nerdy study on this phenomenon with respect to Facebook in particular, where the psychologists call it "Facebook self".

Our social media alter ego has its own personality, requirements and group of friends (some of whom we might not have met in real life). There are people who go to such great lengths in nurturing their social media alter ego that it is almost uncanny.

For instance, I once told a friend that I really liked her dress. She immediately asked me to go and like her Instagram and Facebook pictures on of the same dress. Privacy, it seems, is not top of the list anymore.

IMAGE: Freepik

Our personal information, likes, dislikes and the trends we follow etc. were once exclusive to ourselves or certain market research questionnaires that we ever filled in.

However today, we share this information with social media platforms that we are a part of – and the most interesting thing is that we are quite ok with it as well.

Privacy versus Popularity

Initially, everyone had privacy concerns about social media. However, as soon as the circumference of their popularity increased, its active users reached the conclusion that privacy thing isn’t all that important; to them, it is more of a hype.

Somehow we have forgotten the importance of maintaining our privacy on social media networks and why it matters.

Facebook & Your Privacy: Why It Matters


.no-js #ref-block-post-9645 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/facebook-privacy-matters.jpg"); }

Facebook & Your Privacy: Why It Matters

Knowledge is power. There's no better way to put it in this information age of ours. In our…Read more

Our carelessness towards privacy makes sure that instead of social media being a product for us, we in turn are products for social media platforms.

The data we put in our social media profiles, the pictures we share, the check-ins we do and the hashtags we create, every single piece of information is precious to the marketers – to whom our information is sold!

Everyone is living in the same time zone

The Internet never sleeps. There was a time when if you live in Asia, you could watch American morning news only at night, or you had to wait for the daily newspaper to catch up with yesterday’s happenings.

But on social media platforms, there is no day or night – the whole world lives in the same time zone.

IMAGE” Freepik

Take for instance, news about the death of Muhammad Ali. That spread all over social media within minutes of the announcement. Similarly, when the attacks happened in Brussels, people from all over the planet contacted their friends in the affected area within hours of the event.

Social media has also changed the way we receive news. I can’t remember the last time in the past decade that I sat down and watched an entire news program on TV. I rather get all of my breaking news from Facebook or Twitter where I just have to skim through the headlines and intro to get updated with the latest.

Someone is always listening

People can say whatever they want on social media platforms, a thought, an opinion, or simply a statement that they find amusing. But what they may not realize is that these platforms are instantaneous, viral and more potent than traditional media.

Anything they say could easily backfire if said in the wrong context. There are hundreds of examples where people got themselves into trouble due to their social media posts.

IMAGE: Freepik

For instance, Mike Bacsik, a former professional baseball player posted a racist tweet: "Congrats to all the dirty Mexicans in San Antonio," or Justine Sacco, a PR consultant who tweeted: "Going to Africa. Hope I don’t get AIDS. Just kidding. I’m white!". Both of them got fired from their positions.

It doesn’t matter if you post within friends circle or have only a bunch of followers, someone is always listening to what you are saying and the whole world will respond if your social media posting – good or bad – goes viral.

A concluding look

Social media is indeed one of the most powerful mediums in today’s world, and there are countless benefits of social media networks. Before it came into existence, governments, along with the traditional media, were the gatekeepers of information.

Today social media has given empowerment to an individual’s voice and there are no information elites anymore.

Civic participation and engagement has also been transformed with social media. Take the case of Arab Spring for instance, a campaign that started from social media and transformed a whole nation within days. All these prospects make social media from "interesting to have" to "must have".

However, among all the rapidly changing scenarios we get carried away and tend to overlook certain aspects of social media. This article is not a call-to-action suggesting that the wave of social media is threatening and needs to be stopped.

Change is good. Change is rather inevitable. The point however, is to be aware of this change and its effects for better or for worse.

How to Opt-out of WhatsApp Data Sharing

hongkiat.com - vr, 26/08/2016 - 16:01

If you haven’t heard, WhatsApp has renewed its Terms of Service and Privacy Policy and along with that update is the announcement that WhatsApp will be sharing some of your WhatsApp account data with Facebook. Here’s what you need to know about this move, and what you can do about it.

What won’t WhatsApp share with Facebook?

Facebook will be getting the phone number you verified with WhatsApp and track how often you use their services, and the last time you used WhatsApp.

WhatsApp insists that messages, photos and account information will not be made available to Facebook, falling back on their move making messages encrypted end-to-end (provided you update to the latest version).

Note that WhatsApp still insists that they "won’t post or share your WhatsApp number with others, including on Facebook" and "won’t sell, share or give phone numbers to advertisers".

Why does Facebook want my WhatsApp data?

The reason given is because WhatsApp is a part of the Facebook family of companies and that this exercise will allow them to improve the services of both WhatsApp and Facebook. With the data they retrieve, they claim that they can more accurately count unique users, fight spam and abuse.

What’s in it for us? "Better suggestions" and "more relevant ads on Facebook" — as in you’d see an ad from a company you’ve already worked with than one you have not heard before.

Then again, this begs the question: isn’t advertising supposed to be to expose customers to services they have not heard or use before? Well, whatever the reason is, this has to do with Facebook ads.

What you can do:

There are two things you can do, right now: Opt out of this sharing alliance, or dump WhatsApp for an alternative messaging app.

1. How do I opt out of WhatsApp sharing my info to Facebook?

It depends on whether or not you have agreed to their updated Terms of Service and Privacy Policy.

If you have not agreed to the new policy:

At the Policy Page, tap Read so that the rest of the policy expands. At the bottom of the screen, there is a box that is already ticked. If you don’t want to share your WhatsApp data with Facebook, untick the box.

If you have agreed to the new policy:

You still have 30 days to opt out of this sharing attempt. Go to Settings > Account > Share my account info, and again, untick the box.

2. Which app should I leave WhatsApp for?

It depends on if you really want to leave WhatsApp’s attempt to perfect mothership Facebook’s ad-targeting strategy. If you do, of all the options out there, Telegram is probably the safe haven you seek.

Like WhatsApp, Telegram:

  • Has a desktop app version
  • Lets you Mute Notifications in group chat
  • Lets you quote dialog and directly reply to that (this works even if a conversation is muted)
  • Lets you forward comments
  • Has the two check feature, in green, and an approximate last seen.

Unlike WhatsApp, in Telegram

  • Group chats can support up to 5000 members. @mention and #hashtags are supported.
  • You can share files up to 1.5GB, which can be accessed on both mobile and desktop. The Files are also grouped together to make them easy to search.
  • You can use Secret Chats which are self-destructing messages
  • You can edit messages that you have already sent.
  • Your account will be deleted along with any other data inside your account if you do not use it for more than 6 months.

Telegram already has more than 100 million active users by early 2016. The only question left to ask is are your friends on Telegram as well?

Download Telegram

Transforms Your Photos into Video Stories with Pearl

hongkiat.com - vr, 26/08/2016 - 15:01

We share (sometimes overshare) our lives on social media so much that it has become a way of life for many online users. Sure, sometimes people go overboard with the wedding photos, baby photos, pet photos, food photos, travel photos etc and while some of us might gripe about it, almost everything someone does is another user’s pet peeve.

12 Types Of Social Network Users [Infographic]


.no-js #ref-block-post-17030 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/social-network-users-infographic.jpg"); }

12 Types Of Social Network Users [Infographic]

We have a wide range of social networks that most Internet users are addicted to and from this…Read more

An alternative to a photo album full of the same topic is to turn it into one single video. Now that may be more towards today’s video-loving public. But who has the time to record a full video then add music and narration to a simple social share? Nobody.

Unless of course you use Pearl, an iOS app that lets you do all that to your favorite videos ridiculously easily. Let’s check out the app: Pearl.

About Pearl

In June 2016, developer, Voicekick, Inc released Pearl really powerful photo-editing, video-making tool to the app store.

Pearl lets you transform photos into a motion picture or slideshow easily. This lets you merge all your photos of your wedding, your family gathering, your child’s first birthday, or a proposal, into a single video, that can be easily shared on your favorite social network sites.

There has been a lot of similar apps in the market, but Pearl is special in the sense that, aside from adding music, you can also record or dub your own voice to create narration for your video. It’s an awesome way to personalize your video, right?

How does Pearl Work?

Pearl is super easy to use.

Step 1: Choose

Start by picking the photos you want to include in your video. Pearl doesn’t limit how many pictures you want to use, but note that the more pictures you include, the heavier your file will be.

Pearl works with JPG, JPEG and PNG photos. After processing, the video file will be in MP4. When you’re done, give your collection a title.

Step 2: Edit

Next up is the process of beautifying your video. For this, you can add music, narrate the video. With the photos, you can reorder them, zoom and adjust the focus of the photo, choose the orientation (landscape or portrait) and preview it before processing it into video form.

One great thing about Pearl is that it has already prepared a lot of music for different ambience: happy, sad, cheerful and many other choices. If none of them fit, use your own choice of music. You just need to store it in your phone library for easy retrieval.

Step 3: Share

And lastly, if you are done with the editing process, you are a click away from sharing it with your friends. Pearl lets you share the video on major social networks, such as Instagram, Facebook, Youtube or Twitter or if you want to keep it personal, by email or text message.

Who should use Pearl?

Pearl is perfect for medium and small businesses that want to give their product launches a push on social media. Highlight your restaurant’s menu, beautiful cake offerings in your bakery or a showcase of your arts and crafts talent.

Even if it is for a secondhand trade, the video could make it much easier for you to let go of that stroller your child cannot fit into anymore.

Alternatively, you can make a video of all your travel photos, create wedding proposal videos, unleash video invitations for a life event, share wedding ceremony videos, or announce family events like a pregnancy or the arrival of the new bundle of joy. With Pearl, the world’s your oyster (get it?).

How to get Pearl

As of now, Pearl is only available for iOS/iPhone, but there is no telling that the developer will also develop the same thing for Android later on.

You can download Pearl for free via the App Store. But as you may already guessed, the free version will leave Pearl logo in your video. The ad-free version is $1.99.

How to Use AMP with WordPress

hongkiat.com - do, 25/08/2016 - 17:01

AMP is a communal efforts that promises a better page load performance for websites in the mobile environment. But, as you can find from our previous tutorial, you will have to sacrifice fancy stuff from your website, and strictly follow the rules, comply with guidelines, and get pages validated. It sounds like a lot to do, doesn’t it?

10 Important Accelerated Mobile Pages (AMP) Components You Should Know


.no-js #ref-block-post-27788 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/important-amp-components.jpg"); }

10 Important Accelerated Mobile Pages (AMP) Components You Should Know

Accelerated Mobile Pages or AMP is Google's initiative to make the mobile web faster. To achieve this goal,…Read more

Fortunately, if you’ve built your website with WordPress, you can apply AMP to your website in a snap using a plugin named AMP-WP. It is shipped with more features than what meets the eye. So, let’s see how it works.

Activation

To begin with, login to your website, go to Plugins > Add New screen. Search for “AMP; install and activate the one from Automattic.

Once activated, you can view the AMP-converted post by adding the /amp/ trail at the end of the post URL (e.g. http://wp.com/post/amp/), or with ?amp=1 (e.g. http://wp.com/post/?amp=1) if you are not using the Pretty Permalinks feature on your website.

And as you can see above, the post has been given basic stylings, which you can further customize.

To note

There are a few things you should know about the state of the plugin at the moment:

  • Archives — Category, Tag and Custom Taxonomy — are currently not supported. They will not be converted into AMP-compliant format. However, Custom Post Types can be initiated into AMP through a Filter.
  • It does not add in a new setting screen in the Dashboard. Customization is done at the code level with Actions, Filters, Class.
  • The plugin does not currently encompass every AMP custom elements such as amp-analytics and amp-ad out of the box. If you need these element you will have to include it by hooking into the Actions or Filters of the plugin.
How to Use WordPress Action Hooks in Theme Customization


.no-js #ref-block-post-24866 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/wp-action-hooks-theme-customization.jpg"); }

How to Use WordPress Action Hooks in Theme Customization

WordPress child themes give a relatively easy way to customize the look and feel of a theme. If…Read more

Customization

The plugin provides numerous Actions and Filters that provides flexibility over customizing the styles, the page content, and even the HTML markup of the AMP page as a whole.

Styles

I’m sure this is one thing that you want to change immediately after activating the plugin, such as changing the header background color, the font family, and the font size to better match your website brand and personality.

To do so, we can employ the amp_post_template_css Action in the functions.php file of our theme.

function theme_amp_custom_styles() { ?> nav.amp-wp-title-bar { background-color: orange; } <?php } add_action( 'amp_post_template_css', 'theme_amp_custom_styles' );

If we look through the Chrome DevTools, these styles are appended within the <style amp-custom> element, and overrides the preceding style rules. Hence the orange background color is now applied to the header.

You can proceed writing the style rules as you normally do. But, bear in mind a few restrictions, and keep the style sizes to below 50Kb. If ever in doubt, please refer to our previous article on how to get your AMP pages validated.

Templating

If you seem to have to change a lot beyond just the styling, you migh twant to look into customizing the entire Template. The plugin, amp-wp, provides a number of built-in templates, namely:

  • header-bar.php
  • meta-author.php
  • meta-taxonomy.php
  • meta-time.php
  • single.php
  • style.php

These templates are much like the regular WordPress template hierarchy.

Each of these templates can be taken over by providing file of the same name under the /amp/ folder in the theme. Once these files are in place, the plugin will pick them up instead of the default files, and allow us to change the output of these templates entirely.

twentytwelve ├── 404.php ├── amp │   ├── meta-author.php │   ├── meta-taxonomy.php │   ├── single.php │   └── style.php

You can rewrite the entire styles through the style.php file, or modify the entire AMP page structure to your need with the single.php. Still, you will have to keep the change to comply with AMP regulations.

List of Hooks and Filters

As mentioned earlier, this plugin is shipped with a number of Actions and Filters. It’s not possible to cover each in this article. But we can go with a cheatsheet, the summary, as well as the snippets you need:

Actions

The amp_init; action is useful for plugins that rely on AMP for their plugin to work; it runs when the plugin is already initiated.

function amp_customizer_support_init() { require_once dirname( __FILE__ ) . '/amp-customizer-class.php'; } add_action( 'amp_init', 'amp_customizer_support_init' );

Similar to wp_head action, we can use amp_post_template_head to include additional elements within the head tag in AMP pages like meta, style, or script.

function theme_amp_google_fonts() { ?> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700,700italic%7CRoboto+Slab:400,700&subset=latin,latin"> <?php } add_action( 'amp_post_template_head', 'theme_amp_google_fonts' );

amp_post_template_footer this Action is similar to the wp_footer.

function theme_amp_end_credit() { ?> <footer class="amp-footer"> <p>&copy; Hongkiat.com 2016</p> </footer> <?php } add_action( 'amp_post_template_footer', 'theme_amp_end_credit' ); Filters

amp_content_max_width is used to set the maximum width of the AMP page. The width will also be used to set the width of embedded elements like a Youtube video.

function theme_amp_content_width() { return 700; } add_filter( 'amp_content_max_width', 'theme_amp_content_width' );

amp_site_icon_url is used to set the icon — favicon and Apple icon — URL. The default falls to the image uploaded via the Site Icon interface, which was introduced in version 4.3.

function theme_amp_site_icon_url( ) { return get_template_directory_uri() . '/images/site-icon.png'; } add_filter( 'amp_site_icon_url', 'theme_amp_site_icon_url' );

amp_post_template_meta_parts is for when you need to customize the meta data output of the post, such as the author name, the category, and the timestamp. Through this filter you can shuffle the default order, or remove one of the meta out of the AMP page.

function theme_amp_meta( $meta ) { foreach ( array_keys( $meta, 'meta-time', true ) as $key ) { unset( $meta[ $key ] ); } return $meta; }; add_filter( 'amp_post_template_meta_parts', 'theme_amp_meta' );

amp_post_template_metadata is for customizing the Schema.org data structure in AMP pages. The following example shows how we provide the site logo that will be shown in the AMP carousel in the Google search result, and remove the page modified timestamp.

function amp_schema_json( $metadata ) { unset( $metadata[ 'dateModified' ] ); $metadata[ 'publisher' ][ 'logo' ] = array( '@type' => 'ImageObject', 'url' => get_template_directory_uri() . '/images/logo.png', 'height' => 60, 'width' => 325, ); return $metadata; } add_filter( 'amp_post_template_metadata', 'amp_schema_json', 30, 2 );

amp_post_template_file this is an alternative way to override template files. It is useful if you prefer to host your custom AMP template files in another directory other than /amp/.

function theme_custom_template( $file, $type, $post ) { if ( 'meta-author' === $type ) { $file = get_template_directory_uri() . '/partial/amp-meta-author.php'; } return $file; } add_filter( 'amp_post_template_file', 'theme_custom_template', 10, 3 );

amp_query_var is used to change the AMP page endpoint when the URL Permalink is enabled. By default it is set to /amp/. Given the following, the AMP page is now accessible by adding /m/ on the URL (e.g. www.example.com/post-slug/m/).

function custom_amp_endpoint( $amp ) { return 'm'; } add_filter( 'amp_query_var' , 'custom_amp_endpoint' );

How to Create Pure CSS onClick Image Zoom Effect

hongkiat.com - do, 25/08/2016 - 15:01

CSS doesn’t have a pseudoclass for targeting click events, and this constitutes one of the biggest pain points of front-end developers. The closest pseudo-class is :active which styles an element for the period of time a user presses their mouse over it.

The Definitive Guide to CSS Pseudo-Classes


.no-js #ref-block-post-26671 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/definite-guide-css-pseudoclasses.jpg"); }

The Definitive Guide to CSS Pseudo-Classes

Whether you are a novice or an experienced CSS developer, you probably have heard of pseudo-classes. The most…Read more

This effect is however short-lived: once the user releases the mouse, :active doesn’t work any more. We need to find some other way to emulate the click event in CSS.

This post has been written in response to a reader’s request, and it’s going to explain how to target the click event with pure CSS in a specific use case, image zoom.

You can see the final result below — a CSS-only solution for image zoom on click.

See the Pen Image Zoom (Pure CSS) by Preethi (@rpsthecoder) on CodePen.

When to Use the CSS-Only Solution

Before I proceed, I do want to say, that for image zoom I recommend the CSS-only method (which changes the dimensions of the image), only when you want a single or a group of few images to have the zoom feature.

For a proper gallery, JavaScript provides more flexibility and efficiency.

Front-End Techniques We’ll Use

Now that you’ve been cautioned, let’s quickly look over the 3 key techniques we’ll be using:

  1. The <map> HTML tag that allows browsers to create linkable areas over an image. Read more on the <map> element in my earlier post.
  2. The usemap attribute of the <img> tag, that hooks up the image to the image map.
  3. The :target CSS pseudo-class that represents an element that has been targeted using its ID selector.
1. Create the HTML Base

First, let’s create the HTML base. In the code below, we add an image to be zoomed and expanded & close button icons for zooming in and out.

<img id="img1" class="img" src="http://bit.ly/2acrH5J" /> <a href="#" class="close"></a> <img class="expand" src="Expand-icon.png" />

It’s important to have an ID on the image to be zoomed, and the Close button needs to be a link that has the href="#" attribute, I’ll explain why later in the post.

2. Add the CSS

Initially, the Close icon shouldn’t be displayed. The position, margin-, left, and bottom properties place the Expand and Close icons where we want them to be — at the top-right corner of the image.

The pointer-events: none; rule allows mouse events to pass through the Expand icon and reach the image.

.img { height: 150px; width: 200px; } .close { background-image: url("Close-icon.png"); background-repeat: no-repeat; bottom: 418px; display: none; height: 32px; left: 462px; margin-top: -32px; position: relative; width: 32px; } .expand { bottom: 125px; margin-left: -32px; margin-right: 16px; pointer-events: none; position: relative; }

Initial state with visible Expand and hidden Close icons 3. Add the Image Map

On the image map, the clickable area should be at the top-right corner of the image right below the Expand icon, and about its size. Place the <map> element before the first <img> tag in the HTML. We’ll bind the image to the map in the next step.

<map name="m1"> <area shape="rect" coords="170 5 195 30" href="#img1"> </map>

In the code block above, the <area> tag defines the shape, size, and URI of a linkable area inside an image map. For a rectangular shape, the shape attribute takes the rect value, and the four values of the coords attribute represent the distance in pixels between:

  1. the left edge of the image & the left edge of the link area
  2. the top edge of the image & the top edge of the link area
  3. the left edge of the image & the right edge of the link area
  4. the top edge of the image & the bottom edge of the link area

The value of the href attribute has to be the hash identifier of the image (this is why the image should have an id).

4. Bind the image to the Image Map

Add the usemap attribute to the image so as to bind it to the image map. Its value needs to be the hash representation of the name attribute of the <map> tag we added in Step 3.

<img id="img1" class="img" usemap="#m1" src="http://bit.ly/2acrH5J" />

The clickable area of the image map now lies behind the Expand button. When the user clicks the Expand button, it’s the clickable area that is clicked in reality — remember that we made the Expand button “passable” with the pointer-events: none; rule in Step 2.

This way the user targets the image itself by clicking it, and after the click the URI gets suffixed with the "#img1" fragment identifier.

5. Style the :target Pseudo-Class

Until the "#img1" fragment identifier is at the end of URI, the targetted image can be styled with the :target pseudo-class

The dimensions of the targeted image increase, the Close button gets shown, and the Expand button gets hidden.

.img:target { height: 450px; width: 500px; } .img:target+.close { display: block; } .img:target+.close+.expand { display: none; }

Zoomed Image with Visible Close button How the Close Button Works

As the Close button was added as a background image (Step 2), and is actually an <a> tag with the href=# attribute (Step 1), when it’s clicked, it removes the fragment identifier from the end of the URI. Therefore it also removes the :target pseudo-class from the image, and the image goes back to its previous size.

Now the CSS-only zoom-on-click effect is done, check out the demo below, or read a little bit more on the theory behind image maps in the next section.

See the Pen Image Zoom (Pure CSS) by Preethi (@rpsthecoder) on CodePen.

Background Info: Why <map> and not <a>?

By now, you certainly understand that the most important thing for this CSS-only solution to work is to target the image using the href="#imgid" attribute, which could also be done using the <a> tag instead of the image map.

This may be true, however when it comes to images, using the <map> element is more appropriate. It’s even more important that when you want the zoom to happen on clicking on a larger area on the image rather than just on the Expand icon, <map> gives you an easy solution.

<map name="m1"><area shape="default" href="#img1"></map>

The default value for shape attribute creates a rectangular linkable area that covers the whole image. If you were to use <a> instead, you would have to code it to cover the image, and you may also have to use a wrapper element for the same purpose.

To also speak about the caveats of this solution, the pointer-events CSS property (we used in Step 2) is supported by Internet Explorer only from version 11.

To support IE browsers before that, you may want to either use <a> instead of <map>, or have the image zoomed on by clicking anywhere on it (in this case there’ll be no need for the Expand icon).

8 AMP Components for Social Media Integration

hongkiat.com - wo, 24/08/2016 - 17:01

The biggest conflict that Google’s mobile web standard, Accelerated Mobile Pages needs to solve is making mobile sites faster, while keeping them functional & rich in content. These days rich and engaging content can hardly be imagined without embeds from popular social media sites — tweets, videos, audios, posts, photos.

Beginner’s Guide to Accelerated Mobile Pages (AMP)


.no-js #ref-block-post-27675 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/guide-to-accelerated-mobile-pages-amp.jpg"); }

Beginner’s Guide to Accelerated Mobile Pages (AMP)

Accelerated Mobile Pages is Google's initiative that intends to solve the biggest problem of the mobile web –…Read more

Extended AMP Componentsamong other great features — provide a great way to integrate AMP documents with different social content types.

How Extended AMP Components Work

At the core of AMP’s philosophy there are Google’s best performance practices. To improve page load times, the AMP standards restrict how you can use front-end technologies. For instance, you cannot use custom JavaScript, external stylesheets, and any HTML element that loads external resources, such as the <img> tag.

In exchange, you get a bunch of AMP Components you can use to display external resources, such as images, videos, audios, advertisements, etc. on your site.

AMP Components are specific HTML tags that can be used similarly to ordinary HTML tags. A few of them are built in to the AMP runtime, while the majority works as extensions. Components that makes social media integration possible on AMP pages are all extended components.

10 Important Accelerated Mobile Pages (AMP) Components You Should Know


.no-js #ref-block-post-27788 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/important-amp-components.jpg"); }

10 Important Accelerated Mobile Pages (AMP) Components You Should Know

Accelerated Mobile Pages or AMP is Google's initiative to make the mobile web faster. To achieve this goal,…Read more

Extended AMP Components require you to import the belonging script in the <head> section of your AMP HTML document. As AMP is an open-source project, the number of extended components may grow in the future.

In this post we have collected a handful of AMP Components that can help you with social media integration. Keep in mind that the versions of the scripts may change over time, so always check out the documentation before you include them on your site.

1. amp-facebook

<amp-facebook> makes it possible to embed a Facebook post or video into an AMP page.

You always need to specify the dimensions of the embedded post, which means you need to add a width and a height attribute with values in integer pixels. You can find the proper dimensions by clicking on the "Embed" menu on the top of the Facebook post.

You’re also required to add the URL of the given post in the data-href attribute. You can find the URL by clicking on the timestamp of the Facebook post, and the browser will insert the unique URL into the address bar.

If you want to embed a video without the belonging Facebook post, add the optional data-embed-as="video" attribute

If you want to make your embed responsive use the layout attribute with the "responsive" value. You can also use the optional layout attribute on any other AMP component to control its layout.

Code example:

<amp-facebook width="500" height="485" layout="responsive" data-href="https://www.facebook.com/hongkiatcom/posts/10154256404668592"> </amp-facebook>

Code preview:

Script to include:

<script async custom-element="amp-facebook" src="https://cdn.ampproject.org/v0/amp-facebook-0.1.js"> </script> 2. amp-twitter

You can embed tweets into AMP pages by using the <amp-twitter> component.

To do so, you need to specify the ID of the tweet in the data-tweetid attribute. You can modify how the tweet is displayed by adding any of the
display options of the Twitter APi as a data-* HTML5 attribute.

For instance, in the example below I used the Twitter API’s linkColor display option as data-link-color (its data-* format) to change the default link color to the color Hongkiat.com uses on its Twitter account.

Code example:

<amp-twitter width="506" height="338" layout="responsive" data-tweetid="765234426166915072" data-link-color="#698aba"> </amp-twitter>

Code preview:

The <amp-twitter> component is not perfect yet, Github docs says that Twitter does not currently provide an API that yields fixed aspect ratio Tweet embeds.

This means you need to manually set the width and height attributes, as the AMP runtime sometimes doesn’t display a part (usually the bottom) of the tweet.

It’s always a good idea to check how your embedded tweets look like before publishing the AMP page.

Add a Placeholder

Although it’s not required, the documentation recommends adding a placeholder in case the tweet doesn’t load at once.

The placeholder attribute can be used on each AMP component. The placeholder is shown immediately if the final resources are not available. When the AMP element loads, it hides its placeholder.

Take a look at how the above example code looks like with a placeholder. On Twitter, I simply clicked on the Embed Tweet button, copy-pasted the embeddable blockquote (without the script at the end), and added the placeholder attribute to the <blockquote> tag.

Code example with placeholder:

<amp-twitter width="506" height="338" layout="responsive" data-tweetid="765234426166915072" data-link-color="#698aba"> <blockquote placeholder class="twitter-tweet" data-lang="en"> <p lang="en" dir="ltr">How to Validate Accelerated Mobile Pages (<a href="https://twitter.com/hashtag/AMP?src=hash">#AMP</a>) <a href="https://twitter.com/hashtag/google?src=hash">#google</a> <a href="https://twitter.com/hashtag/seo?src=hash">#seo</a> <a href="https://t.co/eVOSAtr5Ax">https://t.co/eVOSAtr5Ax</a> </p> — Hongkiat (@hongkiat) <a href="https://twitter.com/hongkiat/status/765234426166915072"> August 15, 2016</a> </blockquote> </amp-twitter>

Script to include:

<script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js"> </script> 3. amp-instagram

With <amp-instagram>, you can embed Instagram photos and videos into your AMP pages.

You are required to specify the dimensions of the embed with the width and height attributes, and you also have to add the identifier of the Instagram photo or video using the data-shortcode attribute.

You can find the identifier at the end of the URL, for the example for the photo below the URL is https://www.instagram.com/p/-PFt7tF8Km/, so I need to use -PFt7tF8Km as value for the data-shortcode attribute.

Code example:

<amp-instagram data-shortcode="-PFt7tF8Km" width="400" height="400" layout="responsive"> </amp-instagram>

Code preview:

For responsive layouts, AMP automatically calculates the required space which also includes the “Instagram chrome” (account name, date, number of likes, etc).

This means you can use any value for width and height, until the two values are equal (Instagram photos are usually square), as the AMP runtime will resize the image according to the available space.

If the photo doesn’t happen to be a square, you have to specify its actual width and height values.

For fixed layouts, you need to include the extra space (top and bottom: +48 px, left and right: +8px) needed for the Instagram chrome when you calculate the image dimensions.

Script to include:

<script async custom-element="amp-instagram" src="https://cdn.ampproject.org/v0/amp-instagram-0.1.js"> </script> 4. amp-pinterest

<amp-pinterest> allows you to embed either a Pin widget or a Pin It button into an AMP HTML document.

Embed a Pin Widget

To embed a Pin widget, you have to specify the dimensions, the URL of the pin using the data-url attribute, and you also need to add the data-do="embedPin" attribute.

Code example (default size):

<amp-pinterest width="245" height="330" data-do="embedPin" data-url="https://uk.pinterest.com/pin/422986589975891640/"> </amp-pinterest>

As the default Pin widget is quite small, you can also opt for a bigger version by using the data-width="medium" attribute.

Code example (medium size):

<amp-pinterest width="355" height="410" data-do="embedPin" data-width="medium" data-url="https://uk.pinterest.com/pin/422986589975891640/"> </amp-pinterest>

Code preview (medium size):

Display a Pin It Button

You can also add a Pin It button to your AMP page with the help of the <amp-pinterest> component. Apart from the width and height dimensions, you’re required to specify four attributes in order to embed the Pin It button:

  1. data-do="buttonPin" to let the AMP runtime know that this will be a Pin It button
  2. data-url with the URL you want share
  3. data-media with the absolute URL of the image you want users to pin
  4. data-description with the description you want to appear in the Pin create form

There are many different button sizes, to choose from, check the docs for all sizes available.

Code example:

In this example, I created a Pin It button that would allow users to pin an image from this former Hongkiat.com post. I used the small rectangular button size.

<figure> <amp-img src="image.jpg" width="640" height="385" alt="Image Example"> </amp-img> <amp-pinterest height="28" width="56" data-do="buttonPin" data-url="http://www.hongkiat.com/blog/best-android-twitter-clients/" data-media="http://media02.hongkiat.com/thumbs/640x410/best-android-twitter-clients.jpg" data-description="Best 5 Free Twitter Clients for Android"> </amp-pinterest> </figure>

Code preview:

Note that you need to use additional CSS to display the Pin It button on top of the image.

You can also create a Pinterest Follow button by using the data-do="buttonFollow" attribute, and specifying the name you want to display inside the Follow button in the data-label & the URL of your account in the data-href attribute.

Code example (Follow button):

<amp-pinterest height="20" width="87" data-do="buttonFollow" data-href="https://www.pinterest.com/hongkiat/" data-label="Hongkiat"> </amp-pinterest>

Script to include:

<script async custom-element="amp-pinterest" src="https://cdn.ampproject.org/v0/amp-pinterest-0.1.js"> </script> 5. amp-soundcloud

SoundCloud is a popular audio distribution platform where users can share their music. With the help of the <amp-soundcloud> component you can play SoundCloud tracks right from your AMP HTML page.

This component can only be used with fixed-height layout which means you only need to specify the height, and the width will be calculated by the AMP runtime. As a result the embedded SoundCloud audio player will fill all the available horizontal space.

The <amp-soundcloud> component can be displayed in either classic or visual mode. You can choose from the two modes by setting the value of the data-visual attribute to either true or false (the default is false).

In both modes, you have to use the data-trackid attribute to specify the identifier of the audio; you can find the audio ID by clicking the Share button below the audio player on SoundCloud.com, and looking up the long-form URL inside the Embed code.

Classic Mode

The Classic Mode displays a small thumbnail image on the left, and the audio player on the right. You can get the proper value for the height attribute from the Embed code on SoundCloud.com.

In Classic Mode, you can specify the color of the audio player if you want using the data-color attribute (you cannot do this in Visual Mode).

Code example (classic mode):

<amp-soundcloud height="166" layout="fixed-height" data-trackid="264419072" data-color="ff5c44"> </amp-soundcloud>

Code preview (classic mode):

Visual Mode

In Visual Mode, the featured image spans behind the audio player. Here, you can also find the proper height belonging to Visual Mode in the Embed code on SoundCloud.com.

Code example (visual mode):

<amp-soundcloud height="450" layout="fixed-height" data-trackid="264419072" data-visual="true"> </amp-soundcloud>

Code example (visual mode):

If you want to embed a private audio, use the optional data-secret-token attribute.

Script to include:

<script async custom-element="amp-soundcloud" src="https://cdn.ampproject.org/v0/amp-soundcloud-0.1.js"> </script> 6. amp-vine

Vine is a short-form video sharing site on which you can share 6-second long videos with your friends. The <amp-vine> component makes it possible to easily embed Vine videos into your AMP HTML pages.

This AMP component is quite simple, you only need to add the dimensions, and the ID of the Vine video in the data-vineid attribute. You can get the ID from the URL of each Vine.

As Vines are squares, if you use the responsive layout, the same rule applies as with Instagram embeds; you can add any value to the width and height attributes, until they’re equal they’ll properly work.

Code example:

<amp-vine width="400" height="400" layout="responsive" data-vineid="hKQjlJPtWKT"> </amp-vine>

Code preview:

Script to include:

<script async custom-element="amp-vine" src="https://cdn.ampproject.org/v0/amp-vine-0.1.js"> </script> 7. amp-youtube

You can embed YouTube videos on AMP pages with the help of the <amp-youtube> component.

To do so, you need to add the dimensions, plus the ID of the video in the data-videoid attribute. When specifying width and height, it’s important to pay attention to the aspect ratio.

You can also use the parameters of YouTube embeds in AMP documents, just insert the name of the parameter after the data-param- prefix.

Code example:

In this example, I made use of the start YouTube parameter in the data-param-start attribute in order to make the video begin at 43s.

<amp-youtube width="480" height="270" layout="responsive" data-videoid="n0PVwYoKQmo" data-param-start="43"> </amp-youtube>

Code preview:

Script to include:

<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"> </script> Other Video Sharing Services

AMP also has components related to other video sharing services, that work similarly to <amp-youtube>. You can use the following extended AMP components for video embeds from providers other than YouTube:

8. amp-social-share

Apart from social media embeds, you can also display social share buttons on your AMP pages by using the <amp-social-share> component.

The social share feature is preconfigured for some providers, but with the right settings you can use the <amp-social-share> component for any other social share buttons.

Pre-Configured Share Buttons

Pre-configured share buttons don’t require too many settings; you have to define the width (default is 60px) and height (default is 44px) attributes, and the name of the social media provider in the type attribute.

With Facebook, you’re also required to specify the Facebook app id in the data-param-app_id attribute.

Code example:

<div> <!-- Facebook --> <amp-social-share type="facebook" width="60" height="44" data-param-app_id="254325784911610"> </amp-social-share> <!-- Twitter --> <amp-social-share type="twitter" width="60" height="44"> </amp-social-share> <!-- Google Plus --> <amp-social-share type="gplus" width="60" height="44"> </amp-social-share> <!-- Pinterest --> <amp-social-share type="pinterest" width="60" height="44"> </amp-social-share> <!-- Linkedin --> <amp-social-share type="linkedin" width="60" height="44"> </amp-social-share> <!-- Email --> <amp-social-share type="email" width="60" height="44"> </amp-social-share> </div>

Code preview:

The pre-configuration makes assumptions that the URL you want to share is the canonical URL of the current page, and the text you want to include in your share is the page title.

If you want to use another config, you can do that with the following three optional attributes:

  1. data-text for the text you want to include in the share
  2. data-url for the URL you want to share
  3. data-attribution for the name of the person or provider you want your share to be attributed to
Unconfigured Share Buttons

To display social share buttons of unconfigured providers, such as WhatsApp, you need to specify the custom protocol of the provider in the data-share-endpoint attribute. Check out in the docs how you can do this.

Script to include:

<script async custom-element="amp-social-share" src="https://cdn.ampproject.org/v0/amp-social-share-0.1.js"> </script>

30 Aesthetically Pleasing iPhone Games You Should Play

hongkiat.com - wo, 24/08/2016 - 15:01

If you own a smartphone, chances are you have a favorite game on it, one that you use to kill time on queues, or while you commute. It could be an indie game that blows away mainstream competition, or a minimalistic game with easy gameplay and rules. In fact, mobile gaming is a very big part of a mobile user’s life – whether we admit it or not.

25 Best HD Games for IOS and Android


.no-js #ref-block-post-23918 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/best-mobile-games-great-graphics.jpg"); }

25 Best HD Games for IOS and Android

Mobile gaming is on the rise as big game companies and independent developers focus more attention to producing…Read more

This post however looks into the aesthetic aspects of iOS games. Herein lies 30 games that are turning heads because of their stunning, vibrant colors, adorable gameplay and characters while still keeping you tapping and away in addicted glee. All these games are free to download and play, just follow the links to get them on your iPhone or iPad.

VOEZ

If you love Guitar Hero, or Piano Master, VOEZ is definitely one game you should give a try. The anime-styled artwork with dreamy animations, coupled with user-friendly and soothing colored elements, plus some cool Japanese anime music in the background, will ensure that you remain captivated by this beautiful game.

Jelly Jump

In Jelly Jump, the beautifully simplistic background changes colours as you progress through levels. All the colors adopted are neutral, pleasing to the eyes. At times, after a good game, you might be tempted to take a break from playing just to admire the designed realm of Jelly Jump.

Stack

Stack has to be one of the most stylish and aesthetically pleasing Tower game I have played in a long time. The higher your tower goes, the more the colors change; the changing of the colors is gradual and if you ever fail, you get to admire the beautiful hues of the tower you just made in all its glory.

Smash Hit

The gameplay consists of you floating through space and using a metal ball to crush incoming obstacles. As you advance through the levels the more intricate the levels become, all the while, changing colors from a blue tint to a more reddish tone. Word of advice, this game is certainly addictive.

ZigZag

Here’s a a minimalistic game that falls back on perfectly combined color schemes to attract attention of players. Keep the ball in the path and tap the screen to change directions, and just don’t fall off! There is however one pressing complaint, that is the annoying ads that pop up in the middle of gameplay.

Golf Island

A simple golf game, with beautifully created environments and golf courses (cartoon styled) that ensure that you can sit back, relax and enjoy a game of golf on your iOS device. The vivid multi-colored environments are a great sight to see, and visually pleasing especially on a rainy day (when everything else is gloomy).

Crossy Road

For a game with a pixelated environment, the design on this game is very much refined and it looks brilliant on an iOS screen (especially on a Retina iPhone). The graphics are designed in neutrally matching color combinations and you get to see how beautiful pixels can be when they are not being used for censorship.

50 Absolutely Beautiful and Creative Pixel Art


.no-js #ref-block-post-6120 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/50-beautiful-and-creative-pixel-arts.jpg"); }

50 Absolutely Beautiful and Creative Pixel Art

Pixel art, where images are created and edited at the pixel level, seems to be the trademark for…Read more

Two Dots

The simplistic selection of colored dots; along with an impressive stage-level screen that spans to around 500+ levels, Two Dots is one of the best aesthetically pleasing game out there. Time to start connecting dots.

Mekorama

Mekorama stands out as a visually appealing game because of two reasons: firstly, the game follows a minimalistic, yet carefully detailed graphic levels which you can both zoom in/out of. Secondly, each and every level is like a tiny island swimming in the emptiness of a neutral color, which ensures that the level as a whole stands out.

Tiny Hero

This game is square, in a very good way. Each and every level is beautifully created, with different sets of hues and contrasts. Furthermore, polygon graphics always tend to look sharp and crispy ensuring a perfect visual appeal.

Polyforge

The aesthetic appeal of this game can be seen in both the gameplay and the music. A different colored polygon spins around while you shoot and carve it (each laser setting a different colored layer on the polygon to show you what you have completed). As levels progress, the color of the polygon and its shape change.

iSlash Heroes

By using simple graphics, and some neat visual tricks, such as when you slash the boards, iSlash Heroes ensures that you play the game in the ninja way. There are different colored boards and levels to ensure it does not get monotonous.

slither.io

Slither is the much advanced, and visually appealing version of the old Snake game we had on old Nokia phones. With colorful orbs floating around and a simple yet attractive background, you never get bored. Moreover, if you manage to trap a snake, or if the snake hits you on the body, it disintegrates into a colorful trail of orbs that it previously ate.

Mr Jump

Presenting various levels, with polygon graphics and visually attractive, yet minimalistic environments, Mr Jump will ensure your taste for platform games do not go unquenched. Mr Jump goes through various environments, from wintry and icy landscapes to luscious forests.

The Little Fox

The Little Fox is a stunning magical, fairytale of a little fox and his adventure in an alternative perspective on the world. The low-polygraph environments are carefully panned out and each and every different level is set in a different scene, which ensures diversity to the aesthetics of the game.

Through the Fog

This game has some seriously cool polygonic visuals. Each and every level is carefully planned out, with simple objects and environments, yet each and every level is unique in its own way and remains visually attractive and appealing due to the contrasting objects.

Shades

Shades is Tetris with a colorrific twist. Each level is dominated by a single colour, but as you lay the same color bricks on top of each other or horizontally (4 in a row), they merge together and become a darker colour of it. This continues until the darkest colour is reached and the tile gets wiped off the floor.

Fruit Ninja

Fruit Ninja is perfect for the passive aggressive soul who needs an outlet to unleash their anger into the gaming world. Either that or they have a vendetta against somewhat geometric fruit. Each and every slash looks so satisfying especially with its sound effects.

PvZ 2

Peas and plants versus the living dead, Plants versus Zombies 2 is a gaming marvel that keeps players wanting more. While the visual design for part 2 got an upgrade from the original version, players still pit their favorite pea plants against them crazy brain-seeking zombies.

Slip Away

As with most other games featured in the list, this game is a beautiful combination of great visuals and music, so, if you do want to play it, grab a pair of headphones and lose yourself in the beautiful underwater world of Slip Away.

Dots & Co

As the name suggests, the game is from the same franchise of the "Dots" series, with the Two Dots game being a prequel to this game. Dots & Co, the sequel, follows the same gameplay, but comes packed with a tranquil and beautifully captivating scenes to ensure that there is not a level where you get bored.

Snakebird

The colors of the Caribbean, Snakebird promises to be a visually attractive game right from the very beginning. This is another game to kill your boredom and gloomy days with the vivid graphics that will add some "sugary rush" to your retinas.

Steps

A sea of blue, a dab of yellow and a colorful slab of brick that is just rolling forward and spreading its color. That is the combination that Steps employs to ensure a simple and yet appealing gameplay.

Can you dab?

Treasuring itself by using as minimum graphics and visuals as possible and focusing on the simple gameplay, Can You Dab? makes sure that its simplicity turns out to be its best feature. The lack of distractions and neutral colors for the eyes allow every person to enjoy the game and appreciate the simple-design levels.

Go Up

The reason Go Up is so appealing is because it uses simplistic graphics, a white background and different and contrasting colored elements to make the level stand out. While your ball may be black, the level may be green with red orbs, and so on and so forth.

Stick Hero

Swing across a dreamy realm with your tiny little hero, clad in a (possibly)black ninja suit and red bandana, as the beautiful backdrop provides cover for an addictive gameplay.

The Tower

The Tower is more of a visually enhanced version of "Stacks". With building parts that reflect Roman architecture, you pile these pieces up to reach level-specific goals. Watch your balance as you stack.

The Branch

Using polygon graphics which are crisp and clear on the iPhone’s Retina display along with minimalistic graphics and neat and soothing color combinations makes The Branch stand out every time.

Swing

An eco-friendlier version of the Stick Heroes game, this game uses more "environmental" colors to appeal to its peers and the simplistic graphics of the character and scenery ensures it all comes together coherently and make a fine-looking game.

Dumb Ways to Die

The Dumb Ways to die games has simple levels, but each is so simple and minimalistic that it just becomes so endearingly attractive. The objective of the game: try not to die as any wrong move inside the game gives your gruesome a very gruesome death. What’s not to love?

8 Plugins to Turn Your WordPress Site to a Mobile App

hongkiat.com - di, 23/08/2016 - 15:01

For every major publication or business you see online, you might find a mobile version of the site. Be it a responsive mobile form of the desktop version or a native app, having mobile presence is an important aspect for many establishments seeking to have an online presence.

In fact, the after-effects of mobilegeddon warrants a real look at making sure your site render nicely for view on mobile devices.

How To Tackle The After-Effects of Mobilegeddon


.no-js #ref-block-post-24415 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/mobilegeddon.jpg"); }

How To Tackle The After-Effects of Mobilegeddon

Have your site managed to survive the recent Mobilegeddon? If you haven't even heard about it, don't panic…Read more

In other words, you site should be as mobile-friendly as possible. But what if you don’t have the means or ability to produce a mobile version of your site? Don’t worry, just use one of these plugins to give your site a mobile-friendly version for web, Android and iOS devices.

  1. Worona

    Worona converts WordPress site content into native Android and iOS mobile apps. The app builder is built in modular fashion and allows adding premium extensions for more features such as push notifications, rate my app, etc. Worona’s team is working to offer trendy themes and styles to customize your app and to support custom content and support-pages right in the apps.

  2. WordApp

    WordApp transforms your e-Commerce, forums or even dating website into a mobile app to help boost mobile traffic. It offers a number of customization options including the option to modify the theme & style of your mobile app. Some of its premium features include push notifications, a native iOS app, and much more. The premium apps can also include Adsense advertisements.

  3. WordPress Mobile Pack

    Web apps built using this plugin offers an almost native look & feel. You can also customize your mobile application with custom fonts and colors, and even add your own logo for custom branding. Its pro version allows creating Android & iOS apps, and brings more themes, monetization options, social features and more.

  4. Androapp

    Androapp is a flexible plugin to generate a mobile app for Android which loads faster and smoother compared to others. Among its features are infinte scrolling, dynamic settings, deep linking support, caching and if you’re looking or a white label option, you’ve found it. You can also monetize your mobile app with Admob and Appnext ads.

  5. Blappsta

    Blappsta turns your WordPress blog into a native Android or iOS app. A cool function it has is that it lets you test and preview the experiments using its ‘Blappsta Preview‘ apps. The resulting app can display popular articles, has support for video, displays your Facebook page (optional), has Contact form 7 support and more.

  6. appful

    appful is one for content creators and online publishers as it rehashes your online site content or YouTube channel into beautiful iOS and Android apps. You will only be charged once you are satisfied with the final look of the app and it has been published. It has support for comments, social media sharing, offline reading, logo placement, and anti-adblockers.

  7. MobiLoud

    MobiLoud helps you convert a desktop site into a native mobile app for iOS and Android devices. It supports mobile advertising and monetization efforts via MoPub, Google DFP, Admob, Adsense etc. Commenting and social sharing is made easy on top of RTL support and multi-lingual interfaces (20+ languages). Once installed, the plugin provides a free preview of the app and the trial lasts 21 days before switching to a premium plan.

  8. Wiziapp

    WiziApp lets you use your blog’s responsive theme or any of their mobile themes to generate an Android/iOS app for your site. Users can download an offline version of the website. Along with push notifications Wiziapps also can convert your site or blog to into an HTML5 web app. It displays AdMob ads to maximize monetization and boost revenues.

    Which is your favourite WordPress plugin to build mobile apps for your blog? Do you know any other such plugin? Don’t forget to tell us using the comments.

10 Important Accelerated Mobile Pages (AMP) Components You Should Know

hongkiat.com - ma, 22/08/2016 - 17:01

Accelerated Mobile Pages or AMP is Google’s initiative to make the mobile web faster. To achieve this goal, the AMP standards restrict how you can use HTML, CSS, and JavaScript, and manages the loading of external resources, such as images, videos, and ads via its own runtime.

This entails that you cannot use either any custom (author-written or third-party) JavaScript or any resource-related HTML elements such as images and videos in your AMP documents.

Beginner’s Guide to Accelerated Mobile Pages (AMP)


.no-js #ref-block-post-27675 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/guide-to-accelerated-mobile-pages-amp.jpg"); }

Beginner’s Guide to Accelerated Mobile Pages (AMP)

Accelerated Mobile Pages is Google's initiative that intends to solve the biggest problem of the mobile web –…Read more

To bridge the gap between users’ needs and best performance practices, AMP has specific Components you can use in place of these excluded elements.

AMP Components are specific HTML tags. They behave similar to regular HTML tags: they have opening and closing tags, attributes, and most of them can be styled with CSS. They can be easily recognized, as they always start with the amp- prefix.

There are two types of AMP Components: built-in and extended Components.

Built-In AMP Components

Built-ins are built in to AMP’s JavaScript runtime, so you don’t have to separately include them.

1. amp-img

<amp-img>replaces the <img> tag in AMP HTML documents. You need to add the src and alt attributes just like when you work with the regular <img> element.

<amp-img> also has two other required attributes: you always need to specify the width and height attributes in integer pixel values, as this allows the AMP runtime to calculate the layout in advance.

If you want to make the image responsive, add the layout="responsive" attribute. The layout attribute controls the layout in AMP documents, and it can be added to any AMP Components (learn more about this on the AMP Layout System).

<amp-img src="img.jpg" width="350" height="200" layout="responsive" alt="My Image"> </amp-img>

You can also use the srcset attribute on the <amp-img> tag to specify different images for different viewports and pixel densities. It works the same way as with non-AMP images.

2. amp-video

<amp-video> can be used to directly embed HTML videos in AMP HTML documents. It replaces the <video> in AMP files. The <amp-video> tag lazy loads videos in order to optimize performance.

The source of the video must be served via the HTTPS protocol. You’re required to add the width and height attributes, just like with the <amp-img> component.

The <amp-video> tag has many optional attributes, such as autoplay and poster which you can specify to fine-tune how your HTML5 video is displayed.

<amp-video> supports mp4, webm, ogg, and all the other formats supported by the HTML5 <video> tag.

If you want, you can also add fallback videos for users with browsers that don’t support HTML5 videos, using the fallback attribute and the <source> HTML tag.

<amp-video width="350" height="250" src="https://example.com/video.mp4" layout="responsive" autoplay> <div fallback> <p>Your browser doesn't support HTML5 videos.</p> </div> <source type="video/mp4" src="myvideo.mp4"> <source type="video/webm" src="myvideo.webm"> </amp-video> 3. amp-ad and amp-embed

<amp-ad> provides you with iframe sandboxes in which you can display your ads. You must serve your ads via the HTTPS protocol.

You cannot run scripts supplied by your ad network by yourself. Instead, the AMP runtime executes the JavaScript of the given network inside the sandbox. You only need to specify which network you use, and add your data.

The <amp-ad> component requires you to add the dimensions of the ad using the width and height attributes.

You can define the ad network you use with the type attribute. See the list of supported ad networks.

Each ad network has its own data-* attributes you also need to add. To see which one you need, click on your ad network in the above list.

<amp-ad width="300" height="250" layout="responsive" type="adsense" data-ad-client="ca-pub-2005682797531342" data-ad-slot="7046626912"> </amp-ad>

<amp-embed> is the alias of <amp-ad>, the documentation doesn’t say much about it other than it can be used instead of <amp-ad> when it’s semantically more accurate. As Google promises to evolve ad-related AMP components over time, this may change in the future.

4. amp-pixel

With <amp-pixel>, you can add a tracking pixel to your AMP HTML documents to count page views. It has only one attribute, the required src attribute, in which you need to specify the URL belonging to the tracking pixel.

The <amp-pixel> tag allows standard URL substitutions, which means you can generate a random URL value to track each impression.

See AMP’s URL Substitution Guide if you want to use this component. Note that you cannot style the <amp-pixel> component.

<amp-pixel src="https://example.com/pixel?RANDOM"></amp-pixel> Extended AMP Components

As extended AMP components aren’t part of the JavaScript runtime, you always need to import them in the <head> section of the AMP page on which you want to use them.

Note: component versions may change in the future, so don’t forget to check the current version in the documentation.

5. amp-audio

<amp-audio> replaces the <audio> HTML5 tag, and makes it possible to directly embed HTML5 audio files in AMP pages.

To use it, you’re required to specify the src, width and height attributes, and you can also add three optional attributes: autoplay, loop and muted.

It can also be a good idea to add fallback audio files for users with browsers that don’t support HTML5. You can do this by using the fallback attribute and the <source> tag, just like with the aforementioned <amp-video> component.

The <amp-audio> AMP component supports the same audio formats as the <audio> HTML5 tag.

<amp-audio width="200" height="100" src="https://example.com/audio.mp3"> <div fallback> <p>Your browser doesn't support HTML5 audio.</p> </div> <source type="audio/mpeg" src="mysong.mp3"> <source type="audio/ogg" src="mysong.ogg"> </amp-audio>

To use <amp-audio>, include the following script in the <head> section of your AMP document:

<script async custom-element="amp-audio" src="https://cdn.ampproject.org/v0/amp-audio-0.1.js"> </script> 6. amp-iframe

<amp-iframe> displays an iframe in AMP documents. <amp-iframe> has been made to be more secure than regular HTML iframes. Therefore they are sandboxed by default.

There are some rules related to <amp-iframe> you must follow to pass validation.

How to Validate Accelerated Mobile Pages (AMP)


.no-js #ref-block-post-27708 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/amp-page-validation.jpg"); }

How to Validate Accelerated Mobile Pages (AMP)

In our last AMP tutorial, we have shown you how to adopt AMP (Accelerated Mobile Pages) to gain…Read more

You must specify the width, height, and sandbox attributes. The sandbox attribute is empty by default, but you can give it different values in order to modify the behaviour of the iframe, for instancesandbox="allow-scripts"lets the iframe run JavaScript. You can use attributes of standard iframes as well.

<amp-iframe width="350" height="250" layout="responsive" sandbox="allow-scripts allow-same-origin" allowfullscreen src="https://example.com/iframe"> </amp-iframe>

While the dimensions of <amp-iframe> are predefined by the width and height attributes, there’s a way to resize it in runtime. To use the <amp-iframe> component, add the following script to your AMP page:

<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"> </script> 7. amp-accordion

Accordions constitute a frequent UI pattern in mobile design, as they save space, but still displays the content in an accessible way. <amp-accordion> makes it possible to quickly add accordions to AMP pages.

Sections of the accordion must use the <section> HTML5 tag, and need to be the direct children of the <amp-accordion> tag.

Each section must have two direct children:

  1. one for the heading
  2. one for the content (the content can also be an image)

Use the expanded attribute on any section you want to expand by default.

<amp-accordion> <section expanded> <h3>Section 1</h3> <div>Content of Section 1</div> </section> <section> <h3>Section 2</h3> <p>Content of Section 2</p> </section> <section> <h3>Section 3</h3> <figure> <amp-img src="image.jpg" width="350" height="200" layout="responsive" alt="Image for Section 3"> </amp-img> <figcaption>Image for Section 3</figcaption> </figure> </section> </amp-accordion>

To use the <amp-accordion> component in your AMP document, include the following script:

<script async custom-element="amp-accordion" src="https://cdn.ampproject.org/v0/amp-accordion-0.1.js"> </script> 8. amp-lightbox

<amp-lightbox> adds a lightbox to different elements (in most cases, images) on Accelerated Mobile Pages.

When the user interacts with the element, for example taps on it, the lightbox expands and fills the whole viewport. You need to add a button or another control which the user can tap on.

Note that amp-lightbox can only be used with the nodisplay layout.

<button on="tap:mylightbox" role="button" tabindex="0"> Expand </button> <amp-lightbox id="mylightbox" layout="nodisplay"> <div class="lightbox" on="tap:mylightbox.close" role="button" tabindex="0"> <amp-img src="full-image.jpg" width="375" height="667" on="tap:my-lightbox.close"> </div> </amp-lightbox>

To use the <amp-lightbox> component, you need to import it with the following code:

<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"> </script> 9. amp-carousel

Carousels are frequently used in mobile design, as they allow to display numerous similar elements (most frequently images) along the horizontal axis. AMP results are also presented in a carousel format in Google Search.

The <amp-carousel> component enables you to add carousels to your site. The direct children of the <amp-carousel> component will be regarded as the items of the carousel. You must define the dimensions of the carousel with the width and height attributes.

You can use the optional type attribute to determine how to display the carousel items. If the type attribute takes the "carousel" value, the items will be shown as a continuous strip (this is the default), while the "slides" value will display the items in slides format.

The <amp-carousel> tag also has other optional attributes that can help you fine-tune the result.

In the example below, notice that both the carousel and all of its items use the same width and height values.

<amp-carousel width="300" height="400" layout="responsive" type="slides"> <amp-img src="image1.jpg" width="300" height="400"></amp-img> <amp-img src="image2.jpg" width="300" height="400"></amp-img> <amp-img src="image3.jpg" width="300" height="400"></amp-img> </amp-carousel>

The <amp-carousel> component requires the addition of the following script:

<script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"> </script> 10. amp-analytics

<amp-analytics> can be used to collect analytics data on AMP pages. Currently, <amp-analytics> supports four types of tracking events, however this can change in the future:

  1. Pageview
  2. Anchor Clicks
  3. Timer
  4. Scrolling

To use <amp-analytics>, you need to add a JSON configuration object inside a <script> tag, in which you can configure what you want to track.

Luckily, Google teamed up with many analytics vendors who provide pre-configured JSON scripts you only need to copy-paste into your site. See the list of available analytics vendors.

To use the pre-configured scripts, you need to add the name of the analytics vendor in the type attribute.

The <amp-analytics> tag also has some optional attributes you can use to further configure how you track your site.

<amp-analytics> <script type="application/json"> { // ... } </script> </amp-analytics>

Add the following script to the <head> section of your AMP HTML page to import the <amp-analytics> component:

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"> </script> Final Words

In this post, we had a look at all built-in AMP components, and some of the extended ones. As Accelerated Mobile Pages is still new, many things can change in the future, so it’s worth to keep an eye on the documentation either on Github or on the official AMP site.

As these AMP components are open source, you can also contribute to the development, even creating your own component. If you want to see how a complete AMP page looks like with different components, you can check out these few examples on Github.

13 Best iOS Apps to Create and Edit GIFs

hongkiat.com - ma, 22/08/2016 - 15:01

GIF animations are small compressed files of looping fun that are more often than not, used for memes. While you can create GIFs straight from a browser (here’s how you do it on Chrome) or from web apps like these, these days we prefer to have tools that can make or edit GIFS of our personal photos or videos.

If you are part of this group, you’re in luck, cause we have the iOS mobile apps to help you make, edit and share GIFs right from your iPhone.

Cinemagraph: 28 Still Photos With Subtle Motion


.no-js #ref-block-post-10026 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/cinemagraph.jpg"); }

Cinemagraph: 28 Still Photos With Subtle Motion

So today we're going to showcase animated GIF artwork but there are not the regular GIF we use…Read more

These are the apps that can help you create GIFs easily and quickly — either from live shoots or photos/videos already in your gallery — as well as share them with your friends and family via social networks, messaging apps or via URL.

GifsArt

This is a powerful and comprehensive animated GIF generator made by Apple Inc. This application helps you capture images and videos with the in-app camera then lets you combine image, video, and GIF into one perfect animation. Without leaving the application, you can customize your GIF by using animated masks, effects, stickers and text.

Animated masks and stickers are imported through Giply. Users can also export different filters, effects, text and captions to their PicArt Gallery. One very good thing about this application is that users will not bothered by a watermark.

HipGif

With HipGif, you can choose many kinds of animated stickers to add to your GIF file. These stickers and popular GIFs can be mixed with your own, and the pile is updated multiple times a day. Speed up, slow down, draw on your GIFs, add a filter, text or frame to any of your GIF and share them on Instagram as a video.

You can snap multiple photos, or use any of the meme background templates available. The app is also great for making photo slideshows but best of all you can share easily to Facebook, Messenger, Twitter, WhatsApp and even via SMS.

Gifo

Share animated GIFS, memes, reactions through Gifo with your iPhone or iPad camera. It makes it easy for you to make stunning animated collages, to speed up or slow down GIFs as what you want. Furthermore, you can make 4 GIFs in one go. It also comes with cool filters, frames, colorful text and fonts that you can add to your GIFs.

Your Gifo results can be copied without saving it first into the camera roll. Just directly paste it into any application you want to share it to. If you do want to save it into the camera roll, you can, in GIF form or as a video file.

Lively

If you’re looking for a quick and easy way to trim, play backwards, have speed control and export your captured videos to GIF format, Lively can do all that and more. The catch is your exported GIFs will carry their watermark, which you can remove with a one-time purchase.

Lively works with an iPhone 6S/6S Plus. The app comes with 3D Touch support. Its extensive editing features not only gives you full control of what to show and not to show others, but also lets you shrink the size of your GIF files, pick a single frame from a full video, and share to iMessage, Facebook Messenger, Twitter, Slack, Tumblr and many more.

Slowmographer

Slowmographer is aimed to mix the best feature of mobile photography and video making. Instead of a photo or regular video, Slowmographer helps you create 3-second loops of slowed down videos. It doesn’t seem like a cool thing to shout about until you figure out its use in capturing tricks in and more.sports like mountain biking, skateboarding, surfing, skiing

Not only is the video-taking easy, with this app you can also add image filters, transition effects, remove flickering effect which are a pain in slow motion shots, and easily share them on your favorite social network sites. Here are some examples on Instagram.

Kanvas Lab

Kanvas Lab lets you live life creatively, by allowing you to send GIF loops of your otherwise muundane everyday life. Apart from sending a GIF file, you can also send a message with a GIF looping in the background of your message. I’m sure you will be able to find ways to express yourself with these two combinations.

Animated GIFs are recorded in 6 frames; if you need more, take a video message for up to 15 seconds instead. You can speed up or slow down the video message as you like. The app also has custom stickers, an artsy toolkit for additional sprucing up, and flipbook photo album that can be easily shared to your favorite social networks.

Video to GIF

Everything you can do with GIF, you can do with this app. Shoot in GIF, convert your own videos or YouTube videos to GIF, turn photos into GIF and add animated text or effects to it, all with this handy GIF-making tool.

The app also lets you add animated text, save GIF as a video or share it to your favorite social networks. You can also get a URL for your GIF, to share with others. If you need a quick and easy way to make GIFs, you found it.

Vhoto

Vhoto will record your favorite moments on video and present them to you as a GIF. It will find the best highlight in your video before turning it into an awesome GIF. You can choose to record directly or choose an existing video to convert. For the best GIF loop result, trim your videos to find the best shot.

After make your GIF, you can share to your friend on social media or send it within a text message. This free app overall gives you easiest way to convert video into GIF in a jiffy.

ImgPlay

ImgPlay brings to you who love to shoot in diferent modes – burst photos, iOS Live Photo or normal mode – as this app can turn your shots into GIF. You can edit your GIF before publishing it, by adding captions, editing frame sector/order, control speed/direction (forward, in reverse), and loop count.

In the end you can export your creation into several GIF quality levels, or you can also export it into video to share easily on multiple social networks and messaging apps.

GifLab

GifLab allows to to create GIFs on your iOS device with plenty of customization options. The app makes it easy to trim, adjust quality and speed, add text with dozens of nice fontfaces, and beautify images with its range of filters. If you are a huge fans of Instagram, then GifLab can export GIFs into videos that are upload-ready.

The GIFs can also be shared on social network sites, via messaging apps or group chats, and via URL. Previously a free app, now the app costs $1.99 to own. Watermarks and locks on filters and fonts have been removed.

GIF Toaster

GIF Toaster is handy app to convert photos or video into animated GIF. It works for both iPad and iPhone. Just select the photo or video you want to convert to GIF then set encoding options such as range (which part of the video), play back speeds, number of frames per second, size of video then click Start Encoding.

The app can convert GIF to video, photo, live photo or to new GIF. It can also do all that in batch mode (doing multiple at the same time). You can also share the resulting GIF via URL.

Gifx

If you are a creative person, then Gifx will give you space to create customized animated images. You can import photos and videos, and apply more than 200 GIF effects and over 100 masks to personalize your GIF. The files can be saved as a movie file or GIF file. You can share your GIF on popular social media you love later.

There are other features available that are locked down by purchases, including being rid of the watermark, a graphics, pack, an export feature, high resolution feature and more. Check out their tumblr page to see what the app can do.

GIF Maker

GIF Maker allows you to shoot your moments and save them in animated GIF format. You can create GIFs from your video shots from as short as 5 seconds to a maximum of 25 seconds. Alternatively, one chan choose to take a minimum of 10 photos to a maximum of 50 photos to turn into GIFs.

Users can also create GIFS from pre-existing photos or videos in their camera gallery. The app also includes some effects that make your GIF look funny, bizarre or scary plus other cool effects.

Why Being a “Follower” Isn’t All Bad

hongkiat.com - za, 20/08/2016 - 12:01

In our leadership-obsessed culture, being marked a follower is often symbolized as one’s inability or weakness. Those in charge are glorified, while followers tend to fade into the background. Pick any MBA program and you’ll see how they pride themselves in their ability to teach leadership skills to their students, completely circumventing the merits of followership.

5 Characteristics “The Employee Of The Century” Has


.no-js #ref-block-post-16370 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/employee-of-the-century.jpg"); }

5 Characteristics “The Employee Of The Century” Has

If there is ever an 'Employee of the Century' award, what will it take for one to earn…Read more

I often come across write-ups, workshops, literature and personal development seminars based on the theme of "Be a leader, not a follower". Apparently, there isn’t anything wrong about prompting people to take leadership position, however the way ‘being a follower’ is framed in such a negative connotation warrants concern.

In this post, I will try to highlight some of the many better aspects about being a follower and why it could possibly be good for you.

Note: In the context of this article, the world "follower" is used for someone in the subordinate position in a corporate environment or organization.

1. The Virtue of Loyalty

Loyalty is one of the most important traits an organization requires from its workforce in order to stay ahead of the game. To good followers, the virtue of loyalty comes naturally. They have the ability to work on the tasks assigned to them with a strong allegiance and commitment to the goals of their organization.

Another way followers practice loyalty is through active participation in idea generation as well as giving advice on matters that seem to fall into a grey area. Instead of being bunch of yes-men, they speak out and consistently seeks to participate in the long-term interests of the organization.

That being said, not all followers show the same level of sincerity and commitment. Some followers are loyal to their leader, others are loyal to the organization regardless of who is leading it, and there are those who only show loyalty to their own interests.

No matter who is at the receiving end of dedication, loyalty is almost always a part and parcel of followership.

2. Teamwork Abilities

Followers always work in a team. Even if you are the only follower, you and your superior will automatically work together as a squad. Therefore, the spirit of teamwork and collaboration is embedded in every follower’s personality.

Freepik

As teamwork is one of those universal skills that can be transferred and applied to any filed, being a follower vouches for your capability of working in a team, consequently adding value to your profile as an efficient employee.

3. Invisible Influence

This statement may be true that an organization is only as good as its leaders, however, it is also true that an organization is only half as good without its followers.

A general misconception about followers is that they espouse whatever their superiors tell them. When in reality good followers invest time and energy in making informed judgments about the tasks that are assigned and significantly influence its outcome.

Take for instance, any project upon which a team of followers is working. When although, a leader or supervisor may be able to guide and manage the project, even then, from conception to execution, it will reflect the ideas and abilities of his subordinates.

Today’s office environment is marked by a flat hierarchy, rapidly emerging technology and well-networked organizational culture, all of which has changed the dynamics of being a follower, giving them more power.

5 Characteristics of A Positive Work Environment


.no-js #ref-block-post-16190 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/positive-working-environment.jpg"); }

5 Characteristics of A Positive Work Environment

Aside from the job scope itself, one factor that significantly influences how employees feel about work is the…Read more

In comparison with their superiors, subordinates may lack authority; however, they certainly do not lack power and influence.

4. Best Leadership Materials

It is mainly the lack of awareness and understanding which makes us forget that on the other side of leadership is the misunderstood concept of followership. A good and efficient follower embodies certain particular traits that enable him to grow towards an effective leadership position.

One of the best things about being a follower is that it teaches you to be aware of the needs of the people around, to read them and understand what may be their motivational or demotivation factors.

Leaders who have been into followership position have a better idea as how to lead people in a certain direction and bring out the best in them.

Similarly, the aspect of good judgement which is an essential part of a leader’s training, can be learnt while being a follower.

As followers are often faced with challenges of judging, decision-making and solution finding at grassroot levels, such capacities can be easily translated into making bigger and more crucial decisions on the leadership level.

Although not every follower aspires to be a leader, nevertheless, one cannot mature progressively towards a responsible and authoritative position without demonstrating an ability to follow and function effectively in a group.

As Aristotle highlighted this concept many centuries ago saying, "He who’s never learned to obey can’t be a good commander."

Bottom Line

In today’s highly competitive professional world, we are constantly encouraged to strive for a leadership role. I personally think that it is totally justified to aspire progress and promotion, especially when you have worked so hard in your career.

However, seeing followership as a derogatory factor causes you more harm than good.

Being a follower is not just something you do until you become a leader. Instead the merits of followership require commitment, collaboration and solution finding which are at the core of every successful organization’s strength.

(Cover photo via Freepik)

10 WordPress Plugins to Migrate WordPress Sites – Best of

hongkiat.com - vr, 19/08/2016 - 17:01

WordPress is not the easiest to move or migrate from development to production environment or from one server to another. One can come across a whole host of roadblocks such as database import/export errors, file or database permission errors, path errors, and many more while migrating a WordPress blog or site. The traditional solution of backing up everything works well most of the times, but is tedious and challenging, and requires lots of time and attention.

12 Essential Plugins for WordPress Developers


.no-js #ref-block-post-19481 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/wordpress-tools-for-development.jpg"); }

12 Essential Plugins for WordPress Developers

As the current most-used CMS, WordPress has numerous plugins that enhances its capabilities. To name a few, there…Read more

There are plenty of plugins available out there that can help ease this migration process, as well as minimize challenges and risks involved. These plugins copy, backup, move, migrate, clone and/or duplicate entire blogs or websites from one server to another as well as from local installation to the production server without distorting their content or functionality.

They prove helpful for network administrators who manage multiple blogs and sites, and require to use a blog as template to build new blogs from old installations or move blogs within the network. Let’s check them out.

1. Duplicator

Duplicator allows developers to backup, copy, duplicate, and transfer the blogs or websites. It can move and clone a website in 3 simple steps: create the package on source server, download the package, and install it on the destination server.

This plugin creates two separate files for your website: an archive file of your site data and MySQL database, and an installer file – a PHP script that allows you to extract and install the contents of the archive on a new location.

2. Dropbox Backup & Restore

Dropbox Backup & Restore allows users to create full site backups on local storage as well as via their Dropbox account. It can create full backups of web pages (database as well as files) and store them locally or upload to Dropbox storage. You can easily restore your website or blog any time.

Hence, it allows you to move your blog or website by creating backup at the source server and restoring the same backup on the destination server. It even allows managing all the backups from all of your websites in a single place using the WPAdm.com portal.

3. NS Cloner – Site Copier

NS Cloner is one of the fastest and easiest methods to clone fully configured websites in a multi-site environment. It can clone your existing website on WordPress multi-site network to a new but identical blog or website. The content, pictures, videos, themes, configurations, plugins, and settings on the destination installation is identical to the source installation.

Its ability to clone the same website saves a lot of time and stress, and frees you from installing the themes and plugins again or from reconfiguring the settings again for a duplicated site.

4. ManageWP Worker

ManagerWP Worker can perform scheduled backups of your websites to remote destinations like Dropbox, Amazon S3, and Google Drive. It allows quick migration of websites and blogs. Its automated backup facility makes sure that you always have an updated backup copy of your website that’s ready to be restored in just one click.

ManageWP Worker automates website management and compiles all your websites in a single easy-to-use dashboard, allowing you to quickly manage all your websites from a single place.

5. UpdraftPlus Backup and Restoration

UpdraftPlus is a plugin equipped with a strong WordPress migration mechanism that makes backup and restoration of websites extremely easy. The plugin allows you to clone the entire websites and save them locally on your computer or various cloud storage facilities like Google Drive, Amazon S3, Dropbox, Rackspace, FTP, Email, and others.

Its ability to copy sites and blogs and to move them to new locations (using an add-on) lets you clone and migrate WordPress websites easily.

6. WP Migrate DB

WP Migrate DB makes it easy to export the database, change the URLs and file paths to a completely new WordPress environment with just a single click. It’s an amazing tool to migrate locally installed WordPress blog or site to the client or production server.

It exports the database of the websites as MySQL data dump, which allows you the easily change the file paths and URLs of the web pages. The push and pull options make all the migrations to run without a hassle.

7. WordPress Move

WordPress Move is a migration assistant that makes it easy to change the domain name or migrate the WordPress installation to another server. The plugin allows moving the database and other files in a hassle free manner.

WordPress Move simplifies the whole migration process and even allows you to make advance migrations wherein you can choose what to move or migrate between the installations. Moreover, its easy installation and activation makes it suitable for the entry level WordPress users.

8. Backup by Supsystic

Backup by Supsystic allows quick and easy backup and restore of the blogs or websites to Google Drive, Dropbox, Amazon S3, and others. It can make backup archives of whole website (including core files, posts’ files, themes, plugins and configuration) or specified parts of the WordPress installation for quick restoration as well as migration to other server.

It can automate the whole backup process and even create secure and encrypted backup archives.

9. SitePush

SitePush allows the developers to copy the code and data of their WordPress website, and transfer them to another server or in between two websites. It proves to be very helpful when you need to test new themes and plugins, and keep the original content safe from errors.

It simplifies the process of code deployments – one can write code or install new plugin on the development site, test the changes and then push new code to the live website.

10. Backup and Move Plugin

Backup and Move Plugin allows administrators to create a backup of their blog, and restore it to a different server location or domain. This plugin eases and automates the complete migration process of completing a full backup of first site and restoring the same on second site.

It can send backups to user’s email and even allows the user to manage the created backups.

Which is your favorite among the above listed migration plugins? Do you know any other such plugins? Please let us know through the comments.

How to Publish a Github Page

hongkiat.com - vr, 19/08/2016 - 16:17

Github Pages allow developers to host a static website of their project for free. It is one of Github’s key facilities that has made maintaining free open source projects more economical especially for indie developers.

Bootstrap and Normalize.css are a couple of popular Github pages. To create one, you only need to create a new branch of your project repository, and call it gh-pages. Publish the branch to Github.

How to Create a Github Page for Your Project


.no-js #ref-block-post-18177 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/create-github-page.jpg"); }

How to Create a Github Page for Your Project

So here is the story: you built a cool open source project and shared it to the world…Read more

Once it is up, the site is accessible via the URL which is set relative to your Github username as well as the repository name. {username}.github.io/{repository-name}.

Normalize.css Github Page URL

You can setup a custom domain for your Github page. We have shown it how to do so in our previous tutorial.

Github Pages Simplified

Creating a Github Page is easy and quick. But, there is a small caveat.

Take one of the demo repositories in our Github account, Advent Calendar, for example. We have two branches — master and gh-pages which share the exact same of code branches.

We need to make sure that the codes in gh-pages are always synchronized with the master branch.

Fortunately, Github has recently made it simpler by removing the gh-pages branch requirement. We can now instead feed the site directly through the master branch.

To do so, go to any of your Github repository Settings screen. Scroll down to the Github Pages section and select the master branch menu from the selection.

You are all set and can safely remove the gh-pages branch from the repository.

Serving Documentation

Some projects such as Bootstrap, Foundation, or Skeleton require a documentation page. And their developers usually also serve these documentation pages through the gh-pages document.

So the repository now has two branches with a completely different set of codes and purpose; one is the main source, while the other one host documentations and also some code snippets. In this situation, you may often find change conflicts when switching between these two branches.

With this new change from Github, developers are now able to serve documentation pages through a folder name /docs/ within the master branch. Then, go to the Github Pages and select the next option, master branch /docs folder.

Now, maintaining the source code and documentation has become more stremalined.

7 Good e-Commerce Themes for Designing Online Shops

hongkiat.com - vr, 19/08/2016 - 02:22

To build an online store, you obviously need the right tools for the job, and this is the reason for this article. There are 7 e-Commerce themes here that will take you most of the way towards building a successful shop. But to clinch the deal, there are several things you have to do for yourself.

10 Essential Things Your E-Commerce Site Should Have


.no-js #ref-block-post-13216 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/essential-things-ecommerce-site-should-have.jpg"); }

10 Essential Things Your E-Commerce Site Should Have

Shopping, it's a woman's thing right? Well, not anymore. There are many online stores with a wide range…Read more

You have to give the theme you choose instructions as to what you want done. You obviously know how to do that, but there are a handful of other things you need to consider, if you want your venture to be a huge success.

What you need to take into account
  1. Shoppers are more comfortable in familiar surroundings, so subscribe to the first law of usability: Don’t make customers think..
  2. A knockout homepage banner may be nice, but it can also be as waste of money. A flash-bang banner can drive visitors away. A low-key, familiar look is usually good enough.
  3. Display your products like most other stores display theirs. Conventional display techniques generally work best.
  4. Think mobile. First and always. Roughly half of your potential customers will access your store via mobile devices.
  5. Select a lightweight, fast e-Commerce theme to do the job. That’s easy if you check out our recommendations; doing so will enable you to build high-performance websites.
Mobile Web Design: 10 Tips To Better Usability


.no-js #ref-block-post-9622 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/mobile-web-design.jpg"); }

Mobile Web Design: 10 Tips To Better Usability

Mobile web browsing is expected to turn into the next major Internet platform. It is now easy to…Read more

XStore – Responsive WooCommerce Theme

XStore is one of the easiest themes to work with and this e-Commerce theme delivers the goods, especially when you take the first law of usability to heart. XStore’s authors did just that – finding your way around this powerful web-building tool will not be a problem at all.

You’ll also notice that the demos have a familiar look, which is what you and your potential visitors want. Take a few minutes to hover over some of the demos, and you’ll get some great ideas.

XStore is responsive. It is also RTL-ready to accommodate languages like Hebrew, Arabic, and Persian. Visual Composer is the page builder, and, as you would expect, this theme is 100% WooCommerce-compatible.

Its Theme Options feature provides the flexibility you need to build whatever comes to mind, user support is superior, and video tutorials are included to help with installation and managing settings.

Merchandiser

Merchandiser is fast and reliable – the reason for its lightning-fast performance is because it is a minimalist theme. Its developers followed a simple dictum – simplicity is the ultimate in sophistication; just as is the case with many of the more modern e-Commerce sites. Merchandiser has all the features you need, and nothing more.

The powerful Visual Composer/Theme Customizer duo is what you want if you’re in the market for a potent e-Commerce website-building force.

Your online shoppers will like the off-canvas shopping cart, off-canvas quick view, and other features that you can incorporate to make their shopping experience relaxing and rewarding.

With Merchandiser, you can sell anything online, or even open up an affiliate business. It’s all so simple that it’s positively elegant.

Woutique

Woutique brings to the table a seamless front-end experience in which the theme makes full use of every one of Woocommerce’s features and components.

These include carts, product descriptions, customer checkout, and user accounts sections. In short, everything you need to set up shop.

Starting with the theme options page, you can easily stamp your brand throughout the site, while taking full advantage of Woutique’s minimalist structure.

KLEO – Pro Community Focused, Multipurpose Theme

KLEO, the #1 BuddyPress theme for 2016, has lots going for it. You can use this multipurpose theme for any number of purposes, including of course, building an e-Commerce website.

You can build a community website, showcase your wares or your portfolio, or publish your engaging, professional blog.

What makes KLEO tick is an assemblage of 24 plugins (with more likely to come), including highly specialized plugins to help you sell e-books, create a business directory, utilize WordPress SEO features, and including of course, the WooCommerce plugin.

Be sure to check out KLEO’s impressive demo pages.

Uncode – Creative Multiuse WordPress Theme

Terrific attention to detail, excellent performance, and great flexibility, are some of the features of this WP theme. Uncode is pixel perfect and perfectly suited for creative people.

Its many features include a hierarchical options system, an advanced grid system, and an advanced image system that will enable you to build an e-Commerce site that will appeal equally to PC users and mobile device users.

Uncode puts any concerns you may have about responsiveness or your website’s performance to rest. You’ll also love working with any of Uncode’s shop concepts. Setting up a truly amazing e-Commerce website has rarely been so easy.

Divi

If you’ve never used a building block approach to create a website, or worked with a theme that is structured around a system of modules, you’re in for a treat. Divi’s 46 customizable content modules, in combination with the popular Divi Builder, makes putting a page together a piece of cake.

Divi’s building block foundation enables you to hover over element layouts to see exactly what is involved in building your pages, giving you total control of the process. Since Divi is 100% responsive, you won’t be neglecting the mobile shoppers.

Merchant WordPress Theme

With this hip, wonderfully responsive, translation-ready, flexible theme, you’ll have no problem converting your ideas of what constitutes an online store that translates a superb UX into reality

Merchandiser will also be an excellent choice if finding a theme that is especially easy to work with is a priority. Its Easy Layout Creator is a case in point.

Merchandiser also features such goodies as a mega menu, Google maps, a wealth of color options and everything needed to showcase your portfolio, display your products, or publish a product catalog. Merchandiser is 100% WooCommerce compatible.

To Conclude

With these 7 e-Commerce themes up for selection, it is hard to make a poor choice. Take the time to check out the details; you should have no problem in finding the e-Commerce theme that will best suit your needs.

Whatever your choice may be, it is guaranteed to be a good one, but don’t forget the tips provided at the beginning of the article. Following them can make the difference between a so-so e-Commerce website, and one that will be a screaming success.

100 Free Useful Portable Applications You Should Know

hongkiat.com - do, 18/08/2016 - 17:01

Portable apps are the software requiring no installation unlike usual executable apps yet recall your history and configuration options unlike zipped apps. In this post, we’re showcasing the top 100 useful portable apps that you can carry in a pen drive or your phone’s storage or SD card.

30 Must-Have Free Windows Tools


.no-js #ref-block-post-24339 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/free-windows-tools.jpg"); }

30 Must-Have Free Windows Tools

Windows is the most popular operating system for desktops, so it's no surprise that it supports a plethora…Read more

Portable apps for Windows platform lets you carry your favorite apps along with you on the go – with all the data and settings, ready to be launched at a click on any computer running Windows XP or above. Let’s check the best 100 portable apps that prove helpful for everyone, listed categorically below for easy access.

Development Apps

Geany Portable. Lets you work with vanilla text, HTML, Python, NSIS and many more files. It even lets you configure and use locally available compilers from your flash drive.

Notepad++ Portable. Lets users code programs and create software in various languages. It supports syntax highlighting and folding for navigation, and plugins for more functionalities.

Database Browser Portable. Helps you manage, view and edit any database on the go. You can even export data to CSV or HTML files, and access the database in multiple formats.

Cppcheck Portable. An analysis tool that detects bugs in C/C++ languages. The tool doesn’t detect syntax errors but does code analysis and helps write more efficient language.

NSIS Portable. Create executable installers and launchers for your software distributions.

Sqliteman Portable. Create SQLite3 databases with a feature-rich set of available tools. It supports major platforms and is a complete access and tune-up tool for SQLite.

XAMPP. A cohesive server package of MySQL, Apache, PHP, etc. It pre-configures itself and lets you create test environments for your development works.

Education Apps

Artha Portable. An offline and handy thesaurus that offers you quick access and lookups with a hotkey. It runs in the background and shows up as you highlight a word in any app.

Marble Portable. A virtual atlas that lets you pan and zoom, and view places and roads. Provides the Wikipedia link for a clicked place.

Stellarium Portable. An program that lets you study astronomy: space, solar system and its planets, stars and constellations, galaxies and much more.

TIPP10 Portable. A touch-type tutor consisting of a special artificial intelligence feature for beginners to make them practice letters easily and efficiently.

Graphics and Pictures Apps

AniFX Portable. A handy cursor editor that helps you create, extract and edit cursors with multiple effects and animations.

Blender Portable. An open-source tool for rendering, shaping, animating and creating 3D models that can be created and used anywhere.

Caesium Portable. Lets you convert and optimize multiple image formats. It also compresses images to save memory on your hard drive and upload images faster.

FotoSketcher Portable. A full-featured photo management tool that also lets you create amazing artworks from your digital photos.

GIMP Portable. A powerful image editor that allows editing images on the run. It supports photo composition, retouching, image authoring, applying filters and much more.

IcoFX Portable. A handy icon creator and editor just like AniFX, and is considered as an all-in-one icon management tool.

Inkscape Portable. An open source vector image editor, which is similar to Adobe Illustrator or CorelDraw though it’s not that powerful.

IrfanView Portable. A lightweight graphic viewer for Windows that supports viewing vector graphics, pictures, animations, icons and more files.

JPEGView Portable. A fast and handy image viewer and editor that supports JPEG, BMP, GIF, PNG, TIFF and more image formats.

LibreCAD Portable. A 2D computer-aided design tool that supports more than 20 languages. Used by an extensive community of designers.

PicPick Portable. A full-featured screen capture tool, and also an image editor that offers a range of features and tools to enhance images and modify them.

XnView Portable. A user-friendly image viewer and converter to help you view photos or slideshows, alter and edit your images on the move.

Internet Apps

DamnVid Portable. Easily download and convert videos from the popular video sharing channels like YouTube, DailyMotion, Metacafe, etc.

FileZilla Portable. A remote file manager supporting FTP, SFTP and many more standard file transfer protocols. You can easily download/upload files to/from servers.

Free Download Manager Portable. A download manager. Supports pausing and resuming of torrent downloads, flash video downloads and other download files.

Google Chrome Portable. A fast and efficient web browser from Google that lets you browse web pages and applications with great speed.

gPodder Portable. A user-friendly podcast player and subscriber that manages your podcast subscriptions and lets you download and listen podcasts.

LAN Messenger Portable. A peer-to-peer chatting tool that allows transferring files and chatting with the local users without the need of a server.

Maxthon Portable. A powerful web browser that allows safe browsing

Mozilla Firefox Portable. A popular web browser that carries your bookmarks, saved user details and passwords and extensions, and lets you browse effectively.

Mozilla Thunderbird Portable. A well-known email client that carries your emails, contacts and account settings everywhere and lets you browse them on the go.

KompoZer Portable. A fluid web editor, similar to Dreamweaver and Microsoft FrontPage, which allows CSS editing, color picking, spell checking, etc.

Opera Portable. A lightweight web browser, which is fully customizable and designed for lightning speed web browsing.

Pidgin Portable. An effective instant messaging client that carries your IM settings and friend lists and supports AOL, Yahoo, Jabber, MSN and ICQ networks.

PuTTY Portable. A Telnet and SSH client for Windows that lets you connect remote PC’s and servers with an ‘xterm‘ terminal emulator.

QuiteRSS Portable. QuiteRSS Portable is a RSS reader that manages and monitors your RSS feed subscriptions and lets you read them anywhere.

Skype Portable. A popular VoIP that offers instant messaging, audio and video conferencing and phone calling around the world.

uTorrent Portable. A popular BitTorrent client that supports downloading on the go and features auto-downloading, scheduling and bandwidth prioritizing.

Music and Video Apps

AIMP Portable. A full-featured music player and audio converter with multiple options and functionalities, and supports more than 20 formats.

Audacity Portable. An audio recorder and editor where you can carry your audio files and mix them anywhere on the go.

CDEx Portable. Extract audio data straight from audio CDs. The audio files can be saved in multiple formats and can be named automatically.

InfraRecorder Portable. A CD burning tool that allows custom data creation, audio and mixed-mode projects and recording them to images or original discs.

SMPlayer Portable. A handy video player that supports switching audio tracks, video equalizing, configuring subalts and doing much more.

VirtualDub Portable. A desktop video processor and capture tool, which can process large number of files and can even be used with third-party video filters.

VLC Media Player Portable. Play audio and video files of multiple formats with high control options and customization features.

Office Apps

AbiWord Portable. A lightweight word processing app that lets you edit documents like that of MS Word, Open Document, Office Open XML, Word Perfect, etc.

Apache OpenOffice Portable. Full-featured office suite including word processor that supports all office features including editing and formatting.

CintaNotes Portable. A note taking app that allows saving and tagging information for later use quite like Windows’s sticky notes.

Evince Portable. A document viewer that supports multiple document formats like PDF, TIFF, DVI, PostScript and comic book formats.

Foxit Reader Portable. A free PDF document creator and viewer that works very fast and fluid, and can be used for multiple purposes.

Gnumeric Portable. A spreadsheet tool that supports multiple formats, and works very fast and accurately to provide you a complete Excel-like environment.

LibreOffice Portable. An office suite that supports document viewing and editing. It is compatible with MS Office, MS Excel, Word Perfect, Lotus, etc.

Money Manager Ex Portable. A financing tool that lets you organize your personal or business finances and track them easily anywhere.

Scribus Portable. An open-source tool that delivers a professional page layout to your desktop with press-ready output-able page designs.

Sumatra PDF Portable. A lightweight and minimalistic PDF and comic reader for Windows that allows reading the files just like Foxit Reader.

Security Apps

ClamWin Portable. Lets you carry your antivirus with you so that you can scan files on the go and detect malware and viruses easily.

Eraser Portable. A data removal tool for Windows that supports secure data deletion and wiping even on the go.

GPG Plugin Portable. Lets you encrypt and sign your data and communications, and can also be used as an add-on by Thunderbird Portable.

HijackThis Portable. Scan systems and detect the changes made by malware and other tools. You can also find and reset the changed settings.

KeePass Portable. Stores passwords of your online accounts so that you can access them anywhere without the need to remember them.

PeerBlock Portable. An IP firewall that can blacklist and whitelist websites and IP addresses of advertisements, monitoring software and spyware.

Spybot Portable. A malware and spyware remover that can clean up spy tracks from your system, remove adware programs and fix registry issues.

Utility Apps

7-Zip Portable. Lets you archive files and work on the compressed files from multiple ZIP formats like ZIP, 7Z, TAR, RAR, etc.

Ant Renamer Portable. Allows renaming multiple files and folders by using specific settings, and it also supports Unicode names.

Autoruns Portable. A utility tool for managing auto-starts and lets you manage the auto-start programs and toolbars on your computer.

BleachBit Portable. Clears up disk space and junk files from your computer and guards your privacy. It also erases cache, clears browser history and do much more.

CamStudio Portable. Records the entire screen along with audio on your computer, and stores it into a video or streaming flash file.

Clicky Gone Portable. Lets you hide browser windows and taskbar buttons from the desktop and allows viewing them back with the click of the mouse.

Command Prompt Portable. Lets you add a customizable command prompt on any Windows computer and execute commands to do things quickly.

ConvertAll Portable. A handy unit converter that also supports converting more than 400 units into each other.

CPU-Z Portable. Displays information on a system’s CPU, memory, graphics card and motherboard.

Diffpdf Portable. A PDF comparison program that displays the difference in PDF files visually or textually by comparing the page appearances.

Ditto Portable. Saves any item on a clipboard like images, texts, HTML, etc. and lets you access them at a later time.

DTaskManager Portable. Provides additional features to the integrated Windows task manager, which does not comes included with the default tool.

DSynchronize Portable. Periodically synchronizes one or multiple folders on your computer hard drive or FTP server.

Explorer++ Portable. A multi-tab file manager, which is similar to Windows Explorer but includes more advance functionalities.

FastCopy Portable. A file copying and moving utility that chooses different approaches to check and improve the transfer speeds.

FreeCommander XE Portable. An alternative program to Windows file manager with more advanced features and functions like Explorer++.

GPU-Z Portable. Offers vital information about your graphics card and video card processor.

grepWin Portable. An easy to use search and replace tool that works powerfully and even allows using regular expressions to perform queries.

IObit Uninstaller Portable. Remove the unwanted programs from your computer; a great alternative to Windows’s Add/Remove Programs.

IObit Unlocker Portable. Lets you learn which program has locked a file to prevent deletion and unlocks that file for your task.

jPortable. Runs a full-featured Java Runtime Environment in the programs where Java is disabled or not installed in the remote PC.

PeaZip Portable. Unzips or compresses zip files on the way; supports multiple zip formats like ZIP, TAR, RAR, 7Z, BZ2, PEA, etc.

Process Explorer Portable. A process analyzer and task manager that can exercise into DLLs and handles the running or loaded processes.

Rapid CRC Unicode Portable. A hashing tool that lets you analyze and verify and estimate hashes in multiple hash formats.

RegAlyzer Portable. An efficient tool that browses and changes the registry, and is more advanced than the ‘regedit’ program of Windows.

SIW Portable. Collects detailed information about your system properties and settings, and displays them in an understandable way.

Smart Defrag Portable. A disk defragmenter that works at lightning speed and proves much exceptional than Windows built-in disk defragmentation tool.

TeamViewer Portable. A remote PC controller and screen sharing application that lets you control your partner’s computer to provide online assistance.

TinyTask Portable. Records and plays back mouse movements and keystrokes on your portable device with easy automation.

UNetbootin Portable. Lets you generate bootable live USB drives for Ubuntu and other Linux systems without burning optical disks.

VirtuaWin Portable. A desktop manager that can enable up to 9 virtual desktops with independent application windows.

WinCDEmu Portable. A CD/DVD emulator that can mount ISO and other image files, and displays them with drive letters in the computer.

WinDirStat Portable. A disk usage analyzer and cleanup program that can analyze the contents of your hard disk device and even cleans up space.

Wise Data Recovery Portable. A data recovery program that recovers files and folders that are deleted by mistake.

World Clock Portable. Displays multiple time zones from around the world, allowing you to select and view 8 different time zones.

On-Screen Keyboard Portable. Lets you carry your system’s built-in keyboard settings with flexibility, and lets you use an on-screen keyboard.

Virtual Magnifying Glass Portable. A handy screen magnifier which works on PC

What’s your favorite portable app? What portable apps are you planning to take in your pen drive? Let us know via comments section below.

Web Designers: Why You Need Flexible WordPress Themes

hongkiat.com - do, 18/08/2016 - 16:01

(This post is brought to you by Uncode.)

Creative web designers face multiple types of frustating situations in their profession: conflicting feedback that leads to modifications that are hard to implement or require advanced coding skills; small tweaks in a page layout that take forever because of a bloated theme; theme demos that make all your projects look the same.

10 Things Freelancers Don’t Like Hearing From Clients


.no-js #ref-block-post-14872 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/things-freelancers-hate.jpg"); }

10 Things Freelancers Don’t Like Hearing From Clients

[series_freelance_guide] Not all humans come from Earth. That's what I think when I get a client's response that…Read more

That is why creative web designers should use a WordPress theme that is highly flexible and will not let them or their clients down in a time of need.

How a WordPress theme offers creative freedom

It’s not enough to work on your creative thinking or have a real talent in web design. If the tools you use are limiting your creativity, it can all come to naught &ndash; imagine using Paint for designing a landing page! You need the right tools for the right job.

If you are working with a theme that features super-flexibility, you can create any number of different websites. Each will be so unique that no one has the slightest clue that the starting point, an inspirational concept, is one and the same for many of them.

You want as much flexibility in a theme as possible while still being able to achieve award-winning results and reach your creative potential.

Basically, if you can think of it, you can build it, and Uncode is the product that is going to help you deliver. In fact, the think-it, build-it mantra is the Uncode manifesto for creative people and is fitting for web designers who are full of new and innovative ideas.

Uncode is so flexible and customizable, that it will satisfy the most demanding creative, idea-generating mind. And it can do that with the help of these features:

  • An Advanced Grid system, that pushes layout design to the cutting edge
  • 30+ combinable homepage concepts that provide unsurpassed flexibility
  • The Adaptive Images feature, that detects screen sizes and delivers rescaled displays.
  • An enhanced version of Visual Composer featuring advance functionalities and a clean, well-organized skin.
  • The Content Block: You can create external sections of content for integration and replicating in your pages.
  • Multiple menus layouts
  • 100 options in the post modules
Uncode’s one-of-a-kind adaptive image system

A theme that is only responsive is not necessarily optimized. Uncode brings to the table a new way of displaying images on any screen size. This can help you a lot, especially when you have decided to get creative and include a visual approach on a project.

When a device needs to open a web page, it sends a http request. It actually sends an http request for each image that is on a page. A first solution to this would be to increase the response time of these serial requests.

Reviewing CSS Style Priority Level


.no-js #ref-block-post-14194 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/css-priority-level.jpg"); }

Reviewing CSS Style Priority Level

The Cascading Style Sheet (CSS) is, I think, the simplest of languages compared to other web-related languages, so…Read more

But the creative people from Undsgn found a brilliant, alternative solution. They applied asynchronous responses to these browser requests. These types of responses enable the browser to download many images at the same time.

This is only one example on how creative thinkers like yourself have worked on an unparalleled, highly flexible WordPress themes.

A grid system with comfortable precision

Uncode’s grid system is a fluid, responsive system that allows you to customize up to 12 columns in a boxed or a full-width format:

  • Equal heights
  • Vertical alignment
  • Full-width row
  • Horizontal and vertical gap settings
If you can think of it, you can build it

Creativity is not magic. Especially in web design, where your creativity is often measured in good ideas implemented with the help of brilliant tools. If you want to develop your creativity, you should choose a theme like Uncode. You will have enough creative freedom and inspiration to last you ages.

This video demonstrates Uncode’s flexibility. By modifying and tweaking design elements, this flexible WP theme allows you to integrate divergent viewpoints easily.

You’ll quickly discover all of the ways Uncode can help you explore your flexible thinking and web design creativity.

5 Ways to Improve Google Rankings by Optimizing Content

hongkiat.com - do, 18/08/2016 - 15:01

Content is one of the primary ranking factors in Google’s search algorithm that has more than 200 factors altogether. If you want to increase your search traffic, posting high quality content should be one of your main focus. Whether we speak about Google or Bing, search results are determined by three things: topical relevance, content quality, and context.

How Guest Posts May Derail Your Google Ranking


.no-js #ref-block-post-17937 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/guest-posts-and-google-ranking.jpg"); }

How Guest Posts May Derail Your Google Ranking

If you own a blog or website that depend on content and Google's Panda, then you know the…Read more

Webmasters understand how crucial it is to have quality content on a website to generate more traffic and achieve better conversions. In this article, I’ll show you 5 easy ways to optimize your content, that can help you improve your search engine rankings.

1. Leverage Authority, Utility and Presentation

When preparing content for publication, it is crucial to understand the three pillars of content quality, namely: Authority, Utility and Presentation.


IMAGE: Bing Blogs

Let’s look at them, one by one.

Authority

Trust is the currency of the web, and to have good rankings, you need to gain the trust of search engines first. If they start to trust your website, it will rank it higher.

Authority means whether users can trust your content or not. There are many things you can do to increase the authority of your content.

Always provide accurate and newsworthy information, and cite the sources. Add original research, reviews and testimonials to your content. Each piece of your copy needs to have clear information about its author, and it’s the best if every author provides their social media profiles and is a subject-matter expert.

Get as many social shares as you can. The more you have, the better your audience and the search engines will trust in your site. Use secure HTTPS protocol, as it also adds a minor ranking boost. If your site contains medical information, it should be written by a certified doctor or a health care professionals.

Below you can see an example for a page with low quality content. It’s full of ads, written by an unidentified author, and has confusing navigational elements:

Utility

Search engine algorithms try to predict whether your content is really about the topic it addresses. They want to know whether the overall content provides sufficient supporting information to the given subject.

To increase the utility of your content, prepare it for no one else but your target audience. For instance, if your target audience consists of kids then the language should be simple, and accompanied by images and videos for easier understanding.

It’s also crucial to provide unique content instead of recycling articles or web copy from other sources.

Users want all the information at one place, so supply everything they may be interested in on the same page, and keep it simple and understandable.

Content must be well-edited and detailed as well. Try to provide supporting multimedia and links to closely related articles if it’s possible.

Presentation

Your website content needs to be well designed and visually attractive as well. Good presentation will better explain and educate your audience about your products and services. Websites with appropriate information and elegant layouts are usually preferred.

To improve your content presentation, you need to reduce distractions on your site. Get rid of popup ads, in-text ads, top-of-the-content ads, etc.

The goal is to make it easier for users to find the primary content. Also make sure you don’t have any content hidden behind ads.

Navigational elements also must be user-friendly and logical. Always double-check whether your content is easy to scan. Using proper subheadings and relevant images can help you improve scannability.

2. Add Fresh Content Regularly

Google measures all documents for freshness, keeping your website updated and regularly publishing new content results in better search rankings.

QDF stands for Query Deserves Freshness, and it’s a component of Google’s ranking algorithm. QDF queries are related to hot topics that suddenly surge in Google Trends.

Use Google Trends to identify these topics, and write about them. This may help you quickly rank for these QDF queries.

To keep your content fresh, focus on actual topics, such as a recent political controversy or a popular sports event.

Publish new content often, as this way you can rank for new keywords, but also keep updating your older content to prevent it from becoming stale.

Add a relevant timestamp whenever you update your content, e.g. "this page was last updated on mm-dd-yyyy".

Apart from publishing fresh content, also have content focusing on regularly recurring events, such as the Dancing with the Stars TV series or the NFL scores.

It can also be a good idea to look up topics trending on social media and write about them.

3. Prepare Panda-Friendly Content

Google Panda was first released in February 2011. It was a major algorithm update that affected around 12% of search results. It targeted low-quality websites that had spun or duplicate content, and large content farms that generated similar content on long-tail keywords adding little to no value to users.

There were several updates in the Panda algorithm until January 2016 when it was integrated with Google’s main ranking algorithm.

Google Panda: 5 Tips You Should Know


.no-js #ref-block-post-10524 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/google-panda-tips.jpg"); }

Google Panda: 5 Tips You Should Know

It's here. It's inevitable. It's called Google Panda, the latest Google's search algorithm which aims to promote the…Read more

You can improve your search rankings by impressing Google Panda. To do so:

  • Get rid of boilerplate content and don’t overuse keywords.
  • Always make sure you have a clear site hierarchy and valid and semantic HTML. (Higher bounce rates shows to Google that your site is not user-friendly, so consider how you can reduce it.)
  • Don’t use deceiving tactics, such as cloaking and doorway pages.
  • Ensure your site doesn’t have any broken links and faulty redirects.
  • Have proper canonical tags in order to get rid of potential duplicates.
  • Try to increase the quality of your backlinks as people tend to link back to quality content, and search engines use this factor in their algorithms.
  • Avoid using scraped or automatically generated content as well. Your content should educate your readers by leading them from a problem to a solution.
  • Also create FAQ pages that provide relevant answers to exact questions.
4. Use Schema.org Markup

Schema.org is an extensibe vocabulary that makes it possible to describe structured data on the web. Structured data makes it easier for search engines to understand your content. Adding Schema.org markup to your site will allow your content to be displayed among Google’s rich results that can lead to higher click-through rates, and better search engine rankings.

If you want to improve your rankings, introduce schema.org markup on your website, if you haven’t done it yet.

The simplest way is to use Google’s Structured Data Markup Helper.

Log in, and select the type of data you want to mark up, then paste the belonging URL, and click the Start Tagging button.
The structued data markup tool will be loaded, and you’ll be provided with a workspace to tag the data items (author, publication date, URL, etc.) on your web page.


Tagging in Google’s Structured Data Markup Helper

Once you’ve finished, click the Create HTML button. On the following screen, you will see the HTML of your page with the relevant structured data.

Use Google’s Structured Data Testing Tool to find out how your page will look like.

5. Be Displayed In Rich Answers

Rich answers are Google’s attempt to answer user queries right on the search page. In rich answers, Google displays direct answers from relevant and trusted websites. Having your content in the rich answer box is a great way to increase organic search traffic to your site.

Here’s how a simple rich answer looks like:

simple Rich Answer

To get your content indexed as a rich answer, create a list of the most common questions people ask in your industry. Make sure you don’t use industry jargon as most people don’t use them in queries.

When you’re done with your list, create content that specifically answers these questions. One question per page. Wherever you can, use a step-by-step answer format, such as this step-by-step instruction below about how to boil an egg:


Step-by-Step Answer Format in Featured Rich Snippets

    Use keywords in your answers, and mark up the question with the <h1> HTML tag.

    Here’s a screenshot of the HTML code that creates the web page for the rich answer for the query why is the sky blue. Notice the <h1> tag in the code.

    Final Words

    Utilizing these methods can help you make your content stand out among the search results. Patience is the key here.

    Don’t attempt to change the content of all your web pages overnight. Instead, adopt a slower yet more effective approach to replace your existing content with more actionable, better structured, and fresher content to achieve better search rankings.

40 Awesome Cartoon Character Design Tutorials

hongkiat.com - wo, 17/08/2016 - 17:01

Cartoon character and mascots are usually used to identify a brand. It’s the perfect tool to share a message with your audience. Creating characters in different editing tools, such as Photoshop, Illustrator, or Corel DRAW is also so much fun and could be a great way to familiarize yourself with a program.

20 Creative Mascot Designs That Leave An Impression


.no-js #ref-block-post-19826 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/creative-mascot-designs.jpg"); }

20 Creative Mascot Designs That Leave An Impression

Do you remember the helpful paperclip in Microsoft Word that would help you out with tips? It’s one…Read more

There are numerous tutorials around the web explaining how to create different characters step by step. That’s why in this list we have here, there are 40 cool tutorials to help you create lovable cartoon characters – some familiar, some new. Also included are tutorials on character poses, character sprite sheet and comic character sheets.

These simple will teach you the ins and outs of character design and you can see works of other designers from around the globe in the comments under each tutorial.

Photoshop Tutorials How to create a fun, red-haired boy

This video tutorial demonstrates how to illustrate a fun red-haired child in Adobe Photoshop.

How to draw a character with shapes & pen tool

Learn to draw a funny cartoon character with open mouth and big eyes with this simple guide.

How to draw a blue vector character from Sketch to Coloring

Create a simple blue vector monster from sketch in Photoshop.

Illustrator Tutorials How to create a simple kawaii Yeti with basic shapes

In this tutorial you’ll see the process of creating a monster Kawaii Yeti using simple shapes in Adobe Illustrator.

How to create a killer chainsaw bunny

With this awesome tutorial you can create a Bucket ‘o’ Thought character and add a dynamic background effect.

How to create an 8-bit pixel character

This simple guide shows how to create a simple 8-bit style pixel character using nothing by the rectangle tool.

How to create a cute vector reindeer

It’s summer, but Christmas will come eventually. So, learn to create a funny cute reindeer in Illustrator.

How to draw a cartoon waiter

In this Illustrator tutorial you’ll see the process of creating a funny cartoon waiter with a food tray.

How to illustrate a summer girl

Create a funny summer girl with a slice of watermelon in hand using Adobe Illustrator.

How to create a Retro Fox

Create a fox character with retro feel on dots background with Adobe Illustrator using basic shapes, stylish colors and the Warp Effect tool.

How to draw Little Red Riding Hood with basic shapes

In this guide you’ll be creating a cute cartoon Little Red Riding Hood with her basket and bunch of flowers using Pen Tool and basic shapes.

How to create an elegant patterned vector owl

In this simple Illustrator guide you’ll be creating a cute patterned owl character.

How to draw a fun cartoon face

This tutorial will guide you through the process of creating a cute funny boy’s face character in Adobe Illustrator.

How to draw a cute monster

Here is a tutorial on creating a detailed monster character in Adobe Illustrator. You’ll be using a simple grid to create the main body shape with basic tools and effects.

How to create a Comic Character Sheet

This Illustrator tutorial will help you to visualize a girl cartoon character, draw her and her facial expressions.

How to create a cute cactus

Create a cute cactus character in vector format in Illustrator using basic shapes, Line Segment Tool and a Warp Effect.

How to create a cute Gingerbread Man

This simple yet awesome Illustrator guide will teach you how to create a cute gingerbread man character in vector.

How to design a mascot

This tutorial will walk you through the process of creating a funny hamburger mascot character in Illustrator from sketch.

How to create a mobile phone

In this tutorial you’ll get to know how to create a funny illustration of cute mobile phone using basic shapes and tools, combined with the power of Blending Modes.

How to create a cute raccoon character

Use this Adobe Illustrator tutorial to create an adorable raccoon in leaves.

How to design a quirky character

In this simple Illustrator tutorial you’ll see how to create character of a red hat girl using basic shapes.

How to create a meditating cartoon cow

Learn how to create a meditating cow using simple coloring techniques in Adobe Illustrator.

Drawing an owl using a circular grid

In this simple guide you’ll get to know how to create a circular grid and design a cute owl character.

How to create a cute hairy vector monster

Here is one more cute monster character tutorial in this collection.

How to draw a cute vector penguin

Use this simple step-by-step Adobe Illustrator tutorial to draw a cute pinguin and bring the character to life with depth and dimension.

Using gradients to create a cartoon worm

Create a funny cartoon worm using gradients in Adobe Illustrator.

How to draw and Vector a kawaii Vampire Chibi

In this Adobe Illustrator tutorial you’ll see how to draw a chibi character from scratch using the Shape Builder Tool, Pen Tool and transparent gradients.

How to illustrate a fun vector monster[lllustrator]

Create a funny green monster with basic shapes in Photoshop.

How To Create a Cool Vector Yeti Character

Create lazy and slow Yeti monster in Adobe Illustrator.

How to create a charactor mascot

Create a boy with laptop mascot character in vector format from a sketch in Adobe Illustrator CS4.

Design character poses for a video game

In this guide you’ll get to know how to create a cool character for a video game “beat ’em up” and turn a sketch into a vector image.

How to create a grumpy face

Create a grumpy bear face using basic shapes, Ellipse Tool and some Warp effects.

Creating a cute creature from a sketch

In this guide you’ll see the process of creating a funny creature with huge eyebrows from sketch using custom brushes, the Paintbrush tool, Pen tool, and the Live Paint Bucket tool.

How to create a cool vector robot

Here you’ll learn to create simple vector cartoon robot character using lots of basic shapes such as rectangles and circles, stroke weights, gradient fills and subtle highlights.

How to create a minion

In this tutorial you will use Photoshop and Illustrator to create a cute minion character from Despicable Me.

How to create a charactor mascot

Create a boy with laptop mascot character in vector format from a sketch in Adobe Illustrator CS4.

Corel Draw Tutorials How to create a geeky zombie mascot

In his CorelDRAW tutorial you’ll get to know how to create a cartoon geek zombie mascot from a simple sketch.

Affinity Designer Tutorials How to draw a cartoon penguin in winter

Use Affinity Designer to draw a colorful cartoon penguin with warn winter feel.

Creating a game character sprite sheet

In this tutorial ypu’ll see the process of creating bird-like creature for video and mobile games using various tools and functions of Affinity Designer.

How to create a friendly, futuristic robot

Use Affinity Designer to create this friendly cute robot on blue background with simple shapes and gradients.

How to illustrate an autumn girl

Create an autumn illustration with a nice girl in gumboots, holding an umbrella using Adobe Illustrator.

Top 10 Cross-Platform Mobile Development Tools

hongkiat.com - wo, 17/08/2016 - 15:01

Write Once Run Anywhere (WORA) refers to a piece of code that’s written once on one platform but can run on multiple platforms. As variety of mobile platforms increase, developers are finding it harder to provide their app in consumable form as users may be on very different platforms.

Frameworks & Tools to Develop Cross-Platform Desktop Apps – Best of


.no-js #ref-block-post-27324 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/frameworks-tools-build-cross-platform-desktop-apps.jpg"); }

Frameworks & Tools to Develop Cross-Platform Desktop Apps – Best of

Cross-platform software development is the need of the hour because of increasing demand for cost-efficient and short-timeline software…Read more

For the purpose of conservation of effort and time, the goal here is to create multi-platform apps with code reuse. To help you work on cross-platform mobile application development, we will be looking at the 10 best cross-platform frameworks for developing mobile apps that work on multiple platforms including Android, iOS, Windows Phone, BlackBerry OS, etc.

1. PhoneGap

Open source PhoneGap is a great option for building cross-platform mobile apps leveraging on existing web technologies. PhoneGap is best suited for mobile applications that don’t make substantial use of the phone’s native features. It packages your applications within a native application container which allows JavaScript to access device-level APIs the same way normal apps do.

Pros:

  • It allows creating hybrid apps using popular web technologies (HTML5, CSS3 and JavaScript), which are also readily available skill sets
  • It lets you deploy a single code base to different platforms including iOS, Android, Windows Phone, BlackBerry, Firefox OS and more
  • It follows a plugin-able architecture, which means that access to native device APIs and more can be extended in a modular way
  • It enables you to make use of in-app, integrated payments via the App Store for iOS, the Google Play Store for Android and more

Cons: The performance is known to be a bit poor for graphic-intensive apps made using PhoneGap. Though you may easily find plugins for PhoneGap per requirements, they could be somewhat outdated or unsupported based on the target platform(s).

2. Appcelerator

Appcelerator helps in building native apps by deploying just a single JavaScript code base. It provides your web content in a native application, ensuring your code is not wrapped around a web container unlike few other such solutions.

Pros:

  • It provides tools for rapid application development. A prototype can be built with lesser time and effort to evaluate user interaction with UI
  • It consists of a schema-less data store called ArrowDB that lets you deploy data models with zero setup efforts
  • It provides seamless integration to existing continuous delivery systems like SCM and MDM solutions
  • It has pre-built connectors available for MS Azure, MS SQL, Salesforce, MongoDB, Box and various others

Cons: Appcelerator is known to be a bit buggy and laggy, though newer version are more stable. There are also user complaints of poor support from its developers community.

3. Xamarin

Xamarin helps you build native apps for multiple platforms using a shared C# code base. With Xamarin, you can do anything in C# that you can do in Objective-C, Swift or Java unlike what is commonly believed. It lets you use the same IDE, language and APIs everywhere. Moreover, Git integration is built directly into the Xamarin Studio.

Pros:

  • Its sample apps make it quick & easy to start things up; these apps are clearly written and can be used as reference as well
  • About 75% of developed code can be shared across major mobile platforms using Xamarin, which heavily decreases costs and time-to-market
  • It provides functionality testing and quality assurance for numerous devices to ensure seamless integration (and even offers its own Android emulator)

Cons: Using Xamarin, you still won’t be capable of using numerous open-source libraries for iOS and Android development because of compatibility issues. The free version is seriously limited for developing a substantial project.

4. Sencha Touch

Sencha Touch is a leading cross-platform mobile web app framework that can be used to build efficient applications making use of hardware acceleration techniques. On Sencha, top quality apps can be built with well-tested, tightly-integrated UI components and libraries. It’s even capable of building large business applications and maintaining them with ease.

Pros:

  • It offers built-in native-looking themes for every major platform
  • It supports Android, iOS, BlackBerry, Windows Phone and more
  • It packs in an agnostic backend data package for working with data sources
  • It supports PhoneGap/Cordova integration for native API access and packaging

Cons: Though Sencha Touch offers native-looking themes, but the availability of themes is limited, of course. Moreover, its commercial licensing is difficult to understand.

5. Monocross

Monocross is an open-source cross-platform mobile framework that lets you create beautiful applications for iPads and iPhones, Android smartphones and tablets, Windows Phone and Webkit-enabled devices. Monocross uses C#, Microsoft .NET and the Mono framework for developing multi-platform supported apps.

Pros:

  • It gives you access to the full power of the native device APIs while still coding in C#
  • It gives access to several APIs you need to securely deploy your apps; there is no need to learn the low-level intricacies of every platform
  • Using Monocross to develop apps requires only C# and .NET compatibility for the apps’ continual development and maintenance activities

Cons: Documentation, resources and support for Monocross available on the Internet is scarce making the work of developing apps using this framework harder than necessary.

6. Codename One

Codename One is a cross-device platform with goals of simple usability, rapid application development, deep integration with the native platform with possible native speeds. While you’re required to code in Java, your application can also be tested & verified with Codename One’s simulator devices and test automation tools.

Pros:

  • It supports most of the popular IDEs like NetBeans, Eclipse, IntelliJ IDEA, etc.
  • Its ‘lightweight architecture’ allows the UI to work seamlessly across all platforms
  • Its build servers allow building native iOS apps without a Mac machine and native Windows apps without a Windows PC
  • It uses ParparVM which guarantees compatibility with future iOS versions because of its use of the officially supported iOS toolchain

Cons: Codename One’s default visual themes are a bit primitive and its Graphical UI Builder may not be very suitable for large projects. With growing project’s complexity, maintaining a single file with all event handlers becomes very cumbersome.

7. Kony Mobile Platform

Kony Mobility Platform is an integrated, cross-platform mobile app development platform that can be used to build universal mobile applications. Kony Mobility Platform provides automatic coding features, app preview facility, API connections and many more features.

Pros:

  • It comes with various pre-built apps that act as a great starter for developers
  • It offers unified mobile infrastructure services for supporting backend systems
  • Its visualiser acts as the frontend to its powerful multi-channel JavaScript APIs

Cons: The documentation and support available for Kony on the web is not very extensive, same as Monocross, when compared to that of various other platforms.

8. Convertigo

Convertigo is an open-source software vendor that provides a mobile enterprise application platform consisting these solutions: Convertigo Studio, Convertigo Server, Convertigo Cloud and Convertigo Mobilizer.

Pros:

  • It lets you create business-driven events computed to notify users, even if the device is in standby mode
  • It allows connecting to enterprise data with a variety of connectors such as SQL databases or web services
  • With its Fullsync data replication technology, data can be made available locally even if the network is not accessible

Cons: Convertigo has three different plans of which the free plan just has community support and doesn’t include its Fullsync offline data support.

9. Nativescript

Nativescript is another open-source platform for building native cross-platform mobile applications. Nativescript gives you every native APIs in JavaScript of most of the mobile platforms. You can easily reuse existing plugins from npm directly in NativeScript projects, making it easier to extend the features of your applications.

Pros:

  • It has deeply embedded support for Angular.js 2 and TypeScript
  • It lets you use almost any javascript library that does not rely on the internet
  • Its apps utilize native components and have direct access to the native APIs along with full access to the development libraries
  • It has a cross-platform Declarative UI support, allowing you to make the app’s UI once and use it easily on other supported platforms

Cons: Multi-threading is a possible issue in Nativescript that may be improved in later releases. There is a lack of in-depth examples and documentation on each of its feature.

10. RhoMobile

RhoMobile Suite is based on the Rhodes framework. It is a set of tools for developing data-centred, multi-platform, native mobile consumer and enterprise applications. Using RhoStudio, a free Eclipse plugin, developers can generate, develop, debug and test applications with no other hardware or emulator requirements.

Pros:

  • RhoElements offers Object Relational Mapper enabling automatic synchronization of the backend data and even features automatic data encryption
  • To make offline data access available like Convertigo, RhoConnect allows developers to integrate offline data synchronisation into apps

Cons: Its RhoElements RFID plug-in for Windows Mobile/CE isn’t available as open source or freely available to all.

The Beginners Guide to CSS Object Model (CSSOM)

hongkiat.com - di, 16/08/2016 - 17:01

A lot happens between the first HTTP request and the final delivery of a web page. Data transmission and the browser’s rendering pipeline require a lot of different technologies, one of them is the CSS Object Model, or the CSSOM.

Reviewing CSS Style Priority Level


.no-js #ref-block-post-14194 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/css-priority-level.jpg"); }

Reviewing CSS Style Priority Level

The Cascading Style Sheet (CSS) is, I think, the simplest of languages compared to other web-related languages, so…Read more

The CSS Object Model takes the CSS code, and renders every selector into a tree structure for easier parsing. Perhaps it’s not crucial for developers to fully understand this concept, but it’s a valuable topic to study if you want to learn more about how browsers render code into a working website.

In this post, I’m going to cover the basics of the CSS Object Model, and show you how it works.

What Is CSSOM?

The term CSS Object Model describes a map of all CSS selectors & relevant properties for each selector. These styles can be root elements or have nested children.

CSSOM is very similar to the DOM in HTML, which stands for Document Object Model. Both of them are part of the critical rendering path which is a series of steps that must happen to properly render a website. All these processes happen automatically, behind the scenes.

So why is CSSOM important? It’s the map used by the browser to properly render CSS styles on a web page. There’s no easy way to tell a computer that all paragraphs in a .main-content div must have extra line-height.

The solution is the CSS Object Model which maps out all elements and properties from your CSS code.

CSSOM makes it easier for the browser to render styles on the page. The whole thing is very technical but it’s worth understanding a little about the process, especially if you build websites.

How It Works

Both the DOM and CSSOM are used extensively by all web browsers to interpret and render web pages. The diagram below is from Google Developers Web Fundamentals guide, and explains how the DOM is rendered in a web browser.

IMAGE: Google Developers

In both the DOM & CSSOM, all information is converted from bytes into digital maps that render every element in a web document. The process works as follows:

  1. The browser downloads the HTML for a web page.
  2. While processing the HTML, the parser may bump into a link element referencing an external stylesheet.
  3. This CSS stylesheet is then parsed into a map using the CSS Object Model specs.
  4. The resulting code can then be applied to elements in the DOM.

All of this happens very quickly, and occurs with every single page request. This other diagram below showcases an example tree structure of the CSSOM.

IMAGE: Google Developers

Notice how some properties in the diagram have lighter grey font colors. These properties are inherited from the parent. Since the body has a specific font size, all elements within the body also get that font size unless it’s overridden.

HTML and CSS strings are converted into tokens which can then be understood as nodes by the browser. These nodes are like objects within the tree structure that defines how the entire page should be constructed.

The CSSOM and DOM are completely separate data models, therefore they’re parsed separately of each other. But they both have similar tree structures, and both serve the same purpose: giving the browser a structure to render and identify different elements on the page.

Why Web Developers Should Care

Since all of the rendering happens on the backend, you really don’t need to worry much about the CSSOM tree. But it can be useful to understand how it works.

One thing to remember is that the CSSOM must be fully loaded before the web page will be displayed, as it will define how every element on the page should look like. If the page loaded before the CSSOM, it would appear as plain HTML first, followed by the styles a few seconds later.

Browsers specifically avoid that because it would be confusing to end users. And it’s worth noting that the CSSOM cannot be cached; it must be recreated on each page.

Actual CSS files can be cached in order to load the assets quicker but rendering a page in the browser always requires running the CSSOM parser. This also means that JavaScript can have a negative impact on rendering and performance.

I would highly recommend reading this article to learn more about external CSS/JS resources and their load times.

The best way to optimize your site is by crafting a natural cascade of resources which are loaded in tandem.

It is possible to manipulate the CSSOM using JavaScript because it is technically a JS API. But it doesn’t serve much of a purpose compared to JavaScript DOM manipulation.

The bigger reason to learn about the CSSOM is to further educate yourself regarding how websites actually work.

There are lots of things we take for granted that keep the Internet running smoothly. When you understand a little more about the entire process you can visualize how the whole thing comes together, and hopefully gain some appreciation for the existence of the World Wide Web.

Further Reading

I hope this intro can give you a solid idea of what the CSS Object Model is, and how it affects web pages. There isn’t much to manipulate in the CSSOM, so it differs a bit from the DOM.

However it’s still a critical technology in web development, and it should clarify major aspects of browser rendering.

There are many other resources discussing the CSSOM, and how it works. If you’re looking to learn more, here are some posts I recommend:

Pagina's