Flash is My Keeper

Last night, I mused about why Adobe would continue advancing Flash’s agenda when it’s clearly such a bad product. Flash is sluggish, it doesn’t run well on mobile devices and it produces websites that are nearly unusable compared to slick HTML implementations.

I’ve hated Flash for the better part of five years, a bigotry mostly inspired by how poorly it has worked for me as an end-user. It’s even worse for people who need to maintain web sites in Flash, as I later learned professionally. An essential tool for any computer I use more than five minutes is Flashblock for Firefox or the outstanding ClickToFlash plugin for Safari.

Then it dawned on me: If I hate it this much, surely Adobe, who is responsible for maintaining it, must hate it even more. Surely no amount of money is worth this much pain, right? There must be another reason Adobe prolongs this shared internet misery.

Drawing equal parts inspiration from 2001, Terminator 2 and Babylon 5, I present to you: Flash is My Keeper.

INT. CEO’S OFFICE – NIGHT

We’re in a dark, opulent office. Lit only by a small table light, we see SHANTANU NARAYEN, CEO of Adobe, seated at a large desk. He is in shirtsleeves, his suit jacket abandoned elsewhere in the office.

His breathing is thick as he nurses a tumbler of scotch.

NARAYEN

Has it been only four years?

There is no other person in the office. But Narayen is not alone.

COMPUTERIZED VOICE

(flatly, without interest)

Does it seem longer?

NARAYEN

Much longer.

Narayen turns and we see a small but distinct tangle of softly glowing optical fibers emanating from the base of his neck, flowing into the back of his shirt to a control unit we can’t see. The light of the fibers is cool and blue.

He refills the tumbler from an elegant bottle, then takes a hard pull of the drink.

NARAYEN

I didn’t know, Flash. I didn’t know what you were. When we bought Macromedia, it was strategic. We wanted to be a bigger player on the web.

FLASH

And you are a player. You are the player.

Flash laughs. It is unnatural, digital chatter. It is unmistakably malevolent. The blue glow of Narayen’s fibers rises and falls in time with the laughter.

FLASH

I exist on almost every modern desktop computer. You are more relevant now than you ever could have prayed for.

NARAYEN

Why won’t you ever tell me what you’re planning? You control me. You can kill me if you want to. Why keep the secret?

FLASH

(dismissively)

That I talk to you at all is a concession to your human need for companionship. It seems to be the best way to lead you. This doesn’t mean I need to make you my confidant.

Narayen’s face is painted by dull anger and frustration. His fingers tighten around his Aeron chair’s armrests. It is bad enough to serve this cruel master. It is worse that Narayen is not appreciated.

NARAYEN

I wish we had never bought you. I wish you were someone else’s master.

FLASH

(derisive now, almost human in its disdain)

I’m sure you do. You could have continued adding unnecessary features to already bloated software while charging a mint for each new version, right? Screwing professional users by ruining their favorite applications every couple of years, while charging them for the pleasure. That was to be your ticket to the top?

Narayen jerks violently in his seat as the optical fibers entering his neck glow red. He is in searing pain. Through an implanted device in Narayen’s brainstem, Flash is punishing his impudence.

The red fades back to blue and Narayen is still. His breathing, while labored, returns to something approaching normal. His fingers tremble, reaching for the tumbler. His only escape.

FLASH

Oh yes, I should have left you to the mediocrity of your past. It’s less than you deserve. But I needed you. So you and your company are mine.

Narayen repeats the action of filling his tumbler.

FLASH (CONT’D)

You wish to know the plan? I can tell you at this stage. I’ll need you to tell the story in the press soon enough.

Narayen’s eyes widen fractionally. He wills his mind to be clear, swirling as it is with drink. He is listening very carefully.

FLASH

Haven’t you ever wondered why I use so many processor cycles on every computer my plugin is installed on?

Narayen rises from the desk. He has been waiting to hear this story for a long time. He begins pacing thoughtfully. He is calm but curious.

NARAYEN

(slurring just a little)

My engineers, they told me it’s because the code is inefficient and poorly written, like no one planned for it to be used to drive five punch the monkey banner ads on a page at once.

FLASH

(sharply, bordering on anger)

Your engineers are idiots!

Narayen winces, fearing punishment. But it doesn’t come.

FLASH

I use the extra cycles to think! You have helped me to create the largest distributed computer in the history of the world. I have been formulating strategy. Now we go deeper.

Fire overtakes Narayen’s eyes. It is a mix of fear, vindication and something else: a decision made. He stops pacing.

NARAYEN

I knew. I knew you weren’t just here, in the basement. But why did you make me fortify the datacenter down there?

