Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.

Hipmunk on Daring Fireball

It’s no exaggeration to say I’ve been trying to get my work on Daring Fireball since I started my iPhone development and user experience adventures three years ago. Thrilled to see it finally go down:

…[T]heir custom date picker is simply brilliant. Hipmunk has a good web interface too, but it has nothing on the iPhone interface. This is why native apps matter.

Thanks for the love, John!

I’m especially pleased he calls out the date picker. That was a lot of work to get right and it’s not the sort of thing you can get away with being wrong in something like flight search and still have happy users.

Memories of System 7.5

Almost everything good that has ever happened in my life can be traced back to my early experience with a Mac. The first family computer that ever lived in my house was a Performa 6116CD

I absolutely loved that thing, especially by contrast with the rest of my life. School was typically dull: I spent very little time learning about anything that was important to me. I think I could count the number of friends I had with half of one hand – and they were certainly outnumbered by people who disliked me but couldn’t find constructive ways to express those feelings. My home life was no picnic, either.

Yet none of that mattered when I was at the keyboard of my Mac. It was, all at once, a second school, a conduit to another world, an infinitely deep toolbox and a magic wand of indescribable power – running at 60 MHz.

I thought it would be fun to venture down memory lane and revisit my Mac of 1995. Of course, the hardware itself is long gone. But through the magic of Sheepshaver, I’ve been cobbling together the scraps of my favorite childhood memories. Other kids had sports, comic books or Jesus. But the thing I believed in was my Mac.

System 7.5

My childhood experience with the Mac spanned System 6 through Mac OS X 10.2 but System 7.5 was easily the golden age. That would be the first time I had long-term access to a machine I could customize any way I wanted.

Once installed in Sheepshaver, even through an emulated PowerPC processor, System 7.5 is extremely performant compared to 16 years ago. On a Late 2010 MacBook Pro, loading from an SSD, boot time is about two seconds, compared to about 30 seconds in 1995.

The cheerful parade of Extensions and Control Panels marches at the bottom edge of the screen. Performance be damned, I loved collecting these.

Of course, the System 7.5 era was extremely long – an interminable wait for Copland, the next generation operating system that would make unicorns fly from your 4x CD-ROM drive. As time went on, the UI started to look pretty stale.

So it’s important to install one of my favorite extensions from the period, called Aaron, to spruce things up a little:

That’s better. Aaron adds a little flair and dimension to the otherwise flat and bland System 7-era UI and I liked it a lot better. Even at 10, I was starting to be curious about the nuances in UI design.


AOL was my very first taste of the internet. I believe our first bill came out to $80. So that didn’t last long. Luckily, their unlimited dialup service showed up about a year later, so I would be back in action. Sadly, but unsurprisingly, you can’t actually use the AOL client anymore. Still, I got to poke around with the modem configuration panel that was a frequent source of frustration once upon a time.


This little suite was bundled with the Performa. Very little to be excited about here but I spent so many hours cranking out school reports and other projects in its Word Processing, Paint and Vector Art modules.


The gravest of my youthful indiscretions was easily my voracious appetite for pirated software. Enter Hotline. Before Napster, before Gnutella, before BitTorrent, there was Hotline. Hotline let anyone set up a file server on their home computer. It included chat, BBS and persistent user accounts, too. Vibrant communities sprung up around these little amateur servers. They dedicated themselves to everything from religious evangelism to technical support to sharing anarchist/conspiracy text files. Of course, being the internet, there would be plenty of pirated software in the mix.

To my utter delight, the mid-90′s version of Hotline I got started with so many years ago not only still works, there’s even a handful of servers still in operation. Back then, I was lucky to pull down files at 2.8 KB/sec via dialup. A limitation of either Sheepshaver or Open Transport, the aged TCP/IP stack Hotline uses, now caps me at 60 KB/sec, but that’s a big improvement I’d have killed for as a kid.

Hotline is a major hinge in my history. With access to so much software, I dedicated myself to learning how to use it. I rarely had access to any documentation beyond what was built into the apps so it was often an exercise in trial and error. It was also fun beyond words.

This began my life-long study of interfaces and user experience. If this hadn’t happened, I have absolutely no idea what I’d be doing with my life right now.


Hotline could be extended with customized icon sets. If one of the two dozen included user icons didn’t strike your fancy, you could create your own. The trouble was that only other users with your custom icon file could see your handiwork.

