Building for the Web: A Series
Product and technical considerations.
A Broken Heart
Or, getting a 100x speedup with one dumb line of code.
You always know it’s a good bug when your first reaction is, “How could this even happen?” The other day, I was refining the dashboard of a web app we’re working on – as you do – and I noticed it was taking forever to load. Like, it had been...
JavaScript Fatigue Strikes Back
The new frameworks will continue until morale improves.
In recent months, I’ve returned to writing code daily. It’s been a lot of fun. While I enjoy Swift, Python, and Ruby, we’ve been building in TypeScript lately since it’s a good fit for our latest project. After about a decade away from regularly writing JavaScript, it’s been fun to...
The Persistent Gravity of Cross Platform
Coordinating a large product org is hard.
Agilebits recently caused a stir with their announcement that they’ve rewritten 1Password 8 as a cross-platform Electron app, replacing their well-loved native Mac app. The takes came hot and fast. Like many developers, I love and appreciate a well-crafted native UI, and I’ve been somewhat skeptical of the consistent trend...
Caravan to Xcoders
A Meetup competitor lives and dies.
In 2013, I decided it was time to start an iOS development meet up. I’d run VanJS for many years, which was great. There was one thing about running VanJS that was not great though, and that was using Meetup.com. You see, Meetup is optimized for getting small groups assembled...
User Agents of Change
The user-agent string just can’t stop.
Yesterday, Microsoft released a preview of Edge, their next-generation web browser. Edge’s new rendering engine brings it more in line with modern layout engines like WebKit, and finally introduces a modern replacement for Internet Explorer. IE’s dark past means that millions of existing websites serve it old and busted...
A JS Framework on Every Table
There are too many JavaScript frameworks.
Most programming languages support a small number of popular, stable application frameworks. Objective-C and Swift apps use Apple’s excellent Cocoa framework. Ruby apps more often than not use Rails. Java has a handful of established web app frameworks, and they come and go relatively slowly. In the meantime, the latest...
Burying the URL
Chrome considers hiding the location field.
Today, a Canary build of Google Chrome removed something kind of important from the browser: the URL. Of course it still supports them, but the time where users actually see URLs is ending. With Chrome’s “Enable origin chip in Omnibox” flag, Location becomes a write-only field. Clicking there no longer...
Web technology in native apps
When discussing mobile apps, we’re often asked, “native or HTML5”? For some products it really makes sense to build a mobile web site, for others a 100% native app is the best approach. What often surprises people is when we recommend some of each. Once you’ve made the call to...