Thursday, December 1, 2016

EasyFader – Lightweight Fading Slideshow Plugin

EasyFader is an ultralight fading slideshow plugin for responsive layouts by using jQuery.


by via jQuery-Plugins.net RSS Feed

This week's JavaScript news, issue 312

This week's JavaScript newsRead this e-mail on the Web
JavaScript Weekly
Issue 312 — December 1, 2016
A warning against using too many cutting edge, experimental features, and a look at how new features go through a multi-stage process that’s often overlooked.
Mike Pennisi

Component driven and with a one-way data flow architecture. Only 7KB in size, and includes a feature to migrate from React quickly.
Dominic Gannaway

A look at the current state of the V8 JavaScript engine, the WebAssembly project, and the relevance of both on JavaScript performance. 34 minutes.
Seth Thompson

GrapeCity
Enterprise JavaScript spreadsheet and data presentation components for creating modern data layouts, numerical models, dashboards, reports, and more. Includes Spread.Sheets & Spread.Views. View online samples or download your SpreadJS eval today.
GrapeCity   Sponsor

Vildan Softic builds a Markdown editor with undo/redo functionality to demonstrate using Redux to manage state in Aurelia apps.
Sitepoint

A native JavaScript auto-synchronizing object database with a SQL like syntax and persistence engines for both the browser and Node.
Simon Y. Blackwell

Jobs

  • Senior Front-End Developer (Professional Services) at BackbaseWe are a unique, fast growing startup-like company, creating powerful software products with the latest technologies. We have awesome international peers and a lot of room for innovation. Come work with us in Amsterdam. Watch it here. Backbase
  • Web Platform Architect at Twitch (SF)Join the Twitch JavaScript team as a Web Platform Architect and help define our next gen React web platform that scales across our distributed product engineering org while achieving a highly performant web experience.  Twitch
  • Find Your Perfect Fit - Try HiredSick of pushy recruiters, and dead end interviews? Try Hired to hear from top tier companies, and only talk to relevant companies. Hired

In brief

Ember 2.10 and 2.11 Beta Released news
Godfrey Chan, Brendan McCloughlin & Nathan Hammond

The State of Front-End Tooling 2016 Survey Results news
4715 developers responded to a recent front-end tooling survey and the thorough results are shared here.
Ashley Nolan

The Future of Aurelia: Roadmap and Upcoming Features news
Rob Eisenberg takes a look at the future of Aurelia, from tooling to server-side rendering to a look at Aurelia UX, Aurelia’s open source sister framework.
Sitepoint

NativeScript Deepens Ties to Angular 2 news
The JavaScript framework’s 2017 roadmap includes accommodations for Chrome tools and Windows 10.
Paul Krill

Int64 and Uint64 Now Stage 1 Proposals news
Brendan Eich

Integrated Continuous Testing Tool for JavaScript tools
Instant feedback from your tests and realtime code coverage right in your editor, now with coverage reports.
Wallaby.js  Sponsor

Writing Your Styles in JS ≠ Writing Inline Styles tutorial
“What many people don’t realise is that there’s a difference between what’s called ‘inline styles’ and what’s called ‘CSS-in-JS’.”
Max Stoiber

Clean Up Your Vue Modules with ES6 Arrow Functions tutorial
Jacob Bennett

A Friendly Introduction to Vue.js tutorial
Chase Allen

JavaScript Is Not An Enemy of Accessibility opinion
Marco argues that frameworks aren’t inaccessible simply because they’re frameworks.
Marco Zehe

Advanced Data Tables in React opinion
A look at some data table libraries in React, how they compare to each other, and suggestions as to which one you should choose depending on your context.
Philipp Sporrer

Vue.js Fundamentals video
A ten-part tutorial series starting off with the basics on how to get started with Vue.js, moving into more advanced functionality.
J. Alexander Curtis

Frameworks Without The Framework: Why Didn't We Think of This Sooner? tools
You can’t write serious apps in vanilla JS without hitting a complexity wall. But a compiler can do it for you.
Rich Harris

Become a Security Expert While You Code tools
Don’t just write stronger code — become a smarter developer, with Jacks. Find places to secure your Java/JavaScript code and learn how to fix it.
Codiscope Jacks  Sponsor

babel-plugin-log-deprecated: Adds console.warn to Deprecated Functions tools
Gajus Kuizinas

