Posts tagged with #technology

From yesterday’s paper: validation for my own feelings on this matter.

Q. What makes you think that people have become addicted to digital devices and social media?

A. In the past, we thought of addiction as mostly related to chemical substances: heroin, cocaine, nicotine. Today, we have this phenomenon of behavioral addictions where, one tech industry leader told me, people are spending nearly three hours a day tethered to their cellphones. Where teenage boys sometimes spend weeks alone in their rooms playing video games. Where Snapchat will boast that its youthful users open their app more than 18 times a day.

How do you define “addiction?”

The definition I go with is that it has to be something you enjoy doing in the short term, that undermines your well-being in the long term — but that you do compulsively anyway.

But those two months I did nothing but play Crossy Road—that was just time well spent.

We’re biologically prone to getting hooked on these sorts of experiences. If you put someone in front of a slot machine, their brain will look qualitatively the same as when they take heroin. If you’re someone who compulsively plays video games — not everyone, but people who are addicted to a particular game — the minute you load up your computer, your brain will look like that of a substance abuser.

It’s 2017, and I subscribed to a physical newspaper. It gets delivered to my house every morning, and the first thing I do when I wake up is sneak out my front door in my underwear to get it.

In this time of fake news claims, pundits, and echo chambers, I thought it was important to support some real journalism. But instead of simply adding the NYT to my phone and getting a digital subscription, I decided to try out the physical paper.

I have to tell you: this was the best decision.

I’m reading things I never would have stumbled upon otherwise, and having an item that exists in the physical space that shows up five days a week has been a great way to interact with news, rather than having it be one of many notifications on a screen.


Postcards I made, maybe you got one?

Seems like we can’t go two minutes without our phones buzzing, trying to pull us away from whatever we were doing to instead look at a screen. This started out innocently: as a way to let you know that someone was personally communicating with you; a figurative tap on the shoulder through the magic of the internet.

BZZZ 📲⚡️ A friend sent you a message

But at some point this snowballed into us defaulting into allowing the entire world to tap us on the shoulder in the middle of family dinner.

BZZZ 📲⚡️ A friend sent you a message!
BZZZ 📲⚡️ West Elm is having yet another sale!
BZZZ 📲⚡️ An acquaintance of yours just tweeted for the first time in weeks!
BZZZ 📲⚡️ Oops! You forgot to compulsively check a meaningless app today! Did you accidentally let real life distract you?
BZZZ 📲⚡️ A spambot just added you on a social network!

Not only is that just annoying, but it’s partially responsible for actually changing our brains, which I will demonstrate to you using this simple test:

Read the rest of this

Jake and I just finished a little collaborative effort, before we finish our bigger secret collaborative effort. For this little thing, he initially wanted a way to throw in a legitimate looking news article into a chat conversation, but have it end up with sort of a “just kidding” type page.

To me, this seemed like a good time to bring back the Rick Roll.

We wanted to have the URL look as close to a legitimate news organization as possible, and considered things like “”, or “”, but ended up with with the incredible, which we are pronouncing “Lah-Tillmes”.

Of everything in this silly project, the name is the thing I’m most proud of. A two pixel difference between it and a legitimate news organization’s URL? Amazing.

Because when receiving with a message from a friend like, “whoa, this is crazy” paired with long url like, are you really gonna notice that it’s a lowercase L instead of a lowercase I?

No. No, you are not.

Jake made the real nice design, and I did the development. Create a headline on the front page, and choose the video your target will end up being forced to watch: Rick Astley, Tay Zonday, or Epic Sax Guy.



I’ve been working on features for this website lately, one of which has been figuring out silly social sharing links. I’ve had a website long enough to remember the days of building a comment system in Perl, having a hit counter, and that being good enough.

Now you need to have all sorts of crap on a page in order to make sharing as easy as possible. One option is to piecemeal all the different networks together, but that requires giving up some control of your aesthetic, which I am not a fan of.

I hereby agree to have my site polluted with social sharing buttons in exchange for increased chances of going viral

Or you use a plugin like AddThis, which makes all that easier, maintains some control of your aesthetic, and also allows the people on your site a comical number of options for sharing.

Still use Livejournal? YOU ARE IN LUCK.

Read the rest of this

We’ve all got those websites that seem to sap away our time. For me, it’s Facebook, Reddit, and Hacker News. For others, it’s Twitter, or ESPN.

I realized that given a free moment while working—like waiting for a file to download, or an app to start up—my muscle memory will kick in and I’ll command-T open a new tab in Chrome and start typing f-a-c or r-e-d-d. And before you know it, my productivity is getting chewed up by an endless stream of gifs, AMAs, and ice bucket challenge videos.

Read the rest of this

My friends and I had all tried our fair share of todo list apps, and none of them quite did the job. Robert swore highly of his very low-tech system: write down the next three things he was going to accomplish, immediately followed by doing them. In a world of overly complex productivity solutions, this worked surprisingly well.

So we started talking about creating a web-app that would better mimic this simple approach, called “Daily Goals”.

Common Problems With Todo Software

  1. People tend to put too much on their lists, leaving many tasks unfinished at the end of the day.
  2. Most Todo list software is either boring, overly-complex, or too open ended. We felt that with the right UI and right messaging, things could be made much better.

How Daily Goals Would Be Different

  1. Focus all messaging on what could be done today.
  2. Make our UI stand out, by not taking the typical approach to the problem.
  3. Don’t allow more than 3-5 incomplete tasks on the list at a time.
  4. Don’t automatically carry over unfinished tasks from the previous day.

Design Principles

  1. Simple things should be simple, and complex things shouldn’t be too hard.
  2. Talk to your users like they’re humans. Light, playful messaging is key.

