Saturday, April 15, 2017

Twistudio

Twistudio is a digital design studio.


by csreladm via CSSREEL | CSS Website Awards | World best websites | website design awards | CSS Gallery

Friday, April 14, 2017

The Top 8 B2B Customer Marketing Trends in 2017 (Infographic)

The first quarter of 2017 is over but it does not mean that the world of customer marketing has stopped from changing. With the changing dynamics of marketing, businesses have to step up their strategy and make sure that they are reaching their target market effectively- without losing their...

[ 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

Building a Social Network with Laravel and Stream? Easy!

In the previous post, we saw how to add the follow functionality to a Laravel app. We also looked at how to configure our app to use Stream. This part will focus on:

  • configuring our models in order to make it possible to track activities.
  • the different types of feeds that Stream provides.
  • getting feeds from Stream.
  • rendering the different types of feeds in a view.

Laravel and Stream Logo Merger

Activity Fields

When using Stream, models are stored in feeds as activities. An activity is composed of at least the following data fields: actor, verb, object, time. You can also add more custom data if needed.

  • object is a reference to the model instance itself
  • actor is a reference to the user attribute of the instance
  • verb is a string representation of the class name

Let's define the activity verb inside our Post model:

[...]
class Post extends Model
{
    [...]
    /**
    * Stream: Change activity verb to 'created':
    */
    public function activityVerb()
    {
        return 'created';
    }
}

Feed Manager

We'll leverage the FeedManager to make our app lively. Stream Laravel comes with a FeedManager class that helps with all common feed operations. We can get an instance of the manager with FeedManager which we set as the facade alias earlier inside the config/app.php file.

Pre-Bundled Feeds

To get us started, the manager has feeds pre-configured. We could also add more feeds if our app needed them. The three feeds are divided into three categories: User Feed, News Feed and Notification Feed. The User feed, for example, stores all activities for a user. Let's think of it as our personal Facebook page. We can easily get this feed from the manager.

For this application, however, we are more interested in getting notifications for posts created by people we follow and also notifications for new follows, thus we'll just stick to the News Feed and the Notification Feed. For more information on the other types of feeds and how to use them visit this link.

Follow / Unfollow Functionality – Using FeedManager

We need to update the follow and unfollow methods inside the FollowController, to take note of the FeedManager:

app/Http/Controllers/FollowController.php

[...]
public function follow(User $user)
{
    if (!Auth::user()->isFollowing($user->id)) {
        // Create a new follow instance for the authenticated user
        Auth::user()->follows()->create([
            'target_id' => $user->id,
        ]);
        \FeedManager::followUser(Auth::id(), $user->id);

        return back()->with('success', 'You are now friends with '. $user->name);
    } else {
        return back()->with('error', 'You are already following this person');
    }

}

public function unfollow(User $user)
{
    if (Auth::user()->isFollowing($user->id)) {
        $follow = Auth::user()->follows()->where('target_id', $user->id)->first();
        \FeedManager::unfollowUser(Auth::id(), $follow->target_id);
        $follow->delete();

        return back()->with('success', 'You are no longer friends with '. $user->name);
    } else {
        return back()->with('error', 'You are not following this person');
    }
}
[...]

This code inside the follow method lets the current user's timeline and timeline_aggregated feeds follow another user's personal feed. Inside the unfollow method, we unsubscribe from another user's personal feed.

Continue reading %Building a Social Network with Laravel and Stream? Easy!%


by Christopher Vundi via SitePoint

E-Commerce Shop Card with CSS and Javascript

A tutorial about creating animated e-commerce shop card by using html, css and javascript.


by via jQuery-Plugins.net RSS Feed

Marjoe Bacus

Marjoe Bacus

Beautiful load transitions and clear, spacious typography in his AJAX-loading One Page portfolio for Marjoe Bacus. Lovely touch with the subtle progress bar as you scroll though the home section and convenient how it-auto-scrolls to the top once you get to the end. It's difficult to capture in this screenshot so make sure you take a look at the live site ⚡️

by Rob Hope via One Page Love

This week's JavaScript news, issue 330

This week's JavaScript newsRead this e-mail on the Web
JavaScript Weekly
Issue 330 — April 14, 2017
A fantastic round-up of concepts, tools, and things to consider when doing one of a developer’s most important tasks: debugging.
Sarah Drasner

Just 3 months old, Prettier is already heavily used in the industry for standardizing code style/formatting. With 1.0, the creators are putting their ‘safe for production’ stamp on it.
Christopher Chedeau

If GraphQL is yet another buzzword flying past, this is a great introduction to what the declarative data querying approach could be doing for you.
Sacha Greif

Lob.com
Lob provides an API that enables developers to send postcards, letters, checks, and more as effortlessly as sending emails. Lob is based in San Francisco, CA and is venture backed with over 6000 customers including Amazon, Square, and Counsyl.
Lob.com   Sponsor

Slack recently ported their desktop app over to using TypeScript, here Felix Rieseberg reflects on the experience. Also this week, Ember’s Tom Dale explained why Glimmer uses TypeScript, with examples.
Slack

Doug Crockford (author of JavaScript: The Good Parts) has been speculating on what should come after JavaScript while sharing his love and distaste for various languages over the years. (46 minutes)
Douglas Crockford

PhantomJS is a popular, scriptable headless Webkit implementation often used for testing. Its maintainer sees Chrome’s headless mode as the eventually preferred approach.
Vitaly Slobodin

Learn to build data-driven apps with Vue 2. Olayinka Omole creates a simple client to pull news stories from the New York Times API with the Axios library.
Sitepoint

A release that helps pave the way for React 16. See today’s React Status for more.
Andrew Clark

Jobs Supported by Hired.com

Can't find the right job? Want companies to apply to you? Try Hired.com.

In Brief

V8 Project Retiring the 'Octane' Benchmark Suite news
Seth Thompson

VueConf 2017, A Vue.js Conference in WrocÅ‚aw, Poland (Jun 21–23) news
Vue.js Conference

V8: Behind the Scenes (March Edition) news
Ignition and TurboFan are now enabled by default.
Benedikt Meurer

TypeScript 2.3 RC: Has A New 'Strict' Typing Option, and Async Generators and Iterators news
Microsoft

Introducing Live Code Comments: better than breakpoints & console.log tutorial
The feature allows to quickly inspect any expression value, even in the middle of a chain of function calls.
Wallaby.js  Sponsor

A Vue.js Intro For People Who Know Just Enough jQuery To Get By tutorial
Matt Rothenberg

Handling Multiple Checkboxes in Angular Forms tutorial
Netanel Basal

Recreating a Pong Game with SVG.js tutorial
Ulrich-Matthias Schäfer

How TC39's Incremental Approach Improves The Standards Process tutorial
Dylan Schiemann

Why Immutability Can Be Beneficial in JavaScript video
ReactCasts

The Future of Ember.js in 3 Minutes (with a Besuited Tom Dale) video
LinkedIn

Backslide: CLI Tool for Making HTML Presentations with Reveal.js tools node
Yohan Lasorsa

Selector: A Micro JavaScript Library for Replacing jQuery tools
…weighing in at 5KB. JSFiddle demo here.
Websilk

How to find and fix the slowest code in your .NET application tools
Find bottlenecks in your code or database & boost performance with ANTS Performance Profiler. Try it free now.
Red Gate  Sponsor

webDSP: A High Performance, Client-Side DSP Library using WebAssembly code
Live video effects demo here.
Pulusani, Khalkhali, and Wagner

awaiting: Functions to Make async/await Even More Useful code
Delays, throttled maps, callback/event/successes awaiting.
Hunter Loftis

UPNG.js: A Small and Fast PNG Decoder code
Photopea

VMS: A Vue.js 2.0-Based Content Management System code
Eric JJ

Barba.js: Smooth Visual Transitions Between Pages with pushState code
Luigi De Rosa

Curated by Peter Cooper and published by Cooperpress.

Like this? You may also enjoy: FrontEnd Focus : Node Weekly : React Status

Stop getting JavaScript Weekly : Change email address : Read this issue on the Web

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK


by via JavaScript Weekly

Using UX Design to Improve Customer Success

I’m lucky to be working on the frontline of two very exciting industries. I’m the Customer Success Manager of a usability software company – Optimal Workshop. My goal is to ensure UX professionals are successful in using our software, ultimately making the internet a better place by helping produce easier to navigate information architecture.

Both the UX and Customer Success industries are vital to one another and make perfect teammates. Without excellent user experience, there is a slim chance a customer can successfully use any software, product or service.

Likewise, how do you create superb user experience without knowing what makes a successful customer? A customer won’t keep using your software if they had a terrible onboarding experience. And in order to improve this experience, you must speak with the customer success team who know what value means to customers.

I’m always asked: “which of your customers have had the worst issues with UX?” It’s a scary question. Sweat used to form on my brow when faced with formulating a response that would not leave any of our customers feeling like they’d received the downturned thumb of King Joffrey.

But then I thought of the perfect example. John Hammond’s infamous operation InGen that created the prehistoric theme park known as Jurassic Park.

Here’s why…

Always start with research (or how InGen got it so wrong)

Successful user experience requires a substantial amount of research. InGen, it seems, did not carry out anywhere near enough. There was a sufficient amount completed in the mines of the Dominican Republic in order to find dino DNA, but this technical product research is not enough.

Even when it came to building the product – in this case anything from a diplodocus to a velociraptor – the customer clearly wasn’t taken into account. These products were not user-friendly. If there were any background market checks completed 65 million years ago, InGen would have uncovered this from the last time this product was rolled out.

Any UX professional knows to carry out some user testing. But if it’s with any form of potentially dangerous product, best to start with a prototype. Not Sam Neill! If we lose him, then who makes the gorgeous wine from New Zealand’s South Island? Carry out these tests with prototypes or on a feature server so as there’s no lasting damage.

InGen also used UNIX software to navigate between different sections of the theme park. An ugly, hard to navigate and painstakingly slow program that everyone within the company relied on.

Want to upload your timesheet? You’re going to have problems. Want to remotely lock a door between you and a face-eating dinosaur? You’re going to have even more problems. The 3D file viewer did look good though; a nice view at least before you were eaten alive.

The support provided by Jurassic Park was sparse. Dennis Nedry did not have the user in mind when carrying out his job. His mind was focused on the illegal distribution of dino DNA.

So, all in all, some terrible UX design and lack of user research led to some very unsuccessful customers. Some more unsuccessful than others, what with being dead and all.

How can we solve this so it won’t happen again, I hear you cry. Well, in the words of Jurassic Park’s Chief Engineer, Ray Arnold (Samuel L. Jackson): “Hold onto your butts!”

Know your user

One of the many things UX folk do well includes creating personas. As much as our title “customer success” states, at Optimal Workshop we looked at our role from a UX perspective to see our users for who they really were.

Optimal Workshop provide a suite of tools for researchers. When we looked at the people who were using our tools, “customer” didn’t fit. We realised we were looking at these users as the customers rather than “researchers”.

Yes, they are paying for a service and in turn, that makes them a customer. But when we categorised these people as researchers rather than customers, we found it much easier to uncover what they required from us to make them successful. Keep in mind, our users are researchers, but for you they could be bankers, farmers, salespeople or something else, depending on your business.

 

The title “customer” represented people who had come to spend money, where as “researchers” came to us to find out more about IA and the behaviours customers displayed when navigating an IA.

Friction

In the world of Customer Success, communication is key. Be it proactive or reactive, we communicate with customers on a daily basis to put out fires or start new conversations to assist with research. But communication is a delicate art. Timing is everything, and where to communicate is key.

I learned something very interesting from UX designer Per Axbom. He speaks about “friction” and challenges the claim that as user experience designers or researchers we must remove any obstacles and friction from a user’s interaction with your website or software. In modern design, everything must be streamlined which has prevented the opportunity for customers to stop and think.

Some cash counting apps had to increase the time it took for their service to do its job as customers lost trust. Some ecommerce websites have seen a drop in sales as the customers found themselves on the purchase page before they even knew it. It happened to me using a well known B&B sourcing app. I thought I was inquiring when I was in fact buying. There was no friction asking me, do you really wish to go down that route?

Getting to implement this friction was great news as a Customer Success professional, especially during the onboarding experience. An overly simplistic onboarding design prevents your organisation from distinguishing between real users and those who just sign up for sign up’s sake.

Providing the opportunity for the customer to stop and think, be it through a chat interruption, an additional step in signing up, or one final insight into what a subscription entails before the form is complete, can help manage expectations before the purchase plunge is taken.

Remember; not everyone needs you and you don’t need everyone.

Demonstrating your way to UX success

Software demonstrations are some of the most effective ways to improve the usability of your product. What you are doing in a demonstration is highlighting the benefits this tool, showing the key features, the new iterations that make researchers’ lives easier, and hopefully uncovering the eureka moment of “I need this!”

As you’re the person demonstrating these tools in a high-pressure environment, you really start to see the little things that bug the hell out of you as a user. You’re live and speaking with one person or 300 people, things really jump out of the screen. Does it really take that long for this screen to load? Why is that button blue? That would be way easier to read on the right of the screen?

Demonstrating is a fantastic way for customer success teams to feed into your product development. UX professionals must talk to their Customer Success colleagues or sales team tomorrow. Ask them about something that annoyed them from a recent demo and I can guarantee they’ll have some feedback you can use to improve your software.

So, now we know. There are many reasons why UX teams and Customer Success teams must work together in order to formulate this mutually beneficial relationship.

If only the folks at InGen had this advice. Their customers would have been much more successful… and alive.

An avoidable situation… if only they’d tested the product first.

The post Using UX Design to Improve Customer Success appeared first on UX Mastery.


by Paddy McShane via UX Mastery