ng2d3: A D3 + Angular2 Composable Reusable Charting Framework code
Swimlane

Vuelidate: Simple, Lightweight Model-Based Validation for Vue.js code
Monterail

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

10 Tips for Generating Business Leads with Free Webinars

A camera recording

A webinar is an effective strategy for getting qualified leads, especially for your B2B business. It is an online seminar or a meeting or a presentation that helps you to showcase your business expertise and promote yourself to a global audience. It helps you to get face to face with your audience and lets them interact with you, helping you to build business credibility.

According to the American Marketing Association, 60% of marketers use webinars in their marketing programs.

And according to this post by Neil Patel, Kissmetrics, Adobe and Buzzsumo got a whopping 22%, 20% and 19% overall conversion rate from webinars.

A webinar helps you reach out to a larger target group and build upon the thought leadership of your business. It gives you the opportunity to capture the details of your prospects and re-engage with them, with the help of customized campaigns.

Here are some useful tips for organizing a free webinar and generating quality leads.

Host Free Hangouts on Air With YouTube Live

Hangouts on Air is a free tool to host your webinar. This tool helps you to create a webinar at any time from anywhere. So, this means that you could host a session with a global audience from any remote part of the world. The tool does not show you any ads and does not ask for a premium subscription.

You can easily create your Hangouts on Air using your YouTube channel. You can visit the ‘Creator Studio’ and create a live streaming event from the sidebar and choose the ‘Quick’ option there.

Create a live streaming event

(Source)

You can add the relevant title and description to your event and make it public for the audience to see on your channel. You can promote the event's link on other collateral and channels to get maximum participation.

The tool helps you to record your live video for those who miss the webinar and wish to view it later. While running the webinar, you can choose to share your screen with the audience or enable it to show the webcam view.

Decide on the Subject

A webinar is presented by a person to a live audience. But deciding on a subject for the webinar is similar to deciding on the topic for other content formats such as an eBook or a white-paper. You need to make sure that your presentation includes some learning for the audience.

Create a compelling headline

(Source)

The attendees are going to give their precious time to listen to you and must have the incentive to do so. Your subject and content should not be self-promotional, and it should provide a solution to some of the current challenges faced by the audience. Using a powerful headline with a quantifiable benefit to the users would certainly help you get people interested.

Plan and Test The Webinar

It is important for you to plan and test the flow of your webinar. You can provide additional time for the ‘Q&A’ session. It is important to proofread the content of your presentation beforehand. Add a brief introduction about the content and yourself or the speaker in the beginning of the presentation. You need to talk about the qualification and experience of the speaker and build confidence among the users.

Optimize the speed at which the webinar will be presented. Your audience should neither get bored, nor feel that it is going too fast. Get your team to give you feedback on the content and style of the presentation and make improvements wherever required.

Create a Landing Page

A landing page is the most important way to communicate about your webinar and promote it to your target audience. You need to add all the details of the webinar, such as the date and time, the speaker and the topic of the presentation.

Landing page speaker profiles

(Source)

Highlight the profile of the speaker and also showcase the benefits the prospects would get from participating in the webinar. Add a CTA and a simple contact form to get more users to register themselves.

Email Promotions

You need to create a compelling email campaign to get more and more participation on your webinar. Communicate the key attraction of the webinar in the messaging. It has to include the expertise of the speaker, the topic and main benefit of the webinar.

Highlighting the problem areas that are commonly faced by the target audience is helpful. It pitches the webinar as an opportunity for them to find the appropriate solution. Add bullet points of the key benefits that the webinar will provide.

The call to action must create scarcity and a sense of urgency to drive user action. Also mention any giveaways or discounts that you would provide exclusively to the webinar attendees.

Webinar call-to-action

(Source)

Including 2-3 time zones or a time zone converter in your email message will make it simpler for prospects from different parts of the world. Add headshots of each of the speakers to make your invite more appealing.

Send your campaign to that segment of your overall target audience who will be interested in the particular webinar. You need to send out automated ‘Thank you’ mailers to all those who register themselves for the event.

Email reminders are essential to get more users to actually participate. You can create automated reminders at regular intervals, say once or twice a week, and the last ones should go one day and then a few hours before the event.

Continue reading %10 Tips for Generating Business Leads with Free Webinars%


by Abhishek Talreja via SitePoint