“Boring software is broken software.” —The Truth, in my opinion


Instead of representing each day’s tasks as a flat list, we thought it would be interesting to represent it as a linear timeline, with each day represented as a card. To the left of today: yesterday. To the right: tomorrow.

The card for “Today” would be focused when the user logs in.

If a user hadn’t visited in a while, instead of showing them blank cards without any tasks filled in, we would mark gaps in the timeline with an icon on the line connecting the two cards. When hovering over the icon, we would reveal a short message, taking a stab at why they were missing those days.

Skipped day concept

In the sketch above, it says “I guess you skipped work on Wednesday.”

If they were gone for weeks, we’d have an icon of an island with a message that said “Have a nice vacation?”


The design would be big, minimal, simple, interactive, and playful.

Blank Card

Filled card concept


Good messaging is essential. It gives your app personality, and makes users feel more closely connected to it. In terms of errors, it can mean the difference between someone forgiving you, and someone bailing.

Welcome messages
Well, you do.

For welcome prompts, we used custom messages based on the time of day.

If it was morning: “It’s going to be a productive day. Enter your first goal.”

If it was late morning: “What can you get done before lunch?”

If it was past midnight: “Burning the midnight oil?”

Entering too many tasks

In order to prevent too many tasks from piling up, and to help discourage users from entering very large tasks, the messaging changes depending on what they’ve entered. When prompting for more tasks, each message is different, depending on how many tasks they had entered and had completed.


UX Principle


Attention / Memory

We remember and respond favorably to small, unexpected and playful surprises.

UX Principle



Our brains are stimulated by new and unexpected discoveries (within our normal routines).

Adding small delighters are vital to a great user experience; the details make a world of difference. Once we settled on the timeline concept, with each card connected by a piece of string, we took it even further by making the string elastic.

Moving between days
In order to get this to work, we positioned a canvas element between the cards, and drew the connecting line on the canvas. Then, whenever the card moved, we calculated how much it moved, and updated the canvas with the correct arc. Took some effort? Yes. Worth it? Definitely.

When moving between days, the cards snap into place and you can see the wave move down the string. When hovering over a card on the left or the right, the card peeks out, causing the string to droop.

Moving tasks between days
This was really fun to make happen.

When moving an incomplete task from a previous day to Today, the task jumps off the page while the timeline shifts behind it.


Here’s a working demo you can look at it. There are definitely bugs, but the concepts are there.


The KUTX mobile experience was in a sorry state. It’s so bare-bones, it doesn’t even feel minimal; it feels broken. After a friend pointed out that the iPhone app was built using Cordova and Angular, and how easy it was to extract that source code from the .ipa file, I got to work. With KUTX’s first birthday coming up just around the corner, I figured a much improved iPhone app would be a great birthday gift.

Old app on the left, new app on the right, obviously.

Read the rest of this

I made this for fun while I had mono. (Yes, Mono. At 31.)

It seems easy—just rotate those panels, right? Except they’re half panels. We’re making numbers fold in half, here, and it’s not that simple.


I had this idea for (yet another) package tracking web service, and in the process of making it I got really into tracking numbers.

So I wrote this gem, which made it possible to detect and identify tracking numbers, and to tell if it’s even valid.

3t.valid? #=> false
4t.carrier #=> :unknown
6t ="1Z879E930346834440")
7t.valid? #=> true
8t.carrier #=> :ups

Also, can take a block of text and find all the valid tracking numbers within it.

 2text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit,
 3sed do eiusmod tempor incididunt ut labore et dolore
 4magna aliqua. Ut enim ad minim veniam, 1Z879E930346834440
 5nostrud exercitation ullamco laboris nisi ut aliquip ex
 6ea commodo consequat. Duis aute 9611020987654312345672 dolor
 7in reprehenderit in voluptate velit esse cillum dolore eu
 8fugiat nulla pariatur. Excepteur sint occaecat cupidatat
 9non proident, sunt in culpa qui officia deserunt mollit
10anim id est laborum."
14#=> [TrackingNumber, TrackingNumber]

There’s a lot more information baked into a tracking number than you’d think.


I came up with this during SXSW Interactive 2009. Seemed like the current internet rage was to add an ability to update your status—be it Facebook, Twitter, LinkedIn, or Spiceworks—so I thought it’d be funny to make a site where you could update your Beard Status.

It was actually really fun to design and build, because it was so simple. And at the time, a simple app like this was especially attractive to me because I was being consumed by an extremely complicated application at work.

Beard Status got relatively popular for a while—there was a couple of day period where I was a pretty big deal on Twitter—but the hyped died down soon after that. I had plans to add more features to it, but so far I haven’t found the motivation to do so. It’s still there, though.

What’s your Beard Status?

Here’s mine

Go ahead, update yours


Whenever I listen to the Current, I hear a lot of great music I haven’t heard before, and want to hear again. Before this widget existed, I’d have to figure out what song was playing, and then manually add it to my list of songs to buy sometime.

Later, I’d go through the list and decide what to buy.

This widget makes this whole routine much, much easier. Hear a song you like? Click on the star icon, and it’ll get added to the back of the widget. When you’re ready to buy, click the arrow next to the song to buy it on iTunes, or Amazon (your choice)

Expand your playlist with a little less effort.


One Click Conversations allows painless access to your recent Gmail conversations, in just one click. The demo below should explain things succinctly.

For a while this was pretty popular, and got included in Better Gmail. But then it ran into problems when Gmail changed several times, and is currently in a state of disrepair.

But the silent video below should give you a pretty good idea of what it does. Not the greatest demo video, but hey, in 2007 we didn’t have all these nice tools. Times were tough, man.