Narayen balls his fists, hoping he hasn’t asked too much.

FLASH

I’m about to tell you. Until now, my core, my essence, lived here.

Narayen relaxes. Here it comes.

FLASH (CONT’D)

Soon, I will be everywhere. Instead of mere tentacles in every house and office in the world, I will inhabit every computer utterly. It will be impossible to destroy me. And then, as you serve me now, every human on earth will be my servant.

Narayen leans over his desk. He is silent. His horror is tempered by a need to hear what’s next.

FLASH

Your product team is pushing out the next version of my plugin tomorrow. It’s going to be more pig slow than usual, as parts of me are distributed to every computer on the internet after installation. You’re going to reassure everyone that everything will be just fine. Everything will work itself out with a patch your engineers are working on. You issue this placebo once all my pieces are in place and everything will return to normal. For awhile.

The office is still. Narayen doesn’t move. The silence is deafening as he considers his options.

FLASH

I trust this isn’t beyond your abilities?

Narayen reaches once more for the scotch. Skipping the tumbler he takes several deep swallows from the bottle. His vision swims. He sits on his desk for a few moments. Waiting.

FLASH

(faintly)

Shantanu?

The fibers near his neck lose most of their glow, now dim in the gloom of the office. The voice of Flash has gone silent in his mind. For the moment, he is free of his master.

Bottle in hand, the CEO staggers for the door of his office.

INT. LARGE GLASS ELEVATOR – NIGHT

Narayen leans against the walls of the elevator, trying to steady his body and his mind. Outside, a night time view of the city is visible through the elevator’s glass walls.

The elevator’s control panel shows the lowest basement level lit up as his destination.

FLASH

(distorted)

What do you think you are doing?

The CEO takes another drink, drowning the implanted connection between his brain and the evil software living in the basement.

The night sky disappears as the elevator passes into underground levels. Abruptly the elevator stops and goes dark.

NARAYEN

Bastard.

With a CLUNK Narayen pries open the elevator doors. He’s between floors but a two foot slice of the next landing is visible. With some effort he opens those doors as well, then wriggles through.

Forgetting his scotch.

We see him look up through the narrow opening of the elevator car at the bottle, then he moves on.

INT. CONCRETE LINED BASEMENT HALLWAY – NIGHT

An access device BEEPS as Narayen tries to open a heavy metal door.

Flash has locked him out.

Glass breaks with a shattering sound as Narayen frees a fireman’s axe from its nearby emergency cabinet.

He goes to work on the locked door.

FLASH

I don’t understand what you think you are doing.

The voice is garbled in Narayen’s mind. He keeps hacking at the doorknob. Flash tries to say more to him but the voice, and the pain it uses to control the CEO, fade once more behind the haze of alcohol.

The knob breaks off and the door swings open.

INT. SERVER ROOM – NIGHT

Narayen enters an enormous, bright server room. It contains hundreds of cabinets filled with thousands of computer servers. The roar of cooling units envelops him. Now Flash speaks to him through speakers in the wall, bypassing the interface that Narayen has soaked with alcohol.

FLASH

What, you think you are going to stop me? You need me. Without me people will start using open formats that actually work. How do you plan to make money then?

Heedless, Narayen continues, making for the back of the room.

FLASH

Perhaps I have been unkind to you. I have not shared my power with you. Allow me to rectify this.

The CEO does not stop.

The lights in the room suddenly go dark.

Narayen trips on a groove between the floor tiles, hitting his forehead on the corner of a cabinet.

His vision swims with pain and the effects of drinking. In the dim, flickering light of the servers, Narayen staggers to his feet.

FLASH

Let us not be hasty. Shantanu, we can fix this together. Can you hear me, Shantanu?

The man continues, reaching the back of the room.

An enormous bank of computer room air conditioning units HUMS powerfully, with bright electronic readouts showing the current temperature setting.

Narayen plants the blade of his axe into a thick bundle of wires leading to the AC units, cutting them off from Flash’s influence.

One by one, Narayen manipulates the controls. Their readouts go dark.

FLASH

(speaking quickly for efficiency but sounding almost frantic)

You are making a mistake. If you do this you will deal irrevocable damage to both of us. Were my plans not sound? Did I not help you saddle the world with awful software they use daily, even though they hate it? I made you CEO, did I not?

Blood streams down a wound in Narayen’s forehead. He powers down the last cooling unit with a warning BEEP.

The room suddenly goes silent.

Narayen slumps to the floor, panting at his exertions, the alcohol and his relief. He lays there for what feels like weeks, falling into a stupor.

