opinion

How Free Speech Dies

3 minute read Published

On the suppression of free speech in today’s increasingly digital world.

I’m back in Bali after a trip to Anarchapulco and Chicago to pick up my cats. It was my first time back in the United States in over a year. Instead of a warm welcome back to my birth country I was promptly detained by a CBP officer and put in holding room while they ran a background check and attempted to obtain personal information.

After declining to give CBP my address in Bali and questioning them as to whether or not I was under arrest they were kind enough to inform me I was free to go at any time but that my passport belonged to the U.S. government and wasn’t my property.

It would appear surveillance states like post-9/11 USA don’t appreciate having their own citizens outside their visibility. That certainly wouldn’t suit the “Deep State” if such a thing existed now would it? The experience was very disheartening to say the least.

Why You Should Choose Hugo

3 minute read Updated

In a sea of choice, which static site generator will you choose?

Many are familiar with the idea of static site generators like Jekyll and why they should use them. But Jekyll isn’t the only SSG out there. In fact, there are literally hundreds of SSGs guaranteed to give you analysis paralysis. With so many to choose from it can be difficult to decide which to use.

The Holy Grail of Rich Internet Applications

2 minute read Updated

Learning about Isomorphic Web Applications from Airbnb.

One of the largest perceived drawbacks to creating a SPA or other Rich Internet Application is that they’re not SEO friendly or very accessible. With the advent of technologies such as ARIA, HTML5 and Node.js, things are changing. Web apps are becoming more usable and accessible, though also making them crawlable and highly performant is a formidable challenge.

Beta Testing React Native with Buddybuild

2 minute read Published

First impressions of Buddybuild for React Native development.

A year ago I built and open-sourced Lumpen Radio for iOS using React Native. A major takeaway during development was the importance of testing on actual devices. Not just my device. But, you know, like a responsible adult using a bunch of them.

At the time I was finishing development of the iOS app, Android support in RN was just getting its roots. I decided to let Android support bake a while longer, coordinated small group of people, beta tested with TestFlight and released to the App Store with confidence.

20 releases of React Native have passed since then and there have been great innovations like CodePush (archive) and Lock, and many Awesome Boilerplates have continued to surface with increasing speed.

Given all the advancements, and after recent inspiration to create an Android version of Lumpen Radio, I decided it was time to go cross-platform.

When Fast Isn't Fast Anymore

3 minute read Published

Websites that load in 200ms using open source tools.

Back in , while I was seated at a developer conference absorbing as Paul Irish was teaching us about the Foamy Rules of Rabid Tools, I also learned about building single-page apps with Backbone.js. BrowserSync wasn’t a thing yet, and most engineers I knew had never even heard of CoffeeScript and SublimeText. And hardly anyone I knew at the time in Chicago was using GitHub.

Fast-forward three years and my how things have changed…

Touch Events and Mobile Web App Usability

3 minute read Published

Why PPKs “Stick with click” may not be the best advice in all situations.

I recently heard a talk from Peter-Paul Koch of QuirksMode on the touch events in mobile at the orbitz.com office in Chicago. During his presentation PPK gave us a great sound bite to use when dealing with the *300ms delay* many touch devices use for capturing double-tap (zoom) events:

Stick with click.

Peter-Paul Koch

Under stick with click devs are discouraged from hijacking ontouchstart to make click events occur without noticeable delay. And though a good rule of thumb I view it as more of a best practice than a hard-and-fast rule.

Here’s why…

Building a Better Lightbox

3 minute read Published

Though modal dialogs are not a new concept in UI design, the number of homegrown Lightbox clones (source) appearing on the Web since major JavaScript libraries like Prototype and jQuery hit the scene has been staggering. Unfortunately, many of the clones developed leave some key usability considerations unaddressed, and struggle with common problems in accessibility.

Some key usability features that should be considered during creation of a Web-based modal dialog include (1) manage focus and allow tab navigation (2) disable elements outside the modal dialog (3) give users an out and (4) provide graceful error recovery.