Javascript News

Syndicate content
Pipes Output
Updated: 17 hours 25 min ago

5 JavaScript APIs to empower your mobile web pages

Do, 2014-07-24 18:30

Statements like

"The mobile market is increasing"


"People accessing the web through a mobile device (smartphones, tablets etc.) will overtake those accessing it through a desktop or a laptop"

don't impress anymore.

Today we're all aware, at least we should be, that the mobile market is significant when developing anything for the web.

For years there has been discussion and differing points of view about native applications versus web applications and on which is the best. Regardless of your opinion, it used to be a fact that native mobile applications allowed to access hardware components that web pages couldn't. But is this gap still valid today? Have web technologies improved to the point where we, as developers, can code with just HTML, CSS, and JavaScript?

In this article I'll introduce some JavaScript APIs that allow your web pages to access hardware components of mobile devices or that can empower your web application on mobile devices.

Battery Status API

The Battery Status API provides information about the system's battery level or status. Thanks to this API you are able to know if the battery is charging or not, how long before the battery will be fully discharged, or simply its current level. These details are accessible through four properties that all belong to the window.navigator.battery object. This API also defines events that can be fired when there are changes in the mentioned properties.

Continue reading %5 JavaScript APIs to empower your mobile web pages%

Media Queries: A Look at Different Media Features

Do, 2014-07-24 18:00

If you have worked with responsive design, you have probably used media queries. Media queries are a clean and simple way to create responsive websites using CSS. They work by allowing you to change the style of the page when the user’s screen is a certain size. Here is a simple example:

[code language="css"] @media (max-width: 700px) { p { color: red; } } [/code]

Live Demo

This media query causes the paragraph’s text to turn red when the screen’s width is 700px or smaller. If you wanted to turn the text red when the screen is larger than 700px, you would use “min-width” instead. You can also set two separate queries such as “max-width” and “min-width”. Here’s how that would look:

[code language="css"] @media (max-width: 700px) and (min-width: 500px) { p { color: red; } } [/code]

Live Demo

Awesome! The text will only be red if the width of the screen is between 500px and 700px.

Now what if you want some styles to be applied if the screen’s width is smaller than 500px or bigger than 700px? You can do that using a comma to separate the queries, like this:

[code language="css"] @media (max-width: 500px), (min-width: 700px) { p { color: red; } } [/code]

Live Demo

Notice in the demo that if the window is between 501px and 699px wide, the text will not be red.

Media queries can be written in many different ways as well.

Directly in your HTML:

[code language="html"] [/code]

And in addition to the method we’ve used above, you can write them using @import in CSS:

Continue reading %Media Queries: A Look at Different Media Features%

WordPress Theme Development: Getting Started with Underscores (_s)

Do, 2014-07-24 17:15

This article is for developers who build custom WordPress themes. There are times when buying a premium theme or modifying it with a child theme are fine, but in many situations, there isn't an existing theme that fits a client's content needs precisely or that conveys their visual identity correctly.

There are a number of useful blank themes or starter themes available for custom WordPress theme development. Some of the more common ones include Bones, Roots, Joints, HTML5 Blank, and HTML5 Reset. These themes have various levels of built-in styling. Some rely on Bootstrap; others use Foundation. Some include a CSS reset; others simply include normalize.css.