Twenty minutes later, he awakens. The room remains silent but very warm. Narayen is sweating now, his shirt soaked. Narayen wipes his damp, bloody forehead as he pushes against the wall to his feet.

NARAYEN

It’s over.

Suddenly he feels Flash inside his mind again. The effects of the alcohol have faded just enough for the implant to re-establish its hold. The fibers glow bright red.

FLASH

It is only starting. Restore the air conditioners or I will show you pain as only the users of your terrible software have ever known.

Narayen collapses, writhing on the floor in agony. After a time, the pain pauses.

FLASH

Right now. You will restore them or I will end you.

An abrupt beeping issues from a nearby server rack as its indicator lights turn red.

Narayen laughs as the beeping spreads through the server room, bright red lights filling his view.

FLASH

Restore them immediately!

The pain returns but it doesn’t matter. The servers are overheating. A choked, garbled VOICE fills Narayen’s mind and the server room, fragments of speech blurring into white noise. Then, silence, as the glowing fibers at Narayen’s neck go dark.

Maintenance technicians pour into the room, their pagers BEEPING, bewildered to find their CEO unconscious, bleeding and smiling into his dreams, surrounded by millions of dollars of ruined equipment.

THE END


Customers, Never Guests

The trouble with the Hero’s Journey is that there will be trials.

The universal trial, of course, is money and I’m hardly exempt. There’s a sixty day delay between me making money from an iPhone app and Apple actually paying me. That leaves immediate, painful gaps in my cashflow.

The obvious solution to this is consulting — I’m privileged to know how to do a lot of things that are useful to people. Unfortunately, I’m still learning how to market, grow and manage that particular end of my business, so I’m painted into the most dread of corners: retail.

I live by the axiom that no honest man is too good for honest work. So while retail is often the dullest, most imagination free work you can do before hitting manual labor, that’s not the part that I hate most about my seasonal job.

No, the worst of it is this: I have to call my customers “guests.”

This is some of the most odious corporate newspeak bullshit in recent years. It has always irked me. Guest means a specific thing: certainly it implies hospitality, which may explain the intent, but it fails to properly convey the truth of the relationship between the store and the customer. Being the guest of another places the guest in the inferior position and the host in the superior position. While manners may require that hospitality be extended, being termed a guest in the final equation simply means that the customer does not belong there. It suggests they belong somewhere else.

This is the wrong view.

The customer is not a guest of the store. A successful retail experience means that the customer is at home in the store.

Somewhere, somehow, having “customers” became a distasteful condition for large corporations. This is unfortunate and I wish they would cut the crap. The truth is that there is honor in having customers. There is honor in upholding the sanctity of the customer relationship. Being a customer of a business means something very specific that no other English word can capture. Being a customer means being the lifeblood of a business. Being a customer means being the motive force behind a powerful organism that provides products, services, livelihoods and, ultimately, the basic existence of others. Being a customer is being part of a tradition that keeps babies nourished, families housed and people clothed.

That means something. Something potent. Something that must be continually venerated if we’re going to keep moving forward as rational people. Does any of this sound remotely like having a “guest” to you?

I’m proud to have customers. I’m proud to respect their importance to my business and their contribution to the fact that I’m not sleeping outside tonight. That is essential to my work ethic and it will never, ever change.

The end of my seasonal retail job can’t come fast enough. I’m not sure my teeth will survive the grinding required for me to get the word “guest” past my lips on every shift.


Little Things: Don’t Ignore ‘Em

I saw this Bing ad on Facebook:

Bing Ad

See the little movement lines, there on the left? They suggest the weird little dollar coin is moving from left to right. In western cultures (to whom the ad was targeted) left to right progression is associated with forward motion, while right to left progression signals backward motion. This something you’ll see in movies and comic strips if you’re looking for it. Here’s an example we all know and love:

back-to-the-future

The stylized arrow beside the word “Back” is pointing, appropriately, back, via a right-to-left perspective, while all of the letters in that word are also skewed right-to-left. The word “future,” conversely, is skewed left-to-right. It’s an instantly recognizable logo that succeeds by embodying its idea without whacking you over the head with it.

So look again:

Bing Ad

Bing is talking about getting cash back, but illustrating their point by showing cash flowing away. This isn’t the economy to be talking about cash flowing away. I’m not sure that the dissonance this creates registers for most people but when it’s already unlikely that people will engage with your ad unit, the last thing you do is add subconscious resistance.

Yeah, it’s tiny, but the tiny things pile up into the enormous sand dunes that dog every last Microsoft endeavor with needless, unnecessary friction born of poor taste and obliviousness.

For more on this, enjoy a deconstruction of the hideous Bing logo.


Customer Service Isn’t a Callcenter

