Virtual Reality

This is the first installment in a series of posts I'm gonna write about things I'm learning in Alli School. What is Alli School you ask? It is a school that I made up specifically for people named Alli who want to learn new things. 

The school offers 5 classes: Bots & Conversational UI; Machine Learning and AI; 3D modeling with Blender; Virtual Reality; and Golf.

Let's talk about Virtual Reality. My interest in the subject was rekindled recently when a colleague invited me to meet a friend and try out a bunch of VR tech at a VC firm called Rothenberg Ventures. It's a short walk away in SOMA, so we were able to head there after work and test out a lot of hardware in a brief period of time. This is what I remember:

  • Samsung Gear VR: my impression is that it was little bit low resolution (the screen door effect, etc) because you drop in a phone to use it. Nice build quality and comfy.
  • HTC Vive: this seems like the Cadillac of VR and you need some kind of crazy gaming computer for the best experience. Got to try out Tilt Brush, the Google 3D painting app, and also played a game called Autoshield where notes from a song come rushing out and you deflect them with "shields" that come out of your controllers. Haptic feedback. Refused to try a zombie shooting game because it seemed scary. Overall very cool.
  • Oculus Rift: gorgeous, seems like you have to use it sitting down? Played a Mario-like game with a fox called Lucky's Tale and almost tossed my cookies as soon as I used the controller.
  • Google Cardboard: this is the one that I actually own - it's basic and low-res. Cardboard hurts the bridge of my nose. I'm going to put some kind of padding on it. The demo app is delightful and makes me want to build worlds in 3D and explore them in my spare time.

Additional notes:

  • It feels weird attaching something to your face when there are other people around you with nothing attached to their faces.
  • You can't see other people, or your surroundings in the real world. When you add headphones on it's even more isolating and immersive.
  • The headsets get a little ... sweaty. Makes sharing a bit gross.
  • It's easy to tangle yourself up in wires.
  • You can't see your body or your hands and feet in the space. It's as if you're wearing an invisibility cloak or like you're a floating disembodied spirit.
  • Controllers bring the feeling of having hands back into the experience, which makes it more fun.
  • Time dilation is a thing - you can't tell how much time has passed when you spend a long time with a VR headset. I wonder if something like Apple Night Shift could help with this?
  • The risk of motion sickness is real. Standing up helps, but it's really really real.

Not long after that quick intro to the state of the art, I went to an event at the Yelp building hosted by a group called Designers and Geeks. I got there a little late but was able to catch talks by Allan Steiner and Timoni West.

Mobile VR

Allan gave a talk about fast and affordable media capture for mobile VR; in other words, how to use your phone to take photos and videos that you can view with Cardboard. Inspired to give it a try, I went ahead and assembled the kit.

Here's what the setup looks like:

And here's the photo I took:

The next step is to download an app that will let you view the photo using Cardboard. I went ahead and downloaded Mobile VR Station. The app seems powerful and it is extremely confusing.

First, pair the app with your Cardboard viewer using a QR code so that it can configure itself properly. Once you've done that, tap "Player" to enter the VR space. You navigate by casting your gaze at menu items and using Cardboard's built in button to select.  Look for Photos or Movies and select your super fisheye shots.

I tried a bunch of content viewing settings and found that videos look best in Panorama mode and the photos seemed nicest in 2D 180 Dome view.

I'm excited to get out and shoot some video in the wild. I guess the next logical move is to duct tape my phone + super fisheye lens to the bottom of some kind of a drone?

VR UX Design

Timoni West is working on tools for designing VR experiences WITH VR at Unity Labs. It's madness. My favorite part of her talk "Let's Go Cyberspace" is when she describes a battle scene from Star Wars in terms of select and multi-select with "Force OS."

Throughout the talk, she discusses the basic set of UX challenges that VR presents: selecting objects, selecting at a distance, telekinesis, locomotion, basic commands. I love this phase where standards are being worked out. It reminds me of the days when we were trying to understand the interaction patterns for Mobile and we just downloaded tons of new apps just to see what people were trying. 

This talk, and another one by Mike Alger that I stumbled across in my travels around the interwebs, also helped me see how VR might be used for more than just an escape - it may be the way we work one day.

What else?

I'm brushing off my rusty 3D modeling skills and learning Blender (it's free and open source). I'll write about that soon. My hope is to build an environment that I can view and explore with my Cardboard viewer but I might need to also learn a bit of Unity... so we shall see. I'm thinking of somehow crudely rendering an interpretation of the castle grounds described in The Enchanted Castle by E. Nesbit.

Send me interesting links to add to this collection of VR resources and musings: alli [at] badyewex [dot] com

Capptivate for iOS

We made something for you!

And oh man I’m beyond excited … I am basically fainting with excitement … I can barely type this due to all the excitement because you guys: 


The app makes it easy to view the complete collection of app animation videos on your iPhone - and now you can drag your finger across the screen to scrub through the animation at the speed you want to see it!

- Tap a preview video to watch it loop.
- Drag your finger across the screen to scrub through the animation.
- Tap on the name of the app to download it without leaving!
- Search by app name, animation pattern, or component. 
- Share via Twitter, Facebook, email, SMS and more!

How and why did this happen, you ask? Here’s the story.

In June of 2014, developer Claude Sutterlin sent me an email out of the blue. He wrote: 

I just wanted to reach out to you to see if you had any interest in making, having made, or simply allowing me to make an app for viewing your entries. I think it would be really awesome to be able to view the interactions on the device itself. I would love to either help you to develop something that you can release, or release something for free under my own developer account. I'm not looking to make any money so much as just make something cool that I can use and others might benefit from.


Claude’s timing was impeccable. I’d already started work on a simple design for a mobile version of We emailed back and forth a little bit while I checked out Claude’s portfolio, and I sent him a couple of screens and some wireframes so he could get a sense of what I was thinking about. We decided to do the project.

Our entire collaboration took place over email and in Trello. 

I’d send Claude mocks and redlines and animations, and he’d send me builds to check out. One of the major challenges the app presented was making sure that the videos would load and play properly, since they’re all huge. 

It should be noted that Claude came up with the best feature of the entire app - the feature that makes it even better and more useful than the website: a scrubber that lets you step through the animation so you can see what’s really going on.

A couple of things slowed us down on the project. First of all, we both work full-time, hectic-ass jobs. Also, during this period I participated in an 8 week intensive bootcamp called Codepath where I learned to write Swift, and Claude was involved up to his eyeballs with preparing for Dreamforce. Because of all of that, it wound up taking us six months from the initial email to the day we submitted the app to the store.

That said, this was one of the smoothest, most straightforward, fun projects I’ve ever worked on. Our process was professional and never contentious - I think we made a great team. I’m profoundly grateful to Claude for reaching out last June, and for all the hours he spent building an app for! 

We also owe big thanks to Rob Borkowski, the back end dev for who helped connect the app to the site and who always finds a way to get the site back up and running after it crashes.

We submitted the app right before the holidays, and I found out it was approved on the first try a couple of days ago.