Edit Code in the Browser with ICEcoder

A developer at work

Developing websites has historically involved the assistance of your favorite code editor or IDE. Whether you were developing locally on your own machine or working on a live development site, chances are that you built your site using a traditional program such as Sublime Text, Notepad++, Aptana Studio, Brackets or any of the others.

Until recently that has been the only option. The web, even a mere five or six years ago, wasn't as great as it is now, with browser usage more fragmented and all those browsers acting in far more inconsistent ways. Before, there was no real chance of using a web-based editor for your work life, but now it's becoming a much more tenable solution.

What Developers Want in an Editor

Developers need tools that help us build great systems, whether they are websites, apps or anything in between. Gone are the days of using basic editors such as Notepad for development. For a code editor to be useful, it needs to offer several things in abundance:

  • Ease of use with minimal confusion
  • Feature rich, with all the elements you take for granted
  • Responsive and quick
  • Reliable and solid
  • Features to improve your workflow and provide assistance
  • Extensibility and customization

Your choice of editor will directly affect almost every aspect of your work, so it's important to choose one that's going to make your life easier.

When developers talk about the features they want in an editor, they talk about code hinting, de-linting, and multiple language syntax highlighting.

Something you rarely hear developers ask for is an editor that's entirely online. That may be changing.

Browser-based Code Editors

In the past I've played with the idea of doing all my development work online, but every time I've tried I've encountered too many problems to persist with my efforts.

Ever year or two I'd give it another go to see if things had improved. To be considered a realistic option, the editor has to look and feel like a traditional editor with the same (or better) features. Most have not met this standard.

There are a number of browser-based editors out there such as CodeAnywhere and Ace that work relatively well. We've reached a point where these apps are serious contenders, and today we're going to look at one that boasts a wide range of features.

ICEcoder: An Editor That Works

I approached ICEcoder cautiously, comparing it with my preferred editor (Aptana Studio). I was impressed with how easy it was to get started. With other tools I've had to put in the hard yards to get it all up and running, but with ICEcoder it only took a few steps and I was off coding.

Getting Up & Running with ICEcoder

The best way to get to know ICEcoder is by getting it up and running and playing around with all of its features.

You can run it on your machine via localhost, or install it on a publicly facing domain. Since one of the major benefits of ICEcoder is that you can develop from anywhere, we're going to get it set up on a live site.

Download ICEcoder

