Stunning Examples of Interaction in Mobile App Design

Original Source: http://feedproxy.google.com/~r/1stwebdesigner/~3/c085adpBZ6Y/

Visual appeal aside, effective interaction design can lead to significant improvements in the user experience of your mobile product.

Taking the iOS or Android operating systems, you can see that almost every action is executed by some type of interaction. Whether this interaction comes in animation terms, or tangible feedback such as a taptic engine, the possibilities are never ending.

Example #1 – Siren

Siren uses many different interaction animations in its app design. The first of which are the elements that move with varying delays to produce something of a ‘wave’ effect when you swipe left or right.

Siren interaction animation

This provides additional feedback to the user as to the overall structure and flow of the main page. The app also utilizes shrinking elements to expand the interaction area of the interface, while ensuring critical information always remains on show.

Example #2 – B&O Play

The B&O Play app implements a series of satisfying transitional effects upon interaction with scrolling, color choice, and selection.

B and O Play

There are a number of effects for each interaction, including delayed horizontal motion, icon pops, and even visual feedback in the form of attaching imagery to the scroll area when a user has scrolled to the top of the list.

It uses these effects subtly, with precision and restraint, resulting in one of the finest examples around.

Example #3 – Bthere

Bthere’s app is a delightful example of interaction design in order to entice the user through the onboarding process – something that is typically a somewhat tedious part of the user experience

Bthere interaction design

By animating the icon transitions and background colors, as well as the individual icon elements themselves (including the scooter’s exhaust!), Bthere has conveyed the fun and light-heartedness of their brand effectively, while likely improving user conversion and retention upon download of the app.

Example #4 – Housing

Housing uses subtle interactions throughout their app. Upon adding a new feature, whereby the user could call an Uber to a viewing, the design team needed to find an unobtrusive way in which to bring attention to this new addition.

Housing app

The result, as shown above, is enough to grab the user’s attention momentarily, while not being in-the-face of the user. The execution of both icon design and color combines effectively to improve conversions as well as visual appeal.

Example #5 – Neighborhood

The final example, Neighborhood, implements interaction design in almost every aspect of the app, throughout icons, popover elements, messages, and panning.

Neighborhood app interaction design

The attention to detail in every step of the design has lead to some visually satisfying results, including a user menu that is somewhat reminiscent of Facebook’s chat heads.

Overall, it results in a cohesive user experience with plenty of visual feedback and easy-to-use features.

Finished

As 2017 gets underway, the abundance of tools now available to designs and developers, should see some even more spectacular and unique results in mobile app interaction design throughout this year.

Which interactions would you like to see more of in 2017? Share them below in the comments!


How to Learn React: Everything You Need to Get Started

Original Source: https://www.sitepoint.com/learn-react-everything-need-get-started/

React is a JavaScript library, originally built by developers at Facebook, for building fast user interfaces. If you’re dipping your toe into the React waters, or if your React development journey is picking up speed, it can be hard to stay across the fundamentals, techniques, tools and tricks – so we’ve created this guide to […]

Continue reading %How to Learn React: Everything You Need to Get Started%

Launching Your Design Career: Which Type Of Education Is Best For You?

Original Source: https://www.smashingmagazine.com/2017/09/design-career-best-education/


 

 

If you’re stuck in a job you hate and have dreams of becoming a designer and working in a creative role that fills you with excitement daily, the road to entering this completely new industry can feel daunting.

Launching Your Design Career: Which Type Of Education Is Best For You?

Making a major career shift late in life to follow your passion is scary. Not only is it sometimes difficult to know where to start to learn about an expansive field like design, but it can also feel risky, especially if you’re working a secure job.

The post Launching Your Design Career: Which Type Of Education Is Best For You? appeared first on Smashing Magazine.

Collective #341

Original Source: http://feedproxy.google.com/~r/tympanus/~3/MDXVf5wQ2Eg/

C341_PageCloud

Our Sponsor
You’ve Never Made A Website Like This Before

When you pick the right platform, creating isn’t a struggle! Change the way you make websites forever.

Try PageCloud today

C341_comparison

Designing The Perfect Feature Comparison Table

Vitaly Friedman continues an excellent series on UI patterns and dives into feature comparison tables.

Read it

C341_Speakerdex

Speakerdex

A place for speakers to share talks and for event organizers to find them.

Check it out

C341_async

Using ES2017 Async Functions

Eric Windmill explains asynchronous JavaScript and the new ES2017 feature async.