Now that the app is done, I’ll have more time to work on recording more content for the site. So that’s the haps - hope you like it!

I Made Something Better for You

Back in June of 2013, I launched a kinetic pattern library that captures and preserves delightful iOS animations. For an overview of the thinking behind the site, how to use it, and info about the tools I used to build it, read this post.

Anyway, last summer I decided to test the waters by putting out into the world despite the fact that there were, ahem, a significant number of issues with it. I thought that if people found the site useful enough and the idea resonated, then I'd continue to tweak and make it better.

Here is the good news, 130+ app animations later: is Now Much Better

The site loads faster, thanks to what I like to call "cache optimizing things" and a CDN. I still need to find a way to make the videos and other files smaller and to streamline the posting process, but that will happen eventually!

The information architecture of the site is much simpler now, and I hope it effectively reinforces the fact that is a pattern library for animations. Each post has been re-categorized by Patterns (ex. Navigation, Transitions, UI Elements, etc.) as well as by Components (ex. Flip, Scale, Ease, etc.) that combine to produce the effects on screen. You can access these through drop down menus in the header.

The other major improvement to the site is that when you click on the title of a post, you get to see all the animations related to the app, a big juicy app icon, and a link to download! It would be lovely if the affiliate links on the paid apps in any way defray the costs associated with running the site, but I'm not holding my breath.

So ... yay! This is exciting stuff. And so here is the bad news:

Some Things are Still Broken

For example, when you view the site on a mobile device it's in seriously rough shape. Don't even do it. It will make you wince with pain. And please, let's not start talking about the fact that the videos won't play - at ALL - on iPad right now.


I've also noticed that the footer just disappears without so much as a by-your-leave from several of the pages. It's there and perfectly fine one minute and then the next thing you know, said footer has departed like some kind of nervous, startled rabbit.

I'm going to continue to work on these (and other issues) but if you know how to fix any of this, please please PLEASE let me know :)

So that's about it for the update - except for something that I've been meaning to write to answer a couple questions about the site:

Official FAQ

Wait - I still have no idea - what is
Read this and this.

Can you let me know when you post new animations?
Follow @CapptivateCo on Twitter.

How do I submit my app?
Twitter is best way to contact me with submissions (or feedback, or just to say hi). 

Why didn't you post my app?
Most likely haven't made time to post it yet. Other reasons could include the fact that I'm pretty selective and that I don't typically post apps with banner ads in them.
I like what you're up to - can I help out? 
For now the best way to help is by spreading the word about and letting me know about apps with awesome animations!


Approximately one hundred million Internet years ago, I backed the Everpurse project on Kickstarter. The idea was simple and appealing: the slim, elegant leather purse would hold two full charges for my iPhone and came with a wireless charging mat. The project promised freedom from the tyranny of the lightning cable without bulking up my phone. It should have been awesome.

But it wasn't.

I won't dwell on the innumerable delays and issues that plagued the project; manufacturing isn't easy. The Everpurse team did a great job keeping backers informed as they worked through various challenges. In fact, I kind of wish they'd taken even longer before shipping my bag (for reasons I'll explain).

When it finally arrived, I pulled my Everpurse out of the box for inspection. Small and slim, my black leather model came with a cross strap and was pleasingly compact albeit a little crude. I'm hard on bags, and from the start I worried about the details: most notably the connection from the strap to the bag, which had been effected with a limp strip of unreinforced leather.

Despite my concerns, I initiated the purse to purse transfer of the items I find convenient to haul around on a daily basis: my phone, wallet, keys, chapstick, a band-aid or two, a hair tie, random earrings, two mechanical pencils, a Field Notes notebook, a black pen, a highlighter, a Cliff Bar, gum, business cards, an iPad Mini, post-it notes, a tiny ceramic chicken, and some headphones.