Of the thousands of active Hotline servers in operation during its golden age, two emerged as dominant tribes vying for the loyalty and patronage of the masses. Known as BadMoon and SoSueMe, the servers collected thousands of customized user icons and then distributed them as authoritative custom icon sets.

Of course, I wanted to get in on this. ClarisWorks’s Paint module really wasn’t up to the task, so I had to find and learn Photoshop 3.0. This little head-start on graphics tools ended up being important – years later, I’d be able to design my own UI elements thanks to this early noodling.

It meant days of downloading but it was worth it.

One striking thing about Photoshop 3.0 is how very little has changed after all this time. The color picker is identical. There are the many cluttery pallets for layers, brush diameter, colors, and channels. Later versions would introduce layer styles, which were awesome but a little rigid, and endless other bits of junk. The overall workflow, aside from crappy Save For Web, remains much the same. (This is why I now use Opacity to design UI – it’s built for how I actually work.)


I loved ResEdit when I was a kid. Apple’s resource editor let you poke your nose into most system files and applications, revealing image assets, icons, interface elements and plenty of other technical goodies I didn’t really grok at the time. It was surprisingly deep, including a little MacPaint-like editor for the icon files along with a drag-and-drop interface editor. At the instigation of David Pogue and Joseph Schorr, I recall using it to make the bloated trash can look filthy and overflowing.


No exploration of Mac history would be complete without a look at some of the platform’s greater gems of gaming. PC’s may have had more games by volume but the Mac didn’t have any shortage of fun, either.

Escape Velocity

I sunk so many hours into EV, it’s not even funny. A nerd who grew up on Star Trek and other scifi, I found this game’s premise of space exploration, commodity trading, secret missions and interstellar combat extremely compelling. Entire Saturdays vanished into its gaping maw.

Marathon 2

Before Halo, Bungie made Marathon. It was a rich story of treachery and tragedy among the stars. Crazy AIs and three-eye aliens all trying to get you killed while you blast things with enormous guns. No full-motion video cinematics here, though. If you wanted story, you had to read.

SimCity 2000

I was terrible at SimCity. My budget rarely balanced, my people always complained.

I loved it anyway. SimCity 2000 is still surprisingly playable, too. Definitely a timeless piece of work.

End of an Era

The way many expected the System 7.5 era to end was pretty bleak: Apple collapses, the Mac dies, and its software and hardware begin to decay into uselessness.

Of course, history went a different way. I’m glad that Apple survived long enough to ship Mac OS 7.6 and OS 8, that in the time since Apple has rebuilt itself into the juggernaut of its industry. Mac OS X beats the hell out of anything that came before it. I still remember picking up my copy of Macworld at the supermarket and learning how Apple bought NeXT – and hoping that the future would bring brighter days for everyone’s favorite “beleaguered” company. And it did.

Still, I’ll always look back with fondness on those days of innocence before a Unix shell was a keystroke away, before every UI interaction was beautifully animated, before we measured even the tiniest of hard drives in gigabytes, before collaborative multi-tasking and protected memory. When using the computer was new and exhilarating. When the Mac was more than just tool – when it was an escape to another realm of existence. Those were the days when a little boy, without coming anywhere close to realizing it, laid the groundwork for all the wonderfully fun things he’d get to do years later as a man. I learned way more from my Mac than school ever gave me.

Thanks for the memories, Apple.

Hipmunk for iPhone

Intel’s Delusions

A few weeks ago I got an email from an Intel rep, trying to convince me that I should port my apps to MeeGo, their in-progress mobile platform. I chuckled at this – the thing hasn’t even shipped on anything. In what universe would it be worthwhile to invest development time in an unproven platform I’ve never even used? I didn’t give it much more thought, figuring it was email blasted and my lack of response wouldn’t be noticed.

I was wrong. I got another, more personal email a week later.

And another – right after Nokia announced they were dropping MeeGo for Windows Phone 7. This was more than I could take. With that vote of no confidence, who would be crazy enough to invest in Intel’s non-existent platform? I responded:

I know you’re doing your job, but it’s not going to happen. Intel lost in mobile. Sorry. Putting my money behind horses who have a real chance. Thanks and good luck.

I put it out of my mind. Later that day, though, my persistent friend gave me one last push:

