Skip directly to content

Feed-aggregator

19 Useful Google Apps Scripts to Automate Google Drive

hongkiat.com - ma, 26/09/2016 - 17:01

Google Drive offers great features for storing and working with different types of files but it does lack at some features that are crucial for your work. Google Apps Scripts is an easy-to-use scripting language to get things done, which are otherwise not available in Drive.

10 Free Apps To Help Automate Tasks On Your Android Device


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

10 Free Apps To Help Automate Tasks On Your Android Device

One thing most people love about Android is the freedom to create that is open source identity affords…Read more

There are scripts that can let you read/extract text from images, convert files, auto-backup social photos or store Gmail attachments. Most scripts let you automate these services as well.

Let’s check out how to make use of Google Apps Scripts to fill the missing holes in Google Drive and do many more things without third-party tools.

Prerequisite: How to Run Google Apps Scripts

To create and run a script in Drive, follow these steps:

  1. Create/open a Google Doc or Sheet. From Tools menu, select Script editor.
  2. Remove existing code and add your code. Go to File > Save > add script name > Click OK.
  3. To execute, click ►, or from the Run menu, select a function. If running the script for first time, it will ask for your authentication. Check the required permissions and click Allow.
  4. A yellow bar will appear at the centre-top, to indicate that the script is running.

Please note these steps are for general scripts and certain scripts may require specific additional instructions to run.

Convert and Email Google Sheets

What it does:

  • Converts Google Sheets to PDF and mails them using your Gmail account
  • Lets you convert and send just one sheet using its sheet id.
  • Send the PDF to multiple persons by adding their addresses, separated by commas.

Use Case Scenario:

It’s helpful in scenarios like when you wish to send marketing data to a third party but don’t want to share the whole spreadsheet. You can use this script to send a PDF version. This way required data is shared without compromising your whole spreadsheet’s info.

Convert Images to Text using OCR

What it does:

  • Converts images to text documents using the OCR technology; saves them in your drive.

Use Case Scenario:

This script proves beneficial in situations when you need to edit text in imges or do research on a large number of images. It makes the converted images editable and searchable. It saves your time and efforts and gives trustworthy text output as it uses the Google’s native OCR technology.

Track File Editors in Google Drive

What it does:

  • Finds out which user made changes to your Google Drive’s native files.
  • Displays the dates and times when the file was modified along with the name and email address of users who made the changes to your shared documents/files.

Use Case Scenario:

This script is useful for tracking the modifications made in your drive, including Sheets, Documents, Presentations and other Google Drive formats.

Save a Webpage to Google Drive

What it does:

  • Saves or backs up webpage on any URL to Google Drive.
  • Fetches the web page and saves the same as HTML file (by default) or your configured extension.
  • Maintains a nice folder structure for storing multiple web pages or their copies.

Use Case Scenario:

This script is most helpful for researchers, scholars, bloggers and such who need to research lots of websites and might need to save them for future reference. Do remember to change the RESOURCE_URL in the snippet to the link you wish to download.

Send a Google Doc via Email

What it does:

  • Sends a Google Doc through email to anyone and places the doc’s content as the email’s body (rather than an attachment).
  • Converts the doc to HTML and sends the same via email

Use Case Scenario:

If you want to send something not as an attachment but as part of the email, this is the that gets the job done. Do note you must change documentId, recipient, subject to their actual values in the 4th line.

Host a Website on Google Drive

What it does:

  • Host any static website including files like HTML, CSS, JS, image, podcast, etc on Google Drive. (Drive can’t be used to serve dynamic sites like those using PHP or Java backends.)

Use Case Scenario:

This script is useful when you don’t wish to buy a hosting plan or domain for your site. It’s completely free of charge and Google’s servers are a lot faster than many hosting providers in the world.

Download Instagram Photos to Drive

What it does:

  • Downloads multiple Instagram photos and save them to your drive automatically.
  • Download photos using certain tags or from any specific Instagram URL.
  • Images are kept in a separate folder in Drive for easy maintenance.

Use Case Scenario:

It’s helpful for Instagram fans, collectors and researchers who maintain data backups in Drive.

Convert a Google Doc to Markdown

What it does:

  • Converts a Google Doc to the markdown (.md) format.
  • It mails you the converted document along with images automatically. (Note it may get into problems with data using complex formatting.)

Use Case Scenario:

It’s useful for bloggers and publishers who regularly use the markdown format for publishing online. Using this, they can avoid manual work of converting their content for every draft.

Set Auto-Expiry for Shared Data

What it does:

  • Sets an auto-expiry interval on the shared files and folders in Drive
  • Automatically removes access to other users after the certain period (of auto-expiry).

Use Case Scenario:

This script is useful for allowing limited access to your drive’s data and relieves you from worrying about forgetting to unshare data. This feature is already available for Google Apps for Work users, but if you’re free user, then it’s for you.

Save Gmail Attachments in Drive

What it does:

  • Extracts and saves all Gmail attachments to a particular folder in your drive.
  • Notify progress of fetched attachments, via email but requires setting up notification preferences.

Use Case Scenario:

If you prefer to store attachments into cloud storages like Drive, then this is the script to get.

Search All Files in Google Drive

What it does:

  • Searches all your files in the drive and displays the results in simple-to-digest style in a Google Sheet.
  • Supports docs, sheets, presentations and few other text formats.

Use Case Scenario:

Search through your files and piles of data quickly with this.

List Directory in Google Drive

What it does:

  • Lists all files and folders of a Google Drive’s directory recursively
  • Write this data in easy-to-see format in a spreadsheet.

Use Case Scenario:

Good for making sense of all the data in your Drive, and for file management purposes. Do note that for this script to work, you must set the folderId first in the code. A folder id is everything after the ‘folders/‘ portion of a folder’s address.

Convert Google Docs to HTML

What it does:

  • Converts Google Docs to HTML format for easy sharing or using in web pages or source code editors.
  • Supports various basic HTML tags or formatting options but do understand it doesn’t work very well for complex text formatting.

Use Case Scenario:

Helpful mostly for writers, bloggers and publishers seeking posts for HTML-ready tools. Do remember to set the KEY and FILE_ID variables in the code.

Combine Data from Multiple Sheets

What it does:

  • Merges data from multiple sheets of a particular spreadsheet into a single sheet in the current spreadsheet.

Use Case Scenario:

This script is helpful in situations wherein you have got multiple sheets of common data (including common headers and structure) and you wish to combine them into one large sheet of data.

Export Google Sheets to CSV Files

What it does:

  • Exports sheets in the current spreadsheet as individual CSV files in Drive.

Use Case Scenario:

It’s helpful for people who regularly use Sheets for managing and storing data and require data in CSV format for sharing or use in other apps. Without this, Google Sheets only convert and download one sheet at a time.

After copying code into the Script Editor, re-open that spreadsheet and check the Add-ons menu.

Convert a Google Sheet to PDF Invoice

What it does:

  • Converts any particular sheet to a PDF invoice and save to your Drive.

Use Case Scenario:

Good for users who regularly use the Google Apps ecosystem as their work tool and have to deal with product invoices and such.

Upload a URL directly to Google Drive

What it does:

  • Uploads any individual file (or multiple files) from a specific URL to your drive automatically.
  • Files are saved in a specific folder in the drive and it can easily upload multiple files from multiple links provided it’s given one at a time.

Use Case Scenario:

For people who like to keep data from the Web in Drive. All it needs is the link of the page you need. To use, copy code into the Script Editor and go to Publish > Deploy as web app…

Download Google+ Profiles to Google Sheets

What it does:

  • Fetches publicly available Google+ profiles’ data to a Google Sheet. The fetched data includes name, work info, profile picture and more.
  • The only input it requires is the profile id of the person you wish to get data about and this works for multiple profiles.

Use Case Scenario:

This is extremely helpful for data entry and social media analysts for data collection.

Convert PDF Attachments to Plain Text

What it does:

  • Converts all PDF attachments from Gmail to plain text format for easy sharing/storing
  • You can specify the PDF’s original language (for extracting the text) and save the output plain text files along with the original PDF files in Google Drive.

Use Case Scenario:

You regularly receive PDFs via mails and want to save them in Drive in original or plain text form. It does the job in batches.

How did you find this list? Do you know any more Google Apps Scripts which help ease life of a Drive user? Please let us know using the comments section below.

How to Add Custom Code Snippets to Atom

hongkiat.com - ma, 26/09/2016 - 15:01

It’s not a coincidence that Atom, the source code editor created by Github is popular in the web development community. It’s not only easily extensible with thousands of Atom Packages, and has a wide language support, but almost its every part is customizable by the user.

By leveraging Atom’s Snippets feature, you can make your coding workflow more productive, as by reusing recurring code snippets you can reduce the repetitive part of your work. In this post, I’ll show you how you can use Atom’s built-in code snippets, and create your own custom snippets.

A Look Into Atom: Github’s New Code Editor


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

A Look Into Atom: Github’s New Code Editor

Github, a popular git repository that hosts a ton of open source projects, has recently announced a new…Read more

Use built-in code snippets

By default, Atom comes with built-in code snippets, each of which is bound to a scope belonging to a certain file type. For instance, if you are working on a file with .js extension, only snippets belonging to the JavaScript scope will be available for that file.

To see all available snippets for your current file type, hit Alt+Shift+S. If you choose a snippet from the drop-down list and click on it, Atom will insert the full snippet into your editor without any further hassle.

If you are already aware of the options, you don’t necessarily have to load the whole list. When you start to type, Atom pops an autocomplete results box up, that contains the available code snippets belonging to the certain scope and the string you’ve typed so far.

For example, if you type the h character into a .html file, a dropdown list with all built-in HTML snippets beginning with h will appear.

By clicking on any option, Atom will paste the full HTML tag (e.g. <h1></h1>), and position the cursor within the starting and closing tag.

If you don’t want to bother with the dropdown list, you can achieve the same result by typing h1, and hitting Tab or Enter — both of these keys insert the full code snippet belonging to the prefix of the snippet.

30 Regex Code Snippets All Web Developers Should Know


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

30 Regex Code Snippets All Web Developers Should Know

Regular expressions are a powerful tool that should be in every developer's tool belt. They can match against…Read more

Adding your custom code snippets 1. Find the configuration file

To add your own custom code snippets to Atom, first you need to find the configuration file called snippets.cson that is a CoffeeScript Object Notation file.

Click on the File > Snippets... menu in the top bar, and Atom will open the snippets.cson file to which you can add your own custom snippets.

2. Find the Right Scope

You will need four things in order to add your custom snippet:

  1. The name of the scope
  2. The name of the snippet
  3. The prefix that will function as the handle of the snippet
  4. The body of the snippet

The name, the prefix, and the body of the snippet (2-4) solely depends on you, however you must find the name of the scope (1) before adding your custom snippets.

To find the scope you need, click on the File > Settings menu in the top menu bar, then find the Packages tab among the Settings. Here, run a search for the scope you need, for example if you want to add code snippets to the HTML language, type HTML into the search bar.

Click on the language support package of the chosen language, and open its own Settings. Among the Grammar settings, you can quickly find the name of the scope, as you can see on the screenshot below.

Here are some scopes you may want to use in your Atom projects:

  • Plain Text: .text.plain
  • HTML: .text.html.basic
  • CSS: .source.css
  • Sass: .source.sass
  • LESS: .source.css.less
  • JavaScript: .source.js
  • PHP: .text.html.php
  • Python: .source.python
  • Java: .source.java

Don’t forget that you will need to add a dot (.) in front of the name of the scope in order to use it in the snippets.cson file.

3. Create Single-Line Code Snippets

To create a single-line code snippet, you need to add the scope, the name, the prefix, and the body of the snippet to the snippets.cson file, using the following syntax:

'.text.html.basic': 'Widget Title': 'prefix': 'wti' 'body': '<h4 class="widget-title"></h4>'

This example snippet adds a <h4> tag with the widget-title class to the HTML scope. You can add any other single-line code snippet to your Atom editor following this syntax.

After saving the configuration file, whenever you type the prefix & hit the Tab key, Atom will paste the belonging snippet body into your code editor. The name of the snippet (in the example Widget Title) will be displayed in the autocomplete results box.

4. Create Multi-Line Code Snippets

Multi-line code snippets use a little bit different syntax. You need to add the same data as for single-line snippets — the scope, the name, the prefix, and the body of the snippet.

