Web Tools Weekly
What a Tool!

Issue #217  (Twitter mobile, React Tools, Git/CLI, JS Utils)09/14/17

Free Risk API from Clearbit
A free way to detect bad actors, identify disposable email addresses, and stop spam signups.
Get it now - >

Every week near the end of each issue of this newsletter I feature something I call "A Tweet for Thought". It's usually a developer-related thought inducing some discussion on Twitter.

When I link to a Tweet, I always link to the non-mobile version, what we might call the "desktop" version originating at twitter.com. If, however, you view a tweet using a mobile device (including tablets), you're redirected to the mobile URL on mobile.twitter.com.

What's interesting is that the mobile URL does not redirect to the regular desktop URL if you happen to visit the mobile URL in a non-mobile environment. Many who share and discuss tweets tend to favor the mobile version of the URL, claiming it's cleaner, faster, and has a better UX.

I actually disagree with using the mobile URL for a couple of reasons:

First, I don't find the mobile interface on desktop all that much better. In fact, I find it's less attractive and almost looks overly-simplistic and not as well designed for desktop UX. I don't care much about tiny performance gains on desktop, so I'm fine with a small performance hit in that environment.

Second, I think even if we find the desktop version worse in terms of performance and UX, it's almost necessary that we continue to use it and force the platform to fix any problems it has. Of course, some might argue that high use of the mobile URL in desktop environments is likely enough to force Twitter's hand. But I don't think that's a good long-term solution. If the desktop version is improved to a satisfactory state in the future, I'd rather have all my old links pointing to the desktop version which will likely be better than the mobile version on desktop.

Anyhow, those are some quick thoughts on Twitter's desktop vs. mobile experience. I hope you're enjoying the featured tweet each week (and I know you are because that link in each issue is often one of the top 10 visited links).

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)

React Tools

React Markings
Markdown in components, components in markdown.

Components that track offline and online state. Render certain content only when online (or only when offline).

Create word documents with React.

A simplified Redux, that let you create actions more briefly by dispatching reducers directly.

A state management library for React. It empowers Redux, making it as easy to use as setState while retaining composability and improving code clarity.

Beautiful, accessible drag and drop for lists in React.

React Notie
Simple notification for React.

Background with color transitioning as you scroll, declarative and easy to setup.

Fixing the relationship between parent and child in react to avoid callback hells and over-parenting.

React Validify
Simple-as-possible React form validation.

Git, GitHub, and Command Line Tools

A command line tool to statically analyse your page in order to generate the most optimal web font subsets, then inject them into your page.

Simple, customizable CLI for adding new React components to your project.

Take back control of your GitHub notifications.

System monitoring dashboard for the terminal.

A nicer git blame.

Board for GitHub
Still in Alpha. A Mac app to give you a quick glance at your GitHub projects.

Git Town
Now at version 4+. High-level CLI for Git. Adds Git commands that make collaborative software development more efficient and safe.

Fast, native, comprehensive issue tracking and code review for GitHub.

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

JavaScript Modules and Utilities

Memoized selector library for any immutable data structure (such as a redux immutable store).

Highly performant, light, dependency-free and configurable lazy loader for images, iframes, and more, using IntersectionObserver API.

A lightweight (only 1kb gzipped) scroll animation library with no dependencies.

Fast SublimeText-like fuzzy search for JavaScript.

Composable async primitives (futures) with true cancelation, control over scheduling, and coroutines.

A library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.

Nano ID
A tiny, secure URL-friendly unique string ID generator for JavaScript.

A modular geospatial engine written in JavaScript.

A lightweight way to handle time zones in JavaScript.

A Tweet for Thought

An excellent quote on commenting your code.

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...

Starting up a remote team? You might find Remote Starter Kit handy.

Thanks to all for subscribing and reading!

Keep tooling,