Tuesday, October 11, 2016

How Click Fraud can affect the performance of your Google Adwords Campaigns (infographic)

How Click Fraud can affect the performance of your Google Adwords Campaigns (infographic)

When Google AdWords was launched in October 2000, it’s safe to say that it changed online marketing forever. Now sixteen years later it is an integral part of many companies marketing activities.

However, just as businesses are enjoying the benefits of using AdWords’ pay per click service, there are certain individuals and organisations out there who are willing to exploit it in more negative ways – namely click fraud.

It may seem that advertising using Google AdWords is high risk but in actual fact if campaigns are managed correctly, coupled with anti-click fraud detection software, using pay per click advertising can still be highly beneficial and generate new leads for advertisers.

Do you suspect click fraud is the cause of your AdWords campaigns under-performing? Some tell-tale signs of click fraud:

• Excessive spend that doesn’t generate leads or sales.

• Unusually high click through rate (CTR).

• Unusually high invalid click activity.

• High bounce rate.

Check out the infographic below to learn more.

Graphic courtesy of: Clickguardian.

by Irfan Ahmad via Digital Information World

Host a Parse SDK Backend for Your iOS App on back{4}app

6 Things to Know Before Launching Mobile Apps on the App Store

Launching Mobile Apps

The coding is done, testing finished, and you're ready to launch your mobile app on the app stores. Seems simple enough, but the moments between coding completion and uploading the app are crucial to your app's success. It's this moment when many startups make critical mistakes. Before you upload to the app stores, here are some strategic procedures you need to consider.

1. What's Your Marketing Plan?

You can't just throw up an app and sit back while the signups roll in. App marketing is crucial, and you need a plan before launching mobile apps. At the very least, you should have a website for the app. The website should have a well-targeted landing page that explains the app and announces any changes or updates. Social media is another useful marketing channel.

Most apps start out with an MVP, and then updates are gradually rolled out as you collect user feedback. A landing page should have the latest developments and updates so that your users can stay informed. It's also a great way to collect email addresses to announce future development plans. This can often get users excited for the next update and keep them engaged with the app.

2. What's Your Bug-Fix Plan?

Even after testing, unforeseen bugs happen and you want to identify and fix them as soon as possible, especially with a new release. Buggy apps lose strength in the app stores as users rate the app poorly and remove it from their device.

You need a developer or an agency to work with bug reports. The best option is to keep the original app developer on-board, because they better understand the code design and architecture. They can more quickly fix errors since they coded the app.

3. Identify Decision Makers and Power Users

Your app solves a problem, and that's your key selling point. You need to identify key users for promotional events and feedback. A decision maker would be a person who can help distribute the app either in the enterprise or among like-minded users. They are the ones who need the app's solution to the problem, so you should get as much feedback from them as possible for future updates.

A secondary target is your power users. Power users can also be decision makers, but they are also people who are app-savvy, understand your industry, and are very vocal with their feedback. These users are also your target, because they will give you plenty of feedback on all aspects of your app including UI, UX, and workflow. They help you identify areas of improvement that can make your app much more engaging.

Both of these target markets should be identified before you launch for marketing purposes. Your website landing page and target email promotions can build higher quality users.

Continue reading %6 Things to Know Before Launching Mobile Apps on the App Store%


by Keith Shields via SitePoint

How to Manage Your JavaScript Application State with MobX

If you've ever written anything more than a very simple app with jQuery, you've probably run into the problem of keeping different parts of the UI synchronized. Often, changes to the data need to be reflected in multiple locations, and as the app grows you can find yourself tied in knots. To tame the madness, it's common to use events to let different parts of the app know when something has changed.

So how do you manage the state of your application today? I'm going to go out on a limb and say that you're over subscribing to changes. That's right. I don't even know you and I'm going to call you out. If you're not over subscribing, then I'm SURE you're working too hard.

Unless you're using MobX of course...

What is "State" Anyway?

