Tuesday, February 2, 2016

Browser Trends February 2016: Mobile Market Decline?

We're already one-twelfth of the way into the year so let's examine the latest StatCounter statistics to discover the winners and losers in the browser market…

Worldwide Desktop & Tablet Browser Statistics, December 2015 to January 2016

The following table shows browser usage movements during the past month.

Browser December January change relative
IE (all) 15.16% 14.62% -0.54% -3.60%
IE11 10.26% 10.19% -0.07% -0.70%
IE10 1.37% 1.29% -0.08% -5.80%
IE9 1.44% 1.29% -0.15% -10.40%
IE6/7/8 2.09% 1.85% -0.24% -11.50%
Edge 1.46% 1.69% +0.23% +15.80%
Chrome 53.71% 54.33% +0.62% +1.20%
Firefox 14.29% 14.58% +0.29% +2.00%
Safari 4.85% 4.17% -0.68% -14.00%
iPad Safari 5.08% 5.27% +0.19% +3.70%
Opera 2.07% 1.92% -0.15% -7.20%
Others 3.38% 3.42% +0.04% +1.20%

Continue reading %Browser Trends February 2016: Mobile Market Decline?%


by Craig Buckler via SitePoint

5 Questions That Will Kickstart Your Social Media Plan

No matter what type of business activity you’re engaged in, social media is crucial if you want to stay ahead of the competition and generate more leads and customers. Businesses are starting to understand the value in social media marketing. Instead of going to search engines, a growing number of users prefer to make queries on social networks such as Facebook when searching for products or services.

But there’s more to using social media than setting up accounts on Twitter and Facebook and putting up posts and composing tweets. You need to be active and engaging, and offer information people are looking for. Without a definite plan, social media activities can be a waste of time – or worse, a recipe for disaster.

[author_more]

Therefore, in order to make an impact, you must first formulate and commit to a long-term strategy that includes a content and social media plan, and an effective means for management and performance monitoring.

The planning phase can be the most difficult part of your social media campaign and will be largely responsible for its success or failure. Here are five questions you need to answer to kick your social media campaign into gear.

What Do You Want to Achieve with Social Media?

Social media networks are versatile and variant in nature, so it’s important to have a clear vision of the goals you wish to achieve before starting your social media campaign. These goals need to be measurable, so you can track the progress of your campaign and shift your focus if things aren’t going well.

This will be crucial in determining which platforms you will sign up to and target, how frequently you will post on them, how many resources and staff you will allocate to the task, and the metrics and KPIs you will use to quantify the results of your postings.

The most obvious goal of a social media strategy is to increase your company and brand presence and extend your reach. But there is much more you can achieve. Here are a few examples:

  • Increase traffic to your website: By sharing links to your site’s content on your social media accounts, you’re giving users new channels to refer to your website. If you have specific product and landing pages in mind, make sure you’ve set up proper analytics tools and search streams to later track progress.
  • Improve company credibility: Companies that have a strong social media presence are more likely to be considered by media outlets and reporters. You will need to interact with relevant accounts and hashtags and engage in conversations after you setup your accounts.
  • Offer extra customer service and create new lead generation channels: Many customers prefer to make queries and ask questions through social networks instead of sending an email or picking up the phone. Social media can offer you an opportunity to reach new people.

Who Are You Going After?

Before starting your social journey, you need to define your target audience, because it will have a direct impact on the content and tone of your posts, which naturally have to be tailored to the people who will be viewing them.

There are many factors that can help you identify your audience, including interests, age, gender, income, and area of residence. When using social media advertising services such as Facebook Ads, knowing the characteristics of your target audience will help make your campaign far more effective.

Which Platforms Should You Use?

You have to decide in advance where you’re going to focus your attention and choose the platforms you’ll be using for your campaign.

With the social media landscape more fragmented than ever before and dozens of multi-million-user platforms available for sign up, it’s easy to get confused when choosing your target channel. Choosing the wrong platforms can turn your social media campaign into a disaster, while picking the right channel can go a long way toward achieving your business goals.

To a large extent, you’ll have to let the demographics and preferences of your target audience choose the social media networks you’ll be using for your campaign.

Another way to find out which social networks you should spend time on is to look at which networks you’ve already been finding success on. This can be easily achieved if you’re already using an analytics tools such as Google Analytics to gather traffic data about your website. Dlvr.it blogger Debra Garber explains how to do so here.

Pew Research Center has gathered demographics information for top social media platforms which can also be helpful in choosing your starting point.

It is best to start with a few platforms that are most relevant to your business, and then gradually expand your network as you perfect your presence on each one. Every social media platform has its own unique advantages and can help your business grow in one way or another.

For instance, if you’re running a restaurant or a cafĂ©, you might consider allocating some extra energy on setting up your Instagram account, where photos – especially photos of food – are shared more widely.

Meanwhile, a recruitment agency will find more success spearheading its campaign on LinkedIn, where finding professionals looking for a job is easier.