I couldn't fit everything in there, but I managed to pack my Everpurse with the essentials. Fully loaded, the purse looked like it was pregnant with an ill-tempered alien baby and I'd been forced to remove the case on my phone in order to fit it into the charging slot. Space was so tight, I could barely in slip my (ok - admittedly enormous but guys I am 5'-10") hand to pull things in and out. It was ... terrible.

Frowning, I removed the contents and stowed my Everpurse in the closet. It sat there gathering dust for four months. 

Until today. 

Today, I tore my Everpurse apart.

This morning I took a seam ripper out of an old sewing kit and ripped through the thread holding the two halves of the purse together. The seam ripper also ate through the strands that joined the zipper to the bag and chewed through the fibers that linked the red fabric of the lining. It didn't take long before I had reduced my Everpurse to a pile of leather and fabric scraps and a black plastic charging component.

When I saw the coil of copper wire sitting like a cobra on the face of the plastic insert inside of the purse, I realized my investigation might not be risk free. Studiously avoiding contact with said copper coil, I unscrewed the plastic charging pocket from the battery and removed the last vestige of liner fabric. I didn't get even the littlest bit electrocuted but it's possible that taking the Everpurse apart was a terrible idea that I should not have tried at home.

With the charging unit liberated, all that remained was to find it a new home. I got out the greatest purse of all time* and slipped the unit into one of the pockets. I set the greatest purse of all time on the charging mat and heard a reassuring beep. All systems go.

My Everpurse is now Whateverpurse, and I think it will be a lot more useful. Let me know if you need a charge.

*It's gorgeous, lightweight, matches with anything, and I can fit all my stuff (and my hands) and a coat in it.

You Better Work Bitch

Two days ago I casually set my suitcase down in the hallway by the door … because why carry it all the way inside when I'm not even going to unpack it until I go out of town again and anyway you guys - it's a totally minor trip hazard … for the first time since leaving for XOXO 2013 which took place in glorious glorious Portland, Oregon.

At XOXO we were privileged to hear from artists, makers, creators, "Internet" people, people with opinions, people making things, people making waves. Most recounted uplifting success stories, but not many shied away from sharing trials/tribulations, expressing criticism, or surfacing deeply personal dark struggles. I can count on part of one hand the number of talks that DIDN'T bring me to tears. It was … emotional.

I'm still processing everything that happened over the long weekend, but while I was in Portland I noticed a theme that pervaded my experience. A theme threading through those fascinating talks, parties and activities, through the time spent with delightful friends, and through the unmitigated craft beer/food truck gluttony. 

When you're a hammer, the whole world looks like a nail. And so it's possible that the theme to which I have heretofore made oblique reference is something I've imposed upon XOXO because it's been on my mind. Perhaps it's even more suspect since this theme has been on my mind lately because of Britney Spears.

Friends, in the spirit of full disclosure I'll confess to taste in music that would make a jaded, fast-talking LA music executive skimming choice cuts of profit while ensconced in a shiny suit weep tears of oily joy: I PASSIONATELY LOVE TOP 40 AND I WOULD TOTALLY MARRY IT. 

Oh man, it feels so good to finally be able to say that in public.


Anyway, Ms. Spears recently announced a residency in Las Vegas and put out a new song. The single, "Work Bitch," is prominently featured on a collaborative work-in-progress rdio playlist initiated by Jenni Leder and entitled "Guilty, but not Shameful." Britney asks: 

You want a hot body? You want a Bugatti?
You want a Maserati? You better work bitch
You want a Lamborghini? Sippin martinis?
Look hot in a bikini? You better work bitch
You wanna live fancy? Live in a big mansion?
Party in France?
You better work bitch, you better work bitch
You better work bitch, you better work bitch
Now get to work bitch!
Now get to work bitch!

At the end of the second day of XOXO talks, Andy Baio and Andy McMillan took to the stage, exhausted from every unimaginable thing that one deals with when organizing a marvelous, life-changing, complicated event.

In the course of the wrap up, Andy observed with exasperation that many in the audience had tweeted about feeling "inspired." I turned red and briefly died in my wooden chair because I'd tweeted this the night before:

Andy went on to make it clear that this would be considered a dangerously shallow and vapid sentiment until we actually did something productive with our inspiration. "To sum up," said Andy (and it should be noted that here I am misquoting him with wild abandon because I was squirming with embarrassment and unable to take detailed notes) "you guys say you want us to go through all this again? Well then … YOU BETTER WORK BITCH."

Perhaps "Work Bitch" resonates with me because I passionately love pop music and do, in fact, want to party in France. But it seems to me that one could easily replace the fast cars and bikini bodies with other appropriate status symbols or personal accomplishments and the song would still make sense. You want something? Work for it. You feel like you want to make something? Go make it.

Hold your head high, fingers to the sky
They gonna try to try ya', but they can't deny ya'
Keep it moving higher, and higher
Keep it building higher, and higher
So hold your head high, fingers to the sky
Now they don't believe ya', but they gonna meet ya'
Keep it moving higher and higher
Keep it moving higher and higher and higher
                                                        - Britney Spears


Thank you again, XOXO; but now I gotta get back to work.



Tech hackathons are structured like this: a set of small teams works for a predefined period of time (usually 24 hours) with tools at hand, and then each team presents a proof of concept prototype or other artifact to a panel of judges. The winning team often receives a prize, which could be anything from a hearty handshake to time and funding to realize their idea.

Twenty four hours of sleepless, working togetherness create strong bonds between people who might not otherwise make the effort to get to know each other. It's a kind of gentle, work-appropriate hazing process.

Hackathons also provide a lovely opportunity for people to leverage skills they're not called to use in the course of their daily duties. For example, a project manager with relevant experience from a previous life might produce all the sound effects for a game.

The beauty of the hackathon is that you're allotted just enough time to get something substantive done if you and your teammates can work without interruption, but not so much time that you can't safely defer other pressing concerns in your life until after you're finished.

The constraints create fertile conditions for a disproportionately large number of innovative ideas to take shape in a short period of time. Recently I found myself wondering: Do hackathons truly produce a large enough number of high quality, groundbreaking ideas to justify the cost?

Let’s examine a graph detailing the matrix of all possible outcomes when examining the relative awesomeness of a hackathon idea against time. I’ll make the graph out of words and imagination because this is a thought experiment powered by your mind and mine.

We’ll look at four quadrants that represent a universe of ideas, no matter the circumstances under which they’re generated:

1. Ideas that seem like great ideas right away and are true beacons of unmitigated badassery.
2. Ideas that seem like great ideas right away and that turn out to be horrible ideas later on.
3. Ideas that seem like bad ideas at first and turn out (SURPRISE!) to be magnificent.
4. Ideas that seem like bad ideas at first ... and then also they are bad ideas forever.

An inherently good idea, paired with a team capable of executing against it, should flourish within the hackathon setting. Maybe after the hackathon ends your project won’t be complete or even close to perfect, but its promise should be evident.

But inherently good ideas would do just as well outside of hackathons. So maybe the true value of the event lies with the fact that it gives you the opportunity to play with the ideas in quadrants two and three: the ones you’re not sure about. These are the highest value ideas because they’re either not immediately obvious or they’re high risk.

The time constraints of a hackathon force teams to prioritize and to invent ideas that favor results over planning - ostensibly increasing the likelihood of success. Because you have 24 hours, you have to streamline the project by cutting process bloat. You also reduce complexity and drag by collaborating with a very small number of stakeholders.

At a hackathon, you’re able to take the glasses off the face of an idea and tell it to let its hair down. If it’s suddenly all foxy and attractive, you can take it to the prom. If it suddenly looks like a four month-old potato, throw it away without a second thought. No matter what happens, you’re in a position to move on to something else because you only invested 24 hours.

While it’s hard to say for certain whether or not a hackathon is a cost-effective means of generating a wide range of innovative ideas in a short period of time, it’s certainly a nice change of pace from the 9 to 5 grind. From what I’ve seen so far, there’s value in quickly vetting ideas that seem crazy or merely OK - and using what you’ve got to make them sing.



I made something for you! captures fleeting transitions between app screens and delightful animated UI elements that we'll otherwise lose forever as apps and operating systems continue to evolve.

It preserves integral and tricky to communicate aspects of app design, sparks new ideas, and functions as a kinetic pattern library for designers and developers working on iOS apps.

The project was inspired by by Robin Raszka and Mobile Patterns by Mari Sheibly.

Why Bother?

Although they came to the same destination by different routes, both Apple and Google seem lately to have arrived at what some have characterized (albeit broadly) as a "flat" aesthetic for their operating systems.

As designers move away from heavy-handed textures and shading to indicate depth and layering towards a new UI/UX design paradigm where motion, camera effects, and physics create 3D space, it's important to observe and analyze how these impact (and can improve) app experiences.

In the short term, this new paradigm also provides designers with an opportunity to differentiate new or refreshed apps in already crowded categories. Yahoo! Weather, which makes expert use of layers, translucency, and parallax, demonstrates that careful attention to motion design can propel apps to the forefront of the App Store. Categories

I thought deliberately about the best way to organize the posts and realized that any given animation I found engaging was the result of a combination of motion and effects. 

Basic motion, camera effects, and simulations became my parent categories, providing a framework for analyzing whatever might take place on screen. I divided each parent category into sub-categories: grow or shrink, fade, focus or blur, gravity, etc. I also try to tag the posts with other information that I might use to search for it later.

Nearly every animation belongs to several categories. With each post I spend time breaking a fluid, dynamic animation into precise and granular component parts. I'm deconstructing these animations to understand how they work; I need to understand each variable and how the different components work together before I can use them to create new experiences. Additionally, there's insight to be gained from seeing the component parts at play in a variety of contexts - that's another reason a kinetic pattern library like is valuable.


To create each post, I use my iPhone, Dropbox, Reflector (an app that allows me to airplay my screen to my mac and record animations), Quicktime, and Tumult Hype to generate HTML5. 

How to Use

Scroll down the page to see all the screens. Simply mouse over a screenshot to fade it away and (after a couple seconds) view a gorgeous continuously looping video. The video will stop playing on mouse out.

If you make quick sweeps with your cursor over any or all the screens, you'll be able to see all of the animations playing at the same time. It's cool but seems visually overwhelming, which is why I placed static screenshots in front of the content.

Click on the title of a post to see it in isolation. You can tweet a link to share the animation from the single post view. isn't perfect.

In order to get up and running quickly, I installed a dark, gridded, responsive, retina-ready Wordpress theme called Visual by Devin Price. I made several adjustments to the theme, during the course of which ... I broke stuff.

A lot of stuff.

Due to the fact that I broke said stuff and because browsers are all unique like beautiful, fussy snowflakes, the beta works with Safari (desktop browser and iPhone only) and with Chrome. 

The videos load slower than I'd like and they don't play at all on iPads or with Firefox (I didn't even bother to check IE).

But now that I've built the site and worked out the basic upload process, I plan to turn my attention to automating, fixing bugs, optimizing the videos, and adding features. Currently, I work on each post for 5-7 minutes - I very much want to find a way to reduce the overhead. I also want to link from the site back to the app in question, so that it's easy to download and discover new apps while browsing

Let Me Know

If you have thought of another or a better way of performing any part of this process, let me know!

If you find or build a badass animation that you think I should feature on the site, let me know!

If you just wanna say hi, that's cool too!


More on Wearables

I was talking with a designer recently about how I sold my Fuel Band because after a while I'd lost interest in tracking Fuel points. I showed him the new Fitbit I purchased to replace it. "But how is that any better?" he asked me with a knowing smile, "you say you prefer counting your steps? The Fuel band does that too." 

"Well," I replied, "I've enjoyed it so far. I like tracking how much sleep I'm getting and seeing how many times a night I'm restless or awake." But I knew he was right to point out that you pretty much already know if you slept well the previous night, and it only takes a minute to decide if you were active during the day.

I'm starting to wonder if we don't consciously track all of this stuff with our un-augmented bodies and minds because it doesn't matter as much as we hope it will. Can a person live long enough to reproduce without sleeping perfectly well at night or walking around that much? Signs, as the proverbial eight ball says, point to yes.

Perhaps this "quantified self" business primarily appeals to moderately self-absorbed people obsessed with gadgets, like me. But I asked my sister, who is much more selfless and busy raising a toddler, if she would be interested in tracking sleep and steps. She said she'd never heard of the products I mentioned and that cost would be a factor, but "yes," she said, "I would." 

But being interested in something is not the same as consistently deriving value from it.

Maybe the point at which wearable technology becomes viable is the point at which we can use the information we collect to make lasting and beneficial changes in our behavior. But the point at which it becomes truly valuable is when we can use this information to change archaic or harmful prevailing social norms for the better. 

Imagine if you could use data to prove that you're more productive working from another location than your office for certain tasks or at certain times of day. Or that you work best in four hour chunks with two hours off in between. Or that you were staring at a graph that indicated you should quit your job…

DISRUPTION. CHAOS. RESHUFFLING OF THINGS. That's what would happen. But probably (and unfortunately) only for people who could afford a smartphone and a wristband.

Know Thyself

I've been thinking about developments in wearable technology lately. Fitbit, Nike Fuel band, Jawbone's Up, and nascent technology like the Melon headband promise to generate mountains of data about our activity levels, heart rate, sleep cycles, and moods. Assuming these devices track things accurately (and that they're tracking the right things) the question becomes: what will we do with all of this information?

Theoretically, the more an individual knows, the better able he should be to control his own behavior and sort of … optimize himself. Athletes do this all the time, tuning and testing their bodies to perform a limited set of tasks as efficiently as possible. But what if you're not sure what to optimize yourself for?

I suspect that for most of us, it comes down to two motivating factors. We want to feel happy as often as possible, and we're afraid of death. Will these devices that promise to make us aware of sedentary habits, connect us with our friends, teach us which environments encourage productive behavior and which are toxic, actually make us feel happier? Will they help us live longer?

For me, so much of the answer to that depends on the quality of the data and the means by which it's collected and presented. 

I recently sold my Nike Fuel band. Some of the reason was dissatisfaction with aspects of the hardware, most of it was that I woke up one morning with the realization that I just didn't CARE. I don't care about fuel points, Nike's proprietary and slightly mysterious measure of activity level. The squiggly graph illustrating the intensity of my arm waving over the course of a day interested but was not fascinating enough to compel me to wear it. Fuel points don't teach anything your body doesn't already tell you, if you're willing to listen.

I want to wear a device that makes it easy for me to discover insights that would otherwise stay hidden and unknowable to my conscious self. Further, I want that information to be actionable in the context of my personal agenda, rather than the agenda of an apparel company that mostly wants me to buy new shoes and spandex. 

Not that there's anything wrong with new shoes or spandex.

Designing for Google Glass (Part Two)

At approximately 4:13pm on May 9th of this year, one of the developers at my office received a notification that a package had arrived at his home. He leapt up from his desk without a second thought, hopped into his compact car, and tore out of the parking garage like he'd been told the wrapper of something nearby and highly explosive was engulfed in flames.

In reality, the only thing on fire was the heart of a team burning with desire to get our hands on the Google Glass hardware sitting on Adam's front step. While he rushed home to pick up the fateful package, the rest of us hovered around a nearby whiteboard wall and made a plan that would guide us over the 24 hours we'd been given to build a prototype.

Although we didn't have Google Glass in hand (or on face) just yet, I wanted to explore how the device might deliver relevant, actionable information in a situation where a phone or tablet would be difficult to use because of full or dirty hands. So while the devs sat down to sift through the documentation and set up the services that would allow us to load tiles onto the device once Adam returned with it, I went home to bake some bread.

* * *

Back at my apartment, I pulled out a pack of index cards and a fat black marker and set to work dividing Emeril Lagasse's Basic Italian Bread recipe into a series of short, easily digested steps. 

Most recipes list ingredients and quantities first, then follow up with an orderly description of the action the cook needs to take in order to execute. That works fine when you're looking at a book or an iPad or whatever and can refer back to the list and the quantities whenever you want (like a boss), but I realized that if I were wearing Glass while baking I'd benefit more from seeing ingredients and quantities presented in context. 

With that acknowledged, it seemed reasonable to display a scrollable list of everything you'd need right at the start of a given baking endeavor. At this point, the cook's hands would probably be clean enough to touch the device and scroll through the list, and I certainly felt that an overview overlay would have helped when I started digging through my crowded pantry for supplies.

As I progressed through the steps outlined in the Basic Italian Bread recipe, becoming increasingly coated with flour and praying that the yeast would behave itself in the oven, I began editing my timeline cards. I streamlined the index card steps as I baked, combining things, removing extra words and looking for repetition that might suggest a reusable tile template.

The first template that came to mind was for a simple pre-set timer. Timers and alerts keep recipes on track; I'd set six separate timers over the course of baking my single loaf of bread. It would be best if Glass queued up the appropriate timer right when I needed it, and then I'd be able to start it using head gestures or voice commands during the kneading/proofing process. I'd also be able to walk away from the kitchen and do something else entirely, confident that Glass would alert me when the time came to punch down the bread.

At last, as my finished loaf cooled on the kitchen counter, I took the recipe cards I'd outlined and edited and entered them into a HTML/JSON generator on the Glass Playground site. The site is designed to spit out Glass-ready code and even styles the tiles so that the text scales automatically and renders in the default font. Assuming the developers had been able to connect to the device in my absence, I'd soon be able to experience my version of the Basic Italian Bread recipe in my right eye.

* * *

When I got back to the office, I encountered the team joyfully nerding out with Google Glass. Everyone who walked by our desks wanted to put it on, say "okay Glass," to take a picture, and then have their picture taken wearing it. It was like we'd become one of those "OMG WORLD'S LARGEST DINOSAUR statue!" attractions you see signs for on the side of the highway during long road trips through the desert southwest.

It just feels so … future-y … to walk around with that little glowing rectangle of information in your field of view at all times. It was also almost impossible for any of us to use Glass gracefully or with elegance at first. For my part, I'm relatively dyslexic and I have bad vision. So just imagine: you see a person who looks strangely spaced out, swiping and tapping the side of her head, and occasionally mumbling things like, "okay," and "sh**t!" and "take a video," over and over. 

It took me more than a little practice to be able to tap, swipe side to side or downward, or to lift my chin the right amount to wake Glass and not get lost in the interface as though my three year old self had somehow wandered away from my grandfather at Disneyland. But by the end of the night I'd got the gestures down pat and was by far the biggest Glasshole in the office.

From the beginning of our exploration, we'd posited that this very early version of the hardware won't replace your smartphone or tablet (at least - not in the short term). Because of that, we designed our prototype to connect to an existing recipe app that runs on Android. The idea was that a user should be able to browse through recipes, store, save, and build shopping lists on his phone. When it comes time to do the actual messy food prep and things start to get real, the user would be able to send the recipe to Glass and step through it. 

Once we had our hands on Google Glass, we learned that in its current form the device only responds to certain voice commands in certain contexts. So my dreams of advancing from tile to tile with the merest lift of the chin or by saying "yeah, I've got it," or "go on" were temporarily shattered.

After sulking for a little while and feeling sorry for ourselves, the team realized that we'd be able to tell the phone to listen for voice commands and then send the info to Google's servers - which would send the message to Glass. We tried it out. It wasn't elegant and it wasn't instantaneous. But it worked.

* * *

By the next day, the developers were able send tiles to Glass and display them on the device. Over the course of our project they'd demonstrated that it's possible to connect Glass to the apps on your phone, leveraging advanced features and capabilities to make Glass even better in hands-free situations. We'd learned about what Glass can do and what it can't do yet. I'd adapted a recipe, made a video, and designed 17 timeline tiles, a tile template, and some screens for an app. 

And I'd baked a loaf of bread.

After thinking about it for a while and testing the device, I'm comfortable stating that the current interaction paradigm for Google Glass doesn't work. It's clunky and unnatural, draws too much attention, and it's too easy to get lost in the interface. But I do think there's a bright future for this type of technology, especially as it gets smarter about displaying information directly relevant to what you're doing or where you're going. Better sensors, better software, more integration with your personal data, and maybe even a more symmetrical hardware design could lead to mass adoption of this technology. I'm excited to see what happens.


Project Artifacts

Designing for Google Glass

I've been sifting through the materials Google recently published for designers and developers starting to produce apps for Glass. Whether you predict that the device will languish on the sun-starved faces of the technorati or believe that Glass will eventually meld seamlessly with your Ray-Bans, the technology poses an intriguing design problem. What changes when you're wearing your apps on your face?

This post is part one of a pair that I'm writing about Google Glass. Towards the end of the week, I'll be working with a team of developers to build a prototype app for Glass. This first post is a roundup of the thinking and research I've been doing to prepare, and the second post will describe the project itself along with the process we'll be using to design and build the prototype. 

Google offers four helpful guiding principles I'll take as a starting point:

1. Design for Glass

Remember that Google glass is totally different from any other mobile platform - the screen sits more or less just above your eye. This means users have to be able to absorb information quickly or they'll wind up with the strange, unfocused look of people who are gazing intently at their own reflection and don't know you can see them through the two-way mirror. Which would be awkward, to say the least.

I also think it's important to minimize the amount of tapping and swiping that takes place as you interact with an app for Glass. Fiddling with the side of the device isn't something we're used to doing or seeing people do; it looks … twitchy. I haven't tested the voice commands but if they're halfway decent, I'd lean on those, especially in situations where people need to use both hands for whatever they're doing. 

2. Don't get in the way

Have you ever been out to dinner with someone who follows several sports teams, is an avid Twitter conversationalist, is texting three friends simultaneously, and who absolutely cannot NOT look at his phone? Now imagine the impact on said dinner if your friend had constant notifications arriving DIRECTLY TO HIS FACE. Even if he had the decency to tell you what he was learning, it would be like eating out with the CNN Headline News ticker. Minimize notifications and make them easy to dismiss or ignore.

Eventually someone will put cheap, tacky, irrelevant ads into a Google Glass app. Don't let yourself be that person. Be the ball, be all you can be, but don't be that person.   

3. Keep it timely

Glass is set up to display timeline cards in sequence like ants marching one by one under a diminutive magnifying glass. A timeline card is not the same thing as an app screen at all. The experience is more like that Bob Dylan music video with the poster cards and the counterculture (except minus the music and the counterculture). 

I think the implication for apps is that experiences or interactions that unfold in a linear fashion without offering a ton of different options will be best suited for Glass in its earliest form. We advise clients to avoid rehashing their websites when building apps for phones and tablets; on Glass I think a deep-linked, hierarchical content structure would fail epictastically. 

4. Avoid the unexpected

I don't like surprises at all (really - I don't like them one bit, not even good ones). And I certainly wouldn't like to find out that something I said in casual conversation triggered a Facebook post or Tweet. I would be somewhat miffed to find out that I'd inadvertently signed up for a service or invited 500 friends and acquaintances to look at my amazing photos (cough, Path, cough). Google reminds us that it is not good practice to spam people or take action without a user's permission. 

While Google makes this point with regard to unexpected functionality, it may become critical to avoid surprising the people around you when you're wearing Glass. For example, I think it's a good thing that you have to explicitly tell Glass to take a picture because it alerts people to the fact that you're capturing their image for your own purposes.

So with these points in mind and after looking at the links I've shared below (most of which were ferreted out by Jenni Leder) I'm starting to sketch out a concept for an app for Glass. I'll post the results of my team's experiment sometime next week. In the meantime, let me know what I've missed!

Useful Links

The World According to Glass

Glass Companion

Glass UI Guidelines

Testing Glass

Amber Case tries and reviews Google Glass


SNL Sketch

White Men Wearing Google Glass Tumblr

Strong Reservations

Was Mailbox the first app that relied on an obnoxious wait list/reservation system to throttle the number of active users and prevent poor performance due to system overload? I'm sensing a trend: Tempo, which is (presumably) a badass AI calendar app, has made me wait in line for two and a half weeks already. TWO AND A HALF WEEKS. TO USE A CALENDAR APP. WHAT.

The idea behind the wait list is that once the backend systems have scaled up in step with demand, you'll receive a code that unlocks the full feature set of the app and it will perform much much more better than it would if they let everyone use it all at once. It sounds reasonable, but the concept has my knickers in a twist for three reasons:

1. In its "wait list" state, the app takes up space on my phone without providing any value other than reserving my place in line. Couldn't you guys hold my place through some kind of email-based list and then contact me so that I can download the app when I'll actually be able to use it? 

2. The longer you make me wait, the more valuable I will find your app… Until you make me wait so long I either forget about you or worse, I become irritated that you are squatting on my home screen and not making yourself useful. And then I will delete you.

3. If you are as slow to open up to users as Tempo has been (allowing approximately 1000 users per day), then I will expect that when at last I am able to use your app, it will be so incredibly performant and delightful due to all the protections you have in place that I will almost certainly be disappointed with your actual product. BLEH.

I respect that these developers are attempting to create a reliable and functional user experience by scaling at a sustainable rate. Maybe I'm impatient and demanding. Actually I am definitely impatient and demanding. But I can't help feeling that after three days, guests, fish, and useless wait list apps start to stink… 

10 Steps to Prototyping with POP

Over the years I've spent a not inconsiderable amount of time helping to choreograph enormous, complicated, expensive systems so that specific groups of human beings can derive benefit from them. And whether the end product of those efforts was a multistory building or an app running on a mobile device, one of the best ways to figure out how all the parts and pieces should fit together has been to build a tiny, simple, cheap representation of the thing (or of parts of the thing) in order to test it: in short, to build a prototype.

In a perfect world prototypes are executed quickly, answer a specific question, prevent you from falling in love with bad ideas, allow you to communicate your strategy to others then gather feedback, and can bake you a tasty pecan pie. In the real world, it's not always easy to build a prototype that definitively moves your project or your thinking forward. Make sure you're asking yourself the right questions and take a moment to consciously select the right prototyping tool for the task at hand. The methods and techniques you choose to test your ideas will have an impact on whatever it is you end up designing.

So in that spirit, I'll discuss an app I recently re-discovered called POP that makes building quick prototypes for iPhone (using an iPhone) a breeze. With POP, you snap photos of your freehand sketches, bring them to life by linking them together to simulate the user experience, and then easily share your prototype with others. If your project is farther along, you can save your design comps to your phone's photo gallery, upload them to POP, and create a higher-fidelity prototype. 

Here's how to use POP:

1. Download the app!

2. Open up POP and tap the plus icon in the upper left hand corner to add a new project. Enter a name for your new prototype in the pop up and hit save.

3. Take or choose a photo of your paper sketch or digital comp by tapping the appropriate icon in the tab bar at the bottom of the  screen, then move, scale, and crop the image to fit within the on-screen guides. Tap save.

4. Add the rest of your screens (don't worry if your ideas aren't fully worked out, you can always add, replace, or remove screens later!)

5. Reorder the screens if necessary by long-pressing the screen you want to move. It will wiggle slightly to indicate that you can reposition it. The screen in the upper left corner is the one your prototype will launch with.

6. To link screens together, tap a particular screen to bring it into focus. Tap the plus icon to create a hotspot on screen. You can reposition and shrink or enlarge the hot-spotted area by dragging the hotspot and its corners. 

7. When you've placed the hotspot exactly where you want it, tap "Link To" to choose which screen should appear when the user taps the hotspot area. You can also choose a transition from the list at the bottom of the screen. The basic transition is a cross-fade, but you can also slide your next screen into view from the right or left, or from the top or bottom.

8. Repeat until all of your screens are properly linked and transitioning properly. Tap the play icon to test your prototype.

9. When you've edited your prototype to your satisfaction, tap the share icon in the lower right corner of the screen. You can share your prototype through Facebook, Twitter, Mail, or even via Message. Anyone with the share link can see your prototype! 

10. Tapping your share link on an iPhone will open the prototype in Safari. You'll be prompted to save the page to your home screen, and doing so will place an app icon there. Tap the icon to view the prototype.

POP is a great tool because everything is happening at one to one scale: you sketch your ideas out at full size on a sketch pad, snap a photo with your phone, and then test your prototype in the exact setting in which your users will experience your app (the iPhone). Proper context gives you a clearer understanding of the experience you're creating and makes it easier to communicate it to others. 

Download POP app here and test it out for yourself!

The Beginning of the End

There's a story behind every project, whether it's dramatic and complicated like deconstructing the plot of a classic Russian novel, or short and sweet like the process of making and eating a peanut butter and jelly sandwich. No matter what form the project in question takes, there's always a beginning when an idea lights you on fire and the heat spurs you into action; there's a middle, where you finally understand exactly what you're making and you're working steadily; and there's an end, usually a relief-filled moment when you decide that you've gone far enough and it's time to let go. You've eaten the sandwich. You've licked the crumbs off the plate.

But there's another moment lurking invidiously within every project; a short, dangerous, stressful period which, as I recently found out, may leave you feeling frustrated, angry, lost, and a little bit out of control if you're not prepared for it: namely, the beginning of the end.

I've been working on a complex app with a team of people since early September. That's twenty weeks now, which will seem like the halfway point to pregnant women and a mere blink of the eye to those working on large infrastructure projects like tunnels, dams, or bridges. 

Twenty weeks is, however, a period long enough that four generations of fruit flies will have lived out all their earthly days. The golden light of fall long ago gave way to the darkness of winter. And at some point over the course of this, our twentieth week, without my realizing it, we reached the beginning of the end.

The beginning of the end is a climax that occurs due to some kind of constraint: time, budget, or fatigue, to name a few. It's distinctive. If you feel that you still have choices to make that don't specifically relate to winding your project down, then you're still in the middle of it and the end has yet to begin. 

The endless possibilities that were with you at the start of your endeavor harden like arterial plaque into "what can be done in the time we have left." All at once, you realize that everything you do from now on must either bring closure or fall away gracefully without upsetting anything else.

I've never been much good with transitions. Handling things like jumping into a cold swimming pool, the death of a houseplant, moving across the country, or my the fact that my hair is turning gray at what I consider to be a profoundly young age with any measure of grace or tact has never been something that came naturally. 

And this transition, which happens in every project as the middle of things becomes the end of things, affects me profoundly. At the conclusion of the long slog that is the meat of any project, I'm worn out and tired. The hot, crackling fire ignited at the start has burned down, the coals are hot and white, withered and quiet. The wind is beginning to scatter the ashes.

What I want at this point, more than anything, is freedom from the tyranny of the project, from the weight of all our goals and aspirations, from the ever-present threat of failure. I want closure. I want this coffin fully-nailed and buried. But at the same time, I want - I need this project to be the absolute best it can be, regardless of how much time we have left. 

The thought of leaving even a single stone unturned in the effort to do the best work we can fills me with frustration and anxiety, despite the fact that I recognize human beings need to do things like eat, sleep, and take a break once in a while. This conflict is the root of what makes the beginning of the end so dangerous, and it's worse if you're 1) a perfectionist and 2) you didn't see it coming. 

