Tuesday, June 6, 2017

WWDC 2017 Aftermath: The Most Important Announcements

E-Commerce Revolutionized Shopping and It’s Going to Do It Again with Virtual Reality (infographic)

Today, virtual reality is a multi-million-dollar market. By 2020, it’s slated to be worth some $70 million. The technology has come a long way. Created and otherwise tossed aside in the 1980s and 90s, VR has seen a resurgence in the smartphone era with awe and amazement. Consumers are drawn to VR...

[ 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

The Often Overlooked Aspects of UX and UI Design

Five experts weigh in on the areas they feel need improvement.

In today’s digital world, the importance of user experience has never been more apparent. You have about 0-8 seconds to entice the reader before they leave, and so your website or app has a significant impact on a businesses’ sales, and indeed on customer satisfaction.

Designers need to create a unique experience across devices, customer-centric strategies, and constantly adapt to the user’s changing needs. Yet, there are still areas which are being underserved by developments in UX and UI. Ahead of the UX & UI Innovation Summit, we asked five UX/UI executives their opinion on what the industry can do to better serve consumers.

Leo Marti, Senior UX Designer, BBC Worldwide

“UX is too often seen as a way to make a digital product easy and appealing to use. Unfortunately, people are often unaware that UX can also be a strategic tool that can help sharpen a product vision and strategy. It balances the business’ needs with users’ needs.

“I also think we still have a lot to learn about design leadership. UX is a very young discipline, and only a very few people have experience managing and scaling large design teams.”

Vincenzo Zuccarello, Senior UX Architect, Aviva

“I feel that currently financial services is still seen as a beast that takes money away from people but doesn’t give it back when they need it the most (i.e. when claiming). This is particularly true when proposition pages are made shiny yet the claim aspect/process is still complicated and cumbersome to users.”

 

Andru Dunn, Senior UI Developer, John Lewis

“I think accessibility compliance is sadly still not part of every UI developer’s workflow, and as a community, those who don’t are excluding a lot of people. It’s part of the fabric of my day to day job, and I hope it becomes more of an expected standard.”

 

Tiago Marques, Senior UX Designer, Lloyds

“Technology-wise, most banks are struggling with outdated IT. Because their legacy back-end systems often impose enormous constraints on what can be created or modified, it is very difficult for traditional banks to experiment with UX, and that reflects on the end customer experience.”

 

 

Mark Shahid, Senior UX Architect, Sky Betting and Gaming

“We’re potentially missing good UX standards. In a world full of opinion and pushy boardroom meetings, UX-ers are being chased for guidelines and principles that they can gestate towards whenever they’re put in an awkward defensive situation.

“Although ISO 9241 broadly covers usability standards (in a roundabout and expensive way), UX practitioners today still need a solid yardstick to measure the effects of their hard work by. We often claim we can cause bumps in the bottom line or even more smiley faces in the surveys, but measuring success in a large organisation can be full of red tape and massive huge overhead. We’re also missing CXOs. We need more really senior UX folk, in the boardroom, at the top, having those in-depth detailed strategy and vision conversations.”

Hear from many more leading UI and UX experts at the UX & UI Innovation Summit, taking place from 12-13 June in London.

The Summit brings together 100+ UX designers, UI architects, and design experts in an intimate environment of collaboration and learning. Learn how your peers are finding success and integrating new technologies into their UX strategy.

To see the full schedule, click here. Make sure you use the special UX Mastery promo code: UXM100 for £100 off two-day passes.

The post The Often Overlooked Aspects of UX and UI Design appeared first on UX Mastery.


by Stuart Found via UX Mastery

Exploring ES2017 Decorators in JavaScript

With the introduction of ES2015+, and as transpilation has become commonplace, many of you will have come across newer language features, either in real code or tutorials. One of these features that often has people scratching their heads when they first come across them are JavaScript decorators.

Decorators have become popular thanks to their use in Angular 2+. In Angular, decorators are available thanks to TypeScript, but they are due to be part of the ES2017 language update due out later this year. Let's take a look at what decorators are, and how they can be used to make your code cleaner and more easily understandable.

Note: If you're more of a video person, why not sign up for SitePoint Premium and check out some of our popular JavaScript courses?

What is a Decorator?

In its simplest form, a decorator is simply a way of wrapping one piece of code with another - literally "decorating" it.
This is a concept you might well have heard of previously as "Functional Composition", or "Higher-Order Functions".

This is already possible in standard JavaScript for many use cases, simply by calling one one function to wrap another:

function doSomething(name) {
  console.log('Hello, ' + name);
}

function loggingDecorator(wrapped) {
  return function() {
    console.log('Starting');
    const result = wrapped.apply(this, arguments);
    console.log('Finished');
    return result;
  }
}

const wrapped = loggingDecorator(doSomething);

This example produces a new function - in the variable wrapped - that can be called exactly the same way as the doSomething function, and will do exactly the same thing. The difference is that it will do some logging before and after the wrapped function is called.

doSomething('Graham');
// Hello, Graham
wrapped('Graham');
// Starting
// Hello, Graham
// Finished

How to use JavaScript Decorators?

Decorators use a special syntax in ES2017, whereby they are prefixed with an @ symbol and placed immediately before the code being decorated.

Note: At the time of writing, the decorators are currently in "Stage 2 Draft" form, meaning that they are mostly finished but still subject to changes.

It is possible to use as many decorators on the same piece of code as you desire, and they will be applied in the order that you declare them.

For example:

@log()
@immutable()
class Example {
  @time('demo')
  doSomething() {

  }
}

This defines a class and applies three decorators: two to the class itself and one to a property of the class:

  • @log could log all access to the class.
  • @immutable could make the class immutable - maybe it calls Object.freeze on new instances.
  • @time will record how long a method takes to execute and log this out with a unique tag.

At present, using decorators requires transpiler support, since no current browser or Node release has support for them yet.
If you are using Babel, this is enabled simply by using the transform-decorators-legacy plugin.

Note: the use of the word "legacy" in this Plugin is because it supports the way that Babel 5 handled Decorators, which might well be different to the final form when they are standardized.

Why use Decorators?

Whilst functional composition is already possible in JavaScript, it is significantly more difficult - or even impossible - to apply the same techniques to other pieces of code (e.g. classes and class properties).

The ES2017 draft adds support for class and property decorators that can be used to resolve these issues, and future JavaScript versions will probably add decorator support for other troublesome areas of code.

Decorators also allow for a cleaner syntax for applying these wrappers around your code, resulting in something that detracts less from the actual intention of what you are writing.

Different Types of Decorator

At present, the only types of decorator that are supported are on classes and members of classes. This includes properties, methods, getters, and setters.

Decorators are actually nothing more than functions that return another function, and that are called with the appropriate details of the item being decorated. These decorator functions are evaluated once when the program first runs, and the decorated code is replaced with the return value.

Continue reading %Exploring ES2017 Decorators in JavaScript%


by Graham Cox via SitePoint

Understanding Bootstrap Modals

In my previous tutorial, I explained how powerful Bootstrap 3 CSS framework is for a novice designers. It ships with some of the best ready-to-use JavaScript and jQuery components and plugins. The framework has reached version 3.3.7 and it's getting ready for the release of v.4 beta, which will bring about several important and necessary changes.

In this tutorial we will be talking about one of the most useful jQuery Bootstrap plugins, The Modal.

The Bootstrap Modal is a lightweight multi-purpose JavaScript popup that is customizable and responsive. It can be used to display alert popups, videos, and images in a website. Websites built with Bootstrap can use the modal to showcase (for example) terms and conditions (as part of a signup process), videos (similar to a standard light box), or even social media widgets.

Now let’s examine the different parts of Bootstrap’s modal, so we can understand it better.

The Bootstrap Modal is divided into three primary sections: the header, body, and footer. Each has its own significance and hence should be used properly. We’ll discuss these shortly. The most exciting thing about Bootstrap’s modal? You don’t have to write a single line of JavaScript to use it! All the code and styles are predefined by Bootstrap. All that’s required is that you use the proper markup and the attributes to trigger it.

[author_more]

The Default Modal

The default Bootstrap Modal looks like this:

Default Bootstrap modal

To trigger the modal, you’ll need to include a link or a button. The markup for the trigger element might look like this:

[code language="html"]
<a href="#" class="btn btn-lg btn-success"
data-toggle="modal"
data-target="#basicModal">Click to open Modal</a>
[/code]

Notice the link element has two custom data attributes: data-toggle and data-target. The toggle tells Bootstrap what to do and the target tells Bootstrap which element is going to open. So whenever a link like that is clicked, a modal with an id of “basicModal” will appear.

Now let’s see the code required to define the modal itself. Here is the markup:

[code language="html"]
<div class="modal fade" id="basicModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&amp;times;</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<h3>Modal Body</h3>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
[/code]

The parent div of the modal should have the same id as used in the trigger element above. In our case it would be id="basicModal".

Note: Custom attributes like aria-labelledby and aria-hidden in the parent modal element are used for accessibility. It is a good practice to make your website accessible to all, so you should include these attributes since they won’t negatively affect the standard functionality of the modal.

In the modal’s HTML, we can see a wrapper div nested inside the parent modal div. This div has a class of modal-content that tells bootstrap.js where to look for the contents of the modal. Inside this div, we need to place the three sections I mentioned earlier: the header, body, and footer.

The modal header, as the name implies, is used to give the modal a title and some other elements like the “x” close button. This should have a data-dismiss attribute that tells Bootstrap which element to hide.

Then we have the modal body, a sibling div of the modal header. Consider the body an open canvas to play with. You can add any kind of data inside the body, including a YouTube video embed, an image, or just about anything else.

Lastly, we have the modal footer. This area is by default right aligned. In this area you could place action buttons like “Save”, “Close”, “Accept”, etc., that are associated with the action the modal is displaying.

Now we are done with our first modal! You can check it out on our demo page.

Changing the Modal’s Size

Continue reading %Understanding Bootstrap Modals%


by Syed Fazle Rahman via SitePoint

Fixit – jQuery Plugin to Fix Any Element on Webpage

Fixit jQuery plugin can be used to fix the element at a certain position when the webpage is scrolled and the element is to be hidden, so that the element stay visible on the webpage.


by via jQuery-Plugins.net RSS Feed

Get Started With Ionic Services: Deploy