Wednesday, July 12, 2017

#166: The Impact of Google AMP on a Major Sports Team's Traffic

Mobile Web Weekly July 12, 2017   #166
Holly Schinsky recommends
How PregBuddy Reached a LightHouse Score of 100/100 — Tips on how to optimize your PWA to reach a 100/100 in LightHouse from the engineering team at PregBuddy.
@pregbuddy
Peter Cooper recommends
The Impact of Google AMP on a Major Sports Team's Traffic — UK soccer club Newcastle United were the first of only 4 Premier League teams to implement Google’s Accelerated Mobile Pages, and it’s paid dividends for their kit launch.
Seven League
Sponsored
Add interactive features to your mobile app in minutes — Features like In-app notifications, activity streams, chat, real-time dashboards and multi-user collaboration. Get started for free, with just a few lines of code.
Pusher

Chris Brandrick recommends
Getting 60 FPS JavaScript Swiping on Mobile
Etienne Lemay
Peter Cooper recommends
A Beginner’s Guide to Making Progressive Web Apps
Yuvesh Tulsiani
Holly Schinsky recommends
6 Free Material Design CSS Frameworks Compared — Giannis Konstantinidis lists some great Material Design CSS frameworks and compares them to make it easier for you to choose what best fits your needs.
SitePoint
Brian Rinaldi recommends
Code Sharing Between Web and Mobile with Angular and NativeScript — A look at how Angular and NativeScript allow you to share code between the web and mobile version of an app.
Sebastian Witalec
Brian Rinaldi recommends
The Bloat of AMP — The authors argues against AMP due to the weight of the JavaScript libraries used to build a typical AMP page.
technion
Holly Schinsky recommends
Onsen UI Has Full Vue.js Support — Onsen UI releases full support for Vue.js as part of their permanent product.
@Onsen_UI
Peter Cooper recommends
Top 5 Performance Mistakes of Angular Mobile Web Apps
Jeff Cross
Brian Rinaldi recommends
Dropdown Alternatives for Better Mobile Forms — Using a dropdown menu usually seems like a no-brainer but it’s also easy to misuse due to its limitations.
Zoltan Kollin
Holly Schinsky recommends
Logging in React Native — A look at logging options for your React Native apps.
Brains Beards
Brian Rinaldi recommends
Simple Login and Registration in a NativeScript With Angular Mobile App — Learn how to create simple login and registration logic for securing pages in a NativeScript with Angular, Android and iOS mobile application.
Nic Raboy
Brian Rinaldi recommends
Ionic Native Mocks — Ionic Native Mocks are designed to be used as placeholders during development for the actual Ionic Native modules.
Chris Griffith
Holly Schinsky recommends
Continuous Integration for Ionic Apps — A guide on how to set up Continuous Integration for Ionic Apps.
Nevercode
Za'e Johnson recommends
Making iOS & Android Apps with Ruby on Rails and Turbolinks — The path to a native app can be hastened using Rails, Tubolinks, and native wrappers.
Reinteractive


by via Mobile Web Weekly

ESPN The Body Body Issue 2017

A mobile-first experience showcasing the full photo set of the 2017 ESPN The Body Issue
by via Awwwards - Sites of the day

How Consumers Respond to Brands on Social Media: New Research

Want to know why some brands connect with consumers more than others on social media? Wondering if the tone of your social media marketing is affecting sales? In this article, you’ll find insights from new research that reveal how consumers feel about the content and conversations businesses are serving up on social media. #1: Brand [...]

This post How Consumers Respond to Brands on Social Media: New Research first appeared on .
- Your Guide to the Social Media Jungle


by Michelle Krasniak via

Tuesday, July 11, 2017

8 Simple Tips for Creating Compelling Infographics

How do you capture the essence of a complex topic without putting your audience to sleep? By using an infographic, of course. Not only do infographics do a masterful job of summarizing content, but they also increase engagement. The reason? People are visually wired; they recall 80% of what they...

