Monday, September 21, 2015

The Startup Roadmap: Getting Your Business Online - infographic

Here's a step-by-step guide to taking your business online - infographic

"So you want to start selling your products on the internet? You're not alone: 34 percent of small businesses growth strategy in the next 12 months involves the internet and e-commerce; in 2014, we-only merchants accounted for 193 of the top 500 retail businesses (and drew the most sales, at $125.47 billion). By 2018, purchase of products and services online are expected to total $2.5 trillion globally.

That's why smart businesses are increasingly turning to e-commerce as their primary means to connect with customers or to supplement their in-store sales. And 80 percent of websites owners are their own webmasters, choosing to set things up themselves.

But before you debut your website, here's some advice on how to get up and running and to ensure that your customers - and their friends - keep coming back."

by Irfan Ahmad via Digital Information World

Old Dog? Time to Learn some New Tricks.

Originally posted on uxmas.com

Do you remember when there was so much to learn you didn’t think you’d ever learn it all? The feeling of trying out a technique for the first time? Or how about the first time you presented an idea and people actually agreed with you? Wasn’t that cool!

As part of my role as UX conference organiser, I talk with a lot of ‘senior’ UX practitioners about how to get back to the level of enthusiasm they had when the field was new to them. I’ve talked to folks who have stopped attending conferences because they feel like the ideas have all been presented before. They have stopped buying books because they already have books on a topic. They have stopped reading articles because they are shallow or rehashed ideas. They have stopped attending meetups because they are full of newbies asking the same questions over and over.

After a while in the same role, work can start to feel like the same thing every day, especially if you work in-house. It’s easy to feel like you know everything there is to know and you do become a bit tired and stale.

But the good news is that it is possible to re-ignite your enthusiasm for UX and find opportunities to continue your learning.

Here are some tips on how to do it.

Conferences

When you’re new to a field, conferences are amazing. There are talks about brand new things and you can meet people who do the same work as you and have the same challenges. But when you’re experienced, conferences can feel a bit same-same and full of ideas that have been presented before.

As a senior practitioner, you can make conferences great again by changing how you interact with them:

  • Treat a conference as an opportunity to learn one or two things from the presentations and to get the most out of the discussions you have with other attendees. If you find yourself in the middle of a great discussion, keep going – you don’t actually have to go to all of the sessions. I’ve been to conferences where I attended only one or two presentations and spent the rest of the time having fantastic, deep conversations with great people, learning way more than if I’d sat in a presentation.
  • Get involved. You may have the opportunity at a community conference to help out and support people new to the field. One of the best things I did at the IA Summit was to help out at their speaker studio, listening to practice runs of presentations and providing feedback to newer speakers. 
  • See if there is an opportunity to lead a small group discussion. As an experienced practitioner, the things you’re struggling with may not be discussed on-stage, but there still may be people with the same issues as you. 
  • Look for opportunities to have a group discussion with your peers – perhaps at lunch or in the conference foyer during sessions.

Attend conferences outside your field as well. You’ll experience the great feeling of all that new knowledge and you’ll meet a brand new group of people.

Read

Don’t stop reading!

Don’t stop reading books and articles about topics you already know. You’ll still pick up tips; see how other people attack problems and also how they communicate with their teams. I wrote an entire book about information architecture (so I probably know a fair amount about it), but I still buy every IA book I can get my hands on. I love seeing how other authors view the topic and explain it and I learn things that help me with my projects.

Read from outside the field as well. All of the traditional design fields have similarities to what we do with UX, particularly in terms of process and communication. But they interact with users differently and apply their skills to different types of problems. There is a ton to learn from other fields, so have a look into industrial design, product design, exhibition design, architecture and marketing for new perspectives.

Teach

Teaching is a fantastic way of actually figuring out what you know and finding out whether you understand a topic in a shallow or deep way. To teach well, you need to go back to first principles and construct lessons from those principles. Many of us can design well, but we don’t know why we do what we do and what our decisions are based on. Teaching will force you to examine your knowledge and become a better designer as a result.