So, I'm still thinking about how to cope with the beginning of the end (especially since I only recently realized that any angry thrashing to which I may have subjected hapless bystanders emerged from difficulties with this period of transition). I'm learning the warning signs with the hope that things will go better next time. And I'm very much looking forward to the end of the end of this project, and to the start of the next one.

Structure Doesn't Scale

Unless you happened to see me standing next to Manute Bol or beside the carefully reassembled skeleton of a Brontosaurus, I probably seem tall. I topped out around 5'-10" at age twelve, and let me tell you, the process hurt like hell. 

I remember waking up at night from the pain as my muscles and bones lengthened beneath my skin. I also recall suffering from a profound lack of physical coordination, the direct result of limbs that changed length on what seemed like a weekly basis. 

Growth is hard. I think it's hard whether you're a person on your way to 5'-10", or if you're a sapling in the process of achieving treehood, or even if you're a small company that will one day become a multinational corporation that's too big to fail.

I was sitting in a class called Intro to Structural Design one day back in architecture school when the professor, Kirk Martini, explained that "as things become larger, structure becomes an increasingly important determinant of form." The reason for this, he continued, is that "structure doesn't scale." 

When an object, say, the leg bone of a mouse, is scaled up by a certain factor, say, the amount it would take to make the bone work for an elephant, the volume increases with the cube of the factor, while the cross section and surface areas increase with the square of the factor (Martini). This means that the bone that supports the weight of the mouse must take on a different shape than the bone that supports the weight of the elephant, even though both are designed to do the same job.