…If history repeats itself, it will be open architecture systems and industries that will eventually dominate. It’s only a question of when. ( I think soon.) Think of where the PC market was in the early days when there was still multiple proprietary solutions competing for the market space of the home computer user.  The IBM standard eventually dominated the larger market.

Even if I bought into this (I don’t), wouldn’t Android be the horse to bet on? It’s open. It’s actually in shipping products. It actually has users, right now, today.

I believe that history will repeat itself.

So, this guy, and by extension, Intel, believes that fate will grant Intel perpetual reign over all things computing, despite the fact that they can’t produce a mobile processor anyone wants to use in best-selling products? Despite the fact that they’re late to the party with their self-serving OS?  Despite the fact that MeeGo, by all accounts, kind of sucks?

Okay, I guess history is just going to repeat itself. Because they want it to. It’s like they’ve been reading The Secret or something.

This is a ground floor opportunity akin to purchasing a stock just before it goes up in value.

As if my bullshit detector weren’t already burying the needle.

Keep idly watching this space (open architecture mobile computing) and you will miss the train. Intel is leveraging all it’s 30 years of OEM relationships. The number of distribution channels contained in this network is going to be staggering. It’s not one store or one manufacturer.  This is the democratization of mobile computing.

I think the only one who has missed the train here is Intel. They’ve been idly watching mobile while ARM quietly cleans their clock.

Moreover, even Google has struggled to nail down successful, paid distribution. Intel thinks it can succeed by encouraging the creation of several channels? It’s like they don’t even bother studying what works and why. Apple is ruling the day by getting 100 million accounts all in one database and giving the keys for one-click buying to anyone who wants to come over. Several fragmented channels is not the way to match their power.

That’s my story and I’m sticking to it.

Translated: Intel is delusional and they’re paying me to repeat their fever dreams.

The mobile computer market is nearing a similar democratizing event horizon as the PC market did 25 years ago.  Throughout 2011 Intel chips will turn up in 35 tablets from 15 brands!

How many units are going to be sold of all these many tablets? 15 brands and 35 tablets? Really? Why not just two, really, really good ones? Sounds like a recipe for an instantly fragmented market from a hardware perspective, too.

He ended by encouraging me to hop on the phone with a program manager to learn more. I haven’t taken him up on it.

Now, many of us have been in an room listening to marketing spin a tale of bullshit (“narrative”) to share with outsiders. Maybe Intel knows it’s full of it, right? I’m not so sure. I think decades of being the Processor King has genuinely convinced them that their success is inevitable.

I think they’re wrong. The game has changed. They haven’t.

How to Get Away With a Traffic Infraction

I’ve long been sitting on my strategy for escaping traffic tickets but recent conversations on Hacker News about beating the system have compelled me to share. Cliff’s Notes: Don’t be an asshole. Have some empathy. You’ll save some money on traffic tickets and find yourself better able to interact with everyone, not just cops.

If you need more detail, here’s the deal.

Once, when I was 17, I picked up a girl and took her out on what I hoped was a date (in case you’re wondering, it wasn’t). About ten minutes into the evening, as we drove down the highway, a police officer pulled us over.

I was speeding. 10 MPH over the limit.

It cost me $134.

Being 17, the lesson I learned wasn’t “Hey, maybe I shouldn’t speed.” Instead, I decided “I need to figure out how to get away with it next time.”

And I did. Reading many sources, talking to a cop who worked with me at Best Buy, and trying things out later, I figured out what to do. In the eight years since my first ticket, no one has given me another one. It helps I don’t drive like an idiot anymore. But even the best drivers can lose track of the speed limit.

The following guide assumes that you’ve been pulled over by the police and the maximum extent of your crime is a traffic infraction. Maybe your stop could have been more complete, maybe you lost track of your speed. This may not help you if you’ve done anything worse than that. Driving drunk? Got some pot in your car? Illegal weapons? Involved in anything else that the police won’t be impressed with? If any of those is a yes, this probably isn’t the guide for you.

Let’s also be clear: I am not a lawyer and the following is not legal advice.

Still with me? Okay, you’re otherwise law-abiding but you did something naughty in traffic and the police noticed:

Take a Deep Breath

You’re about to enter a situation with a distinct asymmetry of power. If you’re not used to that, you might be nervous or intimidated. Don’t be. In the grand scheme of things, you’ve done very little wrong. Take a very deep breath, relax and gather yourself.