There are many ways to teach. You can run a workshop at a conference; tutor at university, write an article for a magazine; support junior designers in the workplace or become a mentor. All of these help you examine your own knowledge and it’s super-fun to see other people improve their skills.

Study

Go back to school. There’s nothing like studying a particular topic to wake up your brain again. Study can be related (I believe we all should have a better knowledge of human factors) or unrelated (I’m studying fashion, drawing and Spanish). Related study will, of course, give you skills that you can use in your day-to-day work. Study in an unrelated field can give you something different to focus on and a new enthusiasm for life and work.

Old dogs…

So don’t stop learning. You may be an old hat at UX design, but an old dog can still learn new tricks. It’s all about perspective and seeking out new experiences within your field and outside of it. If we stop learning, we stagnate. And a stagnant experienced UX practitioner is just not happy.

Google+

The post Old Dog? Time to Learn some New Tricks. appeared first on UX Mastery.


by Donna Spencer via UX Mastery

Wingsman

Digital agency


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

Web Design Weekly #204

Headlines

Two Months With CSS Modules

CSS Module are still a relatively new concept in the front-end space but people are slowly taking the leap and pushing it to production. In this post Chris Pearce explains how his team at Lystable are reaping the rewards from diving in head first. (chrispearce.co)

Sponsor WDW and Reach Over 23,648 Developers

Articles

Building an Enterprise CSS Framework

A behind the scenes look at the ins and outs of building a large enterprise CSS framework by Stephanie Rewis. If you happen to be working at a large company or your CSS is out of control, this post has some great takeaways. (medium.com)

HTTPS Everywhere With Nginx, Varnish and Apache

If you are ready to move to HTTPS but are still unsure on what and how to do it, this post by Rachel Andrews should help you on the right path. (smashingmagazine.com)

Test-Driven Product Design

Developers following a Test-Driven Development process is a common practice but not so much in the design space. In this post Kyle Fiedler explains how his design team go about utilising the same principles to create rock solid products. (thoughtbot.com)

A short note on coding alt text

Steve Faulkner explains why it isn’t a good idea to have line breaks in your ‘alt’ text. (paciellogroup.com)

Using template to delay loading of images (christianheilmann.com)

Tools / Resources

Want to learn JavaScript in 2015?

Vincent Orr shares his journey into becoming a JavaScript developer. This post walks through 12 steps he personally took this year to land a dedicated JavaScript job. A resourceful and inspiring post. (medium.com)

The Tools Designers Are Using Today

The team at Subtraction surveyed over 4000 people and managed to capture a snapshot of todays tool’s landscape. With so many tools out there today, these results could potential make your decisions easier if you are undecided. (subtraction.com)

Native CSS search engine – Jets.js

A clever idea by Denis Lukov that uses some nice filtering techniques. (github.io)

Collaborative design platform Atomic.io moves out of beta (atomic.io)

How to write an article to help people learn about the Web (mozilla.org)

A collection of useful CSS protips (github.com)

Modernizr v3 released (modernizr.com)

Inspiration

The Hardest Program I’ve Ever Written (stuffwithstuff.com)

The Polymer Summit 2015 videos (youtube.com)

Jobs

Web Engineer at Huge

If you love puzzles and problem solving, have a proven in-depth knowledge of popular JavaScript frameworks such as jQuery, Backbone, Angular, Closure, NodeJS, and can articulate JavaScript design patterns we want to hear from you today. (hugeinc.com)

WordPress.com VIP Developer

As a developer (aka VIP Wrangler) on the VIP team you are responsible for providing code-level support to all of our customers, building and shaping our products as a software engineer and just generally making stuff work. (automattic.com)

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

Last but not least…

How I lost the love for my side project

A 5 part series by Remy Sharp about his love/hate relationship with JS Bin. Hats off to Remy for opening up and writing about the dark side of side projects. (remysharp.com)

Keep Out – WebGL Game

Just a word of warning… This is an extremely well developed and addictive game. (littleworkshop.fr)

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


by Jake Bresnehan via Web Design Weekly

Transpiling ES6 Modules to AMD & CommonJS Using Babel & Gulp