While the "square cubed law" applies most directly to things in the physical world, it provides insight for managing the growth of structures that are semi-conceptual, like businesses, or that are digital, like software. Growth happens unevenly. While some parts of a thing are growing larger and more complex, other parts might be shrinking, getting destroyed, or staying the same size but seeming somehow smaller in contrast. 

And even though growth can be messy, difficult, painful, and even fatal at times, it's transformative. And it's the reason I can reach things on the top shelf in the kitchen. 

Useful Links:

Introduction to Structural Design

How to Win at Cards Against Humanity

The first official party game I ever played was called Pin the Tail on the Donkey. Thousands of people have participated in this game or a variant at one time or another, yet nobody asks the tough questions. How and why did the donkey lose its tail in the first place? Will "pinning" the tail back on the donkey truly restore the unfortunate hoofed mammal to its former glory? How much fun is blindfolding people and spinning them in circles until walking becomes a challenge? The uncomfortable truth is that Pin the Tail on the Donkey is a horrible party game.

More recently, I discovered a party game that manages to simultaneously celebrate and dispel the tension, awkwardness, and discomfort that can arise at social gatherings. Cards Against Humanity is unabashedly inappropriate, raunchy, hilarious, and highly offensive. If you're planning to play you should swap your blindfold for your Warby Parkers because participation will require reading. 