Here's a person. Hey, that's me! I have a firstName, lastName and age.
In addition, the fullName() function might come out if I'm in trouble.

var person = {
  firstName: 'Matt',
  lastName: 'Ruby',
  age: 37,
  fullName: function () {
    this.firstName + ' ' + this.lastName;
  }
};

How would you notify your various outputs (view, server, debug log) of modifications to that person? When would you trigger those notifications? Before MobX, I would use setters that would trigger custom jQuery events or js-signals. These options served me well, however, my usage of them was far from granular. I would fire one "changed" event if any part of the person object changed.

Let's say I have a piece of view code that shows my first name. If I changed my age, that view would update as it was tied to that person's changed event.

person.events = {};

person.setData = function (data) {
  $.extend(person, data);
  $(person.events).trigger('changed');
};

$(person.events).on('changed', function () {
  console.log('first name: ' + person.firstName);
});

person.setData({age: 38});

How could we tighten that over-fire up? Easy. Just have a setter for each field and separate events for each change. Wait--with that you may start over-firing if you wanted to change both age and firstName at once. You'd have to create a way to delay your events from firing until both changes completed. That sounds like work and I'm lazy...

MobX to the rescue

MobX is a simple, focused, performant and unobtrusive state management library developed by Michel Weststrate.

From the MobX docs:

Just do something to the state and MobX will make sure your app respects the changes.

var person = mobx.observable({
  firstName: 'Matt',
  lastName: 'Ruby',
  age: 37,
  fullName: function () {
    this.firstName + ' ' + this.lastName;
  }
});

Notice the difference? mobx.observable is the only change I've made.
Let's look at that console.log example again:

mobx.autorun(function () {
  console.log('first name: ' + person.firstName);
});

person.age = 38; // prints nothing
person.lastName = 'RUBY!'; // still nothing
person.firstName = 'Matthew!'; // that one fired

Using autorun, MobX will only observe what has been accessed.

If you think that was neat, check this out:

mobx.autorun(function () {
  console.log('Full name: ' + person.fullName);
});

person.age = 38; // print's nothing
person.lastName = 'RUBY!'; // Fires
person.firstName = 'Matthew!'; // Also fires

Intrigued? I know you are.

Core MobX concepts

observable

var log = function(data) {
  $('#output').append('<pre>' +data+ '</pre>');
}

var person = mobx.observable({
  firstName: 'Matt',
  lastName: 'Ruby',
  age: 34
});

log(person.firstName);

person.firstName = 'Mike';
log(person.firstName);

person.firstName = 'Lissy';
log(person.firstName);

Run on CodePen

MobX observable objects are just objects. I'm not observing anything in this example. This example shows how you could start working MobX into your existing codebase. Just use mobx.observable() or mobx.extendObservable() to get started.

Continue reading %How to Manage Your JavaScript Application State with MobX%


by Matt Ruby via SitePoint

Versioning Show, Episode 12, with Rachel Andrew

In this episode, Tim and David are joined by Rachel Andrew, co-creator of Perch CMS and leading expert on CSS Grid Layouts. Rachel demonstrates her dancing skills as she glides from her Perch, pirouettes across CSS Grids, moonwalks along Flexbox axes, and cartwheels over CSS Box Alignments, Multi-columns, Shapes and Regions.

Continue reading %Versioning Show, Episode 12, with Rachel Andrew%


by M. David Green via SitePoint

The State of HTML5 Input Elements

Recently I was working on a project where we required date and numeric fields. Being a purist, my preference is and always will be native elements over some bloated JavaScript library. “Polyfills can cover outdated browsers,” I thought, “that way we keep the best experience on modern browsers.” That particular project would ship in several […]

Continue reading %The State of HTML5 Input Elements%


by Tim Severien via SitePoint

Bootstrap 3 Sidebar Navigation

A tutorial about creating awesome sidebar navigation with Bootsrap 3 and jQuery.


by via jQuery-Plugins.net RSS Feed