ECMAScript 6 (a.k.a ECMAScript 2015 or ES6), the specification for next version of JavaScript has been approved and browser vendors are hard at work implementing it Unlike the previous versions of ECMAScript, ES6 comes with a huge set of changes to the language to make it a good fit for the scale at which it is used today. Sitepoint has a number of articles covering these features.

Although browsers haven’t implemented all of the features yet, we can already take advantage of ES6 during development and convert it to a version that browser understands before shipping the application. Babel and Traceur are two of the leading transpilers used for this purpose. Microsoft’s typed superset of JavaScript, TypeScript can also be used as an ES6 transpiler.

I covered how ES6 can be used today to write Angular 1.x applications in one of my previous articles. In this article I used Traceur’s on-the-fly transpiler to run the application. Although it works, it is always better to transpile beforehand and reduce the amount of work to be done in the browser. In this article, we will see how the same sample application can be transpiled to ES5 and the modules into either CommonJS or, AMD using Babel to make it run on today’s browsers. Though the sample is based on Angular, the techniques of transpilation can be used with any valid ES6 code.

As ever, you can find the code to accompany this article on our GitHub repo.

The Importance of Modules

[author_more]

One of the key features in any language used to write large applications, is the ability to load different pieces of the application in the form of modules. Modules not only help us keep the code cleaner but they also play a role in reducing the usage of global scope. The contents of a module are not made available to any other module unless the other module explicitly loads it.

The importance of modules is not limited to applications. Even large JavaScript libraries can take advantage of the module system to export their objects as modules and the applications using the libraries import these modules as required. Angular 2 and Aurelia have started using this feature.

If you’d like a quick primer on using modules in ES6, please read: Understanding ES6 Modules

About the Sample Application

The subject of our sample application is a virtual book shelf. It consists of the following pages:

  1. Home page: shows a list of active books that can be marked as read, or moved to the archive.
  2. Add book page: adds a new book to the shelf by accepting title of the book and name of author. It doesn’t allow a duplicate titles.
  3. Archive page: lists all archived books.

The application is built using AngularJS 1.3 and ES6. If you look at any of the files in the app folder, you will see the keywords export and import used to export objects from the current module and to import objects from other modules. Now, our job is to use Babel’s Gulp tasks to convert these modules to one of the existing module systems.

But I’m Not Using Angular. I Just Want to Convert ES6 Modules to CommonJS/AMD

No worries! We got you covered. With a minor amount of tweaking the recipes demonstrated below can be used in any project involving ES6 modules. Angular is quite unimportant here.

Converting to CommonJS

CommonJS is a module system defined by the CommonJS group. It is a synchronous module system, in which the modules are loaded using the require function and exported using the exports property of the module object. The module object is expected to be available in all modules by default.

Node.js uses this module system, so it defines the module object natively and makes it available to your application. As browsers don’t have this object defined, we need to use a utility called Browserify to fill the gap.

Before we start, we will also need to install a few npm packages. These will enable us to use babel and browserify in conjunction with Gulp to convert our ES6 modules to one of the common module formats and package the application as a single file for the browser to consume.

Continue reading %Transpiling ES6 Modules to AMD & CommonJS Using Babel & Gulp%


by Ravi via SitePoint

What Are WordPress Nonces?

Keeping your WordPress theme or plugin code secure is important to prevent possible attacks from malicious users.

We’ve previously covered how to sanitize, escape and validate form data in WordPress, as well as improving your WordPress theme quality with the VIP Scanner.

Today we’ll look at how nonces (number used once) can also help keep your WordPress themes and plugins secure.

What are WordPress Nonces?

WordPress nonces are defined as:

… a “number used once” to help protect URLs and forms from certain types of misuse, malicious or otherwise.
http://ift.tt/1hFvqoO

Whilst in WordPress a nonce isn’t technically a number (it’s a hash made up of letters and numbers), it does help prevent actions from being run by malicious users.

WordPress nonces work in two parts:

Continue reading %What Are WordPress Nonces?%


by Tim Carr via SitePoint

How to Build VR on the Web Today