At this point, a few of you will be thinking, "I already know how to play Cards Against Humanity and I just want to learn how to win," or possibly, "why isn't this article teaching me how to properly prepare a hot beverage?" If you find yourself thinking these thoughts, skip ahead to the How do you win? section below and don't look back.

What is Cards Against Humanity?

Originally created by eight pals* looking to amuse a large group of friends at a New Year's party, Cards Against Humanity launched through the crowd-funding site Kickstarter in 2011. The game comes in a black box and consists of two types of cards: Black question cards and White answer cards.

Cards Against Humanity occasionally releases expansion sets to extend the original game. These come in handy when cards like, "50,000 volts straight to the nipples," "Fiery poops," and "A windmill full of corpses," start to lose their shock value. 

How do you play?

There are as many ways to play Cards Against Humanity as there are to skin a cat and wear its furry hide as a leg warmer, but the basic game is refreshingly simple. Each round, one player reads a question from a random Black Card, and then everyone else answers with their funniest White Card. Refer to the official rules** for more detail. 

The first time I picked up the game, I failed to recognize that I'd need grit, focus, and determination to win. I found Cards Against Humanity highly enjoyable, but time and time again I'd watch helplessly as opponents I'd previously considered friends wracked up impressive point totals. 

Things came to a head the night I brought the game to a local wine and cheese shop where I planned to meet a few friends. Our entire group got schooled by a couple of med students out on a first date. The couple had never played before, but they waded right in and proceeded to demolish everyone else. I suspect the pair profited from a natural advantage due to the grisly sense of humor many proto-doctors develop as a coping strategy. Later that night after the effects of the all the cheese had mostly worn off, I sat down to analyze the game. It wasn't easy, but eventually I figured out how to win.