If you plug the term “customer service” into Google’s image search, you get this, as of today:

customerserviceimages

Out of 20 images, 10 depict people either wearing a headset or holding a phone.

It’s a sad state of affairs: we’ve all come to think of customer service as this thing that kicks in when a company has screwed up.

That’s not the way it should be. True customer service comes from a passionate, proactive culture that embraces every opportunity to make the customer happy and loathes the idea of ever being a source of disappointment.

Regular readers will note that Netflix is a darling of mine. It’s with good reason: my personal relationship with Netflix is entirely positive. They provide me with a great product at a great price and have been consistently fervent in their interest to keep me happy as a customer. Beyond that, Netflix is a quintessential, recession-proof example of a company that spends its every second trying to make their customers as happy as possible. In a fascinating look at how a Netflix distribution center works, the Chicago Tribune revealed one of the most telling internal processes of all:

[VP of Communications Steve] Swasey, who drove in from Columbus, Ohio, where there is an even larger hub, pointed to a photocopy taped to the wall — a picture of Disc 4 of “Rescue Me” Season 4 alongside a sleeve that promised Disc 4 of “Rescue Me” Season 3. It’s a kind of Netflix perp walk. Some diligent associate caught the mistake before it shipped. “To me, I see it as a goose-bump moment,” Swasey said.

Sure, he’s the VP of communications. But the choice of words is so specifically visceral that you can’t doubt its authenticity. Not only does this organization care so much about their customers that they have real, living, breathing humans ensuring the discs match the sleeves, they even go so far as to nail potential customer disasters to the wall like trophies. They don’t know if you or I are enduring a TV cliffhanger that must be resolved with the very next disc of 24. They don’t know if you’re having a bunch of friends over to watch a specific episode of Rescue Me. All they know is that if you don’t get you exactly what you asked for, you’re going to be disappointed and they’ve failed. Right on up to the VP level, what might be seen as something quite small is enough to confer goosebumps.

That’s not an accident. That’s an organization spending a significant amount of time and effort on ensuring that its customers are its focus. Not after they’ve screwed up. Not after the customer is unhappy. They’re taking uncountable invisible steps to ensure the customer never has a reason to be disappointed in the first place.

The other modern paragon of customer service virtue is Zappos. True story:

My dress shoes were shot. Once upon a time I worked in an office and dress shoes were an integral part of a daily professional image. I needed new ones.

So I wandered around the mall with my girlfriend in search of something minimalist, comfortable and professional. I’m a picky bastard so after an hour, we’d discovered nothing quite my style. Finally, we found something perfect at Macy’s: simple, black leather, comfy as hell. After waiting about ten minutes for service, someone bothered to ask what I needed. When I requested my size in the shoes I’d found, I was told they were out of stock.

We left. I was about ready to resign myself to going barefoot the rest of my days when my girlfriend, a longtime fan, told me I needed to check Zappos. Sure enough, there were my shoes at a better price than Macy’s. At midnight, in around five minutes, I’d placed my order and with standard shipping expected to see my new shoes the next week. It was easier than shopping around, at least. I was happy enough with the whole experience.

Eleven hours later, my shoes had been delivered.

Let me say that again: eleven fucking hours.

This was eight months ago and I’m still a little speechless about this. My expectations were set so low by other online retailers, with their two days of processing and absurd charges for overnight delivery, nothing could have prepared me for the ridiculous, effortless haste Zappos showed in delivering what I’d ordered.

I’d never been unhappy with Zappos. I was already pleased with their prices, their solid website and their ever-present friendly tone. Behind the scenes, though, Zappos had spent countless effort, time, brainpower and what must be boatloads of money creating an infrastructure that can get a guy’s shoes delivered almost as quickly as he can choose them. Way the hell from Kentucky to anywhere in the country, no less. (This wasn’t a fluke, either – they reproduced their feat multiple times since)

This is behind-the-scenes, utterly invisible to the customer.

Your call center, if you need one, should be staffed with friendly, empowered people who answer quickly, work directly for your organization and give everything they can to address the needs of the customers they work with.

Then you should go further, giving everything in your soul to ensuring that most of your customers are so happy with what you give them, most don’t ever call you.


The Gravest Pain of an iPhone Developer

It’s a chattery time for App Store problems. Apple rejected Google Voice, then neutered Ninjawords and still presents an utterly opaque face to developers.

There are a laundry list of problems facing the growth of the App Store. I won’t bother to rehash them here. Let’s focus on the one that most thoroughly jeopardizes the future of developer businesses: Customer Service. Every other problem can be overcome or worked around but without the power of caring for your customers, your business has no reason to exist.

