Web Tools Weekly
What a Tool!

Issue #221  (JS Comments, Productivity, Frameworks, Testing)10/12/17

The New Tab Page You’ll Actually Use
Replace your web browser’s gratuitous new tab page with a clean and simple list of links, grouped and sorted how you like. A Fine Start — a concise new tab page.  Get it for free here »
A Fine Start

If you've been coding JavaScript since the early days of the web, then you might recall writing inline scripts like this in your HTML:

<script language="javascript">
  if (document.all) {
    // do something...
// -->

Notice the HTML comments around the JavaScript. This was done to ensure that browsers that didn't understand JavaScript would view this as nothing but an HTML comment. You could say it was a very early version of graceful degradation.

But maybe you didn't know that the ES6 specification has actually standardized HTML-like comments, for the purpose of ensuring backwards compatibility with older pages that might contain this kind of code. You can see this described in the spec here. You can also see it described in the HTML5 spec in a sub-section covering scripting.

So technically it's valid to include HTML comments in your JavaScript. You can try it out in this JSFiddle.

Notice a couple of lines in the JavaScript with HTML-like comments. I don't see any kind of error in the console in the latest Chrome, Firefox, or Edge so it seems to work fine as long as the comments are single-line comments.

As mentioned, browsers already supported this behaviour and the spec added it to ensure compatibility with older pages, which it explains at the start of the section where this feature is discussed:

"All of the language features and behaviours specified in this annex have one or more undesirable characteristics and in the absence of legacy usage would be removed from this specification. However, the usage of these features by large numbers of existing web pages means that web browsers must continue to support them."

It's unlikely you'll ever use HTML comments in your JavaScript, and you probably shouldn't ever use them but definitely a nice thing to know in case you weren't familiar with that old-school type of scripting.

Now on to this week's tools!
Did you buy my previous JavaScript/DOM tips book? Here's the latest one...
70 JavaScript & DOM Tips for $5 (Volume 2)

Productivity Tools

Skype Interviews
This looks pretty cool. Evaluate candidates using a real-time code editor over Skype.

The calendar that makes meeting scheduling easy. Integrates with Gmail and Google Calendar.

Simple Mac app that lets you access your recent screenshots from the menu bar on your Mac.

Turn Gmail into a social feed and cruise through your email faster.

Group messaging and video meetings for teams.

Firefox Focus
iOS and Android browser from Mozilla that keeps your sessions private with automatic ad blocking and tracking protection.

Sloth Worth
Chrome and Firefox extension. Counts the time you spend on distracting sites and shows how much money you could make if you were working instead. I'm almost afraid to install this.

Allows you to gather rapid feedback from clients and your team on live websites. Anyone can add sticky notes to a page in 10 seconds.

A Chromium-based web browser with tree-style pages. Functions more like an IDE. Aims to make browser UI more visible and allow easier cross-contextual browsing.

Chrome extension. Enables shortcut keys on your favorite web-apps to make repetitive tasks easier.

Create custom workflows for Slack. Cut down the time, energy and brainpower used to coordinate and follow up on routine processes.

Like an automated personal life coach. Connects your high-level goals with your day-to-day actions, and helps you think more strategically about your life.

Front-end Frameworks

Ring UI
JetBrains' collection of UI components to provide the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.

A completely hackable, back-end agnostic, opinionated front end boilerplate.

A light (~3kb gzipped) component-based framework that uses Decorators and other ES2015 features.

Now UI Kit
A free, responsive, cross-platform Bootstrap 4 UI kit featuring over 50 elements and 3 templates.

A responsive, mobile-first flexbox grid system that scales up to 12 units as the device or viewport size increases.

React , GraphQL, and Next.js boilerplate.  SEO-ready, production-ready, server-side rendering, hot-reload, CSS-in-JS, caching, and more.

A set of React components for Bulma (a flexbox-based CSS framework).

Semantic UI React
the official React integration for Semantic UI, the popular developer-friendly front-end framework.

Do you like this newsletter? Here's an option to show your support...
Make a One-time Donation via PayPal.me/WebToolsWeekly

Testing and Debugging Tools

A dockerized, headless Chrome rendering solution designed to render and serialise web pages on the fly.

Incoming Feedback
Get instant visual feedback for your website or app. See what people love and hate, identify issues, and find opportunities for growth.

Code review as a service for various languages and platforms. Reviews from experts, right in your deployment flow.

Jest utility for creating variations of the same test.

Chrome extension that helps you identify technologies used on any website at the click of a button.

CSS font-variant tester
Page that assesses whether your browser supports the new font-variant-x rules defined in the CSS spec.

Useful tool to check the history, WHOIS, do an audit, etc. for a website you're planning to purchase.

A simple counting and A/B testing API. Makes A/B testing simple.

A Tweet for Thought

Here's a useful Finder tip from Joe Workman if you're on a Mac.

Suggestions / Corrections

Made something? Send links via Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.

Before I Go...

Hack is a new font designed specifically for source code. Spoiler: It's monospaced.

Thanks to all for subscribing and reading!

Keep tooling,