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


The Rediscovery of Joy

When I was a kid I had two passions: Lego and the Macintosh.

Lego was an instant bullet train to any world I could imagine. Space ships, robots, lunar colonies, pirate treasures, ancient castles, you name it. These were mine to explore. I could spend days at a time perfecting some imaginary construct made real through the magic of Lego bricks and the exertion of my crude abilities. I treasured the rarer pieces, protecting closely my little snap-on magnet linkages and battery-driven light bricks. Regardless of whatever turbulent nonsense might have been happening elsewhere in my little world, Legos were an inviolable source of joy.

Joy, you know, that feeling that lives somewhere between the pit of your stomach and the tip of your smile. That vague something that builds a simple, contented glow inside of you that’s like a thousand perfect, extra-gravy-save-me-some-pie thanksgiving dinners with none of the bloated aftermath. Maybe you just saw the most beautiful vista in all of the world. Maybe you just fell in love. Maybe you’re ten years old and you see exactly what you were hoping for under the Christmas tree. You know what I’m saying, right?

Joy.

The Macintosh came a bit later. At age 7, I got my hands on a borrowed Macintosh SE. And the joy was there, too. It could do so many things. It could produce clean, perfect type that was huge! I made a lot of paper signs. It could store all of this information and then show it to me again later. It could show me pictures and organize them into this tidy scrapbook.

And sounds! It made all these noises. I was most enamored with the quacking duck.

It was this whole world inside there that I could barely understand. I knew only one thing for certain: I wanted more. So much more of it.

Eventually, through about three years of begging and cajoling, I convinced my mom to plunk down the tidy sum necessary to secure a Performa 6116CD for our exclusive home use. (The fact that I kept spending a lot of time at the home of a neighbor kid who had his own Mac and whom my mother intensely disliked probably sped things along, too.)

The 6116 was an even greater magnitude of joy. An 8x CD-ROM drive and a huge bundled library of multimedia content like encyclopedias and interactive atlases. Plus creativity applications and, wonder of wonders, Sim City 2000. I had so much fun exploring this new world. I spent an inordinate amount of time learning every piece of software I could get my hands on.

It was joy.

And then, I grew up. Like so many, I lost my capacity for the discovery of simple joy. It became the exception rather than the rule of life. Go to school, then go to work, do your job, go home, repeat.

Then I found programming. It occurred to me tonight, as I struggled, quite happily, to grasp how the hell it is block arguments in Ruby work, that I’d rediscovered a simple, consistent source of joy. Programming languages are infinite bins of Lego blocks, waiting to be assembled to my liking. Programming is a limitlessly fascinating Performa, waiting for me to learn and harness any language for any task I can imagine. There’s just so much to learn and enjoy in programming computers.

Even after a few years of it, programming makes me feel joyfully like a kid again.


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.


No boss, No paycheck, No worries

I’ve been collecting a paycheck since I was 15. It began at Publix, the best damned supermarket you’ll ever visit. I was a shy kid, reluctant to be employed and encouraged by a dramatically unstable home life to stay as hidden from the world as possible. But I went. I interviewed.  I didn’t know much about interviewing at that point. The myriad job hunting bullet points had yet to be delivered to my brain. I don’t remember what I said or even what I was asked. It wasn’t an impressive performance, surely.

But they called me. I had a job.

And I loved it. I’d never had more fun in my life. Thanks to a handful of adult mentors, I went from being shy and insecure in front of strangers to being outgoing, helpful and outrageously courteous, as befitted Publix’s customer service mission.  I got to meet people, learn about their lives and help make their day better, all in the time it took to bag up an order and pack in a car. Publix has a firm “no tipping!” policy and this was spelled out on a button affixed to my apron at all times. Despite this, not a week went by where a kindly retiree or harried but grateful parent didn’t stuff a couple bucks into my hand or pocket, buying me a sandwich or drink to end my shift. With a home life that was terrifyingly unpredictable and school that was tedious and unsatisfying, Publix, the people and the tangible benefits of my work there, became an escape that I craved.

There was plenty of reward in the fun of the job, but I found that throwing myself into my work with such gusto had other perks. When all of the front service clerks got reviews, there was much kvetching in the break room. Nickels and dimes, my teenaged colleagues moaned. They barely gave them anything for a raise. When my turn came, my boss, Mr. Starkey, called me into his office. After rattling through his estimate of my performance, I was given a fifty cent raise. It was the largest, Starkey confided, that anyone in my group had gotten. In retrospect, too, I realize that I was rarely tapped to do cleaning chores, since my management seemed to prefer me in front of customers as much as possible.

It was all so perfectly Randian, in a way that satisfied my then-Randroid brain. I gave honest effort in exchange for honest reward and recognition. Love your work, I thought as I pushed a pile of carts back into the store, and nothing feels like work.

Of course, it wouldn’t last. Home, as was its wont, took another lolloping, staggering jolt. For the second time in less than a year, we were moving away. Mr. Starkey was crestfallen. He’d been eager to groom me into cashiering and beyond. These were remarks that were and remain deeply flattering – it didn’t seem like he especially enjoyed terribly many of the other kids who had my title. At my request, he eagerly typed up a letter of recommendation. My favorite line, then and now:

“I would rehire him immediately if he were to return to Sarasota.”

I enjoyed it both for the heartfelt endorsement and for the tiny, whimsical implication that I was somehow in control of my existence.

I went on to be a salesman, an intern, a marketing manager and a project manager. With each job, I hoped to find the feeling I knew at Publix. The feeling of throwing myself into my work, enjoying every minute, and always hungry for more.

To be sure, I had some amazing jobs in the years since. Tremendous opportunities that provoked growth and change. But none of it could ever recapture the lost innocence of that first, magical time I worked at the supermarket. This realization, each time I started a new gig, was always a tiny disappointment.

For almost a decade, I’ve drawn a paycheck from someone. Until now. Not having been to the office, or any office, feels vaguely like retirement. Except there’s a ton of work to do.

And it’s back: that magic Publix feeling.

I love my new job. I’ve spent the last week building a new iPhone app from scratch. My new boss, me, really likes how it turned out. This is the most incredibly rewarding productive activity I have ever chosen for myself. The app is about done; I’ll have more to say about it soon. The most tremendous and powerful discovery came through its creation: I love developing applications for the iPhone. I can do it all day and night until my fingers hurt and still want more. It’s the most satisfying thing I’ve ever invested my working time doing. All I want is to get better and keep building.

Like Publix ten years ago, it doesn’t feel like work. It’s fun. It’s… wonderful.

Time will tell if this feeling and the products it creates will be sufficient to feed and house me. For now, I’ve got enough to hold out for awhile and give it everything I’ve got.

It’s a scary prospect to abandon security and regular cashflow, move across the country, and go into business for yourself, all the while hoping to hell everything will work out okay. Like many projects, it’s one of those things where if you truly took the time to consider all the attendant difficulty, complication and risk, you’d never bother to do it all.

It’s the best decision I’ve ever made.


Next