What is different here is that you need to place the snippet body within a pair of """ (three double-quotes).

'.text.html.basic': 'Image Link': 'prefix': 'iml' 'body': """ <figure> <a href="" target="_blank"> <img src="" width="" height="" alt=""> </a> </figure> """

If you want to add more than one custom snippets to the same scope, add the name of the scope only once, then list the snippets one by one:

'.text.html.basic': 'Widget Title': 'prefix': 'wti' 'body': '<h4 class="widget-title"></h4>' 'Image Link': 'prefix': 'iml' 'body': """ <figure> <a href="" target="_blank"> <img src="" width="" height="" alt=""> </a> </figure> """ 5. Add Tab Stops

You can further facilitate the usage of your custom code snippets by adding tab stops to the snippet body. Tab stops indicate the spots where the user can navigate by using the Tab key. With tab stops you can save the time that in-text navigation requires.

You can add tab stops using the $1, $2, $3, ... syntax. Atom will position the cursor to the place it finds $1, then you can jump to $2 with the Tab key, then to $3, and so on.

'.text.html.basic': 'Image Link': 'prefix': 'iml' 'body': """ <figure> <a href="$1" target="_blank"> <img src="$2" width="$3" height="$4" alt="$5"> </a> </figure> """ 6. Add Optional Parameters

Atom allows you to add extra information to your snippets by using optional parameters. This feature can be useful if someone else also uses your editor and you want to let them know the purpose of the snippet, or if you have so complicated custom snippets that you need to add notes to them.

The values of the optional parameters are displayed in the autocomplete results box that comes up when you begin to type a prefix. In the example below, I added a description & a More... link to the previous Widget Title custom snippet:

'.text.html.basic': 'Widget Title': 'prefix': 'wti' 'body': '<h4 class="widget-title"></h4>' 'description': 'You can add a widget title with this snippet to your sidebar widget.' 'descriptionMoreURL': 'http://hongkiat.com'

When the user begins to type the prefix wti, the extra information (description + link) will be displayed at the bottom of the autocomplete results box. Have a look at the other optional parameters you can use to add extra information to your custom snippets.

Top 10 Cryptocurrencies You Should Know

hongkiat.com - vr, 23/09/2016 - 17:01

Cryptocurrency, or digital currency, is an invention of the Internet. Basically, someone out there thought, "hey, what if we can create a system where money is not bound by geography, like the internet" and lo and behold, now we have over 3000 cryptocurrencies going around.

10 Free Crypto Apps To Help Protect Your Online Privacy


.no-js #ref-block-post-21577 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/crypto-apps-protect-online-privacy.jpg"); }

10 Free Crypto Apps To Help Protect Your Online Privacy

Many of us have uploaded our lives onto the Internet, to the point that we cannot imagine living…Read more

Not all cryptocurrencies are created equal. Some feature amazing underlying blockchain technology behind its creation. Some were created ‘just because’, or as a joke. Some were part of an elaborate pyramid scheme. Some are pretty useless to keep as they are perceived as worthless – any cryptocurrency is only as valuable as the value assigned to it by a mass audience.

Like any other assets (think of stocks, or property), its price can rise and fall quickly, making them highly volatile and risky investments. Here are the top 10 cryptocurrencies and what they are known for.

Note: The ranking was taken from CoinGecko, a website that ranks cryptocurrencies by developer activity, community and liquidity. All figures are accurate as of mid-July 2016.

1. Bitcoin

The original cryptocurrency and the one that started it all, Bitcoin was created and released in 2009 by Satoshi Nakamoto, an anonymous figure. Bitcoin has the biggest market cap to date around $10billion, overshadowing all other cryptocurrencies in this list, combined.

For most people, an introduction into cryptocurrencies is an introduction to Bitcoin. Because Bitcoin has such a big reputation, all other cryptocurrencies are referred to as ‘altcoins’ – alternative coins because they are alternatives to Bitcoin.

Known for: being the first, easiest to get, widest acceptance

2. Ether

Ether is the cryptocurrency for Ethereum, a decentralised platform that can execute peer-to-peer ‘smart contacts’. As of September 2016 and as a result of an attack to The DAO, Ethereum was split into 2: Ethereum (ETH) and Ethereum Classic (ETC).

Created by Vitalik Buterin and launched in mid-2015 after a successful crowdsale, this platform was marketed as the "next generation cryptocurrency and decentralised application platform" and has a market cap of $1.1 billion.

Peer-to-peer smart contracts are what Ethereum is known for, aside from the cryptocurrency. It enables people to code and enact contracts without third parties. For example, this guide explains how you can set up a smart contract for a conference, where organisers can sell tickets, set a maximum number of attendees, and provide refunds automatically.

Known for: smart contract, first alternative to Bitcoin, Vitalik Buterin

3. Litecoin

Litecoin was released in October 2011 by former Google employee Charles Lee as an alternative to Bitcoin. Overall, Litecoin is similar (and familiar) – it can be mined, used as currency and transacted for goods and services.

It has a market cap of roughly $180 million, a far cry from its highest peak of $1.2 billion back in 2013.

Known for: alternative to Bitcoin, most similar to Bitcoin

4. Monero

Bitcoin is frequently mislabeled as an ‘anonymous’ currency (it’s not). Monero, on the other hand, is a cryptocurrency that focuses on privacy – using the ring signature technology, Monero is ‘secure, private and untraceable’.

At fourth place with $138 million in market cap, Monero is mostly used by individuals wishing to remain incognito on the web.

Known for: being a privacy-centric cryptocurrency

5. Ripple

The next on the list, Ripple, is actually a real-time gross settlement system, currency exchange and remittance network. The cryptocurrency is called ripples. Released in 2012 and with a current market cap of $243 million, the Ripple system has been integrated into a few banks and payment networks to reduce costs.

Known for: strong focus on banking market, real-time settlement

6. Dogecoin

Dogecoin was originally made as a ‘joke currency’ but have since garnered a real following. Modeled after the dog in the ‘doge’ memes, the cryptocurrency (released in December 2013 by programmer Billy Markus) is now frequently used to tip users in forums.

It is also frequently sent as donations in fundraising efforts – for example, the Doge4Water fundraising campaign raised thousands of dollars. Dogecoin is now valued at about $25 million dollars.

Known for: ‘joke currency’, used for tipping and donations

7. Dash

Dash (short for ‘digital cash’) is a cryptocurrency with a strong focus on both privacy (using anonymization technology) and speed (of transaction). It was rebranded from Darkcoin as an attempt to stop being associated with the ‘dark web’.

Ranked eighth in the list, it has a market cap of $77 million currently rolling out Dash Evolution, an attempt to make the cryptocurrency more user-friendly. You can spend Dash at merchants accepting it (listed here).

Known for: being anonymous and fast

8. MaidSafeCoin

MaidSafeCoin (also known as Safecoin) is the cryptocurrency for the SAFE (Secure Access For Everyone) network, which is a security-centric data platform. Calling themselves a ‘crowd-sourced internet’, you can provide space in your computer in exchange for coins.

A number of decentralized apps now use the SAFE network to store data securely. The market cap for MaidSafeCoin is about $39 million.

Known for: being a security-centric data platform

9. Lisk

Lisk is a crowdfunded cryptocurrency, and a unique one – it brands itself as "the first modular cryptocurrency utilising sidechains". Unlike other systems on this list (aside from Ethereum), the Lisk system can be used by anyone to make their own decentralized apps (‘dapps’) in the programming language Javascript.

As such, this currency has practical application value and can be used to create many types of ‘dapps’, including social media platform, e-commerce store, and many others. It currently has a market cap of around $25 million.

Known for: useful for programmers to make own ‘dapps’, the first to utilise sidechains

10. Storjcoin X

Storj released Storjcoin X in July 2014. At its core, Storj a decentralized, open-sourced and encrypted cloud data storage which uses Storjcoin tokens to gain access and usage in the Storj network. The market cap as of mid-September is $8 million.

Known for: decentralized cloud storage

Conclusion

Outside of this list, there are also newer cryptocurrencies incorporating other types of advantages. There are also other cryptocurrencies that sometimes weave in and out from this list, such as SiaCoin and Counterparty. Only time will tell if these coins will remain in the top 10 or will be dethroned by others.

How to Create a Simple Phone Number Picker

hongkiat.com - vr, 23/09/2016 - 15:01

Phone numbers, besides names and emails, are the most frequently used contact information in online forms. Phone number fields are usually designed in a way that requires users to type the numbers in using their keyboards. This method frequently results in inaccurate data input.

To reduce user input errors and improve the user experience of your site, you can create a GUI that allows users to quickly enter their phone number, in a way that is similar to date pickers.

Useful Calendar & Date Picker Scripts For Web Developers


.no-js #ref-block-post-8428 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/useful-calendar-date-picker-scripts-for-web-developers.jpg"); }

Useful Calendar & Date Picker Scripts For Web Developers

Calendars can be seen frequently in most web pages today especially in blogs and personal websites. As for…Read more

In this tutorial, you’ll see how to add a simple phone number picker to an input field. We’ll use HTML5, CSS3 and JavaScript to get to the GUI you can see and test in the demo below. We’ll also put regular expressions in use to make sure users really enter a valid phone number.

See the Pen 📞 Phone Number Field w/ Dial Screen by Preethi (@rpsthecoder) on CodePen.

1. Create the Phone Number Field

First, create an input field with a dial icon on the right that will open the dial screen on click. The dial icon just looks like 9 black boxes, arranged 3 by 3, must like what you see on a regular phone.

I’m using the tel input type for proper HTML5 semantics, but you can also use the text input type if you want.

<div id="dialWrapper"> <input id="phoneNo" type="tel"> <img id="dialIcon" src="dialIcon.png"> </div>

HTML Base of the Phone Number Picker 2. Create the Dial Screen

The dial screen is a grid of numbers from 0 to 9 plus some special characters. It can be made with either a HTML <table> or JavaScript.

Here, I’ll show you how to create the dial screen table in JavaScript. You can, of course, add the table directly in the HTML source code if you prefer it that way.

First, create a new 'table' element in the DOM by using the createElement() method. Also give it the 'dial' identifier.

/* Create dial screen */ var dial = document.createElement('table'); dial.id = 'dial';

Add a for loop to insert the four rows of the dial table with it. Then, for each row, run another for loop in order to add three cells per row. Mark each cell with the 'dialDigit' class.

for (var rowNum = 0; rowNum < 4; rowNum++) { var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++) { var cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString(); } }

The two for loops above calculate the digits that go into the cells of the dial table — the values of the cell.textContent property — in the following way:

(colNum + 1) + (rowNum * 3) /* first row */ (0 + 1) + (0 * 3) = 1 (1 + 1) + (0 * 3) = 2 (2 + 1) + (0 * 3) = 3 /* second row */ (0 + 1) + (1 * 3) = 4 (1 + 1) + (1 * 3) = 5 (2 + 1) + (1 * 3) = 6 /* etc. */

The last row is different, as it consists of two special characters, - and + that are used in phone number formats to identify regional codes, and the digit 0.

To create the last row to the dial screen, add the following if statement to the inner for loop.

for (var rowNum = 0; rowNum < 4; rowNum++) { var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++) { /* if last row */ if (rowNum === 3) { cell = row.insertCell(colNum); cell.textContent = '-'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '0'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '+'; cell.className = 'dialDigit'; break; } cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString(); } }

The dial screen is now complete, add it to the #dialWrapper HTML container you created in Step 1 by using two DOM methods:

  1. the querySelector() method to select the container
  2. the appendChild() method to append the dial screen — held in the dial variable — to the container
document.querySelector('#dialWrapper').appendChild(dial);

Dial Screen Table without Styling 3. Style the Dial Screen

To make it more attractive, style the dial screen with CSS.

You don’t necessarily have to stick with my styling, but don’t forget to add user-select:none; property to the #dial container so that while the user is clicking on the digits, the text won’t get selected by the cursor.

#dial { width: 200px; height: 200px; border-collapse: collapse; text-align: center; position: relative; -ms-user-select: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; color: #000; box-shadow: 0 0 6px #999; } .dialDigit { border: 1px solid #fff; cursor: pointer; background-color: rgba(255,228,142,.7); }

Dial Screen Table with Styling 4. Show the Dial Screen on Click

First, add the visibility:hidden; style rule to #dial in the above CSS to hide the dial screen by default. it’ll be only shown when the user clicks on the dial icon.

Then, add a click event handler to the dial icon with JavaScript to toggle the visibility of the dial screen.

To do so, you need to use the aforementioned querySelector() and the addEventListener() methods. The latter attaches a click event to the dial icon and calls the custom toggleDial() function.

The toggleDial() function changes the visibility of the dial screen from hidden to visible, and back.

document.querySelector('#dialIcon').addEventListener('click', toggleDial); function toggleDial() { dial.style.visibility = dial.style.visibility === 'hidden' || dial.style.visibility === '' ? 'visible' : 'hidden'; } 5. Add the Functionality

Add a custom function that inputs digits into the phone number field on the click of the cells of the dial screen.

The dialNumber() function appends the digits one by one to the textContent property of the input field marked with the #phoneNo identifier.

phoneNo = document.querySelector('#phoneNo'); function dialNumber() { phoneNo.value += this.textContent; } dialDigits = document.querySelectorAll('.dialDigit'); for (var i = 0; i < dialDigits.length; i++) { dialDigits[i].addEventListener('click', dialNumber); }

Now, you have a working dial screen to input phone number field.

To keep up with the CSS, change the background color of the digits in their :hover and :active (when the user clicks on it) states.

.dialDigit:hover{ background-color: rgb(255,228,142); } .dialDigit:active{ background-color: #FF6478; } 6. Add Regular Expression Validation

Add a simple regex validation to validate the phone number while the user enters the digits into the input field. According to the validation rules I use, the phone number can only start with either a digit or the + character, and accept the - character afterwards.

Beginner’s Guide to Regular Expression (Regex)


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

Beginner’s Guide to Regular Expression (Regex)

A regular expression is a set of characters forming a pattern that can be searched in a string.…Read more

You can see the visualization of my regular expression on the screenshow below created with the Debuggex app.

Regex visualization from debuggex.com

You can also validate the phone number as per the phone number format of your country or region.

Create a new Regular Expression object, and store it in the pattern variable. Also create a custom validate() function that checks if the entered phone number complies with the regular expression, and if it’s at least 8 characters long.

When the input doesn’t validate, the validate() function needs to give feedback to the user.

I’m adding a red border to the input field when the input is invalid, but you can inform user in other ways, for instance, with error messages.

pattern = new RegExp("^(\\+\\d{1,2})?(\\d+\\-*\\d+)*$"); function validate(txt) { // at least 8 characters for a valid phone no. if (!pattern.test(txt) || txt.length < 8) { phoneNo.style.border = '2px solid red'; return false; } else phoneNo.style.border = 'initial'; return true; } 7. Perform the Validation

The validate() functions needs to be called in order to perform the validation. Call it from the dialNumber() function you created in Step 5 in order to validate the value of the phoneNo variable.

Note that I also added an additional validation for maximum characters (can’t be more than 15) by using an if statement.

function dialNumber() { var val = phoneNo.value + this.textContent; // maximum characters allowed, 15 if (val.length > 15) return false; validate(val); phoneNo.value = val; }

Your phone number picker is now ready, check out the final demo below.

See the Pen Phone Number Field w/ Dial Screen by Preethi (@rpsthecoder) on CodePen.

5 Tips to Toughen Up Your WordPress Login Security

hongkiat.com - do, 22/09/2016 - 17:01

No matter the size of your website, losing your site data or not being able to access your own website can be a nerve-wracking experience. WordPress, which powers more than 25% of the Web, is one of the most targeted websites for hackers.

Hardening WordPress Security: 25 Essential Plugins + Tips


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

Hardening WordPress Security: 25 Essential Plugins + Tips

If you are running a WordPress-powered website, its security should be your primary concern. In most cases, WordPress…Read more

In our previous posts, we have shown you a number of tips and tricks which already covered almost everything to secure your WordPress website. Still, there is always room for improvement. In this post we will be looking at a few more tips to help you make your WordPress site harder to breach.

1. Bcrypt Password Hashing

WordPress was started in 2003 when PHP and the Web in general were still in their early days. Facebook was not around yet, PHP did not even have OOP (Object-oriented Programming) architecture built-in; hence, WordPress inherited legacies that are no longer ideal today – including how it encrypts the password.

What the Dropbox Hack Can Teach You About the State of Web Security


.no-js #ref-block-post-27952 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/dropbox-hack-and-its-impact.jpg"); }

What the Dropbox Hack Can Teach You About the State of Web Security

In the past week, Dropbox had been making headlines over a hack which saw the email addresses and…Read more

WordPress to this day still uses MD5 hashing. Basically, what it does is to turn your 123456 password into something like e10adc3949ba59abbe56e057f20f883e.

However, since computers are now more sophisticated than 10 years ago this hashed password can now be easily reversed into its bare form almost instantly.

PHP has native encrypting since 5.5 and If your WordPress is running in PHP5.5 or above, there is handy plugin called wp-password-bcrypt that allows you to embrace this native utility in PHP.

Install and activate the plugin through Composer or through MU-Plugins. Re-save your password and you are all set.

2. Enable WordPress.com Protect

Brute-force is a common hacking attempt where attackers try logging in to your website by guessing numerous possible passwords, typically words found in the dictionary. This is the reason why you should set a hard-to-guess password.

Automattic, the people behind WordPress.com, has acquired one of the most popular WordPress plugins that can counter brute-force attacks. It is called BruteProtect, and it is integrated with Jetpack.

Based on our experience, it has tremendously helped us combat brute-force attacks more than close to a million times.

Jetpack Dashboard Widget reporting the number of attack and spam encountered.

To get it, you need to install Jetpack’s latest version and connect your website to WordPress.com. Then enable the “Protect” module, and white-listing your own IP address as well.

Now you should feel a bit more safer.

3. Hide Your Login URL

WordPress is very well-known for the login page, wp-login.php. Hence hackers know which exact page to direct their brute-force attacks. You can make it harder for them by disguising your WordPress login URL.

Fortunately, there are a few plugins that provide this utility:

4. Disable “Forget Password”

The “Forget Password” utility in the login form is a way in for attackers, who usually go through an SQL injection to get your login credentials. If there are only a few people who have access to the admin area, it might be better to switch it off.

To do so, create a new file upload – name it forget-password.php.

First we change the lost password URL:

function lostpassword_url() { return site_url( 'wp-login.php' ); } add_filter( 'lostpassword_url','lostpassword_url' );

Remove the link. Unfortunately, WordPress does not provide a proper hook to do this neatly through an add_filter function. So, we do it with JavaScript instead.

function lostpassword_elem( $page ) { ?> <script type="text/javascript"> (function(){ var links = document.querySelectorAll( 'a' ); for (var i = links.length - 1; i >= 0; i--) { if ( links[i].innerText === "Lost your password?" ) { links[i].parentNode.removeChild( links[i] ); } }; }()); </script> <?php } add_action( 'login_footer', 'lostpassword_elem' );

Lastly, we redirect the “Lost Password” URL to the login screen.

function lostpassword_redirect() { if ( isset( $_GET[ 'action' ] ) ){ if ( in_array( $_GET[ 'action' ], array( 'lostpassword', 'retrievepassword' ) ) ) { wp_redirect( '/wp-login.php', 301 ); exit; } } } add_action( 'init','lostpassword_redirect' ); 5. Enable HTTPS

HTTPS gives your site an extra layer of security with data transmission. It may also give you a boost in Google search rankings. And now you can get valid HTTPS cert for free through the communal initiative Let’s Encrypt.

For WordPress websites you can easily obtain a Let’s Encrypt certificate with WP Encrypt. So there is no reason why you should not deploy HTTPS in your website today.

Wrapping Up

I just like to leave you with the reminder that in spite of all these attempts, our websites could still be subject to attacks, hacks and to being compromised by hackers through means beyond our comprehension. Even large companies like Dropbox and LinkedIn have fallen prey to security threats.

As a last resort, remember to regularly back up your website’s files and database whenever you can.

Google Trips & 9 Alternative Travel Apps for Avid Travelers

hongkiat.com - do, 22/09/2016 - 15:01

Google released Google Trips, an app that wants you to "see more, plan less". The app aims to do this by making the planning part a lot more convenient, less stressful and hassle-free. If it sounds too good to be true, you’re right. The good news is, we’re getting there, slowly but surely with travel planner apps.

99 Airport Tips to Travel Like a Pro


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

99 Airport Tips to Travel Like a Pro

For the tired and weary, a vacation always sounds like a good idea. But getting to that beautiful…Read more

For those unfamiliar with travel planner apps, you can now easily create your itinerary, book tours, flights, accomodation and car rentals etc. right from your laptop or mobile app. In this list, I have 9 other travel apps apart from Google Trips, each with their own specialty that will probably prove useful for different groups of travelers.

You will find apps that let you look up budget hostels or plan multi-city stops easily, online communities that share and feature travel itineraries in exotic locations, and even travel apps that can work offline, like Google Trip. Let’s check them out.

Google Trips

Google Trips is a new app that helps you plan an upcoming trip. It pools information from airline ticket confirmation emails (flight number, travel dates and destinations) as well as hotel reservations that are sent to your Gmail. That said, this is already available to you if you use Inbox (check the Trips bundle).

Based on where you are going, Google Trips offers you relevant travel guides you can download and use offline. The info in the downloaded bundle includes the contact info, ratings and reviews of places to visit (if you have saved places from Maps, it is included too).

Nevertheless if you’re looking for directions, this will require location services and an active Internet connection. As you can tell, a lot of the travel info Google Trips falls back on are made available from other Google services like Google Maps, but as a travel planner app, it probably has to do a lot more to keep up with the rest of the planner apps here.

Download: Android | iOS

Triphobo

If you are an adventurous type but not really a good planner, how about looking at other trips planned by fellow travelers for inspiration? Triphobo lets you look at other globetrotters’ itineraries or find ground tours in over 15,000 cities in the databse. You can work on top of a complete itinerary and customize them to suit your travel style and needs, rather than start from scratch.

On top of that, one of the best things about Triphobo is the smart planner. It is a tool where you can make travel arrangements through multiple cities, all on the same page.

Choose the cities you want to stopover, dates of travel, how you want to travel from city to city, book your flights, airline, departure time or buy bus tickets all inside the app. Along the way you can also check the ratings of hotels and other accommodations, as well as find things to do, and make relevant bookings straight from the app itself.

Get the app: Android | iOS

Gogobot

This one is for travelers who have specific needs and would like to get answers to their burning questions before making a booking. Gogobot is a community-powered review site which tackles restaurants, hotels and attractions in major cities.

Its novelty lies in the Gogobot Tribes which refers to something like a travel type. There are tribes called backpackers, history buffs, nightlife lovers, spirital seekers and even vegetarian. When you join a tribe you can access the group’s wisdom by asking them for recommendations, advice, tips and city secrets to make the most out of your trip.

The site also has a full range of hotel deals to choose from in major cities. You can search by the hotel class & type, date of travel or price. These hotels also carry reviews and ratings by Gogobot members.

Get the app: Android | iOS

Triposo

If you’re not sure about the Internet access of your destination, here is an app you can work offline. You just need to download the travel guide for the destination you want first, then you can work the app like an offline map.

It sifts through open content sources like Wikipedia Flickr, TouristEye and World66 for data and reviews then comes up with personalized travel guides for users.

The Android app also has a currency converter, weather forecast (requires connection), phrasebooks for your communication needs and info about local festivals, culture and food offerings. While you can book hotels straight from Triposo, the search is powered externally by Booking.com.

Get the app: Android | iOS

Tripit

TripIt is essentially an itinerary maker. It does none of the bookings for you. What it does is help you consolidate all your hotel, flights, tours, rentals and other similar travel arrangements into one place. Using its mobile app you can have access to every detail of your bookings in the same spot, no more rummaging through paperwork or emails and such.

TripIt has two versions: one free, the other Pro ($49 a year). Both let you create, edit, store and share travel plans, as well as sync to your favorite online calendar. However, only the pro version give you more flight-related features such as real-time flight status, better seat notifications, reward points tracking, and VIP travel benefits from their travel partners.

Get the app: Android | iOS

In case this doesn’t work, try: TripCase

Travefy

Travefy Personal is a web app that lets travelers plan itineraries and trips together with their friends. The app has 4 basic functions, Itinerary, Invites, Discover and Expenses. With the app, you can organize trips together with you friend (invite them first), and pull up recommendations straight from inside the app.

Best of all the app has a good expense management tool to help you and your travelling group keep to your travel budget.

While the planning stage is limited to the web app, Travefy has an Itinerary Viewer app that is available for iOS and Android. On this app, travelers can browse through the details of the itinerary even though there is no Internet connection.

Trip Planner Sygic

Trip Planner Sygic makes planning trips easier by spreading it all across a map. For those who didn’t really like the Geography subject in school, this can be helpful for planning longer backpacking trips where you go where the wind takes you.

Sort destinations by what you want to do (e.g. hiking, snorkeling, shopping), join different types of sightseeing, walking, bike or bus tours — there are fast-track tours available where you can skip the queue — or book hotels all right from the app.

The app works offline and if you have multiple devices with you, it also syncs all your planning through all installed devices.

Get the app: Android | iOS

WorldMate

WorldMate is an itinerary management tool for professionals. All confirmations made via email can be imported into the app to create a complete itinerary. The app also ensures that travelers receive real-time flight status reports and delay alerts, or even book alternative flights, in case of a cancelled flight.

The iPhone app in particular lets you search and book hotels, filtered by ratings, location and price. Users can also set alerts to find special hotel prices and the app itself can automatically find better deals from hotels around the same area.

It also has good support for last-minute flight booking, especially if the flight you are supposed to be on has been delayed or cancelled. Make alternative bookings instantly on the app. The app is integrated with LinkedIn and will let you know if a LinkedIn Connection is nearby, and if your travels take you across timezones, the app’s, tip calculator, price and time converters can be of great help.

Get the app: Android | iOS | Windows Phone

Roadtrippers

Roadtrippers is a fun app for those who prefer roadtrips to flights or other means of travel. The only catch is this only works in the US, but for a good reason. If you head on over to the Roadtrippers website you will be treated with plenty of awesome trip guides you can follow.

We’re looking at 48-hour guides, National Park visits, trips down the interstate, Offbeat Routes, Scenic Drives, outdoor escapes, movie filming locations and for the brave, Ghost Guides which take you to haunted places!

Plan your roadtrip on the web app or mobile app then share them with the rest of the group. The app also comes with time estimation from Point A to Point B but requires the GPS turned on to work, which may zap your battery juice.

Get the app: Android | iOS

Lonely Planet

Lonely Planet has been a staple name in the travel-the-world group. Its app gives you city guides in multiple countries with listings for sightseeing, shopping, local cultural events, activities and more. There are tours catering to small groups, nature and wildlife, history and culture, and more.

From the site itself, travelers can book flights, hotels, airport transfers, car rental and even buy insurance. Lonely Planet is also home to many articles written by avid travelers sharing their newfound appreciation for a new destination. Articles like this will inspire you to take out your passport and book the next flight out of there.

Get the app: Android | iOS

Bonus: 10 More Apps for Travelers
  • Hopper – A prediction app that analyzes airfare and notifies you when a flight fare is at its lowest (and worth buying). High accuracy rate reported by users.
  • Zyppos – A place where you can ask travel experts for hacks to achieve your travel goals within your budget. Great for large groups or for complex trips.
  • GateGuru – Info on airport amenities, services, weather forecasts, maps, airport tips and more.
  • Localeur – Get authentic reviews from the locals (who else knows the city best?) on the best places to wine, dine, shop and check out.
  • LoungeBuddy – Stuck in a long layover? Sometimes it is worth investing in airport lounges. This is the app for you to enjoy your wait time. Travel no longer has to be a pain.
  • HostelWorld – Find hostel reviews, photos, pricing, booking availability from over 33000 properties in over 170 contries.
  • Voyager: Route Planner – Driving or moving around an unfamiliar city doesn’t have to be a daunting experience. Use this to plan optimal driving, walking or cycling routes in an unfamiliar city
  • Trivago – The largest hotel search website to get best rates, last minute discounts and money-saving deals.
  • Kayakflights – Search for great bargains on flight fare.
  • Skyscanner – Get deals and alerts for the best prices for car rentals, hotel rates and flight fare.

50 Creative Invoice Designs for Your Inspiration

hongkiat.com - wo, 21/09/2016 - 17:01

Invoicing is not a fun task, but it’s a necessary one to pay your bills and keep your business going. Apart from what you are billing your clients and customers, your invoice also contains important information that are important to keep your accounts on track. Thus, there is a need to be an invoice design to be organized, structured and properly detailed.

Basic Guide (Tips and Tools) To Charging Your Freelance Clients


.no-js #ref-block-post-17098 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/tips-tools-charging-your-clients.jpg"); }

Basic Guide (Tips and Tools) To Charging Your Freelance Clients

[series_freelance_guide] What is the best part about being a freelancer and actually working? Getting paid of course. Money…Read more

On a side note, invoices can be in very simple and generic designs – or they could be a great branding opportunity for your business. to illustrate this point, I have collected 50 invoice designs that are amazing, creative and professional enough to get the job done.

Maaemo Folded Invoice EVGENI | Identity Design Imbue / Duane Dalton Invoice template – Pecan Green Energy Invoice Template DS: Final touch points Personal Identity Invoice—Self Branding Event Invoice Invoice take 2 Lukas Strociak Retouching Two Lands Creative Invoice Mikleo Invoice Design Proposal Template Suisse Design with Invoice Blk Co. Invoice 2016 LayerVault Email Invoice Invoice on Desktop Invoice Invoice Unicredix Kendo’s invoice Neil Fernandes: Industrial Designer Corporate Stationery Self Promo – Print Personal Identity Invoice Template – Self Branding Yesness – Self Branding Free Download Invoice Template (PSD) Invoice & Quote Design Self Promotion | Branding Minimalist Invoice Template Minimalist Invoice Template Design Heirloom Flowers Paperlike Invoice Template Lily Bethany Heck Tom Solo – International Photographer Brand Invoice 0142 Mode Design ID System Baselime Invoice Invoice – Free Template Crosby Cerovski designed by Bunch Skovin designed by Heydays Prehispanica – Restaurant branding Project Love: Foundation Invoice Design Invoice Corporate Invoice Template Invoice Design

macOS Sierra – Getting Universal Clipboard to Work

hongkiat.com - wo, 21/09/2016 - 15:01

One of the new macOS Sierra features that I find useful is its Universal Clipboard. You already know what a clipboard is for – whatever you copy is kept here until you paste it elsewhere – but with Universal Clipboard you can paste your text selection from your iPhone to your Macbook or iPad and vice versa.

It is a great feature to have if you work on multiple devices, but only if it works of course. Users have been reporting a problem with this feature, myself included, and after trying out a few fixes I could find online, here’s how I got Universal Clipboard to work properly for me.

1. Check device compatibility

The fix that is at the top of the list has to do with device compatibility – you need to make sure your devices are compatible and can use this new Continuity feature.

Your iOS device(s) needs to be running the latest iOS 10 whereas your Mac needs to be of the following:

  • MacBook Air (mid-2012 and later)
  • MacBook Pro (mid-2012 and later)
  • MacBook (Retina, 12-inch, early 2015)
  • iMac (late 2012 and later)
  • Mac mini (late 2012 and later)
  • Mac Pro (late 2013)
2. Use the same iCloud account

This cross-device copy-pasting feature requires both (or all) your devices to be signed in to the same Apple ID on iCloud. If any of your devices are on a different iCloud account, sign in to the common one before trying out the clipboard again.

3. Turn on your Bluetooth

If you are copy-pasting between Mac OS and iOS, make sure both iOS and Mac OS devices have their Bluetooth on and are paired.

If all else fails

If the three methods above doesn’t work, then you will need to try this one instead:

  • Under System Preferences > iCloud on your Mac. Enable “Back to my mac
  • Under Settings > General > Handoff, make sure Handoff is turned on in your iOS device.
  • Sign out and sign in iCloud account on both your Mac and iOS devices.
  • Turn off your bluetooth and WIFI on Mac, turn them on again. Do the same for your iOS device.
  • Similar 3rd party apps

    If after all this, you still can’t get Universal Clipboard to work for you, perhaps it’s time to throw in the towel. Just kidding; you can opt for third party apps that do pretty much the same thing. Here are three such apps you can try out.

    7 Prototyping Tools for Web Designers

    hongkiat.com - wo, 21/09/2016 - 12:01

    Do you know the difference between wireframe, mockup and prototype? These three terms are often used interchangeably to mean the same thing. The problem is, you shouldn’t.

    A wireframe is a static, low-fidelity depiction of a design. It provides an outline of the look or shape of a proposed design, but not its functionality or feel. A mockup provides a greater amount of information. Mockups are mid- to high-fidelity depictions of a proposed design. Mockups are also static, and they do not prove interactivity.

    Prototypes, on the other hand, are dynamic. They can represent your final design to almost any degree of detail you choose. A prototype can even be tested as if it were the actual end product, since it can provide the same look and feel. Of the three, the one that would make the most of an impression would be the prototype.

    How to Build a Prototype

    Now, the goal of a prototype is to accurately prove selected design features. Prototypes for web or app applications are typically developed in three stages:

    1. The page flows (how a user might navigate) are sketched out.
    2. Several low-fidelity versions of each page are built and usability tested.
    3. From lessons learned, details are added to create a high-fidelity model of your proposed design.

    In this post, we will be check out a few prototyping tools that can help ease the process, make things easier and for you to churn out prototypes a lot faster. Here are 7 prototyping tools to try out.

    InVision

    InVision is according to Forbes near the top of the list of private cloud companies in the world, alongside luminaries such as Slack, Dropbox, and MailChimp. This honor is due in part to InVision’s "always-on" platform, which makes collaboration, feedback, and the building of high-fidelity prototypes so easy.

    With InVision, it’s possible to manage project screens and statuses from a single location, collaborate in real time, and maintain version control, while building pixel-perfect prototypes that have the look and feel of real web and mobile apps. With InVision, you can even conduct free, unlimited testing on your prototypes.

    To discover what the design world and InVision’s more than 2 million users loves about this platform, sign up for a free trial. Just click on the InVision link to get started.

    Pidoco

    Whether you need a click-through wireframe, or a fully-interactive UX prototype, Pidoco will get you there quickly, and without fuss. Starting with the easy sketching feature, you can build a set of custom templates, create the interactive elements you need, present your prototype to others, and await their feedback – which should not be long in coming.

    Pidoco gives you everything needed to build low-fidelity prototypes to solicit quick, up-front feedback, or high-fidelity models having the same look and feel as your proposed web or app design. This tool will even generate specification documents that can serve as blueprints for team members, or can be presented to clients for sign-off.

    Proto.io

    Proto.io will be an ideal choice if you’re in need of a quality prototyping tool to assist you with your mobile app design activities. Proto.io is a dedicated mobile prototyping platform that runs on most browsers, requires no coding, and enables you to deploy fully-interactive mobile app prototypes and simulations that have the look and feel of the real thing.

    Three parts combine to make up this tool: a dashboard, an editor, and a player. The dashboard serves as your master control and project manager. The editor consists of a set of tools to emulate your design and build in the interactions. With the player, you can view your prototype on your web browser, interact with it, solicit feedback, and test it on real mobile devices. If mobile app design is your thing, this is the tool for you.

    Webflow

    For anyone looking for an all-in-one design, prototyping, and development tool, the search ends here. First of all, with Webflow, you can build and test the high-fidelity prototypes you need to assist your design efforts. But here’s where the difference comes in – everything you build is powered by production-ready HTML/CSS and JavaScript. The result?

    You can seamlessly move from a fully-interactive prototype to a developed product. Prototype, design and development come in the same package, which also includes the requisite collaboration features and capabilities. And by the way, everything is responsive as well.

    PowerMockup

    This specialty prototyping tool kit was developed with the PowerPoint user in mind. PowerMockup is in fact a PowerPoint add-on that you can use to create wireframes and mockups for websites, desktop apps, or mobile apps. It’s simply a matter of selecting shapes and design elements from the PowerMockup library, and dropping them onto a PowerPoint slide.

    Then, you can use PowerPoint’s slideshow and animation features to preview your design with others. You can add your own shapes and elements to the library as well, and share them with other PowerPoint users if you wish.

    Lucidchart

    Lucidchart is an online application featuring a library of design elements and device types from which you can quickly build wireframes or mockups of your website or mobile app designs. It has a clean, user-friendly interface, and it features drag and drop technology, interactive demonstration capabilities, and a layer technology that allows you to build highly-complex simulations.

    Lucidchart is also a handy tool for creating professional-looking project workflow diagrams and flowcharts, and its collaboration features operate smoothly and are easy to use.

    HotGloo

    Emulating a design’s proposed UX can sometimes present challenges. That’s why you need HotGloo. With a huge element library and UI widget gallery, export and share features as well as collaboration with team members it gets you started in almost no time.

    If you have any questions or need any assistance they have a full documentation as well as helpful video tutorials and live webinars available. Create your prototypes right in your browser, share them or preview them on any mobile device. You can even export your work to HTML. Wireframing & prototyping has never been easier and more fun!

    Wrapping it up

    There is plenty to choose from this list from tools dedicated to special purposes, to an all-in-one tool that is definitely worth a look. These are all top-quality tools, so there’s no risk involved, and you can always view a demo or ask for a free trial.

    These products have a large user base. They are used by or recommended by major companies. So no matter which one you may choose, you’ll find yourself in good company. Whether you are looking for a mockup, wireframe, or prototyping tool, you will find a tool for your needs above.

    5 Best Websites for Full-Time Remote Tech Jobs

    hongkiat.com - di, 20/09/2016 - 17:01

    It is common knowledge that one can bring in some money by working remotely. You may even be one of the millions of people who’ve searched for jobs that could give you the flexibility and comfort of working from wherever you wish – whether that’s from home, a coffee shop, or your personal creative space.

    Often, people think of these remote jobs as a casual position that wouldn’t last or sufficient enough to make a living. Right, how could something that lets you work on your own time and place pay you well? It is hard to take a scenario like this seriously.

    50 Freelance Job Sites For Designers & Programmers – Best Of


    .no-js #ref-block-post-6398 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/50-freelance-job-sites-for-designers-programmers-best-of.jpg"); }

    50 Freelance Job Sites For Designers & Programmers – Best Of

    Being a freelancer can be extremely advantageous and is probably a dream for many designers and developers who…Read more

    Yet, the fact is that there are many vacancies usually in the tech and marketing fields, web development & design which pay full (instead of watered-down) rates for your skills and contributions, regardless of whether they see you in their local office or not. Check out these job listing sites to find these jobs.

    Angel.co

    AngelList is one of the top sites for startup jobs. It provides a list of different developing companies that offer a wide range of employment opportunities, most particularly in the field of web engineering and marketing.

    Aside from the positions available, it also includes a brief description of the companies to help you construe the business well. Through it, you can directly apply and contact investors.

    This site is also commendable in a way that for every job available, it allows you to see the salary and equity upfront. Most companies can pay more than $100k in a year for a full time position, but you can also find other types of jobs (eg: contract, internship).

    The positions can also be explored by location. When looking for a remote job, make sure to apply "Remote OK" in the options, or just click here.

    Crossover

    Crossover, also known as Crossover for Work, is another place where you can find jobs offered by the best companies worldwide. Different opportunities can be searched by category, each of them high paying.

    In contrast to AngelList, the firms on this site only offer long-term careers with 40+ hours of work per week. These careers mainly involve software development, sales and marketing, professional services, and executive management.

    This job listing site has a meticulous team that evaluates the applicants to ensure the companies that only the best talents are being hired.

    Unlike the typical hiring process of a resume assessment followed by an interview, the Crossover team uses data algorithms and on-the-job scenario skills testing to choose the person that is fit for each position. So remember, apply only for the role you think you deserve.

    Crossover only allows one application at a time, so you will have to be rejected or you need rescind your current application before you can apply to a different job. Once successful in exams and interview, that’s where the real fun begins.

    f6s

    Many startup organizations today have been employing their talents through F6S, making the service useful for both founders and jobseekers.

    The site presents a job listing for both remote positions and on location. Along with this option, you can also search for jobs by compensation and equity. The roles usually vary from being a web developer, general engineer and sales/business developer.

    What makes F6S appealing is that it doesn’t only let you connect with the company owners but it also offers a variety of services including getting free deals and exposure.

    If you’re itching to work for a high-growth startup, this site is surely worth checking out. With over a million of founders and startups registered, it’s nearly impossible to find nothing that piques your interest.

    RemoteOK

    Instead of letting you connect directly with the companies, RemoteOK leads you to the position you are looking for. Basically, it collects the remote jobs you wish to find on the web and lets you filter them by date and category. It is designed specifically for web developers/designers and mobile developers but it also offers a list of non-tech jobs.

    The site also provides information on the highest paid remote jobs. The data includes the estimated salary for each job category and the number of positions available for each role. The trends obtained by the site is also of importance for both startup companies and those looking for remote jobs.

    Career Builder

    At CareerBuilder, you can search jobs based on category, company, and location. It allows you to be as specific as you want, from the recentness of the job posting to the employment type and to compensation.

    A lot of the big names from all over the world today have trusted this site in looking for their employees. It features jobs of different kinds which are advantageous not only for tech savvy people but for other professionals as well.

    Once you sign up on CareerBuilder, you can upload your resume and update your profile to get a higher chance of finding a position that fits your skills and experience. Job recommendations give you a variety of choices and keep you updated on the companies that are currently looking for talents.

    Give it a go

    If working remotely has ever crossed your mind, maybe it’s time for you to give it a try before somebody else gets hold of the position you’ve been eyeing. As you already know by now, more people are considering it as it gets more prevalent.

    Looking for a remote work is not particularly difficult. All you have to do is do some research and have the patience in exploring. With the right mindset and suitable abilities, you can start taking control of your life.

    The best resources are already given and who knows, your dream job might just be one click away!

    Freelance Beginner Tips: The Pitfalls to Avoid

    hongkiat.com - di, 20/09/2016 - 15:01

    If you’re still unsure whether or not to pursue freelancing, chances are you’ve contemplated what life is like as a full-time freelancer. You’ve probably heard of the many splendid perks of freelancing, but you’re still dying to know if it’s really all sunny and greener “on the other side”.

    Like most professions, freelancing has its own downsides. How you manage these problems on your first year can dictate how successful you’ll be in the long run.

    Freelancers: How To Calculate Your Breakeven Point With 4 Simple Concepts


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

    Freelancers: How To Calculate Your Breakeven Point With 4 Simple Concepts

    [series_freelance_guide] It's a dream of many seasoned and aspiring freelancers to reel in a big client. However, sometimes…Read more

    In this post you’ll find out the common pitfalls that trip freelancers up during their first few years on the job and what you can do to avoid them.

    1. Getting stuck with low rates

    Setting your first rates for your freelance business can make you feel uneasy. Charge too high and you risk losing potential clients – charge too low and you’ll have a hard time paying your own bills. So how do you make sure you’re being paid for what you’re worth?

    IMAGE: Freepik What to Consider:
    1. Experience – The best way to determine the value of your services is to look into your experience. Did you go to university or took up an online course to obtain the skills you have? How many years have you been freelancing? What is the quality of work you can deliver?
    2. Competition – Freelancing is a lot like starting your own business. You need to be updated with the highs and lows of your industry. To set fair rates, you have to look into your competitions. How are other freelancers acquiring clients? How much are they charging?
    3. How Much You Need To Earn – Calculate the annual salary you’d like to earn on your freelance business. How many hours would you like to work a week? Make sure that your rate will help you earn enough to pay the bills and fund your lifestyle.
    2. Freelance Burnout

    Many freelancers work more than they should. Because of lack of time management, they find themselves working all day and all night. And because they don’t want to run out of projects, they’ll probably say YES to any gig that comes their way.

    If you overwork yourself, there’s going to be a time soon where you’ll reach your breaking point. And even without a boss to fire you, you’ll still have clients who you’ll disappoint.

    IMAGE: Freepik What to do:
    1. Take copious amounts of break – After long hours of working, move away from the computer and refresh your mind. Even machines bog down if they are pushed beyond their limits. Designate times for break, and stick with them.
    2. Don’t stay on the same project for too long – It can be exhausting to work on the same project for weeks. As a freelancer, you have all the freedom to pick your projects. If this isn’t possible because of your commitments to the client, you can try to vary the repetitive work with something interesting once in a while.
    3. Schedule work wisely – When you’re an established freelancer and get many work requests, the next challenge would be finding time for everything. It’s going to be hard if you don’t schedule everything in a doable time frame. This also means you should know when to say no to a client who wants you to slave away for work with little pay.
    3. Isolation

    Depending on your personality, experiencing isolation due to your freelance career can affect your mental and emotional health. If you’re not an introvert who pretty much enjoys alone time – chances are you’ll find yourself starved for human interaction. And unless you rented a coworking space, most of the time, you’ll be working alone.

    IMAGE: Freepik

    Even when you’re working at home, sometimes because of your hectic schedule you’ll hardly have time to talk and spend time with family.

    What to do:
    1. Set days off – Don’t let your social skills take a hit just because you’re working from home. Lack of human connection can cause depression which can affect your work performance. So stop working once in a while, and make time for your personal pursuits.
    2. Co-work with other freelancers – Today this is possible with the help of various sites which allow freelance meetups that host events and designate working environments for different kinds of freelancers. Co-working spaces made just for independent contractors can minimize the effects of isolation a freelance career can bring.
    4. No Union or Laws to Fall Back On

    Unlike full-time employees who can remind their managers its payday or are entitled to file a wage-theft complaint, freelancers don’t have enough legal recourse. Part of this is because work is done remotely and most contracts don’t have binding jurisdictions accompanied with them.

    IMAGE: Freepik

    In fact, according to a 2014 survey commissioned by the Freelancers Union, about 70% of freelancers reported that they have experienced being stiffed by a client at least once in their freelance career. So how do we make sure that no projects go unpaid?

    What to Do:
    1. Research the client or company – Before saying yes to a job, do a little background check on the client. Hopefully, you’ll see good reviews and not stories of freelancers who were left unpaid by said company.
    2. State payment terms and contracts early on – Do not ever commit to a gig without a written contract. Your contract should include a detailed outline of the project, your rates, and delivery dates. You should also highlight payment schedule, along with interest charges for late payments.
    5. Distractions

    When you’re working from home, every day may seem like a holiday. If you don’t have self-discipline, it’s easy to fall into procrastination and waste valuable hours of work. Soon you’ll find yourself chasing deadlines and feeling so tired you’ll feel like giving up.

    The success of your freelancing career will ultimately depend on how good you can keep away from these distractions in order to stay focused.

    What to Do:
    1. Find quiet space for work – Distractions usually come in places where there’s lots of background noise such as TV, conversations, and music. When setting up your home office, pick a room or corner at home where you can achieve full concentration.
    2. Gamify your productivity – Applying game mechanics to your productivity strategy can make work a lot more fun. You can create your own game where you set your rules and prizes OR you can use the help of applications like Habitica or SuperBetter that turn each completed tasks to points and rewards.
    A Bright Future Ahead

    “Freelancing isn’t for everyone – but it will be soon“. The global marketplace is emerging with institutions and policies which make it more viable for people to pursue a freelance career.

    “The old system, which ties people to a job for 40 years so they could afford retirement, is slowly fading.”

    Now, there are more and more ways to earn money with the use of your skills and experience. By avoiding the pitfalls mentioned above, and maintaining good work ethics there’s always a good chance you can succeed in your freelance career.

    Editor’s note: This post is written for Hongkiat.com by Armela Escalona. Armela is a blogger and writer. She writes about technology, work, and productivity. She enjoys playing chess, scrabble and watching history documentaries. Follow her on Twitter.

    Intro Into HTML5 Constraint Validation

    hongkiat.com - ma, 19/09/2016 - 17:01

    Interactive websites and applications can’t be imagined without forms that enable us to connect with our users, and to obtain the data we need in order to secure smooth transactions with them. We do need valid user input, however we need to acquire it in a way that doesn’t frustrate our users too much.

    While we can improve the usability of our forms with smartly chosen UX design patterns, HTML5 also has a native mechanism for constraint validation that allow us to catch input errors right in the front-end.

    4 Form Design UX Tips You Should Know (With Examples)


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

    4 Form Design UX Tips You Should Know (With Examples)

    We tend to think about forms as simply a means to collect user data, but they are also…Read more

    In this post, we’ll focus on browser-supplied constraint validation, and look into how frontend developers can secure valid user input using HTML5.

    Why We Need Front-End Input Validation

    Input validation has two main goals. The content we get needs to be:

    1. Useful

    We need usable data we can work with. We need to make people enter realistic data in the right format. For instance, no one who is alive today was born 200 years ago. Getting data like this may seem funny at first, but on the long term it’s annoying, and populates our database with useless data.

    2. Secure

    When referring to security, this means we need to prevent the injection of malicious content — whether deliberate or by accident.

    Usefulness (getting reasonable data) can be achieved only on the client side, the backend team can’t help too much with this. To attain security, front- and backend developers need to work together.

    If frontend developers properly validate input on the client side, the backend team will have to deal with much less vulnerabilities. Hacking (a site) often entails submitting extra data, or data in the wrong format. Developers can fight security holes like these, successfully fight from the front-end.

    For instance, this PHP security guide recommends to check everything we can on the client side. They emphasize the importance of frontend input validation by giving many examples, such as:

    "Input validation works best with extremely restricted values, e.g. when something must be an integer, or an alphanumeric string, or a HTTP URL."

    In frontend input validation, our job is to impose reasonable constraints on user input. HTML5’s constraint validation feature provides us with the means to do so.

    HTML5 Tutorial: Login Page with HTML5 Forms


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

    HTML5 Tutorial: Login Page with HTML5 Forms

    [series_html5css3] HTML5 brings many features and improvements to web forms, there are new attributes and input types that…Read more

    HTML5 Constraint Validation

    Before HTML5, frontend developers were limited to validating user input with JavaScript, which was a tedious and error-prone process. To improve client-side form validation, HTML5 has introduced a constraint validation algorithm that runs in modern browsers, and checks the validity of the submitted input.

    To make the evaluation, the algorithm uses the validation-related attributes of input elements, such as <input>, <textarea>, and <select>. If you want to know how constraint validation happens step by step in the browser check out this WhatWG doc.

    Thanks to HTML5’s constraint validation feature, we can execute all standard input validation tasks on the client side without JavaScript, solely with HTML5.

    To perform more complex validation-related tasks, HTML5 provides us with a Constraint Validation JavaScript API we can use to set up our custom validation scripts.

    Validate with Semantic Input Types

    HTML5 has introduced semantic input types that — apart from indicating the meaning of the element for user agents — can also be used to validate user input by limiting users to a certain input format.

    Besides the input types that have already existed before HTML5 (text, password, submit, reset, radio, checkbox, button, hidden), we can also use the following semantic HTML5 input types: email,
    tel,
    url,
    number,
    time,
    date,
    datetime,
    datetime-local, month,
    week, range, search,
    color.

    We can safely use HTML5 input types with older browsers, as they will behave as an <input type="text"> field in browsers that don’t support them.

    Let’s see what happens when the user enters the wrong input type. Say we have created an email input field with the following code:

    <form name="form" action="#" method="post"> <label for="youremail">Your Email:</label> <input type="email" name="email" id="youremail"> <input type="submit" value="Submit"> </form>

    When the user types a string that doesn’t use an email format, the constraint validation algorithm doesn’t submit the form, and returns an error message:

    The same rule applies to other input types as well, for example for type="url" users can only submit an input that follows the URL format (starts with a protocol, such as http:// or ftp://).

    Some input types use a design that doesn’t even allow users to enter a wrong input format, for example color and range.

    <form name="form" action="#" method="post"> <label for="bgcol">Background Color:</label> <input type="color" name="color" id="bgcol"> <input type="submit" value="Submit"> </form>

    If we use the color input type the user is constrained to either choosing a color from the color picker or staying with the default black. The input field is constrained by design, therefore it doesn’t leave much chance for user error.

    When it’s appropriate, it’s worth considering using the <select> HTML tag which works similarly to these constrained-by-design input types; it lets users choose from a dropdown list.

    <form name="form" action="#" method="post"> <label for="favfruit">Your Favourite Fruit:</label> <select name="fruit" id="favfruit"> <option value="apple">Apple</option> <option value="pear">Pear</option> <option value="orange">Orange</option> <option value="raspberry">Raspberry</option> </select> <input type="submit" value="Submit"> </form> Use HTML5’s Validation Attributes

    Using semantic input types sets certain constraints on what users are allowed to submit, but in many cases we want to go a little bit further. This is when the validation-related attributes of the <input> tag can help us out.

    Validation-related attributes belong to certain input types (they can’t be used on all types) on which they impose further constraints.

    1. required for getting a valid input by all means

    The required attribute is the most well-known HTML validation attribute. It’s a boolean attribute which means it doesn’t take any value, we just simply have to place it inside the <input> tag if we want to use it:

    <input type="email" name="email" id="youremail" required>

    If the user forgets to enter a value into a required input field, the browser returns an error message that warns them to fill in the field, and they can’t submit the form until they have provided a valid input. That’s why it’s important to always mark visually required fields to users.

    The required attribute can be used together with the following input types: text, search, url, tel, email, password, date, datetime, datetime-local, month, week,
    time, number, checkbox, radio, file, plus with the <textarea>and <select> HTML tags.

    2. min, max and step for number validation

    The min, max and step attributes enable us to put constraints on number input fields. They can be used together with the range, number, date, month, week, datetime, datetime-local, and time input types.

    The min and max attributes provide a great way to easily exclude unreasonable data. For instance the example below forces users to submit an age between 18 and 120.

    <form name="form" action="#" method="post"> <label for="yourage">Your Age:</label> <input type="number" name="age" id="yourage" min="18" max="120"> <input type="submit" value="Submit"> </form>

    When the constraint validation algorithm bumps into a user input smaller than the min, or larger than the max value, it prevents it from reaching the backend, and returns an error message.

    The step attribute specifies a numeric interval between the legal values of a numeric input field. For instance, if we want users to choose only from leap years we can add the step="4" attribute to the field. In the example below I used the number input type, as there’s no type="year" in HTML5.

    <form name="form" action="#" method="post"> <label for="yourleapyear">Your Favourite Leap Year:</label> <input type="number" name="leapyear" id="yourleapyear" min="1972" max="2016" step="4"> <input type="submit" value="Submit"> </form>

    With the pre-set constraints, users can only choose from leap years between 1972 and 2016 if they use the little up-arrow that comes with the number input type. They can also type a value manually into the input field, but in case it doesn’t meet the constraints, the browser will return an error message.

    3. maxlength for text length validation

    The maxlength attribute makes it possible to set a maximum character length for textual input fields. It can be used together with the text, search, url, tel, email and password input types, and with the <textarea> HTML tag.

    The maxlength attribute can be an excellent solution for phone number fields that cannot have more than a certain number of characters, or for contact forms where we don’t want users to write more than a certain length.

    The code snippet below shows an example for the latter, it constraints user messages to 500 characters.

    <form name="form" action="#" method="post"> <label for="yourmsg">Message (max 500 characters):</label> <textarea name="msg" id="yourmsg" cols="25" rows="4" maxlength="500"></textarea> <input type="submit" value="Submit"> </form>

    The maxlength attribute doesn’t return an error message, but the browser simply doesn’t let users type more than the specified character number. That’s why it’s crucial to inform users about the constraint, otherwise they won’t understand why they can’t go on with the typing.

    4. pattern for Regex validation

    The pattern attribute allow us to use Regular Expressions in our input validation process. A regular expression is a pre-defined set of characters that form a certain pattern. We can use it either to search strings that follow the pattern, or to enforce a certain format defined by the pattern.

    With the pattern attribute we can do the latter — constrain users to submit their input in a format that matches the given regular expression.

    The pattern attribute has many use cases, but it can be especially useful when we want to validate a password field.

    The example below requires users to enter a password that’s minimum 8 characters long, and contains at least one letter and one number (source of the regex I used).

    <form name="form" action="#" method="post"> <label for="yourpw">* Your Password:</label> <input type="password" name="pw" id="yourpw" required pattern="^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"> <input type="submit" value="Submit"> </form> A few more things

    In this article, we had a look at how to make use of the browser-supplied form validation provided by HTML5’s native constraint validation algorithm. For creating our custom validation scripts, we need to use the Constraint Validation API that can be the next step in refining form validation skills.

    HTML5 forms are accessible by assistive technologies, so we don’t necessarily have to use the aria-required ARIA attribute to mark required input fields for screen readers. However it can still be useful to add accessibility support for older browsers. It’s also possible to opt out of constraint validation by adding the novalidate boolean attribute to the <form> element.

    5 Ways Customer Service Can Yield Better Search Results

    hongkiat.com - ma, 19/09/2016 - 15:01

    Nowadays search engine optimization is more focused towards search experience optimization – also known as "the other SEO" – and customer service is an integral part of it.

    Great customer service depends on your ability to identify customer needs by analyzing what information they may look for, how they may want to contact you, and what problems they may have. Giving the right answers to these questions are at the core of every effective customer service program.

    20 Free Ebooks To Improve Your Site’s SEO


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

    20 Free Ebooks To Improve Your Site’s SEO

    Search Engine Optimization (SEO) is not a new field of interest. You've probably heard about it in some…Read more

    Search Experience Optimization makes it easy for users to take action by providing them with apt information, product suggestions, and deals or discounts for your most loyal customers. Your strategy must be driven by information that your SEO team accumulates from customer service analysis.

    Here’s how you can use customer service to improve your search engine results.

    1. Use Customer Feedback to Optimize Landing Pages

    Customer feedback provides you with first-hand user experience reviews. Some of your products may attract a lot of users to your website, while other products may have plenty of potential yet aren’t able to generate major attention.

    A comprehensive customer feedback audit can help you assess your e-commerce choices, and create high-converting landing pages.

    Include your most popular products into your landing pages. Prepare a list of questions customers frequently ask, and optimize your landing pages for these long tail keywords.

    Also consider analyzing all product comparisons potential customers may perform before their purchase decision, and create comparison-oriented landing pages.

    IMAGE: UserVoice 2. Leverage Critical Touch Points (Micro-Moments)

    Online customers are going through a plethora of emotions and motivations until they purchase a product. Google’s “Micro-Moments” concept defines 4 types of moments when people might want to reach out to a brand:

    1. I-Want-to-Know moments
    2. I-Want-to-Go moments
    3. I-Want-to-Do moments
    4. I-Want-to-Buy moments
    5 Mobile Experience Optimization Strategies to Increase Customer Lifetime Value


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

    5 Mobile Experience Optimization Strategies to Increase Customer Lifetime Value

    Your mobile advertising strategy should not be composed of only having a responsive website or app. Strategies should…Read more

    You can use the following principles to capitalize on micro-moments:

    • Be there: When a user searches for a product, you have to be discoverable, so you can market your solution.
    • Be useful: Make sure your services meet the requirements of your customers.
    • Be quick: Mobile users don’t wait for too long. The competition is fierce, and you must be swift in giving people reasons to do business with you.

    The attention span of online customers is increasingly short, so you need to be there for them at the exact moment in which they are looking for a product, or just passing time scrolling through content.

    Here are some tools you can use to monitor your customers’ critical touch points:

    Bontact

    Bontact allows you to engage visitors that land on your site with a custom greeting message & a multichannel live chat with many options of which they can easily choose from. Bontact currently supports discussions via online chat, Skype, SMS, Facebook Messenger, phone and email, and more channels are in the works.

    Thunderhead

    Thunderhead’s "ONE Engagement Hub" platform monitors customer interactions & responses, and provides you with sufficient information about their behaviour. You can even track your anonymous visitors when they return. You can quickly understand your customers’ buying journey, as Thunderhead tracks every portion of their touch points (micro-moments).

    When you are able to engage your customers effectively during their micro-moments, you meet their individual needs, and can close more sales.

    3. Use Social Engagement

    Social channels give marketers a chance to engage with their target audience on a personal level. This is a great way to make people feel the presence of your brand. Marketers who use social media solely for distributing content, or for replying to customer complaints are missing out.

    Starbucks, for one, makes its presence felt on many social networks.

    Using the @MyStarbucksIdea account on Twitter, for example, it keeps customers engaged, and encourages them to discuss or submit suggestions. This type of conversational engagement impresses your existing customers and paves the way for acquiring new ones.

    Aligning your brand with a well-chosen and relevant cause can help as well. Make sure you do so with authenticity, because people can see through disingenuous posturing, which will only hurt your strategy. A forthright approach can do more than good.

    Social entrepreneurs perfectly exemplify how fruitful cause affiliation can be. It is the honesty of social entrepreneurs that drives people to follow them.

    There are plenty of advantages of co-marketing with a social entrepreneur for e-commerce experience optimization. The amount of instant followers you can acquire exceeds any strategy that you can implement on your own. It gives your campaign a moral advantage over others. Co-marketing with a social entrepreneur can help any new brand establish their presence on social platforms.

    IMAGE: Cisco IBSG on Slideshare

    Aligning your SEO strategy around social entrepreneurship can help you ride the wave. It can only be done with an honest approach that shows you actually believe in the cause.

    4. Hound Customer Reviews

    Online shoppers use many filters in order to search for quality products. Make sure that your product pages are optimized for these relevant keywords, and that customer reviews also appear among search engine results, so when a user searches for a product using these keywords they can easily find your site.

    Online reviews can be a great way to provide an authentic and informative product description for potential customers. They can help a brand establish credibility in the eyes of shoppers. When you ask your customers to review your products, they will often be more than happy to deliver your request.

    The job for SEO professionals doesn’t end with acquiring online reviews. Make use of social media channels, and upload the reviews to your profiles.

    5. Optimize Customer Lifetime Value (CLV)

    It’s much harder to reach out and pitch to a new customer who doesn’t know you than to someone who already trusts you. You can greatly improve your chances of selling products to your regular customers with the concept of Customer Lifetime Value.

    To aim for maximum CLV, you’ll need to drill down deep into the spending patterns of your customer base, so you can unearth the biggest online sales opportunities for upselling, cross selling, offering reorders at the right moments, and re-engaging those who have disappeared on you.

    Personalize and promote products that are in sync with the spending patterns of your audience so that every time they land on your site they are directed to something that appeals to them.

    The better you are at retaining customers and earning revenues from them over time, the higher your CLV will go, which, in turn, will justify investing more in acquiring new customers.

    Let’s see two personalization tactics you can use in order to increase your Customer Lifetime Value.

    Personalized Emails

    Consider whether the message you are preparing is meant for a first-time buyer, or for someone already loyal to you. Highlight that in the subject line, and personalize the e-mail to make each customer feel special.

    Segment your list, and make use of automated messaging. When your customers are aware that you value them, it will be quite difficult for them to overlook the discounts and deals you send them.

    Suggest Products

    Track the spending patterns of your regular customers. Next time they land on your site, promote services and products they earlier searched for but did not purchase. You can also refer them products that might be similar to or associated with their earlier purchases.

    You customers want to feel special. They do not want to be associated with some e-commerce business that just fulfills orders.

    Once in a while, surprise them with loyalty bonus or rewards and congratulate them for being great customers. In return, they will gladly spread the word amongst their peers, and help you acquire new customers.

    15 Games & Apps to Get the Most Out of iMessages in iOS 10

    hongkiat.com - vr, 16/09/2016 - 17:01

    iOS users can now do more on Messages than ever before, sprinkle conversations with stickers of their favorite cartoon character, use effects, play games and even plan events or reserve tables at recommended places to eat.

    40 Awesome iMessages Sticker Packs for iOS 10


    .no-js #ref-block-post-27999 .ref-block__thumbnail { background-image: url("http://media03.hongkiat.com/thumbs/250x160/sticker-packs-for-ios10-imessages.jpg"); }

    40 Awesome iMessages Sticker Packs for iOS 10

    Stickers have been available on social messaging apps like Line, Telegram, WeChat Twitter, and Facebook's Messenger and are…Read more

    Here are some of the apps and games you can use and play in Messages with your fellow iOS pals. If you know of more, do let us know.

    Do with Me

    Manage trips, events and group outings via Messages with this handy app. Coordinate shopping lists, plan group holidays, organize office parties and keep everyone on the same page. The app keeps tracks of who crosses out which item in a list, and has a reminder of how many items are left to do.

    I’m In

    This is an event planning app that is great for weddings, parties and reunions. The event organizer can make announcements or changes to the event and keep everyone informed simultaneously with this handy app. This app also helps with keeping track of all the RSVPs.

    Voo Plan

    Planning a get-together is made easy with Voo Plan. Not only does it make intelligent recommendations for places that you will like, it lets you reserve tables at your favorite restaurants, call a Uber and more. The app integrates data from Groupon, Opentable, Eventbrite etc and carries ratings of restaurants, cafes, bistros and more.

    Confide 4.0

    Communicate with friends securely with this app. Text & voice messages, photos and documents sent with Confide are encrypted and will "self-destruct" once they are read. The app comes with screenshot protection and lets you create messages with Siri (just talk, skip the typing). The premium version lets you retract unread messages.

    OpenTable

    OpenTable for Messages lets you share info on restaurants and even cast votes on which place to visit next with friends. Get recommendations on where to dine, find out how other visitors rated the service and food of a new place, and make quick and easy reservations straight from the app.

    GIF Keyboard

    This day and age, we can say things better with memes, GIFs and stickers. GIF Keyboard helps you do that by letting you browse and search for specific GIFs to use in conversations via Messages. Alternatively, you could create your own GOF using your camera and the features of this app. Your created GIFs and stickers can be shared with friends as well.

    Carrot Weather ($3.99)

    A weather app that delivers accurate and detailed forecast from Forecast.io, but what it is popular for is its sassy personality. Fans of the app enjoy the hilarious dialogue, animated scenes and plenty of different themes. The weather might not be an exciting subject but there’s never a dull moment with Carrot Weather.

    Polls with friends ($0.99)

    Some decisions are better made with polls, especially when done in a group. Make the voting process easier with this app. Create polls easily then share them with friends via Messages to get their take on things.

    Games Checkers

    Play checkers with a mate on an 8 by 8 board with this app.

    Checkmate! ($0.99)

    You can play chess in Facebook Messenger, or with this CheckMate! app on Messages. You can play a few games in one go.

    xoxo TicTacToe

    Play the classic game tictactoe with up to 5 players and on a grid that can be as small as 3×3 or as big as 6×6. An iCloud account is required to play.

    MsgMe Word Guess

    If tictactoe is too mundane for you, try Word Guess instead. Choose a word between 4 and 11 letters long for your opponent and start them guessing.

    Words with Friends

    Play this popular word game by Zynga for free in iMessage. Play other players or take the weekly challenge. Available in 6 languages.

    Rock-Paper-Scissors ($0.99)

    Another classic game, only this time, adorable yellow smileys are playing on your behalf.

    GamePigeon

    This free app is home to a few games, including Poker, Sea Battle and Anagrams.

    How to Survive a Wrong Career Choice

    hongkiat.com - vr, 16/09/2016 - 15:01

    “Stuck in a wrong job?” or “did you take a wrong turn in your career?” are the kinds of ideas most job search websites build their promotional strategy upon. Similarly, career blogs and HR journals are also brimming over with write-ups on the same theme.

    This is actually a very effective tactic which appeals to hundreds of employees who think that they might have made a false move in picking out current career. Convinced by this idea, more and more professionals become restless in their respective jobs, leading to a counter-productive working condition which becomes harmful for them.

    Career Dilemma: 5 Needs to Consider Before Saying "I Quit!"


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

    Career Dilemma: 5 Needs to Consider Before Saying "I Quit!"

    It used to be the case that a job is something that workers exchange their labor in return…Read more

    So for the people engrossed in a career dilemma, the following write-up will explore different aspects of a so-called ‘wrong career choice’ and if it is really that wrong for your overall professional life.

    Did you really make a wrong turn?

    Before getting into the debate about the said topic, you first need to be sure if you actually made a wrong turn in your career.

    A professional career is a complex amalgamation of a number of intrinsic and extrinsic motivational factors, and there is a whole bunch of things to be considered before quitting your job, or getting uneasy in your career chair.

    IMAGE: Freepik

    Sometimes, people are not properly guided as how to tap their full potential in their career, and so they end up thinking that they made the wrong choice. In other cases, people don’t try hard enough to fit in their job and in turn blame it on the career they chose.

    I am not suggesting that there is no such a thing as a wrong career. People end up in wrong careers all the time, sometimes in even the worst.

    • Harrison Ford, Han Solo to fans of Star Wars, was initially a carpenter
    • Colonel Harland David Sanders worked in menial positions like as a steamboat pilot and insurance salesman for years before starting the Kentucky Fried Chicken food chain.
    • Julia Child, the top chef behind absolutely exotic French cuisine, worked as a spy for the US government
    Designers: 14 Things You Need To Know About Career Transitions


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

    Designers: 14 Things You Need To Know About Career Transitions

    Let's be honest for a minute; launching and maintaining a career is challenging. We might get settled somewhere…Read more

    The point however, is to fully understand your potential in your field, and before deciding that your current job is not giving out the expected results, you should give a thorough look at what ‘you’ are putting in.

    Here are some solid ways to check if your career is actually making you want to jump ship.

    The experience counts

    There is no substitute for experience. It doesn’t matter which kind of experience you are getting or in which field, the things you’ll learn will always pay off. If you think that your wrong career choice will not look good on your CV, especially when you plan to apply in a totally different field, then you should feel good about being wrong.

    You can make your wrong career look good for you by building upon the diversity of your experience. A diverse experience improves your ability to deal with unknown challenges and helps you to come up with solutions which may be known in one industry but not the other.

    Another way your experience will empower you, is through making you aware of your professional deal-breakers.

    IMAGE: Freepik

    You will know exactly the kind of questions to ask from your potential employer in the next job interview, so you can avoid another wrong turn.

    Lastly, no matter how ill-fitting your career is for you, you’ll be able to learn certain skills and abilities that are relevant and helpful across all walks of life. Such are called transferable skills and may include things like; time management, effective communication and the spirit of teamwork etc.

    A similar topic on acing the job interview by using your failed startup can give you some inspiration.

    Take the best out of the worst

    It is one of my personal habits: once I make a decision, no matter how crooked it turns out, I try to make the best of it. Here I would like to suggest something similar to the people who are stuck with a wrong career choice.

    Think about the positives about your job, no matter how trivial they are, and try to enjoy them to the fullest.

    For instance, maybe the job you opted for is not fit for you but you’ve made some good friends among the colleagues, or perhaps your organization covers your family’s medical expenses. I would say even a free lunch facility can give you some reason to feel good about your choice.

    Remember that good things come in small packages and as soon as you’ll learn to see these small packets of happiness lying all around, you’ll start to feel more positive and content.

    It’s just a job

    If you are ever stuck in a wrong career, don’t take it as an end-of-the-days scenario. I fully understand that once you realize the faults in your career choice, getting uneasy about it and seeing it as a downward trend in your career graph becomes inevitable.

    However, in almost every person’s average professional life, one hops a number of jobs to reach the best one.

    This idea has been supported by the Career Chaos Theory which says that, due to the unpredictable circumstances, for many people the career path is not linear because it is often influenced by certain unforeseen external factors.

    Take your wrong career choice as a source to learn about your right career, and know that one job will not define your entire career.

    Meanwhile, find the right job

    After floating all the aforementioned arguments, my last piece of advice will be to look for the right career.

    IMAGE: Freepik

    Once you are completely sure that the work you are doing is not meant for you, use all the time you can manage to first decide which career you want to go for, and then start searching ways to get into it.

    You can use the time in your wrong job to prepare yourself for the right one, especially if your desired career is totally different than the current one. You can take online tutorials or join an evening school to get yourself acquainted with the field.

    Networking with people from your potential career can also help, both in knowing about the job openings and the field itself.

    At the end, it is important to remind yourself that by saying yes to a career that is not suitable for you, you have not committed professional suicide. A wrong career is after all a choice, and with every choice comes an opportunity.

    You can continue to create opportunities for yourself by capitalizing on your decisions and making the best out of them.

    40 Awesome iMessages Sticker Packs for iOS 10

    hongkiat.com - do, 15/09/2016 - 17:01

    Stickers have been available on social messaging apps like Line, Telegram, WeChat Twitter, and Facebook’s Messenger and are now coming to Messages on iOS 10. One can send stickers as part of the conversation, like how they would send emoji or emoticons, or they could even stick these stickers onto a photo before sending it off.

    If you are new to this and would like to try it out, here are 40 sticker packs to get you started on Messages. Note that for these sticker packs to work, you have to be on iOS 10. This also means the receiver of these stickers will also have to be on iOS 10 in order to be able to fully appreciate them. All sticker packs listed here are free unless stated otherwise.

    Disney Stickers: Mickey Mouse ($1.99) Cut the Rope (Free) WWF Origami (Free) Frozen ($1.99) Disney Sticker: Princess ($1.99) Kleptocats (Free) Disney Stickers: Finding Dory ($1.99) Disney Stickers: Lion King ($1.99) Disney Stickers: Stitch ($1.99) Cookie Monster (Free) Disney Stickers: Zootopia ($1.99) Disney Stickers: Beauty and the Beast ($1.99) Super Mario Run (Free) Disney Stickers: Inside Out ($1.99) Stickymappers (Free) Disney Stickers: Cats and Dogs ($1.99) Star Wars ($1.99) Anitate ($1.99) Iconfactory Dino Stickers ($0.99) PBS Kids (Free) Aardman Face Bomb Sticker Pack (Free) Angry Birds Stickers (Free) Cats Animated ($1.99) Kelso the Pomeranian ($0.99) Bubbly Pico! (Free) Comic Sticker Pack ($0.99) Sticker Pals (Free) Echo the Cat (Free) Retro Emoji (Free) More Sticker Packs You Might Like

    Designing Focused Interfaces for Better User Engagement

    hongkiat.com - do, 15/09/2016 - 15:11

    User engagement is a tricky metric that can be achieved in different ways for different projects. Most designers think of the interface when they talk about interactivity, but page content can also encourage user interaction. For better user engagement, it’s important to write engaging content, and present that content in a catchy design.

    It’s much easier said than done, but if you learn some fundamentals you’ll have no problem crafting a focused UI with great content for your projects.

    Intuitive UI & How it Can Help Improve UX


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

    Intuitive UI & How it Can Help Improve UX

    If you see two user experience designers talking to each other, the topic of discussion would most probably…Read more

    In this post, I’ll show you how to increase user interaction & content engagement on web-based interfaces. These are the two most common ways to engage a visitor, and if you can optimize the experience you’ll have no problem increasing that lucrative time on page metric.

    Capture Novelty

    The concept of novelty defines an event or thing that’s generally new, often very new and unique based on context. Novel events catch our attention because they stand out. This is also true of interface design with novelty representing elements that seem to jump off the page.

    I recently found a great post discussing the importance of novelty when it comes to engagement. Users seem to gravitate towards novel experiences, interfaces, and UI elements because they’re different. The sole fact of being designed differently often draws attention.

    One common example is the call to action button found on most landing pages. You can also build novelty with background photos, illustrations, or app screenshots, such as on the Uber for Business landing page.

    This page does have a call to action button but my attention immediately goes to the screenshots. They animate when first loaded so this combines novelty of design with motion to grab attention.

    An alternative would be GiftRocket using illustrated icons as links to delve further into the site.

    Both of these examples use novelty to their advantage. You can’t always draw people further into the site, but you will see better results if you catch their attention on a visceral level first.

    The design is the first thing visitors see, and you need to catch their attention within seconds to encourage further engagement.

    Skimmable Typography

    Studies have found that most users scan a webpage rather than read it word for word. You’ll probably want to draw people into reading your content, but you can only do so much.

    The best alternative is to create skimmable content with headlines, bolded text, and pictures that illustrate what you’re trying to say. I can think of at least three powerful writing techniques you can employ in your content to increase readability:

    1. Divide content with clear subtitles
    2. Break up paragraphs to make them smaller
    3. Use bulleted lists to share your points quicker

    The goal is to keep your readers moving down the page by whatever means necessary. By keeping content small in bite-sized chunks you’ll have a much easier time capturing attention and driving people further into the site.

    Check out the Quick Sprout blog for an example of this writing style. The content is written by Neil Patel and he often writes very longform content, but he breaks down the paragraphs into 1-3 sentences each.

    If you have proper headlines, and use images/bullet points throughout the content you’ll get people skimming and reading a lot further. Also be sure to increase the amount of whitespace between paragraphs. Margins and paddings both play a huge role in layout design & readability.

    Design text so that it’s actually fun to read. Boring copy won’t entice, but neither will fun copy that’s too small or lacking contrast.

    Eye-Catching Images

    A recent case study by Backlinko suggests that pages with at least one image generally rank higher than pages with no images. This is great from an SEO perspective.

    But what about user engagement? If you can keep that one image above the fold or close to the top it’ll also capture attention of visitors before they bounce. Remember that novel page elements tend to attract.

    When you have an image (or many images) interspersed throughout the page you’ll break up the monotony of boring text blocks. Users can take a break from reading to appreciate the image, or make a connection between the image and the written content. But as with most design techniques, quality is more valuable than quantity.

    A Moz case study found that high-quality images tend to keep visitors on the page for much longer. On the other hand, poor-quality images don’t work as well and in some cases they caused visitors to bounce quicker than with no images. You should try to include at least one image that’s relevant to the content and that provides value to the reader.

    TechCrunch does this with featured images in their articles where you’ll often find a featured photo above the fold.

    WordPress makes addition of featured images easy with the post thumbnail feature. You can set a distinct photo for every post you write and force these to appear at the top of the page. This is a perfect way to give visitors a glimpse of what the content’s all about, and to increase CTR for related post widgets that also contain the post thumbnail.

    Contrasting Page Elements

    If you need to bring attention to one particular area on a page then asymmetry is your best friend. Contrast drives a hard wedge between specific areas of a design or certain blocks of content.

    Visitor’s naturally ravitate towards contrast because it’s different. Large juxtapositions of color, size, or whitespace draw the eye because it breaks the mold of everything else in the layout.

    My favorite example for contrasting page elements is perhaps the home page of Sketch. There’s a lot of contrast found between the two call-to-action buttons, one for downloading a Sketch trial and the other for buying a copy.

    The purchase button uses a full background color much brighter than other colors in the header. The button text is also brighter compared to the free trial button. This leads visitors towards the Buy Now button solely from visual stimuli.

    You’ll notice a similar technique on the home page of Optin Monster. This header only has one button labeled Get OptinMonster Now. It’s a bright green button on a blue background with no other green elements in sight.

    The color, size, and shape all draw your attention because it contrasts with everything else in the header. Directly beside the button is a small text link for a video preview. It’s probably a great video and it deserves attention, but not as much as the trial/signup CTA button.

    For a blog, you might have different qualifications for user engagement. One common choice is a newsletter signup form such as the example on Aeolidia.

    If you scroll down to the bottom of the content you’ll notice a fancy-shmancy signup box designed just for the newsletter form. It stands out from the rest of the page with a unique background color, fun typography, and a cute King Triton icon.

    The best way to design with contrast is to study examples and just experiment. See what works and what doesn’t by tracking metrics with A/B testing. If you’re looking for more examples check out this Codrops writeup full of tips and screens of live asymmetrical websites.

    Encourage User Interaction

    There are so many ways to keep visitors interested in a site, but the most common is to get them doing stuff. This is true of both static blogs and dynamic social sites. There are no one-size-fits-all tricks for this. You can do whatever works to make users feel engaged with the page.

    In a static site, you might add lots of related links for reading more, or include image slideshows. You can also add forms for user comments or an email newsletter.

    When it comes to dynamic interfaces, the purpose of the site is usually to encourage user engagement. The biggest hurdle is teaching users how the site works, and how to properly engage with the interface.

    Check out this post by KissMetrics talking about user engagement techniques. One of the best strategies I’ve found is to design a guided tour which leads visitors through each of the primary features.

    Think about how confusing the prospect of Twitter would be to a brand new user. If they don’t follow anyone and don’t have any followers, why would they tweet?

    The “Follow suggestions” box during signup helps new users get acquainted with how Twitter works. This feature primes new users to start engaging with the platform, and to experiment with features such as follows, tweets, and private messages.

    Aside from a guided tour you’ll also want to make the interface straightforward. Prime features should be 1-2 clicks away from the user’s dashboard or main page. Intuitive interfaces need explanation, and simplicity captures attention much quicker.

    By understanding all of these techniques, you’ll have an easier time building interfaces that solve users’ problems, and encourage new users to join. If you’re looking for more UX design engagement tips check out these related posts:

    30 Acronyms Web Developers Should Know

    hongkiat.com - wo, 14/09/2016 - 15:01

    The jargon of the web development industry contains so many acronyms we are using day in and day out, that it’s not only daunting for novices, but sometimes also hard for practicing developers to follow. Most of us safely use more common acronyms such as HTML, CSS, or HTTP, but what about the less widely used or newer ones?

    10 Numeronyms Web Developers Should Know


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

    10 Numeronyms Web Developers Should Know

    Developers and tech-savvy people have always been attracted to numbers, so it's just a matter of course that…Read more

    In this glossary, we have collected 30 acronyms that are frequently used in today’s web development articles and discussions in order to help our readers keep up with the contemporary industry lingo.

    1. ARIA

    Accessible Rich Internet Applications: sometimes also used as WAI-ARIA.

    Web standards published by the World Wide Web Consortium (W3C). The ARIA specification defines different front-end methodologies that make web content accessible for disabled people who access the web with assistive technologies (AT), such as screen readers.

    A Look Into: ARIA Web Standards & HTML Apps Accessibility


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

    A Look Into: ARIA Web Standards & HTML Apps Accessibility

    A truly open and inclusive web needs technologies that allow disabled users relying on assistive technologies to enjoy…Read more

    2. ACSS

    Atomic Cascading Style Sheets: a CSS writing methodology developed by Yahoo.

    ACSS is based on reusable, single-purpose (Atomic) classes and short, predictable class names that make it possible to style directly the HTML. Atomizer is a tool that can help generate Atomic classes for web projects.

    3. AMP

    Accelerated Mobile Pages: a mobile web standard initiated by Google with the purpose of making mobile sites faster.

    AMP restricts how we can use HTML, CSS, and JavaScript in order to improve performance, and it provides us with Components we can use to load external resources and run scripts via the AMP runtime.

    4. API

    Application Programming Interface: a set of pre-written code features (properties, methods, classes, etc.) specified by the publisher of the API, that help us use best practices and write consistent code.

    We can choose from many web APIs, but social media and technology sites, such as Facebook, Twitter, and Google also publish their own APIs.

    5. BEM

    Block, Element, Modifier: a naming convention for writing readable, consistent, and maintainable CSS classes.

    When using the BEM methodology, we create classes throughout the whole project that follows the block__element--modifier syntax.

    • Blocks are the names of standalone entities, such as menu or button.
    • Elements are different parts or functionalities of the blocks, such as success or alert.
    • Modifiers change the style of blocks, such as large or small. For instance, .button__alert--large would be a valid BEM class name.
    6. CDN

    Content Delivery Network: a network of distributed servers that store duplicate copies of our web content.

    CDNs allow us to deliver content to each user from a server that is closer to their location or less overloaded. This way we can achieve better performance and reduce server downtime.

    7. CMS

    Content Management System: a software that allows us to publish, modify, and organize different kind of digital content.

    Most CMSs are used for web publishing, such as WordPress, Drupal, and Joomla. CMSs separate content from presentation and functionality, therefore make it possible to manage web content without any coding knowledge.

    8. CRUD

    Create, Read, Update, Delete: a term used in database management, it contains the four basic functions of a persistent database.

    In SQL, the four related commands are: INSERT (for Create), SELECT (for Read), UPDATE (for Update), and DELETE (for Delete).

    CRUD functions describe the typical data life cycle on dynamic websites.

    9. CSSOM

    Cascading Style Sheets Object Model: a set of APIs used by browsers to properly render CSS styles on a web page.

    The CSSOM represents all CSS styles (selectors and their properties) on a web page as a map of nodes. CSSOM has a similar tree structure to DOM, but it’s a separate data model.

    10. CTA

    Call-To-Action: a marketing term frequently used in web design.

    A CTA is a message directed to users or prospective customers to take an immediate action. In web design, CTAs are usually dressed up links that aim to entice users to click a button, banner, advertisement, etc.

    11. DOM

    Document Object Model: an API for HTML and XML documents, used by browsers to render these documents.

    The DOM specifies the logical structure of a document, and represents it as a node tree in which nodes are objects that represent different parts of the document. Nodes can be created, modified, and removed.

    12. ECMAScript (ES)

    European Computer Manufacturers Association Script: a scripting language specification on which the syntax of JavaScript – along with JScript and ActionScript – is based.

    ECMAScript got its name from the European Computer Manufacturers Association, the organization that standardized it.

    13. FOSS

    Free and Open-Source Software: a software that is free in the sense that it doesn’t have any constraints on copyrights, and open-source in the sense that anyone can access and modify the source code of the software.

    Sometimes also referred to as FLOSS. See GNU‘s stance on the FOSS vs. FLOSS terminology.

    14. FTU

    First Time Use: the first time a user loads a software after installation.

    FTU is a crucial part of the app adoption process. User retention rates can be improved if user onboarding is properly designed. During FTU we can show how an app works, or make users set important options (time zone, language, preferences, etc.).

    15. GUI

    Graphical User Interface: a type of user interface, as opposed to command-driven interfaces.

    A GUI makes it possible for users without technical knowledge to interact with a software without learning command languages, such as MS-DOS. GUIs use graphical icons and a visual language to enable users to give commands to the application, and to take inputs.

    16. IDE

    Integrated Development Environment: Aa software application that provides us with a programming environment that integrates different tools needed for development & testing, such as a source code editor, build automation tools, a compiler or interpreter, and a debugger. Xcode, Eclipse, and Visual Studio are examples of IDEs.

    17. IIFE

    Immediately Invoked Function Expression: a popular JavaScript design pattern that creates a lexical scope.

    An IIFE is a function expression that is executed immediately after it’s evaluated. It can be used for storing code that needs to be executed only once, namespacing, and creating private variables and closures.

    An IIFE uses the following syntax:

    (function(){ // code }()); 18. ITCSS

    Inverted Triangle Cascading Style Sheets: a scalable CSS architecture for reusable CSS code.

    ITCSS splits CSS properties into levels based on their specifity and importance. The levels are represented as an inverted triangle in which specifity increases from the flat top to the tip at the bottom.

    19. JSON

    JavaScript Object Notation: a language-independent, human-readable data format for interchanging data.

    JSON can store objects as collections of name-value pairs, and arrays as ordered collections of values. Its syntax is similar to JavaScript’s, that’s why it’s the most common data format in JavaScript-based applications.

    20. LAMP

    Linux, Apache, MySQL, PHP/Python/Perl: a popular web stack for creating dynamic websites.

    The LAMP stack consists of Linux as operating system, Apache as web server, MySQL as database management software, and PHP, Perl or Python as scripting language. Its Windows variant is called WAMP, while its OS X variant is MAMP.

    21. LTR/RTL

    Left To Right / Right To Left: terms used in internationalization

    LTR and RTL are locale properties of the language or country settings of a UI. LTR stands for Left To Right, RTL stands for Right to Left. They indicate the direction of the text.

    Most languages are LTR and interfaces are usually designed for them, but you can easily add RTL support to most CMSs, such as to WordPress with the rtl.css file.

    22. MEAN

    MongoDB, Express.js, Angular, Node.js: a JavaScript-only web stack for creating dynamic websites and web applications.

    The MEAN stack consists of the MongoDB NoSQL database, the Express.js web application framework, the Angular.js frontend framework, and the Node JavaScript runtime, and it runs on any operating system.

    23. MVC

    Model-View-Controller: An architectural pattern used in object-oriented programming.

    The MVC pattern keeps the data logic separate from the user interface by grouping objects into three groups: Model Objects for the underlying data structure and logic, View Objects for the user interface, and Controller Objects for acting as intermediary between other objects and for task coordination.

    24. OAuth

    Open Authentication: An open protocol that makes secure authorization possible in a safe and standardized way.

    OAuth is frequently used as a method for enabling users to log in to a site using third-party services, such as Facebook, Twitter, or Google – this way removing the barrier of registration.

    25. OOP

    Object-Oriented Programming: A programming paradigm as opposed to procedural programming.

    In OOP, we create models similar to the real-world environment by making use of four major principles: abstraction, encapsulation, inheritance & polymorphism. At the centre of OOP, there are objects that hold encapsulated data in the form of properties and methods.

    26. REGEX

    Regular Expression: A text pattern used for matching character combinations in different strings.

    Regex makes it possible to easily search certain sequences of characters in a text, and to validate user input. Regex is part of many popular programming languages, such as JavaScript, PHP, Python, Ruby, Java, and others.

    27. REST

    Representational State Transfer: A set of software design architectural guidelines for data transmission between client and server. Following the principles of the REST architecture, we can create RESTful APIs for our web applications.

    28. SCM

    Source Control Management: a system for managing multiple versions of the same document, application, code, or other kind of information. Also called version or revision control management.

    SCM makes it possible to keep track of changes, and prevent information loss. The most popular SCM systems are Git and SVN.

    29. SMACSS

    Scalable and Modular Architecture for Cascading Style Sheets: A CSS writing methodology that allows us to modularize CSS code, and make it more readable and maintainable.

    SMACSS defines 5 types of style rules (base, layout, module, state, theme), and identifies them with different selector prefixes.

    30. WYSIWYG

    What You See Is What You Get: A type of content editor that allows users to edit text, images, and other content types without writing any markup.

    In a WYSIWYG editor, users can see how the end result will look like while they create the content. The post editor interface of WordPress and most blogging platforms are good examples of WYSIWYG systems.

    Should You Work For Yourself?

    hongkiat.com - wo, 14/09/2016 - 12:01

    After working a 9-to-5 job for some time, it’s natural to think about quitting and starting out on your own. Most of us only dream of it though, preferring the monthly paycheck and vacation days rather than the endless working hours and risks business owners will need to take.

    Diving Into E-Commerce: Do You Have What It Takes?


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

    Diving Into E-Commerce: Do You Have What It Takes?

    You may have come across this infographic depicting the new generation of tech millionaires under the age of…Read more

    However, if you find that it’s time for your to make a move into your own business, take 5 minutes to look at this infographic to help you decide on whether that move is a good idea. It helps you understand the importance of having a strong business idea, self-motivation, business financial skills, and whether you cope well with risk or prefer routine. You might be able to find the answer you are looking for.

    H/T: Business Backer

    Advanced Tips & Tricks for Better Online Privacy and Security

    hongkiat.com - di, 13/09/2016 - 15:01

    With social networks and tons of places to spend time online it is important to be aware of security measures you can take and what pitfalls to avoid. With the default stock configuration of your systems and browsers, you should be safe but whether you are safe enough depends on how seriously you take your safety and privacy online.

    How You Are Helping Hackers Steal Your Data


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

    How You Are Helping Hackers Steal Your Data

    We know hackers are all around us, and that's why we are extra paranoid about our online accounts…Read more

    The need of the hour is to move beyond simple security measures and opt for advance techniques to enjoy a safe, secure and private online experience. Here are some of safety measures you should know of and take heed, to make yourself safer online.

    Always check for telltale signs

    There are a few telltale signs that indicate a problem or something fishy with a site.

    1. Padlock icons: Green padlock is good but any other color (orange, yellow or red) indicates a issue.
    2. HTTPS in the address bar: HTTPS means the site is on a secure connection (and safe from prying eyes). By January 2017, Chrome will label HTTP connections as not secure.
    3. Phishing and malware alerts: Such alerts given by the browser means the site is insecure to visit and must not be viewed, in any case.
    4. Suspicious attachments in email: Emails with suspicious attachments are likely spam and may lead to phishing attacks

    These are the indicators that the website or page you’re viewing is not safe/secure, known of having malware or exploited for malicious use like cheating people, hacking into their data, etc. There is also danger in the handling of payment details leading to potential thefts or other attacks.

    Don’t share info with strangers or new friends

    With the increasing use of social networks, we run the risk of oversharing what we shouldn’t. If we are not careful this could lead to identity theft issues or stalking cases. If you are not familiar with privacy or security settings, here are a few tools and posts with tips you can use to configure privacy settings in popular social networks.

    1. Facebook: Privacy Checkup, Security Tips, Privacy Basics, 5 Facebook Privacy Settings You Should Know, How to Use Facebook’s Mystifying Privacy Settings
    2. Twitter: Protecting Tweets, Account Security Tips, Twitter privacy and security tips
    3. Google+: How you Share Info, Google+ Security, Privacy, and Safety
    4. LinkedIn: Account and Privacy Settings, 5 Ways to Protect Your LinkedIn Account, 6 Security and Privacy Tips to Help You Deal With LinkedIn’s Current Security Crisis
    Always have alternative email addresses

    The selling of email addresses and personal data is rampant online, not to mention very easy to look up. Apart from that hacking cases also lead to the exposure of user data pertaining to online accounts. Here is where having alternate emails can be of use.

    Using just one email everywhere may allow malicious people to get hold of and target the email for spam or identity theft. It’s a good idea to have an alternative email, for sending mail to strangers, signing up for newsletters or to filling up forms at unknown or untrusted websites.

    This second email gets all the inevitable spam or unwanted emails while the official email remains clean and unexposed. Additionally, you can always forward important emails from the second address to your primary email and set a filter to keep those mail in a separate folder.

    Simply add the second email to the first email’s account (using SMTP) and send mail as the second email directly from your official email only. This way your primary email account is nicely organized, free from spam, and even you don’t need to login to another account to do less secure tasks.

    For creating a side or temporary email account, you can always use one of the popular email providers or go for a temporary/anonymous email provider:

    1. Zoho Mail: One of the leading email providers wherein you can create a separate account for third-party emailing [AboutSign up for Zoho Mail]
    2. AOL Mail: One of the oldest and trusted email provider that allows creating email addresses and their aliases [AboutCreate AOL Username]
    3. Trashmail: A super-easy temporary email provider that doesn’t ask you to register an address – you just need to use it [About | Use Trashmail]
    4. HMA Anonymous Mail: Lets you create an expire-able email account that requires zero personal information from you [About | Sign up for Anonymous Mail]

    Also included are tips and tutorials for managing your mailbox with multiple email ids in a single inbox for popular email providers:

    1. How to forward emails in Gmail, Outlook and Yahoo Mail
    2. How to use/configure filters in Gmail, Outlook and Yahoo Mail
    3. How to send mails from different or secondary email address or using an alias in Gmail, Outlook and Yahoo Mail
    Avoid logging into personal accounts at the workplace

    Keeping business and leisure separate is always a good idea, especially when it is to do with personal accounts at the workplace. Avoid using your personal email address at work and never access private accounts like your bank account while at work.

    If you’re really required to access your personal accounts for any reason, then do remember to do a security check using an anti-malware. Moreover, if you’re the owner or admin of your system and look for any suspicious program (though it’s hard to easily find a tracking software as it’s mostly hidden).

    As an alternative solution, you can always use your smartphone coupled with data pack to send personal emails without getting tracked anyhow by your employer. If you’re using the same on your employer’s WiFi, then do consider using Tor or a VPN (discussed below) or encrypting the mail contents for safety (discussed below too).

    Enable two-factor authentication

    Two-factor authentication is a security mechanism that asks for a second key or passphrase in addition to the password. The same has been long used by high security systems (in the form of RSA hard tokens), but it is now generated and sent through text or email or generated using a smart app.

    Two-factor authentication keeps away snoopers from accessing your online accounts – even if they get their hands on your passwords somehow. Do note that it’s not supported in every website or service, however many popular providers avail this security feature (see below).

    1. Google: Sends a 6-digit verification code using text message or one can generate the same via its Authenticator app [About | Download | How to activate]
    2. Facebook: Its less-known ‘Login Approval‘ feature sends a 6-digit PIN code via SMS when one attempts to log in from a new machine [About | How to activate]
    Do use Tor or a VPN service

    Tor is an online traffic router and encryptor, letting everyone believe you’re using the web from a different location and encrypting your traffic to safeguard against prying eyes.

    A VPN is a traffic encryptor for disguising and securing your web data to avoid tracking and censorship from hackers, employers, ISPs and governments.

    Using Tor or a VPN prevents third parties from monitoring your activities and keeps you safe from various types of hacks and attacks. Both technologies route your web sessions inside encrypted tunnels to safeguard your privacy.

    One can think of this tunnel as a private, self-owned phone wire between you and Tor network or the VPN provider. This guarantees that no other person can check or track your online activities or look into your data.

    Check below for how to download and setup Tor or the popular VPNs easily:

    1. Tor: Peer-to-peer, free traffic router for and by privacy enthusiasts [About | Download | How to install]
    2. CyberGhost: Popular and free VPN service known and trusted for its quality [About | Download | How to install]
    3. Spotflux: Free VPN provider with adblock and data compression features [About | Download | How to install]
    Encrypt everything

    Encryption packages the private data including passwords, financials, images and videos inside password-protected containers that works like ‘a box with a lock‘. That locked box can be opened only by you and other authorized parties (having password). This will help you keep your communications private and hence avoid various types of attacks or thefts.

    Top 10 Online Storage Solutions with Encryption


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

    Top 10 Online Storage Solutions with Encryption

    Online storage solutions provide users with a backup facility for their digital data. Every day, many electronic devices…Read more

    Check below some of the tools that help encrypt your emails, IMs, online documents, data on cloud storages, etc.:

    1. Tutanota: Inspired by the FOSS principle, it offers a completely free, encrypted email service out of the box [About | Sign up]
    2. Hushmail: Provides enhanced security features to keep your emails safe and protected (including attachments) [About | Sign up for Free]
    3. ChatCrypt: Encrypts your messages, making them readable only by the participants having the same secret password [About | How it works]
    4. Cyph: A free in-browser messenger app with built-in end-to-end encryption for having private, encrypted conversations [About | How to use]
    5. DocSecrets: An add-on for Google Docs that encrypts sensitive information (like passwords) and highlights the secret texts [About | Download | How to use]
    6. Cryptomator: A free client-side encryption tool to encrypt your files before sending or storing them at any online cloud storage [About | How to use | Download]
    7. SecureGmail: A free tool from Streak to send encrypted mails using your favorite Gmail (receiver is asked for password to read) [About | How to use | Download]
    8. Mailvelope: An open source mail encryption tool that works for Gmail, Outlook, Yahoo Mail and few others [About | Download | How to use]
    Use tracking-blocker plugins

    Tracking-blocker plugins are browser extensions that help you get rid of online trackers, ad agencies and other organizations that tracks and feeds on your data. Such trackers keep record of everything you do online (which websites you visit, what searches you make, which ads you click, etc.).

    Using tracking-blocker or ad-blocker plugins in your browser lets you browse the web privately with no one monitoring your online activities for monetary profits. It also minimizes page-loading time and saves your Internet bandwidth (by small ratio, though).

    Find below the links to download and set up such cross-browser, cross-platform plugins:

    1. Ghostery: Protects you from the unknown trackers and gives you the power to manage your personal data [About | Download]
    2. Disconnect: Supports private browsing and searching, and prevents malware and adware from websites to track your activities [About | Download | How to use]
    3. Adblock Plus: Blocks various trackers, annoying ads, compromised domains, pop-ups as well as video ads while surfing the web [About | Download]
    4. Privacy Badger: Blocks the spying ads and invisible trackers from monitoring your online actions (and comes from EFF) [About | Download]
    Understand browser cookies

    Most of the sites install cookies in your browser, which are used for tracking your session data and user’s login information as long as you’re browsing the same website.

    Some cookies are also used for cross-site tracking, to serve adware and show irritating pop-ups. Hackers can, unfortunately, hijack these to gain access to your logged-in accounts.

    Install cookie management tools

    To prevent cookies from tracking your data or revealing important information, you need to manage cookies using cookie management tools.

    Such tools give you total control over cookies in the browser – view, manage or clear/delete them. By storing the right cookies and deleting all suspicious or sensitive cookies (that holds login or account info), you can be sure they won’t compromise security of your data or logged-in accounts.

    1. Cookie Manager: A Google Chrome add-on that lets you add, edit and delete cookies through the toolbar [About | Download]
    2. Firebug: A Firefox add-on that manages cookies in your browser and helps filter and delete them easily [About | Download | How to install]
    3. IECookiesView: A third-party tool that details all cookies in the Internet Explorer and assists you in managing them [About | Download]

    Did you find it helpful to secure your online experience? Do you know any more tips? Please share your knowledge and experience with us through comments section below.

    Pagina's