Virtual reality is set to be worth up to $7 billion by 2020. The web is definitely not going to remain an exclusively 2D environment during this time. In fact, there are already a few simple ways to bring VR into the browser. It is also incredibly fun to work with!

[author_more]

To begin your development adventure into the Virtual Web, there are three potential ways to do this:

  • JavaScript, Three.js and Watching Device Orientation
  • JavaScript, Three.js and WebVR (My new preferred method!)
  • CSS and WebVR (still very early days)

I'll go over each one and show a short summary of how each works.

JavaScript, Three.js and Watching Device Orientation

One of the ways that most browser based virtual reality projects work at the moment is via the deviceorientation browser event. This tells the browser how the device is oriented and allows the browser to pick up if it has been rotated or tilted. This functionality within a VR perspective allows you to detect when someone looks around and adjust the camera to follow their gaze.

To achieve a wonderful 3D scene within the browser, we use three.js, a JavaScript framework that makes it easy to create 3D shapes and scenes. It takes most of the complexity out of putting together a 3D experience and allows you to focus on what you are trying to put together within your scene.

I've written two demos here at SitePoint that use the Device Orientation method:

If you are new to three.js and how to put together a scene, I'd recommend taking a look at the above two articles for a more in depth introduction into this method. I will cover key concepts here, however it'll be at a higher level.

The key components of each of these involve the following JavaScript files (you can get these files from the example demos above and also will find them in the three.js examples download):

  • three.min.js - Our three.js framework
  • DeviceOrientationControls.js - This is the three.js plugin that provides the Device Orientation we discussed above. It moves our camera to meet the movements of our device.
  • OrbitControls.js - This is a backup controller that lets the user move the camera using the mouse instead if we don't have a device that has access to the Device Orientation event.
  • StereoEffect.js - A three.js effect that splits the screen into a stereoscopic image angled slightly differently for each eye just like in VR. This creates the actual VR split screen without us needing to do anything complicated.

Device Orientation

The code to enable Device Orientation controls looks like so:

[code language="js"]
function setOrientationControls(e) {
if (!e.alpha) {
return;
}

controls = new THREE.DeviceOrientationControls(camera, true);
controls.connect();
controls.update();

element.addEventListener('click', fullscreen, false);

window.removeEventListener('deviceorientation', setOrientationControls, true);
}
window.addEventListener('deviceorientation', setOrientationControls, true);

function fullscreen() {
if (container.requestFullscreen) {
container.requestFullscreen();
} else if (container.msRequestFullscreen) {
container.msRequestFullscreen();
} else if (container.mozRequestFullScreen) {
container.mozRequestFullScreen();
} else if (container.webkitRequestFullscreen) {
container.webkitRequestFullscreen();
}
}
[/code]

The DeviceOrientation event listener provides an alpha, beta and gamma value when it has a compatible device. If we don't have any alpha value, it doesn't change our controls to use Device Orientation so that we can use Orbit Controls instead.

If it does have this alpha value, then we create a Device Orientation control and provide it our camera variable to control. We also set it to set our scene to fullscreen if the user taps the screen (we don't want to be staring at the browser's address bar when in VR).

Orbit Controls

If that alpha value isn't present and we don't have access the device's Device Orientation event, this technique instead provides a control to move the camera via dragging it around with the mouse. This looks like so:

[code language="js"]
controls = new THREE.OrbitControls(camera, element);
controls.target.set(
camera.position.x,
camera.position.y,
camera.position.z
);
controls.noPan = true;
controls.noZoom = true;
[/code]

The main things that might be confusing from the code above is the noPan and noZoom. Basically, we don't want to move physically around the scene via the mouse and we don't want to be able to zoom in or out - we only want to look around.

Stereo Effect

In order to use the stereo effect, we define it like so:

[code language="js"]
effect = new THREE.StereoEffect(renderer);
[/code]

Then on resize of the window, we update its size:

[code language="js"]
effect.setSize(width, height);
[/code]

Within each requestAnimationFrame we set the scene to render through our effect:

[code language="js"]
effect.render(scene, camera);
[/code]

Continue reading %How to Build VR on the Web Today%


by Patrick Catanzariti via SitePoint