Monday, January 16, 2017

Tips for Pepping Up Your Inbound Marketing Tactics for 2017

Inbound marketing is crucial to the success of your business. Inbound marketing has several dimensions: as such you would require numerous techniques and tactics to overcome the inbound marketing challenges if any. However, inbound marketing is certainly not complicated and fortunately, there are...

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

by Web Desk via Digital Information World

Web Design Weekly #263

Headlines

The Futures of Typography

Robin Rendle looks at the current web technologies and explores what the future has in store when they are mixed with typography. It’s exciting to say the least. (robinrendle.com)

Replacing the Jet Engine While Still Flying (jensimmons.com)

Analytics for lazy developers

​Meet Segment, the last integration you’ll ever use. Collect customer data with a single API, then send it to hundreds of different tools for analytics, marketing, and data warehousing. Write once, send everywhere. (segment.com)

Articles

What is Functional Programming?

Functional programming has become a really hot topic in the JavaScript world. If you are keen to level up your knowledge this post is for you. Eric Elliott explains the complex topic in an easily digestible manner. Great post. (medium.com)

Containers from Scratch

I’m pretty out of my depth when it comes to containers but it is something that I’m super keen to up skill in. Oh and Docker seems to be all the rage. If you are keen to start learning then this post by Eric Chiang is tops. (ericchiang.github.io)

Things I learned making the fastest site in the world

An awesome detailed list of performance tips put together by David Gilbertson relating to one of his recent projects. If you are keen to make fast sites then I would highly recommend you make some time to read this. (hackernoon.com)

Etsy’s Evolving Icon System

Marco Suarez explains how Etsy are evolving their icon system to help the entire design team to create, maintain and implement icons. (medium.com)

React “Aha” Moments (tylermcginnis.com)

Tools / Resources

Front-End Performance Checklist

A great list of items to consider to ensure that your response times are fast and your website loads silky smooth. (smashingmagazine.com)

The Road to learn React

If you haven’t had the time to dive into React then hopefully this eBook gives you some incentive to. Even for a seasoned React developer I’m sure you can learn a thing or two. (robinwieruch.de)

Front-End Tools – My Favourite Finds

Louis Lazaris shares some of his favourite front-end tools from last year. (sitepoint.com)

React Blessed – A React custom renderer for the blessed library (github.com)

Deploying front-end apps to Heroku (calibreapp.com)

Web App Manifest Generator (tomitm.github.io)

Auto-Layout for Sketch (medium.com)

Inspiration

11 lessons learned as a React contractor (hackernoon.com)

Why We Work on Side Projects (bumpers.fm)

Finding Time to Become a Better Developer (freecodecamp.com)

Jobs

Product Designer at Zendesk

As a product design team we believe in a collaborative working style with a bias towards rapid prototyping, experimentation and a strong curiosity for our customers and their needs. If that sounds like fun to you, please reach out. (zendesk.com)

Need to find passionate developers or designers? Why not advertise in the next newsletter

From The Blog

Web Design Weekly’s Year in Review

After a hectic end to 2016 I finally found some time to recap the year and decided on some goals for 2017 to take WDW to the next level. (web-design-weekly.com)

Last but not least…

A Guide to 2017 Conferences (css-tricks.com)

The post Web Design Weekly #263 appeared first on Web Design Weekly.


by Jake Bresnehan via Web Design Weekly

Property Based Testing with Javaslang

Usual unit testing is based on examples: We define the input for our unit and check for an expected output. Thus, we can ensure that for a specific sample our code works right. However, this does not prove the correctness for all possible inputs. Property based testing, also called property checking, takes another approach by adhering to the scientific theory of Falsifiability: As long as there is no evidence that a proposed property of our code is false, it is assumed to be true. In this article we are using Javaslang's API for property based testing to verify a simple FizzBuzz implementation.

Before We Start

I am using Javaslang Streams to generate an infinite FizzBuzz sequence which should satisfy certain properties. Compared with Java 8 Streams, the main benefit in the scope of this article is that the Javaslang variant provides a good API to retrieve individual elements with the get function.

Property Based Testing

Property based testing (PBT) allows developers to specify the high-level behaviour of a program in terms of invariants it should fullfill. A PBT framework creates test cases to ensure that the program runs as specified.

A property is the combination of an invariant with an input values generator. For each generated value, the invariant is treated as a predicate and checked whether it yields true or false for that value.

As soon as there is one value which yields false, the property is said to be falsified and checking is aborted. If a property cannot be falsified after a specific amount of sample data, the property is assumed to be satisfied.

Reverse List Example

Take a function that reverses a list as an example. It has several implicit invariants that must hold in order to provide proper functionality. One of them is, that the first element of a list is the last element of the same list reversed. A corresponding property combines this invariant with a generator which generates lists with random values and lengths.