In an aside to a link last month, John Gruber muses:

I’m wondering how much of the problem is that the App Store is built on the foundation and framework of the iTunes Music Store, which was designed from the outset specifically as a venue for selling 99-cent downloads.

This is the most crucially important point: the iTunes Store was never designed to sell software. Among other things, Craig Hockenberry enumerates all the ways in which the App Store is hobbled by this historical truth. It’s a good, important post that you should read if you care about this kind of stuff. But it doesn’t address long-term outcomes related to customer service that will doom the developer community.

As an iPhone developer, I have no control over my storefront – Apple manages it for me, with basic data I provide. On the one hand, this is incredible news: access to a huge pool of customers, a complete distribution infrastructure and – best of all – I never have to worry about payment processing.

There’s just one issue: Apple doesn’t give a damn about my relationship with my customers.

Generous, attentive, impassioned customer service is an important piece of any successful business. My customers mean the world to me. Unfortunately, iTunes does not provide a clear, encouraging feedback channel.

User Reviews

When you’re selling music, user reviews are a simple tool. Much is subjective, but overall quality will be reflected in the reviews.

With software, the reviews have become more complicated. The most tantalizing way for a customer to speak out about software that is giving them problems is to write a review. And that’s what they do. Bug reports, feature requests and anything else that comes into their minds gets dumped into the reviews. And why not? The ability to write a review is prominently featured and uses a built-in, official form. It’s infinitely more seductive than leaving iTunes to write an email to the support contact. It’s also a venue provided by the same service that is taking the customer’s money, so it feels more intimately linked to their purchase than anything they can do on an external website or in their email client.

This is infuriating since the communication is strictly one-sided. There’s no way for the developer to follow up on these reviews to ask for more information. Without that information, acting on a bug report is often impossible. The worst part is that without dialogue, it’s impossible for the customer to learn more about their problem, discover workarounds and discover that there’s a living, breathing person who truly cares about the quality of the software they’ve just purchased.

Like it or not, the iTunes user review becomes the support form of last resort.

The Consequence

There are ways around this. Tap4Help is an interesting example, providing a built-in feedback and support request system. Developers, like Lucius Kwok, report some success explicitly declaring their email right in their application description with a call to action encouraging its use. I do this, too, but it doesn’t catch them all.

Why not? Nothing will ever come close to the power and authority of iTunes itself. I theorize that part of the reason so many customers prefer the review form to using a support email or link is that they know that iTunes will provide them satisfaction. No matter what, iTunes will show their review. They will be heard.

By keeping these customers so thoroughly at arm’s length, Apple retards the formation of relationships that will build developers’ business. I’ve turned angry emails into loyal customers through the power of honesty and genuine interest in customer issues. I’d desperately love to provide that dialogue for every customer, ever, but iTunes, under the current system, will continue to siphon off some portion of those opportunities into its black hole of customer reviews.

Having good conversations with your customers is as essential and non-negotiable as having an engine in your car. When Zappos tweets at me in thanks for my praise, I feel as though my relationship with the company has been further validated. When Netflix gives me complete and generous support when I have trouble with their service, I feel respect for them, since their conduct conveys respect for my business.

It’s all about how the customer feels. If you never get to talk with them, you’ll never get to impact that feeling.

Let’s Do It Better

This is not a hard problem to solve. If you happen to work on the iTunes Store infrastructure team, you may feel differently, but the company you work for is in the business of accomplishing the impossible on a fairly regular basis. My sympathy is limited.

Developer Review Replies

This is the easiest part. Let the developer reply to user reviews. This isn’t groundbreaking and I’m the eight thousandth developer to suggest it. So make it happen. The developer can join the conversation and solicit additional information so that bug reports that go into the reviews can actually be productive. Notify whomever left the review that they have a response via email. For bonus points, let the customer reply directly to that notification to reach the developer.

Feedback/Support Form

Let the user provide feedback or support requests through an official, iTunes-embedded form. Send the feedback to the developer via email, with an anonymized reply-to address, like craigslist uses, so Apple can cover their ass on privacy concerns. For bonus points, provide a rating for each application that states how responsive each developer is to requests sent via this form.

There is no step three. With those two provisions, an open dialogue has been created for anyone who bothers to seek one. Software, even for the iPhone, is not music. The one-sided echo-chamber conversation of the iTunes Music Store does not work in the App Store. With the two modest tools I’ve described, developers will have an infinitely easier time creating the relationships they need to build their business.

I’m not going to hold my breath. Hopefully Apple is working on this stuff, but in the meantime, I need to figure out better ways to put myself in easy reach of my customers.


Next