How do you win at Cards Against Humanity?

If you consider yourself a "nice person," or if you've developed  "morals" or a set of "ethics" or "care what other people think," you may not have what it takes. But even if you are nice, if you can overcome your natural squeamishness and stop acting like a pansy for a couple of hours, you too can win at Cards Against Humanity. Here's how.

1. Know your audience.

In order to pick the winning card from the ten White Cards you hold in your hand, you need to understand the psychology of the individuals with whom you're playing. If these people call themselves your friends, this will not be difficult. If you don't know anyone, you'll need to infer what their personalities are like from subtle clues. Is the woman across from you dressed conservatively? Is the bearded gentleman to your left laughing at your witty puns or does he appear unimpressed by the brilliance of your subtle wordplay?

What you find funny is a reflection of your values. There will be people at the table who will laugh at anything, people who always want the answers to make sense, people who will choose the most horrific answer as the best, and people who are afraid to chose the most horrific answer because they worry people will judge. Once you understand these tendencies you should use this knowledge to your advantage.

2. Watch carefully and keep score.

Watch how many Black cards each of your opponents picks up. Is there someone who wins round after round? Try to determine a pattern to the winning answers. When it's your turn to judge, pick a totally lame response just to ensure a slight reduction in your skilled opponent's Awesome Points total. Don't feel bad about this. You're at war.

3. Play your best cards early.

Cards Against Humanity is a party game, and typically alcohol will be served in large quantities alongside your cards. Unless someone in the group is on medication or pregnant, everyone will grow increasingly intoxicated as the evening wears on. This means your opponent's ability to discriminate between hilarious answers and those that incite a mere courtesy chuckle will decrease over time. Play your best cards early. Cards that are difficult to play because they aren't particularly funny should be reserved for later on when everybody is laughing at everything and you have a better chance of winning the round. 

4. Hold on to your trump cards.

Occasionally you will draw a card that is a surefire winner. This will depend in part on the people you are playing with, but some cards in the Cards Against Humanity Deck are wildly, shockingly offensive and they will win every time. If you have only one trump card, play it right away and get a round under your belt. If you have more than one, it is worth saving for those times when your hand fills with weaker cards. 

5. Be horrible.

You can play this game and stay true to your values, but if you really want to win, you must tap into the dark river of offensiveness that flows through us all. The genius of Cards Against Humanity is that YOU aren't the one writing horrible things. You're merely choosing one answer from the ten despicable cards you hold in your hand and submitting it for consideration by another person. It's okay. If the card gets chosen, all it proves is that you're a genius with a profound understanding of your fellow man.