You can get ICEcoder from the website via the download button (you'll need to provide an email address), or you can navigate into your top level directory and git clone the files from the command line:

$ git clone git@github.com:mattpass/ICEcoder

Download ICEcoder from the website

Copy the Files to Your Server

You'll need to navigate to the root directory (which, depending on your system, might be something like public_html or httpdocs) and then create a new sub-directory to put ICEcoder in. I created an icecoder directory on my test server, but you could call this anything.

ICEcoder directory

Be sure to set your folder permissions to 755 and your file permissions to 644 to ensure everything will work correctly.

Log In & Play Around

Now that you have all the pieces in place, you need to open up your browser and navigate to your site, appending the name of the sub-directory that you chose. Here's how it initially looked when I visited it on my domain:

ICEcoder login screen

When you first start it, you'll see the configuration screen. This lets you set a password and set up some basic options. These can be changed later, but for now it's good to set a password.

One really cool feature you might want to set up is the Multi-User system, which lets multiple people log in to the editor. We'll look at this in more depth later, but it's good to know it exists for now.

Once you've logged in you should see your file directory on the left and the dashboard on the right. Here's my setup — it's fairly empty except for a WordPress install.

ICEcoder dashboard

Exploring ICEcoder's Features

ICEcoder outlines several of its features and functions in its docs. We're going to look at some of its strong points.

I've added a copy of WordPress in the root of my directory so you can see how ICEcoer works in a real world situation. You should definitely try this out with your usual tech stack to see how it will work for you.

Ability to Code Anywhere

One of the benefits of ICEcoder (and I would say its strongest feature) is the ability for you, as a developer, to code wherever you go and with any device.

If you're working on a development server you will need to have your code editor on every device you intend to connect to it. You'll need it on your desktop at home, on your laptop so you can develop remotely and then potentially at your office. While having different devices and setting them all up is fine, a better and more forward thinking solution is to just use the web.

So long as you have internet connectivity, you can develop and be productive.

As a quick aside, I've used ICEcoder on both my desktop, laptop and tablet and they all worked as expected. I would say so long as your device is big enough, you should be able to edit on the go. Phones and smaller devices are generally awful for coding beyond small bug fixes.

Multi Language Support & Code Assistance

Code editors need to support a wide range of languages. Whether they're all-purpose editors such as Aptana Studio, or more specialized such as Android Studio, editors need to be able to work with various file formats and style them accordingly.

ICEcoder handles all of the different files you'd expect straight out of the box, such as HTML, CSS, SASS, JavaScript, PHP and more. There's also support for implementing other languages. Each of the languages has its own distinct color and styling inside the editor, making it easy to differentiate between them and giving you enough contrast between keywords, attributes, elements and values.

Here's how ICEcoder displays stylesheets using the default theme which, makes it easy to see and distinguish your selectors, attributes and values.

ICEcoder color styles

Code Hinting

Another sought-after feature is code hinting, or code assisting.

These features kick in as you write your code and provide you with options or values that are applicable for your current document. For example, when you're editing a HTML file, as you type ICEcoder will dynamically show you a list of values. It's enabled by default and can be toggled on or off near the top right hand side of the UI.

Here you can see it offering to autocomplete the rest of the <article> tag.

ICEcoder HTML code assist

Being able to see all of your applicable values is very handy when working with CSS or other languages with dozens or hundreds of options.

Even without the code assistance turned on, ICEcoder does the following to help speed up your development:

  • Automatically closing new opened tags
  • Automatic bracket correction, adding your closing bracket to open functions
  • Show trailing spaces (shows you where you have empty white space where there shouldn't be)
  • Indenting by either tabs or spaces (for the crazy few who indent with spaces!)
  • Line wrapping or splitting

You can adjust these options easily under the "Style" section in ICEcoder's settings.

Theming and Custom Styles

ICEcoder's default style is a dark theme, with light text on a dark background. You might want to change this depending on your own visual preferences.

ICEcoder provides over twenty default themes, which can be switched out on a single click inside the "style" tab of the settings panel.

ICEcoder themes

There's a range of different styles here. Most of them have great contrast, spacing and layout.

If you're not keen on any of these themes, you can create your own. These themes are just stylesheets with various rules to dictate the colours and layout. You can find them under the /CodeMirror/theme/ folder, each with their own stylesheet.

You can edit an existing theme and save it, or copy an existing one and adjust the styles as you see fit. The basic approach is simply defining colors, but there's nothing stopping you from going crazy with your styling if you know what you're doing.

Once you have your new stylesheet ready, you can select your new theme in settings (remember to update the 'Name' of the theme as defined at the top of the stylesheet so you can identify it).

Plugins and Extensibility

ICEcoder boasts a range of plugins you can install to provide additional features.

If you hover over the left-hand side of the file explorer, the plugin menu will expand out. Here you can see a quick listing of all the plugins you have installed. You can click on the bottom '+ / -' icon to open the plugin manager:

Continue reading %Edit Code in the Browser with ICEcoder%


by Simon Codrington via SitePoint

N + 1: When More Queries Is a Good Thing

Over the last week I have been trying to understand how eager loading works in Rails to eliminate the infamous N+1 query problem by reducing the number of queries fired. My initial hypothesis was that reducing the number of queries as much as possible was the goal. However, I was surprised by what I discovered.

Using includes to Reduce Queries

Most posts that you read about the infamous N + 1 Query Problem cite the includes method to address the issue. includes is used to eager load associations related to the model by using the minimum number of queries possible. For this, under the hood, it uses a preload or left outer join, depending on the situation. I will explain both situations in subsequent sections.

Continue reading %N + 1: When More Queries Is a Good Thing%


by Parth Modi via SitePoint

Lune

Lune

'Lune' is a One Page WordPress theme pack with multiple landing page layouts covering several industries. Main demos include digital agency portfolio, app, resume, ebook and more. Features include 10 different header layouts, 7 footer layouts, MailChimp integration, Google recaptcha integration (for forms), fancybox popup gallery, isotope portfolio filter and great to know the WordPress theme comes with Visual Composer (valued at $34) page builder.

Don't need WordPress? There is an HTML version of Lune!

by Rob Hope via One Page Love

HTTPie, a Human-Friendly cURL-Like Tool