[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Irfan Ahmad via Digital Information World

UX Mastery Book Club: A Chat with Don Norman

We were very humbled—and excited—to be joined by Don Norman for a live video Q&A discussion about his seminal book on design The Design of Everyday Things.

Don is widely regarded for his expertise in the fields of design, usability engineering and cognitive science, for being a prolific advocate for human-centred design, for his gentle humour and for the inspiration and orientation he provides for designers.

We’re currently reading The Design of Everyday Things as part of book club. Come and join the chapter-by-chapter discussion in the forums if you’d enjoy working through the book together but in your own time.

We recorded a video of today’s session, and it’s jam-packed with wisdom and answers specifically addressed to the UX Mastery community, so make sure you have a look! Don and myself were joined in the chat by fellow book club members Hawk, Paddy, Nalin, Hollie, Erin, Caglar, Dan and Ashlea.

Oh, and if you’re going to grab a copy of The Design of Everyday Things, be sure to get the revised and expanded 2013 edition. As Don described during the Q&A session, this latest version is quite different. There are two additional chapters and many new examples and stories to bring the book right up to date.

Here are links to the right edition of the book to buy on Amazon, or Book Depository.

The post UX Mastery Book Club: A Chat with Don Norman appeared first on UX Mastery.


by Luke Chambers via UX Mastery

Using MySQL with Node.js & the mysql JavaScript Client

NoSQL databases are all the rage these days and probably the preferred back-end for Node.js applications. But you shouldn't architect your next project based on what's hip and trendy, rather the type of database to be used should depend on the project's requirements. If your project involves dynamic table creation, real time inserts etc. then NoSQL is the way to go, but on the other hand, if your project deals with complex queries and transactions, then a SQL database makes much more sense.

In this tutorial, we'll have a look at getting started with the mysql module — a Node.js driver for MySQL, written in JavaScript. I'll explain how to use the module to connect to a MySQL database, perform the usual CRUD operations, before examining stored procedures and escaping user input.

This popular tutorial was updated on 11.07.2017. Changes include updating to ES6 syntax, addressing the fact that the node-mysql module module was renamed, adding more beginner friendly instructions and adding a section on ORMs.

Quick Start: How to Use MySQL in Node

Maybe you've arrived here looking for a quick leg up. If you're just after a way to get up and running with MySQL in Node in as little time as possible, we got you covered!

Here's how to use MySQL in Node in 5 easy steps:

  1. Create a new project: mkdir mysql-test && cd mysql-test
  2. Create a package.json file: npm init –y
  3. Install the mysql module: npm install mysql –save
  4. Create an app.js file and copy in the snippet below.
  5. Run the file: node app.js. Observe a “Connected!” message.
//app.js

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'user',
  password: 'password',
  database: 'database name'
});
connection.connect((err) => {
  if (err) throw err;
  console.log('Connected!');
});

Installing the mysql Module

Now let's take a closer look at each of those steps. First of all we're using the command line to create a new directory and navigate to it. Then we're creating a package.json file using the command npm init –y. The -y flag means that npm will use only defaults and not prompt you for any options.

This step also assumes that you have Node and npm installed on your system. If this is not the case, then check out this SitePoint article to find out how to do that: Install Multiple Versions of Node.js using nvm.

After that, we're installing the mysql module from npm and saving it as a project dependency. Project dependencies (as opposed to dev-dependencies) are those packages required for the application to run. You can read more about the differences between the two here.

mkdir mysql-test
cd mysql-test
npm install mysql -y

If you need further help using npm, then be sure to check out this guide, or ask in our forums.

Getting Started

Before we get on to connecting to a database, it's important that you have MySQL installed and configured on your machine. If this is not the case, please consult the installation instructions on their home page.

The next thing we need to do is to create a database and a database table to work with. You can do this using a
graphical interface, such as phpMyAdmin, or using the command line. For this article I'll be using a database called sitepoint and a table called employees. Here's a dump of the database, so that you can get up and running quickly, if you wish to follow along:

CREATE TABLE employees (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(50),
  location varchar(50),
  PRIMARY KEY (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

INSERT INTO employees (id, name, location) VALUES
(1, 'Jasmine', 'Australia'),
(2, 'Jay', 'India'),
(3, 'Jim', 'Germany'),
(4, 'Lesley', 'Scotland');

Using MySQL with Node.js & the mysql JavaScript Client

Connecting to the Database

Now, let's create a file called app.js in our mysql-test directory and see how to connect to MySQL from Node.js.

Continue reading %Using MySQL with Node.js & the mysql JavaScript Client%


by Jay Raj via SitePoint

6 Free Material Design CSS Frameworks for 2017 Compared

Material Design Frameworks

It was 2014 when Google introduced Material Design as their design language. Since then it has been adopted and implemented in a plethora of Google products including Gmail, Docs and Drive, to name just a few. Material Design is seen both in native Android and modern web applications - in fact, nowadays it has become increasingly popular.

Those involved with web development may wish to keep up with the latest design trends and implement Material Design in their work. This article sets out to list Material Design CSS frameworks and their specific features, which will hopefully help you pick the best one suited to your project. Choose your partner in crime wisely - you're going to need help when creating those outstanding web experiences after all!

It should be noted that some of the following details, such as framework polularity and available features, may slightly differ over time. Should you be interested in any framework, make sure to check the original resources for any last minute update.

1. Materialize

Materialize

Materialize is arguably one of the most well-known Material Design CSS frameworks out there. Developed by a team of highly skilled, passionate students, Materialize is widely used with many available third party themes. It provides an ideal opportunity to get started with Material Design for the web without sticking your feet into cold water.

  • Maintainers: Alvin Wang et al.

  • Release: 2014

  • Version: 0.99.0

  • Popularity: 27,000 stars and 3,900 forks on GitHub

  • Description: "A modern responsive front-end framework based on Material Design"

  • Core concepts/principles: Responsive web design and UX focused

  • Framework size: 931 KB (download)

  • Preprocessors: Sass

  • Responsive: Yes

  • Modular: Yes

  • Starting templates/layouts: Yes

  • Icons: Material Design Icons

  • Typography: Roboto

  • Documentation: Good

  • Browser support: Firefox 31+, Chrome 35+, Safari 7+, IE 10+

  • License: MIT

  • Code sample:

    [code language="html"]
    <a class="waves-effect waves-light btn">Button</a>
    [/code]

  • Pros: Large user base, continuous development, good documentation, third party support (e.g., templates, extensions, etc.)

  • Cons: N/A

  • Ideal for: Getting started with Material Design on the web

2. MUI

MUI Material Design CSS Framework

MUI is quite popular as well. Although an individual effort, it raises the bar by providing out-of-the-box support for Angular, React and WebComponents. The detailed documentation also deserves a thumbs-up.

  • Maintainers: Andres Morey

  • Published: 2015

  • Current version: 0.9.17

  • Popularity: 3,400 stars and 370 forks on GitHub

  • Description: "A lightweight CSS framework that follows Google's Material Design guidelines"

  • Core concepts/principles: Cross platform support

  • Framework size: 461 KB (download) / 6.7 KB (NPM package, minified)

  • Preprocessors: Sass

  • Responsive: Yes

  • Modular: Yes

  • Starting templates/layouts: Yes

  • Icons: None bundled

  • Typography: Arial, Verdana, Tahoma

  • Documentation: Very good

  • Browser support: Firefox, Chrome, Safari, IE 10+

  • License: MIT

  • Code sample:

    [code language="html"]
    <button class="mui-btn mui-btn--primary">Button</button>
    [/code]

  • Pros: Default support for Angular, React, WebComponents and HTML Email, extensive documentation

  • Cons: Lack of third party support, e.g., themes, add-ons, etc.

  • Ideal for: Hassle-free integration with Angular, React or WebComponents

3. Surface

Continue reading %6 Free Material Design CSS Frameworks for 2017 Compared%


by Giannis Konstantinidis via SitePoint