Read it

C341_Js13k

Js13kGames

Enter this year’s JavaScript coding competition and make something under 13kb. The competition started at 13:00 CEST, 13th August and will end at 13:00 CEST, 13th September 2017. Theme for 2017 is: lost.

Check it out

C341_Skeuo

Thoughts on Skeuomorphic Menu Systems

Charlie Deets explores skeuomorphic and spatial menu systems, highlighting advantages and disadvantages.

Read it

C341_WebFonts

Web fonts: when you need them, when you don’t

A great read by David Gilbertson on making an informed decision when it comes to using web fonts.

Read it

C341_Font

Free Font: Buddy Mac

A skinny all-caps font designed by Missy Meyer.

Get it

C341_styleguide

Creating a Collaborative Style Guide for Designers and Engineers

Learn how building a flexible, collaborative, and scalable typography guide helps designers and engineers collaborate better.

Read it

C341_Hologram

Hologram

A Mac app that lets you prototype WebVR interactively without prior coding knowledge.

Check it out

C341_InteractionDesign

Foundations of Interaction Design

Read about how Christina Wodtke teaches Interaction Design in this interesting article.

Read it

C341_Accessible

How to design websites for blind and partially sighted people

Learn how to improve accessibility for people with visual impairments. By Christopher Ratcliff.

Read it

C341_phpbot

Phpbot

A PHP snippet bot that generates code examples for quick copy/pasting.

Check it out

C341_blender

Blender

A Sketch app plugin that distributes shapes evenly between multiple objects in Sketch.

Check it out

C341_qlearning

Teaching an AI to play a simple game using Q-learning

Learn how to teach a computer to master a simple video game using the q-learning reinforcement learning algorithm.

Check it out

C341_Stockio

Stockio

A new site with free photos, vectors, icons, fonts and videos for personal and commercial use.

Check it out

C341_fintech

A free set of 48 free fintech vector icons

A great line icon set designed by Agente Studio.

Get it

C341_prettyalgo

Pretty algorithms

Common useful algorithms written in modern, pretty and easy-to-understand JavaScript along with real-world usage examples.

Check it out

C341_pa11y

Accessibility Testing with pa11y

In this article by Ire Aderinokun you’ll learn how to use pa11y, a set of free and open source tools that aims to make designing and developing accessibility easier.

Read it

C341_picostyle

Picostyle

An ultra small CSS in JS library by Masaaki Morishita.

Check it out

C341_FontArcanista

Free Font: Arcanista

Victor Tramontin designed this creative display font.

Get it

C341_SketchDesigners

Sketch for Designers

A growing collection of the best Sketch resources.

Check it out

Collective #341 was written by Pedro Botelho and published on Codrops.

Getting Started with React: A Beginner’s Guide

Original Source: https://www.sitepoint.com/getting-started-react-beginners-guide/

In this guide, I’ll show you the fundamental concepts of React by taking you through a practical, step-by-step tutorial on how to create a simple Message App using React. I’ll assume you have no previous knowledge of React. However, you’ll need at least to be familiar with modern JavaScript and NodeJS.

React is a remarkable JavaScript library that’s taken the development community by storm. In a nutshell, it’s made it easier for developers to build interactive user interfaces for web, mobile and desktop platforms. One of its best features is its freedom from the problematic bugs inherent in MVC frameworks, where inconsistent views is a recurring problem for big projects. Today, thousands of companies worldwide are using React, including big names such as Netflix and AirBnB. React has become immensely popular, such that a number of apps have been ported to React — including WhatsApp, Instagram and Dropbox.

Prerequisites

As mentioned, you need some experience in the following areas:

functional JavaScript
object-oriented JavaScript
ES6 JavaScript Syntax

On your machine, you’ll need:

a NodeJS environment
a Yarn setup (optional)

If you’d like to take a look first at the completed project that’s been used in this guide, you can access it via GitHub.

