The Future Is Always Different Than You Can Imagine

October 01, 2017

Thirty-six years ago this week I started working as a programmer. My first job was working at a defense contractor. I had no experience or education in programming other than some high school classes (we had a teletype machine connected to some mainframe somewhere) and my own self taught ability in BASIC on an Apple II+.

Imagine for a moment I had today a time machine and could go back to that first day to tell myself what my life as programmer would be in 2017 (ignoring the obvious time travel paradoxes). I can guarantee I would have been amazed, or possibly unbelieving that a world like we have today could ever exist. The differences between then and now would be almost unexplainable to that young version of myself.

Take another step and imagine that version of myself took a time machine back another 36 years to visit my dad. Turns out that would be a month after the end of World War II. My dad barely survived the war (and thus in a way I did too). He would not have understood the concept of a computer, had likely never seen a television and maybe would have been amazed that the world was no longer at war. But 1981 would not have seemed all that different to what he knew otherwise. What changed between these two 36 year periods? The pace of change changed.

Read the rest of the article…

More Bugs Fixed In Every Release!

August 29, 2017

I find reading app release notes a fun pastime. For whatever reason people who write these release notes in the App Store have no imagination, or a perverse sense of humor, or they have resorted to smoking funny cigarettes.

So many release notes include the phrases, in some version: "Bug fixes," "More bug fixes" or my all time favorite "Minor bug fixes and performance enhancements". Apparently their codebase is so bad that the bugs are multiplying faster than they can be fixed!

Take for example this major airline app I picked at random. Two stars. The current version and its predecessors:

Read the rest of the article…

What Your App's Crash Rate Can Tell You

August 26, 2017

When I shipped my first app 30 years ago, once we put it on a floppy and in the box and sent it away we had basically no idea what the ultimate customer experienced—unless they called us.

Today the options for knowing what the end user is experiencing for desktop and particularly mobile apps is amazing. Along with various analytics one of the most useful and objective stats you can use to tell how well you did and what your customers are seeing is the crash rate.

Crash Rate

Read the rest of the article…

Not A Fan of Low Contrast Text

July 18, 2017

There are more than 16 million colors in the standard RGB color space. So why do modern web and app designers keep returning to gray on gray text?

My eyesight is not wonderful, I have lots of things floating in my eyes, while I am not blind or anything, I do need to make text bigger to see decently. But there is little I can do when people decide to create styles that are low contrast, generally a medium gray on a light gray background. I do not know why this became such a trend over the past decade.

This lack of contrast as an artistic design seems pervasive in almost everything. I am currently writing this post in a markdown app with, you guessed it, gray on gray. Everywhere I look in MacOS I see gray on gray. Some are worse than others. The App Store app for example is horrendously light gray text everywhere.

Read the rest of the article…


July 17, 2017

In every project there comes an important time every one of us gets to, assuming it's not cancelled:


Somehow all the work you've slaved over has to be deployed to production, rolled out to customers, pushed to an App Store, or like I did 30 years ago, baked into a master floppy. It's time for your baby to be born, or graduate, or whatever metaphor works for you.

Read the rest of the article…

New Design And New Blog Generator

July 15, 2017

I had a little time and decided to replace the previous blog engine (written in PHP and using MySQL) which was getting long in the tooth, not to mention it really makes little sense to dynamically generate a static blog site.

So I whipped up a little blog generator in Swift and extracted and converted all the previous content from the database into a new text format.

Works like a charm. Please let me know if you see any odd anomalies.

Read the rest of the article…