Also take note that the platform you choose will define the required activity and responsiveness. For example, Twitter users usually expect spontaneous and near-immediate responses when they mention your handle, and if you don’t reply to their tweets, they’ll end up choosing a competitor. So if you don’t have the resources to answer quickly, signing up on platforms like Twitter might have a negative impact on your business goals.

Before you get started with each of the platforms, make sure you understand its dynamics. Rebekah Radice has a post which will help you get familiar with the major social media platforms and the types of material that should be posted on each.

Continue reading %5 Questions That Will Kickstart Your Social Media Plan%


by Neil Sheth via SitePoint

5 Reasons Why Meteor Is Ideal for Startups

This article was peer reviewed by Nilson Jacques, Chris Perry and Mark Towler. Thanks to all of SitePoint’s peer reviewers for making SitePoint content the best it can be!

Picking the right tech stack is among the most challenging tasks for new startups. I took the picture below at a hackathon recently. It appropriately displays the multitude of languages and frameworks available for web development today.

meteor-startups-hackathon

[author_more]

Let's evaluate your topmost goals and your toughest challenges as a startup. Time is critical. More likely than not, you would start with a limited reserve of cash, and your topmost goal would be to put out a minimum viable product in the least amount of time. From experience, I'll tell you that your toughest challenge would be to find the right people, and build the right team. Motivating smart people to come and work for you, when you do not have a brand name and cannot pay top dollar, is exceptionally difficult.

Meteor is a full-stack web application framework, and in my opinion, has come up as a cure-all technology solution for startups. Below, I've identified the top five reasons why the Meteor framework is an ideal fit for new startups:

1. Get Started in Literally Two Hours!

It's true. Anyone with elementary knowledge of programming can follow the instructions on Meteor's "Getting Started" tutorial, and then jump right into coding. I am convinced that making it 'simple to get started' was one of the top goals of the originators of Meteor, and they have definitely aced at this. The code-flow is easy to understand, and the tech stack is intuitively structured to allow for a quick ramp-up. Compare this with an old-school web application, where a developer would need to understand PHP and a front-end framework, let's say AngularJS, along with setting up the entire tech stack, and managing the interactions between the front-end and back-end. For a new product, and a new team, writing a 'Hello World' full stack app itself might consume an entire week.

Continue reading %5 Reasons Why Meteor Is Ideal for Startups%


by Pranab Agarwal via SitePoint

Getting Past Hello World in Angular 2

This article is part of a web development series from Microsoft. Thank you for supporting the partners who make SitePoint possible.

So you've been through the basic Angular 2 application and now you want a bit more. If you've been reading about Angular 2 you've undoubtedly seen what might look like really odd syntax in templates. You may have heard something about an overhaul to dependency injection. Or maybe some of the features of ES7 (or ES2016, the version of JavaScript planned to come out next year) such as Decorators and Observables.
[author_more]
This post will give you a quick introduction to these concepts and how they apply to your Angular 2 applications. We won't dive deep into these topics yet, but look for later posts that cover each area in more detail.

So, let's begin at the beginning–setting up an environment.

Environment Setup