[affiliate-section title=”Recommended Courses”][affiliate-card title=”The Best Way to Learn React for Beginners” affiliatename=”Wes Bos” text=”A step-by-step training course to get you building real world React.js + Firebase apps and website components in a couple of afternoons. Use coupon code ‘SITEPOINT’ at checkout to get 25% off.” url=”https://ReactForBeginners.com/friend/SITEPOINT” imageurl=”https://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2017/07/1501203893wesbos.jpg”][/affiliate-section]

What is React?

React is a JavaScript library for building UI components. Unlike more complete frameworks such as Angular or Vue, React deals only with the view layer. Hence, you’ll need additional libraries to handle things such as data flow, routing, authentication etc. In this guide, we’ll focus on what React can do.

Building a React project involves creating one or more React components that can interact with each other. A React component is simply a JavaScript class that requires the render function to be declared. The render function simply outputs HTML code, which is implemented using either JSX or JavaScript code. A React component may also require additional functions for handling data, actions and lifecyle events.

React components can further be categorized into containers/stateful components and stateless components. A stateless component’s work is simply to display data that it receives from its parent React component. It can also receive events and inputs, which it passes up to its parent to handle. A React container or stateful component does the work of rendering one or more child components. It fetches data from external sources and feeds it to its child components. It also receives inputs and events from them in order to initiate actions.

Understanding the React DOM

Before we get to coding, you need to be aware that React uses a Virtual DOM to handle page rendering. If you’re familiar with jQuery, you know that it can directly manipulate a web page via the HTML DOM. In a lot of use cases, this direct interaction poses little to no problems. However, for certain cases, such as the running of a highly interactive, real-time web application, performance often takes a huge hit.

To counter this, the concept of the Virtual DOM was invented, and is currently being applied by many modern UI frameworks including React. Unlike the HTML DOM, the Virtual DOM is much easier to manipulate, and is capable of handling numerous operations in milliseconds without affecting page performance. React periodically compares the Virtual DOM and the HTML DOM. It then computes a diff, which it applies to the HTML DOM to make it match the Virtual DOM. This way, React does its best to ensure your application is rendered at a consistent 60 frames per second, meaning that users experience little or no lag.

Enough chitchat! Let’s get our hands dirty …

Start a Blank React Project

As per the prerequisites, I assume you already have a NodeJS environment setup. Let’s first install or update npm to the latest version.

$ npm i -g npm

Next, we’re going to install a tool, Create React App, that will allow us to create our first React project:

$ npm i -g create-react-app

Navigate to your project’s root directory and create a new React project using the tool we just installed:

$ create-react-app message-app


Success! Created message-app at /home/mike/Projects/github/message-app
Inside that directory, you can run several commands:

yarn start
Starts the development server.

yarn build
Bundles the app into static files for production.

yarn test
Starts the test runner.

yarn eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

cd message-app
yarn start

Happy hacking!

Depending on the speed of your internet connection, this might take a while to complete if this is your first time running the create-react-app command. A bunch of packages gets installed along the way, which are needed to set up a convenient development environment — including a web server, compiler and testing tools.

Navigate to the newly created message-app folder and open the package.json file.

{
“name”: “message-app”,
“version”: “0.1.0”,
“private”: true,
“dependencies”: {
“react”: “^15.6.1”,
“react-dom”: “^15.6.1”,
“react-scripts”: “1.0.12”
},
“scripts”: {
“start”: “react-scripts start”,
“build”: “react-scripts build”,
“test”: “react-scripts test –env=jsdom”,
“eject”: “react-scripts eject”
}
}

Surprise! You expected to see a list of all those packages listed as dependencies, didn’t you? Create React App is an amazing tool that works behind the scenes. It creates a clear separation between your actual code and the development environment. You don’t need to manually install Webpack to configure your project. Create React App has already done it for you, using the most common options.

Let’s do a quick test run to ensure our new project has no errors:

$ yarn start

Starting development server…
Compiled successfully!

You can now view message-app in the browser.

Local: http://localhost:3000/
On Your Network: http://10.0.2.15:3000/

Note that the development build is not optimized.
To create a production build, use yarn build.

If you don’t have Yarn, just substitute with npm like this: npm start. For the rest of the article, use npm in place of yarn if you haven’t installed it.

Your default browser should launch automatically, and you should get a screen like this:

Create React App

One thing to note is that Create React App supports hot reloading. This means any changes we make on the code will cause the browser to automatically refresh. For now, let’s first stop the development server by pressing Ctrl + C. This step isn’t necessary, I’m just showing you how to kill the development server. Once the server has stopped, delete everything in the src folder. We’ll create all the code from scratch so that you can understand everything inside the src folder.

Introducing JSX Syntax

Inside the src folder, create an index.js file and place the following code in it:

import React from ‘react’;
import ReactDOM from ‘react-dom’;

ReactDOM.render(<h1>Hello World</h1>, document.getElementById(‘root’));

Start the development server again using yarn start or npm start. Your browser should display the following content:

Hello React

This is the most basic “Hello World” React example. The index.js file is the root of your project where React components will be rendered. Let me explain how the code works:

Line 1: React package is imported to handle JSX processing
Line 2: ReactDOM package is imported to render React components.
Line 4: Call to render function

<h1>Hello World</h1>: a JSX element
document.getElementById(‘root’): HTML container

The HTML container is located in public/index.html file. On line 28, you should see <div id=”root”></div>. This is known as the root DOM because everything inside it will be managed by the React DOM.

JSX (JavaScript XML) is a syntax expression that allows JavaScript to use tags such as <div>, <h1>, <p>, <form>, and <a>. It does look a lot like HTML, but there are some key differences. For example, you can’t use a class attribute, since it’s a JavaScript keyword. Instead, className is used in its place. Also, events such as onclick are spelled onClick in JSX. Let’s now modify our Hello World code:

const element = &lt;div&gt;Hello World&lt;/div&gt;;

ReactDOM.render(element, document.getElementById(‘root’));

I’ve moved out the JSX code into a variable named element. I’ve also replaced the h1 tags with div. For JSX to work, you need to wrap your elements inside a single parent tag. This is necessary for JSX to work. Take a look at the following example:

const element = &lt;span&gt;Hello,&lt;/span&gt; &lt;span&gt;Jane&lt;/span;

The above code won’t work. You’ll get a syntax error telling you must enclose adjacent JSX elements in an enclosing tag. Basically, this is how you should enclose your elements:

const element = &lt;div&gt;
&lt;span&gt;Hello, &lt;/span&gt;
&lt;span&gt;Jane&lt;/span&gt;
&lt;/div&gt;;

How about evaluating JavaScript expressions in JSX? Simple, just use curly braces like this:

const name = “Jane”;
const element = &lt;p&gt;Hello, {name}&lt;/p&gt;

… or like this:

const user = {
firstName: “Jane”,
lastName: “Doe”
}
const element = &lt;p&gt;Hello, {user.firstName} {user.lastName}&lt;/p&gt;

Update your code and confirm that the browser is displaying “Hello, Jane Doe”. Try out other examples such as { 5 + 2 }. Now that you’ve got the basics of working with JSX, let’s go ahead and create a React component.

Continue reading %Getting Started with React: A Beginner’s Guide%

Collective #347

Original Source: http://feedproxy.google.com/~r/tympanus/~3/ZvSnbLi0s28/

C347_WOTW

Inspirational Website of the Week: Heartbeat Agency

Bold typography, interesting layouts and organic shapes make this design our inspiration of the week.

Get inspired

C347_NewSchool

Advertisement
New Master’s in Communication Design at Parsons

Parsons School of Design in NYC has launched a 1-year Master’s for design professionals focusing on digital product design.

Learn more

C347_chromedevtools

Learn How To Debug JavaScript with Chrome DevTools

Brandon Morelli shows how to ditch console.log debugging once and for all and learn how to use breakpoints to debug code within the Chrome Developer Tools.

Read it

C347_justwritecss

The zen of Just Writing CSS

An article by Rich Harris where he lays out how the biggest problems with CSS can be solved without CSS-in-JS.

Read it

C347_xrespond

Meet XRespond Testing Tool: Let’s Make Building Responsive Websites Simpler

Indrek Paas introduces XRespond, a virtual device lab for designing, developing and testing responsive websites.

Read it

C347_Lozad

Lozad

A performant JavaScript lazy loader with no dependencies for images, iframes and more. By Apoorv Saxena.

Check it out

C347_jstutorials

Every JavaScript framework tutorial written more than 5 minutes ago

The sad story of every developer trying to learn a JavaScript framework. A witty article by Roger Collier’s.

Read it

C347_innerself

Innerself

A tiny view and state management solution using innerHTML.

Check it out

C347_screenreader

Screen Readers and CSS: Are We Going Out of Style (and into Content)?

Some excellent research on the behavior of different browser-screen reader combinations when it come to CSS rendering.

Read it

C347_Lovr

LÖVR

A cross-platform, open source framework for creating VR with Lua.

Check it out

C347_rastersvg

Lazy async SVG rasterisation

Jake Archibald shows a great way to rasterize SVGs lazily with the help of createImageBitmap.

Read it

C347_font

Free Font: Pool Riders

A fun typeface coming in three weights designed by Guerillacraft.

Get it

C347_slider

Cities Slider (React)

A beautiful slideshow demo made by Nikolay Talanov.

Check it out

C347_extension

I wanted real time GitHub push notifications. So I built a Chrome extension.

Stacy Goh implemented an interesting extension for receiving real time GitHub push notifications.

Read it

C347_pwa

Building a Small PWA with Preact and Firebase

Dan Denney shares his process of learning how to build a Progressive Web App.

Read it

C347_bootstrap

Wired Dots

A resource for free Bootstrap 4 themes and components.

Check it out

C347_impossibleshape

Interlocked blocks

One of Louis Hoebregts’ impossible shape demos.

Check it out

C347_jsframework

Angular vs. React vs. Vue: A 2017 comparison

Jens Neuhaus’ objective and informative comparison of the most popular JavaScript frameworks.

Read it

C347_oxipng

Oxipng

Oxipng is a multi-threaded lossless PNG compression optimizer written in Rust. It can be used via a command-line interface or as a library in other Rust programs. Made by Josh Holmer.

Check it out

C347_Websiteabout

For the love of God, please tell me what your company does

Kasper Kubica’s criticism on the current state of non-explanatory landing page jargon.

Read it

C347_Lego

Responsive LEGO

Responsive animated LEGO pieces by Chris Gannon.

Check it out

C347_stateoftheweb

The State of the Web

In case you missed it: A guide to impactful performance improvements by Karolina Szczur.

Read it

C347_scroll

react-awesome-scroll

An easy to customize styled scrollbar with native behavior.

Check it out

Collective #347 was written by Pedro Botelho and published on Codrops.

UX At Scale 2017: Free Webinars To Get Scaling Design Right

Original Source: https://www.smashingmagazine.com/2017/09/ux-scale-design-free-webinars-2017/


 

 

Design doesn’t scale as cleanly as engineering. It’s not enough that each element and page is consistent with each other — the much bigger challenge lies in keeping the sum of the parts intact, too. And accomplishing that with a lot of designers involved in the same project.

UX At Scale 2017: Free Webinars To Get Scaling Design Right

If you’re working in a growing startup or a large corporation, you probably know the issues that come with this: The big-picture falls from view easily as everyone is focusing on the details they are responsible for, and conceptions about the vision of the design might be interpreted differently, too. What we need is a set of best practices to remove this friction and make the process smoother. A strategy to scale design without hurting it.

The post UX At Scale 2017: Free Webinars To Get Scaling Design Right appeared first on Smashing Magazine.

4 Lesser Known Factors Designers Should Consider When Designing for the Web

Original Source: http://feedproxy.google.com/~r/Designrfix/~3/QyAB1cTymCg/4-lesser-known-factors-designers-should-consider-when-designing-for-web

Image credit: Pexels. Competent web designers know that there are several factors that should be taken into account when designing. There’s the need for easy navigation, the suitability of the design for the intended audience, compatibility with different browsers, and mobile-friendliness to name a few. There are lesser known factors, though, that also need to […]

The post 4 Lesser Known Factors Designers Should Consider When Designing for the Web appeared first on designrfix.com.

7 Essential Steps to Build a Successful Mobile App

Original Source: http://feedproxy.google.com/~r/Designrfix/~3/MiqWTIlPpAk/7-essential-steps-build-successful-mobile-app

Mobile phones are ruling our modern age. We have witnessed many developments in the field of technology and one of the most notable growths that technology presented us is mobile technology. In the present day, it has become very tough for people to live even a single day without using their mobile phones. It is […]

The post 7 Essential Steps to Build a Successful Mobile App appeared first on designrfix.com.

Meet XRespond Testing Tool: Let’s Make Building Responsive Websites Simpler

Original Source: https://www.smashingmagazine.com/2017/09/xrespond-building-responsive-websites-simpler/


 

 

The way people consume information is constantly evolving. As web designers and developers, we keep up with all of the different screen shapes and sizes, learning to create beautiful, flexible software. Yet most of the available tools still don’t reflect the nature and diversity of the platform we’re building for: the browser.

Let’s Make Building Responsive Websites Simpler

When I was making my first responsive website in 2012, I quickly realized how inefficient and time-consuming the constant browser window resizing was. I had just moved from Estonia to Australia, and with a newborn, time was very much a precious resource.

The post Meet XRespond Testing Tool: Let’s Make Building Responsive Websites Simpler appeared first on Smashing Magazine.