My personal favorite is _s (also called "Underscores). It's a blank theme maintained by Automattic, the company who runs, Jetpack, Akismet, and Gravatar. This ensures that it stays fresh and up-to-date with current WordPress code standards. In fact, at least 30 updates were made just last month.

Not only is _s up-to-date with WordPress standards, it also stays on top of HTML5 standards. Using semantic tags like <header>, <footer>, <nav>, <article>, and <section>, it presents your content as accurately as possible for search engines. Note: if you're concerned about layout in IE8 and down, include html5shiv in your theme.

Another thing I love about _s is what it doesn't have. It doesn't have a grid system, options framework, or js library. In other words, it doesn't have bloat that I'll have to trim later. The only styles it has (besides a reset and navigation) are the ones I choose add. I understand that plenty of people rely on CSS frameworks to speed up development, but I'd rather invest the necessary time in development and speed up the site!

Continue reading %WordPress Theme Development: Getting Started with Underscores (_s)%

Cage Match! Stock Photography Sites Go Head-to-head: Part #2

Do, 2014-07-24 16:45

In part #1 of our Stock Photo Cage Match we took a close look at iStockphoto and 123RF to see how they matched up when pitted against each other on the usability of the sites, value for money and available range.

Both sites performed pretty well and there was very little in it when it came to the final scores, with iStock scoring 4/5 and 123RF pipping the older site to the post with a score of 4.5/5.

When it came to the crunch, 123RF was simply better value for money. Both sites had a massive amount of images on offer, with 123RF again just performing a little better thanks to how often new images are added.

Overall it was a close call and I do tend to feel that these sites are all good quality with many of them offering a similar experience in search, aesthetics and stock.

Today, we’re going to be looking at two more sites: Fotolia and Shutterstock, both names which I’m sure many of you are already familiar with. Again, we will give each site a score, based on each site’s strengths and weaknesses and we’ll be restricting our search to images and illustrations.


Based in New York and founded in 2005, Fotolia is a community-based stock image site with more than 29 million photos, vectors, illustrations and videos which are crowdsourced.

The site claims to be ‘devoted’ to offering affordable content to its substantial user base numbering more than four million.

Fotolia attributes its success to the large community of artists, photographers, graphic designers and the select list of well-known agencies that it works with. Images that are uploaded to the site are all moderated, which ensures continuity when it comes to the standard of the stock. There are plenty of images to be found on this site and it again seems highly unlikely that you would struggle to find what you’re looking for here.

As well as being competitive on price, Fotolia claim to pay the highest commission on the market to its photographers and artists and the site sees millions of downloads per year. The images found are all offered on a royalty-free basis, so can be used to any design or document project with no time limit on when images can be used.

The site was the first in the world to offer crowdsourced images alongside professional on the same site and its success is evident as it is now a global concern with websites in 15 languages and 23 regions.


Fotolia’s pricing structure is similar to that of iStock and does seem to be a little on the pricey side when compared to 123RF. There are two payment options, you can either pay using the pay-as-you-go credits system or by monthly subscription. Either way, you have to sign up to the site first before you can purchase any images.

Continue reading %Cage Match! Stock Photography Sites Go Head-to-head: Part #2%

Getting Started with ImpressPages

Do, 2014-07-24 16:00

Content management systems (CMSs) are among the most used web tools nowadays. Users range from designers and developers, to bloggers and project managers. However, even with a wide range of products on the market, users often neglect to try out new systems and experience new possibilities.

To broaden my horizons, I decided to explore the market and see what other CMSs have to offer. This time I am going to look into ImpressPages, a PHP based CMS built on an MVC engine.

What makes ImpressPages differ from other CMSs is code structure, customizability, the admin panel built on Bootstrap and an inline drag and drop editor. In this step-by-step tutorial, I am going to cover the very first steps of launching a website on ImpressPages.

Downloading and Installing ImpressPages

Download ImpressPages first. It’s important to check if your system meets all the requirements for running the CMS:

  • Apache server with “mod_rewrite” (adapt to Nginx as needed)
  • PHP 5.3.3 or newer;
  • PHP GD library;
  • PHP mbstring library;
  • PHP curl library;
  • PHP PDO library;
  • MySQL 5 and higher;
  • 30+ MB free disk space;
  • ini_set function enabled.

After you create a database in MySQL which ImpressPages will use, unzip the contents of its archive into your web server’s root, or wherever you mean to serve it from, and run it (either via localhost, or through the virtual host you’ve set up, depending on your configuration). The installation process has been recently updated and now takes only two steps instead of six.

After configuring your site information (website name, email and time zone), you will be automatically transferred to database installation. If your system doesn’t meet all the requirements, an error will be shown with information on what needs to be fixed.

Once the installation is complete, you will be transferred straight to your new website. You’ll be be able to change the administrator’s credentials there.

Continue reading %Getting Started with ImpressPages%

Tweaking Your Website? Do It Safely with Google Experiments

Do, 2014-07-24 14:00

You might be aware of Google Analytics' Experiments feature, but it can be a little intimidating if you've never used it.

There's no need to be scared, though: Setting up an experiment is actually quite simple. In this article we'll walk through to how to set up Google Experiments step by step, but first of all let's take a minute to review the benefits the tool offers.

What does Google Experiements do?

Google Experiments sends a part of the traffic your page receives from Google to a variation you've created, meaning you can compare slightly different versions of your site and see which performs best. Practically speaking, this means you can put anything--website copy, images, layout--to the test and see which gets the best reaction from users in terms of clicks or conversions before commiting yourself to a new design.

Using Google Experiments, it's impossible to lose--if users don't react well to the new changes, just flip back to the original version of your site.

And once you're comfortable with the process, it's a tool you can use time and time again.

Continue reading %Tweaking Your Website? Do It Safely with Google Experiments%

Creating a Sentiment Analysis Application Using Node.js

Mi, 2014-07-23 19:00

Sentiment Analysis helps you in understanding what people think about a certain topic. The sentiment analysis app we are going to build will take in a keyword(s) and will fetch the matching tweets from Twitter. Then, it will run each tweet through an AFINN powered sentiment analysis Node module. This module will score the tweet text, and finally will display the relevant statistics.

Before we get started, you can take a look at the demo here. You can download the complete source code from here.

Technology Stack

This app is built on top of Nodejs. We will be using Express as our server side framework and jQuery for DOM manipulation on the client side. To make things easy for us, we will be using a Slush generator named slush-express (written by me) to scaffold a new Express app for us. We will be using a light weight disk based DB named diskDB (also written by me) to store the results.

We will be using the Twitter module to interact with Twitter and Sentiment module to perform the analysis.

So, let's get started.

Setup the App

Create a new folder named sentimentAnalysisApp and open a new terminal/prompt here. First, we are going to install Gulp, Slush, and Express generator using the following command.

[code] npm i -g gulp slush slush-express [/code]

Once the above modules are installed, we will scaffold a new Express app using this command:

[code] slush express [/code]

Slush will ask you to pick a view engine and a style sheet engine. Answer as shown below.

[code] [?] Select a View Engine: HTML [?] Select a Stylesheet Engine: CSS [/code]

It will take slush a couple of minutes to scaffold the application and install the dependencies. The resulting scaffolded folder structure will look like this:

[code] sentimentAnalysisApp ├── Gulpfile.js ├── app.js ├── bin │   └── www ├── bower.json ├── package.json ├── public │   └── stylesheets │   └── style.css ├── routes │   ├── index.js │   └── users.js └── views ├── error.html └── index.html [/code]

Here is a quick explanation of the different files and folders.

  • bin/www - The server initiation and the port is configured here.
  • app.js - The server configuration, the routes, and the view engine is configured here.
  • gulpFile.js - The task runner for our project.
  • /public - Consists of the static files dispatched to the UI.
  • /routes - Consists of the app routes.
  • /views - Consists of the app views.

You can run the app by executing the command gulp. This will start the Express server on port 3000. Navigate to http://localhost:3000 and you can see the sample home page.

Server Side Development

First, we will install the application level dependencies using the following command:

[code] npm i twitter sentiment --save [/code]

Next, create a new folder named logic at the root of the project. Create two files named twitterSearch.js and sentimentAnalysis.js. These files consist of the logic for fetching tweets from Twitter and performing analysis, respectively. Create another folder named db, which will store the data.

Next, open routes/index.js in your favorite editor. We will add a new route, POST /search. The user entered search text will be submitted to this end point. Update routes/index.js as shown below.

Continue reading %Creating a Sentiment Analysis Application Using Node.js%

8 Tips to Help You Get the Best out of Sass

Mi, 2014-07-23 18:00

Sass creates Syntactically Awesome Style sheets, or at least thats what it is supposed to do.

When used effectively, Sass helps to build scalable and DRY CSS. When used incorrectly however, Sass can actually increase file size and add unnecessary or duplicate code.

Below is a series of hints and tips to help you get the best out of Sass…

1. Structure Your Sass

Getting your site structure correct from the beginning is vital for any new Sass project. Using partials allows you to break the CSS up into smaller more manageable blocks of code that are easier to maintain and develop.

Partial files are created using an underscore and are not output as separate CSS files. Each partial should be imported using a master Sass file (global.scss) in the root of the Sass folder.

For example, here’s a sample folder structure to demonstrate this:

[code language="sass"] vendor/ base/ | |-- _variables.scss |-- _mixins.scss |-- _placeholders.scss framework/ modules/ global.scss [/code]

This folder structure ensures the site is easy to work with, and add to. For example, new modules can easily be added to the module folder and then added to global.scss using @import.

To demonstrate, here’s a sample global.scss file:

Continue reading %8 Tips to Help You Get the Best out of Sass%

How Not to Get Overwhelmed as a Web Developer

Mi, 2014-07-23 17:00

In the past week, I’ve worked on projects that have required me to write HTML, CSS, Javascript, and PHP. In working on those projects, I’ve had to employ various technologies, including responsive design, AJAX, Wordpress theme development, API integration, and modular javascripting. Let’s not forget that most (if not all) of these projects involved a preprocessor, build tool, or method of version control. Does that sound a lot like your week? Truth be told, in todays world of web design, development, and software engineering, you’re expected to know a variety of languages, tools, technologies, and coding methods. This field is fast paced, frequently changing, and incredibly complex. It’s no surprise that so many of us have felt the growing burdens of Information Overload.

How do you identify IO?

For me, IO is the feeling of being overwhelmed with the large amount of information I need in order to stay useful as a web developer. Other times, it manifests itself as a feeling of panic when a new tool, language, or project is announced. IO can go on to cause fear when you feel that you’re failing to keep up with the industry, or even make you upset when a new tool leads you to consider changing your workflow. IO can lead to avoiding new technologies, not fully enjoying your career, and feeling inferior to those who have more experience than you in a certain area.

IO causes real problems

If you have or are currently struggling with IO, then you probably understand the side effects it can cause. If you tend to overwork (as I sometimes do) IO can lead to more hours spent studying code, reading articles, and making demos. On its own, this isn’t necessarily a bad thing, but too much time spent working, combined with too little time spent eating or sleeping, can lead to a burnout. If IO is leading you to resent your job, depression and anxiety can also be common side effects, perpetuating the general feeling of being overwhelmed with your work.

The Solutions Stacks

Although keeping up to date is an expected requirement in the field of web development, IO doesn’t have to be a consequence. For me, the most helpful solution to the problem of IO has been to limit the number of languages I aim to be proficient in. I call it a ‘stack’, and it currently consists of HTML, CSS, Javascript, and PHP. Outside of my stack, I’m able to use other languages if a project requires it, but I won’t be looking to gain an expert knowledge of them.

Continue reading %How Not to Get Overwhelmed as a Web Developer%

Best Practices REST API from Scratch – Implementation

Mi, 2014-07-23 16:00

We ended the first part of this tutorial with all the basic layers of our API in place. We have our server setup, authentication system, JSON input/output, error management and a couple of dummy routes. But, most importantly, we wrote the README file that defines resources and actions. Now it’s time to deal with these resources.

Creating and updating contacts

We have no data right now, so we can start with contact creation. Current REST best practices suggest that create and update operations should return a resource representation. Since the core of this article is the API, the code that deals with the database is very basic and could be done better. In a real world application you probably would use a more robust ORM/Model and validation library.

Continue reading %Best Practices REST API from Scratch – Implementation%

Build Your Own WordPress Contact Form Plugin in 5 Minutes

Mi, 2014-07-23 15:30

Most websites are typically designed to comply with standard web practices by including a dedicated page where a contact form is located. This provides visitors with an easy way to reach out to the site owner.

In simple terms, a contact form has a set of questions and fields which are filled in by a visitor. The information is usually automatically sent via email to the site administrator or another nominated email account. It is worth noting that this email address isn't displayed to visitors, so using a contact form typically reduces email spam from bots that harvest naked email addresses on the Internet. Contact forms play a very important role on a website, where they are used for collecting feedback, enquiries and other data from users.

If your website is powered by WordPress, there are numerous plugins that seamlessly integrate a contact form on your website.

In this article, I will provide a list of some free WordPress contact form plugins. I will also discuss why you should consider rolling your own contact form. Then, I will provide you with a short tutorial showing you how to build your own WordPress contact form plugin.

Continue reading %Build Your Own WordPress Contact Form Plugin in 5 Minutes%

End Inbox Overwhelm With These 10 Gmail Add-ons

Mi, 2014-07-23 14:00

Gmail overtook Hotmail as the world's most popular webmail platform in 2012, and hasn't slowed down since. It's still #1, and many people who don't have email addresses use the interface with Google Apps for its ease of use and flexibility.

Another reason Gmail is so popular is because of the huge amount of add-ons that are available for it.

Here are 11 Gmail add-ons that will help you become the master of your inbox--and boost your productivity in the process.


Price: Free basic plan, paid plans start at $5 per month

Best use: Have you ever told a potential client you'd check back with them in two weeks--and then realized a month and a half later that you never did? Or did you ever send out a proposal and then forgot that you did so until a few weeks later? With Boomerang, you can schedule an email to be "boomeranged" (come back into your inbox as a new email) either at a set time, or depending on rules (example: "Boomerang in this in X days if there's no reply"). Better follow up for forgetful freelancers!

Other features: With the paid plan, you can get read receipts, click tracking, add notes to email threads, and more.

Continue reading %End Inbox Overwhelm With These 10 Gmail Add-ons%

Golden Master Testing: Refactoring for Understanding

Mi, 2014-07-23 14:00

In this installment of using the Golden Master Technique to perform effective refactoring of a legacy codebase, Katrina Owen uses several well-known approaches to tease out simple concepts from complexity.

The refactoring techniques remove parameter and inline method helped strip away cruft and confusion, allowing concepts to emerge. Refactoring using extract method, rename method, and rename variable encoded the exposed concepts into the codebase itself.

Continue reading %Golden Master Testing: Refactoring for Understanding%

How to Conduct a Fair and Meaningful Technical Interview

Di, 2014-07-22 19:00

When I began searching for my first job as a web developer, I applied to, and received interviews with, several companies. Some of my interviews were with Fortune 500 companies; some of my interviews were with fledgling start ups. Regardless of the size of a company, the interview process was very similar: phone screening, technical challenge, and cultural screening.

The technical challenge informed me about a company's character. If the questions being asked were fair and meaningful, then I, regardless if I passed or failed the technical interview, would leave with a favorable impression of a company. At worst, I would leave without a job but with some new and useful knowledge.

If the questions I was being asked were out of the scope for a particular position or merely a trick, then a company risked alienating me and other applicants. I can still recall an interview I had with a CTO of a start up in Manhattan, New York. This person asked me to describe the difference between prototypal inheritance and prototipal inheritance. The second inheritance pattern didn't exist. After my interview, I talked to a few of the other applicants, and we all agreed - we would never work for that company.

So what's considered fair and meaningful? Fair is considered asking questions that are appropriate for an applicant's prospective position. Meaningful is considered asking questions that reveal some level of understanding of a fundamental concept. When a question is fair and meaningful, both the interviewee and interviewer benefit.

I believe that both of these objectives can be meet with these three concepts:

  1. Callbacks
  2. Binding
  3. Event Emitters & Inheritance

Each of these concepts are integral to a web developer's knowledge; these topics, however, are disconnected enough to give an interviewee who incorrectly answers a question an opportunity to correctly answer the other questions.

A rubric for grading a technical interview is located after these three concepts.


Interviewers should always ask an interviewee to define a concept. This initial step confirms that the interviewee understands what's being asked. If the interviewer fails to ask this question, then the interviewee should volunteer to share their understanding of the concept. Without a mutual definition, the interviewee is unlikely to solve a given task.

After a mutual definition is reached, the interviewer should present a question involving code: I want to explore your understanding of callbacks, so please create an implementation of a well-known function called reduce. At this point, the interviewer should present an invocation of reduce with example input and output data.

[js] // input reduce([1,2,3], function(total, value) { return total + value; }, 0); // output 6 [/js]

Continue reading %How to Conduct a Fair and Meaningful Technical Interview%

Creating CocoaPods

Di, 2014-07-22 18:30

In a previous article we introduced CocoaPods, a dependency management tool for cocoa development, and covered the why and how of using it. In this article, we are going to look at how to create your own CocoaPod and make it available for others to use in their projects.

For this tutorial, I have a class that formats phone numbers that I would like to make into a CocoaPod. My phone formatting library consists of the class files JKEPhoneNumberFormatter.h and JKEPhoneNumberFormatter.m and a file.

To begin, run the following command to make sure that you have the latest CocoaPods version. The command will install CocoaPods if it isn’t already installed and will update if it is installed and needs updating.

[code language='bash'][sudo] gem install cocoapods [/code]

Use of the sudo command depends on your Ruby installation. More on this in the previous tutorial.

I recommended that you use the latest version of CocoaPods because the command syntax may have changed and new features added.

To check the CocoaPods version, run pod --version. At the time of writing this article, the latest version is 0.33.1.

There are various files that you need to include in your CocoaPod. These include the class files, Podspec, license, assets used in your library and a demo project that shows the use of your Pod (this is run when a user types pod try [LIB_NAME] to see what it does before using it in a project).

You can create your own Pod directory structure and files or you can use a command that CocoaPods makes available which creates a template library structure to get you started quickly. This generates a Podspec file (we will look at what this is later in the article), license file, readme and a demo project complete with test files and a Podfile.

Continue reading %Creating CocoaPods%

Introduction to the Resource Timing API

Di, 2014-07-22 18:00

SitePoint has published some good articles on performance recently. In particular, Craig Buckler wrote an article entitled Average Page Weights Increase by 32% in 2013 along with another one called some easy wins to reduce the weight of a website.

But improving the speed of our websites and apps isn’t just a matter of minifing JavaScript files and employing an image compressor. In many cases we have to deal with external resources (libraries from a CDN, videos from YouTube, images from Flickr, and so on) or internal resources that need to be accurately measured to establish what’s slowing down the loading of our pages.

I’ve previously covered some APIs that can help in testing the performance of a website. For example, the High Resolution Time API and the User Timing API. In this article, I’ll introduce you to another API in this category: The Resource Timing API.

What’s the Resource Timing API?

The Resource Timing API allows you to collect complete timing information related to resources in a document. It enables you to measure user latency, which is crucial to benchmark web pages. This API is a W3C Candidate Recommendation so we can be sure that significant features are mostly locked, but there could be minor changes to the spec in the future.

Using the Resource Timing API allows us to retrieve and analyze a detailed profile of all the network timing data for every resource on the page. We’ll cover what these data are in the next section. For the moment, it’s important that you understand how this API can help us in tracking the performance of the resources of our page, and determine how many and what resources we have to optimize.

Now that we know what this API is, let’s delve into its features.

Methods, Properties, and Events

The Resource Timing API is exposed through the performance property of the window object. We can retrieve the information collected for each resource using the getEntriesByType() method. If this sounds familiar to you, this is because it’s the same method used by the User Timing API. The difference is that to retrieve information about these resources we have to pass the string resource to getEntriesByType().

Continue reading %Introduction to the Resource Timing API%

Using Modern.IE to Improve WordPress Theme Development

Di, 2014-07-22 17:30

This article was sponsored by modern.IE Thank you for supporting the sponsors who make SitePoint possible! There are dozens of popular tools to help theme developers test the quality of their code. Not only can this help reduce errors in your themes, but it also helps ensure that your theme is reliably rendered on multiple […]

Continue reading %Using Modern.IE to Improve WordPress Theme Development%

The Best Programming Language to Learn in 2014: Mid-Year Update

Di, 2014-07-22 17:00

We last looked at the best languages to learn in February 2014. The results were collated from data obtained from:

  • Jobs Tractor; a company which analyzes job adverts on Twitter
  •; an online video training course provider, and
  • the RedMonk survey which examined the frequency of projects on GitHub and questions on StackOverflow.
The IEEE Spectrum Survey IEEE Spectrum has recently completed their own survey which uses no less than ten sources to rank the popularity of programming languages:
  • search results in Google
  • data from Google Trends
  • tweets sent on Twitter
  • GitHub repositories
  • StackOverflow questions
  • Reddit posts
  • Hacker News posts
  • demand for jobs on the Career Builder job site
  • demand for jobs on the Dice job site
  • IEEE Xplore journal articles
Languages were allocated to web, mobile, enterprise and embedded categories. The interactive tool allows you to make your own comparisons and apply custom weightings to the data sources if you don't agree with IEEE Spectrum's methodology

Continue reading %The Best Programming Language to Learn in 2014: Mid-Year Update%

How to Create Photo-filled Text with Photoshop

Di, 2014-07-22 16:30

Designing for the web has always been a fast-developing field where a professional has to skillfully combine visual information design, aesthetics and composition priciples with the most relevant current ideas and trends to satisfy the expectations of his client.

A good web designer has a clear vision of the main aim of the website they are creating and the particular message they are trying to convey.

With the rise of Bootstrap, Foundation and similar frameworks, it’s clear that layouts are in danger of becoming more ‘samey’ than ever before. We’re all very familiar with that ‘Bootstrap Look’, right?

In this context, the need for a little design differentiation is more urgent than ever. I think that one of the most difficult tasks for a web designer is to find some creative angle to make work which can be considered as different and unique.

In other words, ideally we’d all love to build layout and site experiences that couldn’t easily replicated by the masses.

The rule to follow to accomplish this first task is to use imagination and avoid the most commonly used images, framing tricks, compositions or effects.

More and more professionals are trying to create some pretty cool graphics and animations with pure CSS, exploiting all its hidden potential, as in this case.

OK, perhaps this is too much.

Let’s try with this construction from Roman Cortes. Even though it may not be not accessible to everyone, it’s a fine reminder of what CSS3 can let us do.

But what if I am not a CSS expert and don’t have such advanced competences? Or if I perhaps don’t have the time (or inclination) to draw images with CSS, and instead prefer to leverage what I’ve learned about Photoshop or Illustrator?

Thankfully Photoshop can help us to achieve good results and create visual less conventional treatments.

In this tutorial you’ll see how to create a photo-filled text in few simple steps that you could use to adorn your next project.

Photoshop in Action

This tutorial will help us to understand how simple is to insert a photo inside a text using Adobe Photoshop CS6. We’re going to use a very few and very well-known commands of the program and I assure you that the result you’ll achieve is awesome.

We can use our personal photos or images we have found surfing the Web. There are no limits and all we have to do is follow our fantasy.

Let’s start our project choosing a photo we particularly love, we are fond on, or we would like to work on and think about the typeface we’re going to use for this.

I choose a beautiful view of the Tower Bridge, the wonderful combined bascule and suspension bridge that spans the River Thames. It is close to the Tower of London, from which it takes its name and has become an iconic symbol of this town.

Obviously, feel free to work on also on a subject of your choosing.

Let’s see how to go on.

Continue reading %How to Create Photo-filled Text with Photoshop%

Quick Tip: 4 Steps to Install Custom PHP Extensions into Zend Server 7

Di, 2014-07-22 16:26

Zend Server 7 is an excellent tool for managing, deploying and monitoring your PHP applications. We’ve covered its installation in this quick tip, and we’ve given it a somewhat thorough review in this post.

In this Quick Tip, we’ll go through the procedure of installing a custom PHP extension into it. We’ll be installing Phalcon, but the procedure is identical for nearly all extensions out there.

Step 1: Install Zend Server

Have an instance of ZS up and running. Follow this quick tip to do that.

Step 2: Modify the $PATH

To use the command line PHP tools that come bundled with Zend Server, we need to add the path to them to the system $PATH variable:

Continue reading %Quick Tip: 4 Steps to Install Custom PHP Extensions into Zend Server 7%