I don’t write restaurant reviews. That’s not a thing I do. This is not a restaurant review.
I moved to New York City nearly a year ago. I love it here. But, as time goes by I find I miss my native Texas that much more.
To say it’s tough to find a reasonable facsimile of the things I treasured most about my home state is a gross understatement. The barbecue tastes wrong, the Mexican food is unfamiliar, lacking the requisite amount of lard, and is at times entirely foreign (You do NOT put peas and fucking carrots in Spanish Rice. THERE ARE RULES). The skies aren’t as open, the drawl isn’t as southern. But, goddammit, I love it here. So much, that missing all of those things is worth it.
Today, I asked my friend, Buzz, as I often do, “Where should I eat tonight?”. He cycled through the options as I tried to not be such a helpless dick and at least limit my query to a particular neighborhood. “Oh, there’s this place Goat Town that I’ve really been wanting to try”. As he explained the restaurant’s admittedly odd name’s connection to NYC’s “Gotham” moniker, I located the restaurant on my phone and perused its menu. It looked charmingly southern, but not abnormally so. Anyhow, it seemed like a more-than-adequate dinner option, Goat Town it was.
When I walked in off 5th St., I was greeted by a warmly lit, busy-but-not-crowded, place. I took a seat at the bar, noticing that the bartender appeared to be making a michelada, a comfort drink of mine. Assuming my eyes werent lying to me, I tentavely asked the bartender if he could make me one as well. To my surprise, he obliged.
As I sipped my drink, I realized they were playing Tejano music, a type of music I only ever hear in South Texas, save for the odd car passing in Brooklyn. Strange.
Looking around, I saw that the sound was originating from a turntable behind the bar. Very cool.
Minutes later the bartender arrived with a dinner menu splashed with shades of red and green on an off-white background. At the top I read “Mexican Monday” and my eyes widened. I flipped over the menu and began to read the story of how one of the establishment’s owners was from San Antonio, TX, where her parents ran a Mexican Butcher shop. Apparently “Mexican Monday” was her way of honoring her parents by bringing some authentic dishes to New York City.
I quickly flipped the menu over and saw exactly what I wanted to see. “Breakfast Tacos for Dinner”.
I didn’t even bother reading the rest of the menu. I caught the bartender’s eye as he passed by and ordered them. I spent maybe 20 anxious mintues waiting for those damn tacos, and in that time I noticed the black and silver Luchador mask hanging above the bar, as well as the waiter dressed conspicuously like a caballero.
Finally, that plate of tacos arrived, three large flour tortillas filled with goodness, garnished with some lettuce and freshly sliced tomatoes on the side.
I devoured the chorizo and potato taco, then immediately dug into the egg and potato one. I couldn’t believe how good the tortillas were. And, to the uninitiated, the tortilla is the most important part of the taco. It’s the foundation, and I had yet to find a decent flour tortilla in the five boroughs until this moment. These tortillas were like a unicorn. A delcious, fluffy, fucking unicorn.
I was so full I could only muster a couple bites of the carne guisada taco.
I came to find out, thanks to a patron next to me, that the tortillas were shipped straight from San Antonio, TX. (Incidentally, where he was from as well. We had a nice long chat about South Texas that did not pass without a mention of the singer, Selena, from my hometown of Corpus Christi. It’s an Immutable Law Of The Universe that the longer a conversation about Corpus Christi goes on, the probability of mentioning Selena approaches one.)
The thing is, they weren’t the best breakfast tacos I’ve ever had. Not by a longshot. But, they were good enough. The effort felt authentic, just like the decor, the drinks, the music, and the story on the back of that off-white menu.
Authentic enough to make a homesick Texan not so homesick, at least for a little while.
My life has undergone some major changes (again) lately, and chief among them is that I no longer work at Tumblr.
I quit at the beginning of April after starting in January. Weird, right?
The short version of the story is that over those few months I realized I wasn’t happy with what I was working on. I wanted something that I could truly be excited about working on everyday. Something I could have final cut on. I felt like I hadn’t shipped something I truly cared about it in a very long time and that it was the right time for me to fix that.
So, I’ve been spending the last two months recharging, regrouping, and doing a lot of thinking.
It has really been quite nice, acutally. This is the longest sustained break I’ve taken since I dropped out of college to go the indie software developer route back in 2008. From a very busy and stressful time as an indie to 2 years living a pretty intense startup life at Gowalla, a weekend off, then a year at Black Pixel, then straight to Tumblr, it’s nice for the first time to really take a good while to gain some perspective and think about what’s truly important to me as well as what I want to do with my life.
I’ve been able to use this time not only to do some much-needed thinking and planning, but also to cultivate some healthy habits that fell by the wayside when I moved out here nearly a year ago. I’m starting to feel rested and better than I have in quite a long time. (I’ve dropped about 12 pounds, feels good, man.)
Anyhow, I’m working on some projects that have sat on the backburner for too long and I’m also working on some stuff with my good friend Buzz that we’ll be ready to talk about soon.
In other news, I’m heading out for WWDC tomorrow morning, I’ll be in town until next Saturday. Feel free to come say hi if you see me around (I’m the bearded fellow). If you’re in the Bay Area but are not WWDC-adjacent, give me a holler if you’d like to have drinks.
Touch-based interfaces are still in sort of an embryonic state. We’re not quite sure exactly what works yet, so we try a lot of different approaches.
The aspect of the touch interface that still seems fraught with uncertainy is the role of gestures. Are they the input paradigm of the future? If so, how do we make them discoverable and intuitive? Few of us can afford commercials to explain our gestural interfaces.
Some developers have taken to creating in-app tutorials that greet their users on launch, but come on, that sucks. There’s nothing surprising or delightful about an instruction manual.
On one hand you have people dedicated to and invested in the idea that gestural interfaces are the way of the future. A way to create super-rational interactions with a minimum of on-screen controls. On the other are people who believe gestures are opaque, lacking in discoverability, and hard to teach to users (particularly if you aren’t Apple).
Until recently, I haven’t been able to take a position I felt comfortable with. One would seem too naive, too fetishistic, and the other too staunch and curmudgeonly. I want to see the envelope-pushed, I just don’t want to have to five-finger pinch the little bastard open.
I believe that gestures are opaque and lacking in discoverability, yet I love many of the gestures in iOS. Swipes, pinches, zooms, taps, drags. I want to keep them all.
Reconciling those two beliefs seemed impossible until I really thought about the gestures that just feel right and what makes them feel that way.
The gestures I have no desire to live without all seem to share a few traits in common. More than that, all those traits stem from one overarching similiarity, direct manipulation of content. (It’s important when discussing gestures in this way to describe them in the context of the content they operate on.)
Swiping cells in a table view, pinch-zooming a photo, swiping photos in a scroll view; these are all gestures that we’ve come to know very well. It’s hard to remember a time when they didn’t feel right. Many people attribute that to Apple’s masterful demonstrations of how such gestures work, which on its face seems entirely reasonable (it’s likely what stopped me from thinking about this before). I think there’s more to it than that.
These gestures feel natural because they’re discoverable, and they’re discoverable because they have a gradation of feedback.
Imagine you’re in the iOS Photos app for the first time after taking a few photos. You tap on your camera roll and you’re presented with a grid of photos. Putting your finger down on a photo causes it to dim slightly, instant feedback to your tap.
You move your finger a little more and the view starts to move up and down tracking your finger. A series of succesive changes in response to your gesture. Specifically, change in position of the on-screen (and off-screen) content. Gradation of feedback.
You are now equipped to make a reasonable assumption about what a faster swipe might do, you try it, and it sends photos scrolling past your finger. This is a what I will call a First Class Gesture.
Anointing a group of gestures as “First Class” implies that there’s at least a second class. These are the gestures that shouldn’t be used a primary interface mechanism. Second Class Gestures seem disconnected from their resulting action or state change. They seem arbitrary and opaque in much the same way as keyboard shortcuts on the desktop. They usually require a reference or tutorial to learn, and even then after some amount of repetition.
Some examples are swipe-to-delete in Mail, the swipes left and right to reveal related tweets and conversations in Tweetbot, double-taps and triple-taps to perform ancilary actions on buttons or views.
Many of these gestures don’t fail across the board with regard to the criteria for first class gestures. Most of them (when implemented correctly) show adequate feedback and even a meaningful gradation of that feedback.
But, they do all lack one thing, meaningful relation to the content. Directly maniuplating content to move it or zoom it is obviously directly related to its position onscreen. Swiping a cell that represents a tweet to see its related ones is arbitrary. There’s nothing in that swipe that really means “show me related content”. (I don’t mean to pick on Tweetbot too much, it’s just a nice, familiar example. It’s actually a really nice app)
These gestures aren’t necessarily “bad”. They’re just not an adequate primary input method. They’re learnable shortcuts that should have obvious UI alternatives but they should by no means be an exclusive means of input.
So, all that to say, some gestures are more intuitive than others.
I don’t think the future of touch interfaces will be some hyper-rational utopia free from the shackles of on-screen controls, nor do I think it will be a drab, boring future full of UI chrome and buttons for every concievable option.
So, if you’re tinkering with a novel gestural interface, think about which class it falls into. If it falls into the first, congratulations, you’ve done something very difficult. Share that with the world.
If it falls into the second class, that’s fine too.
If you’re against opaque shortcuts, throw it out and try again. If not, just make sure to include an obvious alternative to that control. If it controls an important function of your app, you’ll need an alternative. Users may get frustrated far before they are ever rewarded with the discovery of your clever gesture.
It has been a quite a year working at Black Pixel. I’ve gotten to work on a lot great projects (many of which I can’t talk about) alongside some of the finest people I’ve ever met. Hell, I even got to work on NetNewsWire. That’s pretty rad.
Black Pixel is an amazing team and I’m sad to be leaving them. I am honored to call the people there my friends.
I’m happy to announce I’ll be joining Tumblr’s mobile team on January 9th.
Creative tools have always appealed to me. I’ve spent an inordinate amount of spare time developing them and an even greater amount of time thinking about them. Joining the team at Tumblr is an opportunity to work on tools for both creating and consuming content at an impressive scale.
It’s also an opportunity to work with another great team. In the time I’ve spent with them, I’ve been very impressed by the caliber of people at Tumblr. (Plus, I get to work with my friend, Buzz)
As crazy as it might sound to the office-bound, I’m excited to be working in an office again. Working at home can at times be lonesome, and honestly I felt like I was missing out on a part of living in New York, not having to commute into Manhattan daily.
I’m very excited about this.
Watching your heroes die is a strange, painful thing. Yet more strange is the death of one who you did not know personally. That’s the situation many of us found ourselves in when we heard that Steven P. Jobs had passed away.
I never met Steve, never worked for him, in fact, the closest I had ever been to him was watching him deliver a WWDC keynote in person.
Despite that, the impact Steve had on my life was enormous.
The first computer I remember using was an Apple IIe. In the fall of 1993 I remember fidgeting in my seat as the rest of my kindergarten class filed into my school’s dark computer lab. Impatiently, I figured out how to turn on the machine in front of me. The course of my life changed when that green monochrome screen came alive.
Almost 10 years later, I started programming on a dual-booting Windows/Linux box in my bedroom. (My family didn’t own any Apple products). It was a whole new world for me, I didn’t know any programmers nor was there any sort of instruction on it in school. It was simply a hobby I immersed myself in as I did with many others. It wasn’t until I managed to save enough money from washing dishes and bussing tables to buy a Mac that my feelings changed. I began to learn Cocoa and immersed myself in examining the rich attention to detail in the OS and all of my favorite software. It was my obsession, this was what I wanted to do with my life, to make beautiful things like these.
5 years later I was a bored, disaffected college student. I was attending class less and less and spent most of my time working on Mac apps and writing. The iPhone had been released and it was an astonishing device. I still remember standing in the hallway waiting for class and reading that the iPhone SDK had been released. I hurried to the office I worked at on campus and began downloading the SDK as I went about my other job as a web developer and writer for the college newspaper. That night I sat with my laptop open next to my work computer as I jumped back and forth between my job and running my code on the device I’d been happily carrying around in my pocket for months. It was thrilling.
A few months later, I left school and started developing software for the Mac, the iPhone and later the iPad full-time and never looked back.
In that time I’ve met some of my dearest friends, worked on many things I’m genuinely proud of and have truly enjoyed the life I only used to dream of living.
One of the highlights of my career was a moment during one of those WWDC keynotes where Steve mentioned by name something I had worked on.
It’s not hyperbole when I say that all of it, in some way or another was made possible thanks to Steve’s vision, inspiration, and life’s work. His work and philosophy will inspire me for the rest of my life.
Thank you, Steve. Rest in peace.