Asssume, that the generator generates the following input values: [1,2,3], ["a","b"] and [4,5,6]. The list reverse function returns [3,2,1] for [1,2,3]. The first element of the list is the last elment of the same list reversed. The check yields true. The list reverse funcion returns ["a", "b"] for ["a", "b"]. The first element of the list is not the last element of the same list reversed. The check yields false. The property is falsified.

In Javaslang the default amount of tries to falisfy a property is 1000.

Property Checking FizzBuzz

FizzBuzz is a child's play counting from 1 on. Each child in turn has to say the current number out loud. If the current number is divisble by 3 the child should say "Fizz", if it is divisble by 5 the answer should be "Buzz" and if it is divisble by both 3 and 5 the answer should be "FizzBuzz". So the game starts like this:

1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, ...

FizzBuzz is often taken as a sample exercise in job interviews where applicants should fizzbuzz the numbers from 1 to 100. FizzBuzz can also be used as a Kata simple enough to focus on the surroundings like language, libraries or tooling instead of the business logic.

A stream seems to be a good way to model FizzBuzz. We will start with an empty one and gradually improve it to pass our tests.

public Stream<String> fizzBuzz() {
    Stream.empty();
}

Every Third Element Should Start with Fizz

From the description of FizzBuzz we can derive a first property about the FizzBuzz Stream: Every third element should start with Fizz. Javaslang's property checking implementation provides fluent APIs to create generators and properties.

@Test
public void every_third_element_starts_with_Fizz) {
    Arbitrary<Integer> multiplesOf3 = Arbitrary.integer()
        .filter(i -> i > 0)
        .filter(i -> i % 3 == 0);

    CheckedFunction1<Integer, Boolean> mustStartWithFizz = i ->
        fizzBuzz().get(i - 1).startsWith("Fizz");

    CheckResult result = Property
        .def("Every third element must start with Fizz")
        .forAll(multiplesOf3)
        .suchThat(mustStartWithFizz)
        .check();

    result.assertIsSatisfied();
}

Let's go through it one by one:

  • Arbitrary.integer() generates arbitrary integers which are filtered for positive multiples of 3 using filter.
  • The function mustStartWithFizz is the invariant: For a given index, the corresponding element in the stream (get is 0-indexed) must start with Fizz. The call to suchThat further below requires a CheckedFunction1, which is like a function but may throw a checked exception (something we do not need here).
  • Property::def takes a short description and creates a Property. The call to forAll takes an Arbitrary and ensures that the invariant in suchThat must hold for all input values generated by the Arbitrary.
  • The check function uses the generator to create multiples of 3 in the range from 0 to 100. It returns a CheckResult which can be queried about the result or be asserted.

The property is not satisfied, because for every generated multiple of 3 the corresponding element does not exist in the empty Stream. Let's fix this by providing a suitable stream.

public Stream<String> fizzBuzz() {
    return Stream.from(1).map(i -> i % 3 == 0 ? "Fizz": "");
}

Stream::from creates an infinite stream, which counts from the given number on. Every multiple of 3 is mapped to Fizz. The resulting stream contains a Fizz for every third element. Once we check the property again, it is satisfied and the result is printed on the console:

Every third element must start with Fizz: OK, passed 1000 tests in 111 ms.

Property Based Testing with Javaslang

Increase the Sample Size

Continue reading %Property Based Testing with Javaslang%


by Gregor Trefs via SitePoint

Shape

Basic but clean little One Pager announcing 'Shape' a new monthly gathering of makers in Carlsbad, California. Nice touch with the simple moving "shapes" to correlate with the branding.

by Rob Hope via One Page Love

Elastic and On Demand – Why Influx Is the Solution for Customer Support

[special]This article is a part of a new series called Startup Spotlight, where we focus on successful entrepreneurs and emerging startups that are taking the web industry by storm.[/special]

Everyone knows a thick skin is needed to handle the world of customer support. Customers have the opportunity to seek support via phone calls, emails, social media posts, live chats and more.

It’s a lot to handle, and as these technological developments continue so does the pressure for customer support managers to answer these queries as timely and efficiently as possible.

But there are only so many queries people can handle before it grows tiresome, and because we’re all human it’s impossible for anyone to work 24 hours a day, 7 days a week answering every question possible.

Cue Influx, a startup that handles customer conversations and actions for businesses of all sizes and types, responding to tens of thousands of customer queries every month.

[caption id="attachment_146031" align="aligncenter" width="1024"]Influx Co-Founders: Leni Mayo (Left) and Michael de Wildt (Right). Credit: Influx Influx Co-Founders: Leni Mayo (Left) and Michael de Wildt (Right). Credit: Influx[/caption]