Where Can You Get Cards Against Humanity?

You don't actually have to buy Cards Against Humanity to play the game. That being said, do you have time to download a file, print out all the cards, and cut them to size? Think about the cost of the paper, ink, and the value of your time! Just order the set from the Cards Against Humanity website or Amazon for around $25, then go forth and horrify your friends.

*Josh Dillon, Daniel Dranove, Eli Halpern, Ben Hantoot, David Munk, David Pinsof, Max Temkin, Eliot Weinstein

** Cards Against Humanity Official Rules

Now See Here

When I was seven years old my visual acuity rivaled that of a standard issue California condor, red hawk, or even your typical sharp-eyed and majestic bald eagle. I could see microscopic dust particles floating midair in shockingly low light. I could distinguish one inch tall letters from a mile away. On one occasion, I believe that I even saw light at the end of the tunnel.

But slowly, almost imperceptibly, things began to change. I noticed it first while driving on the highway, realizing just after overshooting a particularly relevant exit that informational road signage seemed to be resolving itself into meaningful information later than one might wish while traveling at sixty miles per hour.

The next indication that my laser-like vision had begun devolving into something much more unfocused came when a coworker passing by my desk pointed out that I had positioned my face a mere two inches from the computer monitor, and went on to complain that I had given him a sympathetic neck-ache.

And so I have accepted the fact that, well before my dotage I have lost the ability to see clearly without the aid of corrective lenses. But what I have thus far been unable to do with any consistency is bring myself to actually wear my glasses. I'll admit that my reticence is in large part born of vanity, but as James Thurber once noted there are some benefits to operating in a state of gaussian blur:

“Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I’ve not seen.”

The Joy of Iteration

Like wine, whiskey, and celebrities with access to skilled plastic surgeons, software improves over time. Typically, the goal is to build a product with a limited set of features that solves a specific problem as quickly as possible. After that, gradual improvements based on user feedback refine a rough, often hastily improvised software offering into something functional and delightful.

Not a lot of other creative work proceeds in this manner; imagine if Monet had periodically pulled his paintings off the walls of galleries and private homes in order to brush in a few extra water lilies, or if Dickens occasionally tweaked the ending of Great Expectations. I suppose George Lucas came close when he recut and revised the original Star Wars movies, but it's worth noting that those edits were not particularly well received by fans.

The case could be made that there's a fundamental difference between a painting or a piece of writing as an art object, and software as a product design object. If art is the evidence of an act of self-expression, perhaps it has achieved its highest purpose as soon as comes into existence. When an artist alters a piece of art, he creates a new work; when anyone else makes a change to that piece of art, it constitutes an act of vandalism. Reproductions are worth a mere fraction of the value of an original because a copy is not authentic evidence of the artist's intent.

In contrast, software achieves its highest purpose as soon as an agent uses it to do something; the value of a piece of software is based primarily on its utility. Not only that, the value of any subsequent copy of a piece of software is identical to that of the original files. It does not degrade when it is used or as it is distributed. In my mind, this sets up an expectation that software should be improved until it ceases to be useful, at which point we should abandon it and build something new.

It might seem strange, but I actively enjoy the fact that, when the projects I'm working on have outlived their welcome, they will quietly disappear into the electronic ether without leaving a trace. I also love that I can keep working to make apps better and more useful - that there's almost always the chance to fix mistakes. 

Choose Words Wisely

Novelists exhibit stamina, poets profit from a sense of rhythm, journalists exploit facts, and bloggers benefit from prolificacy. And yesterday, as I mud wrestled with a single line of descriptive text within an app for fifteen frustrating minutes, I realized that writing for mobile interaction involves an entirely disparate set of skills.

When I say "writing for mobile interaction," I mean the text in an app that relates to the user interface: labels, title text, descriptions, alerts and notifications, categories, tabs, actions, and etc. Here are some things I've learned:

1. Keep it short. 

Assume your users operate in a state of distraction and that they want to achieve their objectives with the least expenditure of thought possible. In general, make the text as brief as you can because while using your app people may either: start playing semi-pro Texas Hold'em; ride a bike drunk; roast a turkey; or engage in a shouting match with an airline customer service representative.

2. Give your app a voice.

You can lean on UI text to reinforce your app's brand. Depending on how you write, an experience might feel even more fun and playful, serious and authoritative, or, at worst, machine-like, rigid, and robotic, all depending on the words you use. The challenge is to breathe life into an app while avoiding excessive verbiage.

3. Be careful with your words.

Language is slippery, capable of introducing unanticipated color, texture, connotation and significance - attributes that may obfuscate your message if you fail to manage it carefully. Not only that, it can be difficult to articulate the difference between words that seem to mean the same thing: for instance, why use a button labeled "buy" over one labeled "purchase"? In most cases, context or precedent will dictate the correct choice.

4. People don't read.

It can be tempting to explain away complicated or unusual components of your design with tutorials or written explanations. I'll admit that in the past I have been lured right off my trireme by the siren call of a well-intentioned coach mark, but I realize now that in nearly every case I should have lashed myself to the mast and kept on sailing. Coach marks turn out to be a complete waste of time. People don't read tutorials, and if they do, they don't remember them. Try using animated hints instead.

In closing, I'll say that UI text represents a spectacular opportunity to imbue your app a voice of its own and to extend brand attributes deep into the heart of an experience. It's also a spectacular opportunity to confuse people so thoroughly that they grow angry and start to writhe around in discomfort like a basketful of starving cobras. Consequently, just like a basketful of starving cobras, UI text should be handled with care, delicacy, and, when necessary, snake tongs. 

A Good Idea

My cranium feels like an ancient stone belfry sometimes, in that ideas are flapping around inside it like semi-blind bats, bumping up against each other awkwardly in the darkness and emitting high-pitched squealing sounds. It's easy to feel overwhelmed with divers notions, schemes, plans, and goals; to find myself unable to take any action because there are so many possible actions to take. And compounding the difficulty, there's the fact that it's often hard to tell the difference between a brilliant idea and total crap.

But once in a while, one thought squeals a little bit louder than the others and with a lot more conviction. And when that happens, I stop daydreaming, writing detailed lists in my notebook about all the things I want to do, and snap into action. That feeling, that "oh my god I know exactly what I'm going to do!" feeling, is one of the greatest things about being human (along with access to strawberry ice-cream, long walks in the woods, and unwrapping a brand new iPhone). 

Usually, a good, actionable idea is one that has been quietly lurking in the shadows and recesses of my mind for quite some time; it's rare that a eureka moment isn't predicated on a period of idle rumination and back-burner cogitation. I usually figure things out while I'm doing something unrelated: taking a shower or walking to my car. But it feels as though insight comes all at once in a flash of blinding light, tumblers dropping into place, pieces of the puzzle fitting together as though they'd never come apart.

I haven't learned how to rush the process; I'm not even sure it's possible to speed idea generation along. Not only that, it takes time to vet thoughts and test assumptions. But I do know that once you've got hold of one, a good idea can lead to others. 

And I'm pretty sure I had a good idea today.