Angular2 source is written in TypeScript, a superset of JavaScript that allows for type definitions to be applied to your JavaScript code (you can find more information about TypeScript at http://ift.tt/RuU3Y2).

In order to use TypeScript, we need to install the compiler which runs on top of Node.js. I'm using Node 0.12.6 and NPM 2.9.1. TypeScript should be installed automatically by NPM, but you can also install TypeScript globally using:


npm install –g typescript
# Test using
tsc -v

We are also using Gulp to build the project. If you don't have Gulp installed globally, use this command:

npm install -g gulp-cli

Once you have Node installed, use these instructions to set up and start your simple application:


git clone http://ift.tt/1QajOaW
cd second-angular-app
npm install
gulp go

In a browser, navigate to http://localhost:8080 (or the deployed version at http://ift.tt/1SDakJK). You should see an extremely basic application like this:

Basic Angular 2 application

This is a simple application that takes comma-separated ticker symbols as input and retrieves data including price and the stock name, displaying them in a simple list. This lacks styling, but we can use it to demonstrate a few ways to think about Angular 2 applications.

Components

Angular 2 applications are built using components. But what is a component? How do we set up a component in Angular 2?

At a high level, a component is a set of functionalities grouped together including a view, styles (if applicable) and a controller class that manages the functionality of the component. If you're familiar with Angular 1, a component is basically a directive with a template and a controller. In fact, in Angular 2 a component is just a special type of directive encapsulating a reusable UI building block (minimally a controller class and a view).

We will look at the pieces that make up a component by examining the StockSearch component. In our simple application, the StockSearch component displays the input box and includes a child component called StockList that renders the data returned from the API.

Decorators

Decorators are a new feature in ES7 and you will see them identified in source code by a leading "@" symbol. Decorators are used to provide Angular with metadata about a class (and sometimes methods or properties) to they can be wired into the Angular framework. Decorators always come before the class or property they are decorating, so you will see a codeblock like this:

Decorators

This block uses the component decorator to tell Angular that MyClass is an Angular component.

Note: For an in-depth discussion of decorators and annotations (a special type of decorator used in Angular 2) see Pascal Precht's post on the difference between annotations and decorators.

Examining a Component

Let's get into some code. Below is the StockSearch component, responsible for taking user input, calling a service to find stock data, and passing the data to the child StockList component. We will use this sample to talk about key parts of building an Angular 2 application:


import {Component, View} from 'angular2/core'
import {StockList} from './stockList'
import {StocksService} from '../services/stocks'

@Component({
        selector: 'StockSearch',
        providers: [StocksService]
})
@View({
template: `
        <section>
        <h3>Stock Price & Name Lookup:</h3>
        <form (submit)="doSearch()">
        <input [(ngModel)]="searchText"/>
        </form>
        <StockList [stocks]="stocks"></StockList>
        </section>
          `,
        directives: [StockList]
})
export class StockSearch {
        searchText: string;
        stocks: Object[];

        constructor(public stockService:StocksService) {}

        doSearch() {
                this.stockService.snapshot(this.searchText).subscribe(
                        (data) => {this.stocks= data},
                        (err) => {console.log('error!', err)}
            );
        }
}

(Screenshots in this post are from Visual Studio Code in Mac.)

While I’m relatively new to TypeScript, I’ve been enjoying it while writing Angular2 applications. TypeScript’s ability to present type information in your IDE or text editor is extremely helpful, especially when working with something new like Angular2.

I’ve been pleasantly surprised with how well Visual Studio Code integrates with TypeScript. In fact, it’s written in TypeScript and can parse it by default (no plugins required). When coding in Angular2 I found myself referring to the documentation frequently until I found the “Peek Definition” feature. This feature allows you to highlight any variable and use a keyboard shortcut (Opt-F12 on Mac) to look at the source of that variable. Since Angular2’s documentation exists in the source, I find I rarely need to go to the online documentation. Using Peek Definition on the Component decorator looks like this:

Peek Definition on the Component decorator

Continue reading %Getting Past Hello World in Angular 2%


by Jason Aden via SitePoint

Displaying Collections of Items on Windows Phone

Mobile apps often need to display long lists of items to users. These could contain images, text or other custom components. Every mobile platform has it’s unique set of components and concepts for displaying such lists and Windows Phone is no exception. In this tutorial I would like to show you how to make your own customized list of items, changing order, display options and adding items programmatically.

Continue reading %Displaying Collections of Items on Windows Phone%


by Deivi Taka via SitePoint

jQuery Progress Bar

A simple jQuery progress bar plugin for Bootstrap forms.

  • Progress bar is collapsible
  • Can be positioned at top or bottom of screen

by via jQuery-Plugins.net RSS Feed

Hocus-Pocus: Building a Design-Free Sass Framework

Hocus-Pocus is a design-free Sass framework that I’m working on in my free time. The main idea behind Hocus-Pocus is to make a universal and lightweight stylesheet starter kit that focuses on the most common features. In this article, I’ll cover why I decided to build my own Sass framework and the approach I’ve taken when doing so.

Why Have I Started Working on a Sass Framework?

In short, I would say I’ve started working on a Sass framework because I wanted to save time when starting new web projects. I’ve noticed that even when I work on really custom designs, I always add the same set of tools, include the same standard packages, and implement a similar collection of basic CSS components.

The second question that follows then is — Why you don’t you use an existing, well-known and proven framework like Bootstrap?

My response to this comes down to preferences and my approach to CSS. I think libraries like Bootstrap or Foundation are great and have greatly changed how people think about CSS. However, in most cases within my own project work, I just don’t need all these features and UI components like progress bars or breadcrumbs. Instead, I prefer to have something more universal. I prefer something that I can use in any project, without needing to override framework CSS classes.

Due to the reasons above, in Hocus-Pocus you can change the look of every single component with variables. You can even disable some features or define a range of helpers. The downside of this approach is that I can’t provide a compiled CSS version of the framework as there is no reasonable way to use Hocus-Pocus without an ability to update variables.

Pre-requirements and principles

Installation

The framework is available and easy to install with two different package managers: Bower and npm. It requires Sass (minimum required version is 3.3.0) and Autoprefixer to run. Autoprefixer is used to add necessary vendor prefixes to the final compiled CSS file. I don’t worry too much about compatibility between various browsers nowadays as I personally find autoprefixing to be sufficient. Additionally, I use sass linter (scss-lint), but this is not required for running Hocus-Pocus and doing things the right way. Hocus-Pocus will work without it.

Continue reading %Hocus-Pocus: Building a Design-Free Sass Framework%


by Bartłomiej Kozal via SitePoint