The company was founded by Leni Mayo and Michael de Wildt, who both faced a similar problem of having too many customer support inquiries to manage their successful side businesses. What initially began as a side project and answering customer tickets for friends eventually grew into a fully fledged business - a scenario that many startups and emerging entrepreneurs can relate to.

"One of our value propositions is that we’re elastic and we’re on demand. Clients only pay per output with us, meaning they pay when we answer to a customer," said Chief Marketing Officer Alex Holmes.

Influx changes the game by helping businesses build long-standing relationships with their customers by delivering round-the-clock, round-the-world customer support. Since its beginnings as a two person team three years ago, the company has expanded into more than 80 employees based in Australia and worldwide.

Influx’s Chief Marketing Officer Alex Holmes joined the team earlier this year after having worked with digital marketplace Envato in the past, having developed a real interest for the customer support industry.

Continue reading %Elastic and On Demand – Why Influx Is the Solution for Customer Support%


by Aleczander Gamboa via SitePoint

4 Ways to Turn Your Site Into Your Best Salesperson

Salespeople are expensive. According to a 2007 report from Sales Benchmark Index, the average rep costs $176,848 each year (including compensation, commission, and work expenses). That comes out to approximately $287.56 per sales call.

Given these numbers, it’s no wonder many organizations are focused on cutting down—or even eliminating entirely—their sales teams.

Enter: The touchless (or self-service) model. Traditionally, a company’s marketing department would be responsible for passing a certain number of leads to the sales force every month or quarter. Once a salesperson had decided the lead was worth her time, she’d reach out to the contact and attempt to guide him through the purchasing decision.

In a touchless world, the buyer guides himself. Instead of listening to the salesperson recount the product’s benefits, he reads this information online. Rather than sitting through an online demo of the product, he signs up for a free trial or watches a product video.

Not only does the company save money, but the buyer gets to walk through the process at his own pace. It’s a win-win.

To make this possible, your interface must act as your salesperson. Incorporate some or all of these four elements to facilitate touchless sales. If you’re not ready to completely automate your sales process, these features can also help you shift some of the burden from your sales team to your website.

1. ROI Calculator

Before your prospect decides to evaluate your product, she needs to verify its potential impact on her life.

An ROI calculator is an excellent tool for letting potential customers calculate just that. Although most calculators show you how much money you stand to save with their company’s product or service, your calculator could compute productivity, time, efficiency, or convenience savings.

If your product has a range of benefits, you could build the calculator to display multiple returns. For example, maybe your clients typically increase their employee engagement rates by 30% and shorten their average time-to-hire by 10 days. Once a prospect has plugged in the relevant data, she could learn both her company’s “anticipated engagement increase” and “anticipated decrease in time-to-hire.”

Take a look at Trimble’s ROI calculator. It predicts how much more productive your construction crew will be as well as your return on investment for year one, two, three, four, and five.

[caption id="attachment_146557" align="aligncenter" width="1332"]Trimble ROI Calculator Trimble ROI Calculator[/caption]

2. A Resource Library

Your typical sales rep probably gets one question he’s never heard before out of every 100 questions prospects ask him. Now imagine the odds of someone asking him a question that neither he nor the salesperson sitting next to him have previously received. Those odds are pretty low.

Instead of having your sales force repeatedly give the same answers, create a knowledge base. This resource empowers potential customers: Now they can find information instantly rather than relying on a salesperson. It’s also far more efficient.

If you currently have a sales team, ask them which questions they receive most frequently. Turn each of those questions into mini articles.

If you don’t have a sales team, interview prospects to discover what they’re most interested in learning about along with the aspects that confuse them.

Segment

Segment’s FAQ section is a strong example. It’s extensive but not overwhelming; wisely, the designers decided to display less common questions in a different section. The FAQ is also well-categorized and easy to navigate. Imagine TK

3. Use Strategically Timed Paywalls

[caption id="attachment_146556" align="aligncenter" width="782"]Timed paywalls Apple Music[/caption]

For a touchless sales model to work, the prospect must discover your product’s value on her own. It’s the show, not tell, approach.

There are a couple different ways to implement this strategy. First, you can design a free trial. Apple gives new customers access to its music streaming service for three months at no charge. After that, they can either pay $9.99 per month or cancel.

The idea is simple: Customers sign up for Apple Music because it’s free, educate themselves on its features and UI, and build up their music library. Just when they’ve become hooked on the product, their free trial ends.

Continue reading %4 Ways to Turn Your Site Into Your Best Salesperson%


by Aja Frost via SitePoint

CSS Selectors: Attribute Selectors

The following is an extract from our book, CSS Master, written by Tiffany B. Brown. Copies are sold in stores worldwide, or you can buy it in ebook form here. Attribute selectors match elements based on their attributes. This can be an attribute alone, such as [type], or it can be an attribute and value […]

Continue reading %CSS Selectors: Attribute Selectors%


by Tiffany Brown via SitePoint