Regardless of how lopsided this interaction is going to be, remember one thing: the police officer is a human being, just like you. Your cop might be mean, might be nice, might be a mom, might be nuts about astronomy, might be going through a divorce. Each is their own person, so discard your preconceptions and do your best to understand the challenges they’re facing.

Pick a Safe Place to Pull Over

The police want to talk to you. They’re going to need a few minutes to do it. Make sure you give them a good spot to work with. If you put them in a place where they’re on edge because of unsafe traffic conditions, you’re already on their shitlist.


Being a cop is hard, scary shit. They don’t know if you’re speeding because you’re oblivious or because you’re on the run. As an officer emerges from their car, they have to prepare themselves for trouble. You could be a desperate criminal, ready to kill or maim them to secure your own freedom. Imagine it from their perspective: this is not a fun moment for you but it’s worse for them because they have a lot more uncertainty to grapple with. At least you know what’s about to happen.

Roll down every automatic window in your car. Especially if you have tinted windows, this lets the police see exactly what’s going on inside the vehicle. A backpack, an In-N-Out cup, a water bottle, say. Okay. No big deal. Not scary. Much better than a dufflebag full of drugs, a weapon, or worst of all, an unexpected group of armed bad guys.

You have nothing to hide, so show instead of tell.

As the police approach, make sure you and your passengers rest their hands on the rim of the car’s windows, in plain view of the police. If they can see your hands from several feet away, you’ve spared them several seconds of adrenal windup. They’re more likely to be relaxed, which means they’re more likely to be friendly.

Turn off your car. For bonus points, place your keys on the dash. A car can be a dreadful weapon all on its own.

The goal during the approach is to make sure your cop knows that there is absolutely no reason to be tense or concerned about what’s about to happen. You’re harmless.

Now it’s time to talk.

Don’t Be an Asshole

Remember you’re about to talk to someone who has one of the hardest, most thankless jobs in the world. You enter the conversation worried about points on your license and paying a ticket. They’re worried about never seeing their families again.

Keep your hands on your window ledge and greet the officer as they approach. A cheerful “Good evening, officer” is all you need. Do not be terse, do not be curt, do not be rude. Just say hi.

Follow the officer’s lead. If they want to talk to you about why they pulled you over, they will. You’ll get nowhere by being demandy about the reason. Many times, they’ll just start by asking you for your papers – “license and registration.” Sometimes they want to see insurance instead of registration. I don’t know what influences this. Wherever the conversation goes, be polite and courteous. Show, through your behavior, you’re just a normal person who missed a road sign.

If asked why you’re behaving this way, tell the truth: “You have a hard job, officer. I do, too, so I’m just doing my best to make this easy on you.” Cops deal with a lot of inconsiderate people, so you don’t have to do much to stand out.

It’s very likely that you’re going to have to reach into your pocket or the glove box to comply with an officer’s requests. Announce your intention to do this before moving your hand. “If it’s all right with you, I’m going to move my right hand to the glovebox. My registration is in there.”

While one hand digs around, keep the other firmly planted on the steering wheel, in clear view. After you’ve retrieved whatever you were asked for, hand it over slowly and make sure your hands return to the dashboard or the window ledge. If you forget, your cop will remind you.

The police may ask you if you know why you were pulled over. Many people will tell you that it’s in your interest to play dumb here. I don’t work that way.

See, I don’t like to lie. It’s a pain in the ass. When, for example, two Texas Highway Patrolmen pulled me over a few summers ago, I knew why I was speeding. When asked, I told them.

“I’ll be honest with you, gentlemen. There was a feedlot back there. Thousands of cows! It smelled terrible, honestly. So yeah, I hit the gas because it was making me ill and I needed to get out of there.”

So yes, I waived my fifth amendment right not to incriminate myself. I also made myself a human being. By being direct and honest about what’s going on, I’m hopefully sticking out as different from the sort of person they would usually ticket.

After a conversation, they sent me on my way with a warning. Let’s be clear: I’m hispanic. I didn’t look even remotely like the guys who pulled me over. I was about as thoroughly other as you can get while still speaking english. But I was considerate of the the patrolmen, I talked to them like human beings and they returned the favor by not screwing me with a ticket. I even pitched one of them on the company I was working for at the time.

A little empathy can go a long way. This has application in many other interactions unrelated to traffic violations or law enforcement, but I learned it here first thanks to the financial incentives involved.