A note to marketing directors

Dear Marketing Director / Marketing professional,

I know it’s tough being in a position like yours. You’re constantly under pressure to perform. To get higher sales. To make something ‘viral’. Your boss is a money person. On top of the direct work-related stress, you also have to stay on top of all the new buzzwords. It’s a bitch.

If your boss gives the marketing department 50k to run some campaigns or re-do the website, they expect that money to come back – in some way. Hell, some bosses would consider getting a complete return with no profit a total failure.

So I get it. The stress. Many of you, understandably, get frazzled, and direct this negativity toward those working with you. Changing deadlines. Cutting budgets. Feeling like you’ve got better skills as a designer or developer than the people building your website. You could do it, right? It’s just typing and drawing. Hell, your 5 year-old son can draw!

On top of that stress, many in your profession have no skills or experience with graphic design, web design, or web development. To be plainly spoken, there are many in the marketing profession with no discernible skill other than talking and writing emails

It’d be sort of like me sitting in a room of, perhaps, helicopter mechanics and aerospace engineers. Someone makes me their manager, and now I have to come up with things for them to do.

“The blades are really big. Can you make the helicopter blades smaller?”

“No, they need to be that big so the helicopter remains in the air.”

“Oh. Ok. I’ll close this task then. I’ll go buy an expensive suit and update my LinkedIn profile. Good job everyone.”

And that’s a good day. I couldn’t do that. The stress would kill me.

Similarly, many of you are really pleasant to work with. (I’m lucky to work with some great marketing folks more often than not, as I typically qualify new clients in a social environment before working with them.)

Let’s fast-forward to the panic stage. A designer makes something that’s not a dark enough black. A developer makes a widget that shares company articles on twitter automatically, when what you asked them for was a widget that can post things to twitter without you having to do anything. Couldn’t be clearer how different those two things are, and they got it entirely wrong.

You’ve taken over art and development direction of the project.
You make gut decisions, with no data, no research at times. You know this. They need to trust you. More blue. Bigger logo. Less blue.

Unless you’re relatively new to your role in marketing, you’ll gradually become aware of what happens. What happens when people do that? One of the most important principles get buried:

Your company website is not a playground. You are not a designer. You are not a developer. Your feedback is needed and valuable, but it’s not a place to try out your ideas. Defer to professionals.

Nothing too deep; that’s all I’ve got.

And please, if you’re lucky enough to have a web designer / developer that says NO to your ideas occasionally, you should likely stick with them.

On Privacy

We’re at an un-precedented time in human history. The vast access to information and the ease in which you can be an active consumer whore, ever deepening in data mass and Customer Lifetime Value, brings the risk of stagnant analytical thought and problem-solving ability to all of society. We’re headed fast down the road to a civilization comprised largely of automatons. The warnings fall, to most, on deaf ears.

Unless you feel a deep sadness growing in your soul each time you see a finely-tuned, borderline creepy digital ad, this may not be an article for you. Go buy some moderately-priced appliances!

The end goal of data mining is not to sell you something. That’s today. That’s already happening. It gets better every day. As questionable as many digital advertising practices are, it’s a far cry from the possible applications of infinite user metrics. The end goal is control.

It begins, these days, with control over your buying patterns. It ends when we are Borg.

Consider a few short exercises in which I use an existing algorithm (set of rules) to serve an average user an ad:

Exercise 1: The manipulation of consumer buying patterns via disposable manufacturing standards combined with scheduled ad tailoring

a. You buy a toaster on a website that tracks consumer activity.

b. The toaster is made with common modern manufacturing standards; it’s essentially disposable, and very affordably priced. This allows the retailer to schedule when they can next serve an ad to you showing this same type of product, so you can buy one again. I know what you’re thinking – “I wouldn’t buy the same toaster!” – it doesn’t matter. There’s more than one brand of toaster on amazon.com. They’re all shown to you using the same algorithm.

c. The toaster you bought breaks in 1 year. You log in to a social media site, and see an ad for a sale on appliances that the algorithm has scheduled for you. It knows your piece of crap toaster is broken.

d. You click the ad. The site algorithm records that this particular targeting has worked, and tailors your ads to be shown in a similar manner in the future.

When you read the example above, it can be easy to dismiss. The dark implications aren’t always apparent to those unfamiliar with thinking in algorithms, even less so, learning algorithms that continuously refine and adjust themselves in response to user data.

Let me go a bit darker with the next example. My apologies if you become offended. Please know that I am not trivializing sexual offenses; I use it to illustrate the depth of depravity and callousness in the data-mining development practices around us.

Example 2: A rape victim with a low-paying job is offered discounted therapy sessions

a. Someone is a victim of a sexual assault.

b.* The victim survives, and is hospitalized. While in the care of the hospital, the victim decides to pull out their phone, and fill in their friends. They thank everyone on their social media account of choice for the support, the hospital visits, etc. One friend, via “private” message, asks for details. The victim of the sexual assault responds, explaining what happened. The hospital wifi connection is verified by the social media site, as well as via GPS coarse geolocation – something that can roughly triangulate your position without you turning on location services.

*A note on step b: This is assuming insurance companies are still prevented from selling patient information at this time. If medical establishments ever allowed to disclose data from your medical operation / condition / care to any advertising corporations, data like this can be gathered directly from hospital / clinic records. Sound insane? I bet you’d agree to it for $2,500 off of your neo-natal care bill.

c. Several words are flagged in the social media messages/comments; perhaps keywords such as “rape”, “cope”, “pain” “need to talk to someone”, “I’m here for you”, “how can I go on”. You get the idea.

d. Given enough keywords being present, along with any other data available (a scanned police report, a check-in at the hospital, a police information phone number posted by the victim’s parents ), this triggers a probability-powered algorithm that shows the victim an ad for local therapy sessions.

e. But wait! Before it serves the ad, the algorithm reads the victim’s home address. Comparing this with public statistical data, it matches the zip code to a low-income community with a high crime rate. In this case, a high-priced private Psychologist might not sell. So instead, the algorithm shows the victim an ad for a low-priced group therapy clinic.

So, how do I know this? Am I a paranoid shut-in? No! I’ve done quite similar things with user data. In a normal array of client work. Collecting user data. Mining ad data from Facebook Ad Center, Google Adwords, and the like. And guess what? I’m just an average web developer.

Our privacy is deeply in trouble, any way you look at it. Use a VPN. Block ads. Reduce time with social media. Clear cookies, clear your cache. Let’s at least delay things while we still have the power.

But seriously, please use a VPN. It's like locking your door, and closing your curtains at home. If you don't do it, you're just kind of inviting sketchy people to take a peek.

WordPress 10th Anniversary Blogging Project

Dougal Campbell wrote a great post a few days ago. If you haven’t already, I recommend giving it a read – especially if you build things with WordPress.

It’s been ten years since WordPress was released, and although I’ve only been creating with it for half that time, it’s been an amazing ride so far.

My introduction to WordPress wasn’t as a development environment – it was as a way to blog. I started in this industry with freelance, static html website design. Incidentally, I also started a WordPress blog in October 2007. I’d been using a different platform before then, but many points of frustration lead me on a search that ended with WordPress.

Following that, I continued freelancing for a few more years, philosophically-powered by the principle that I’d never sell out to an agency, and never hire other people. I wanted to be my own boss, work my own schedule, and choose my clients. I was a magical internet man! Surely I could do whatever I wanted, forever, and make millions of dollars.

And it worked…for a while. I gained a local reputation for being very transparent, pleasant, and fast.

During my time freelancing, I was lucky to build a few hundred sites with WordPress. I saw the light and dark side of it – from the few-but-evil sketchy backdoor freemium plugins, and themes with encoded spam links in footers, to a plugin developer who lived half a world way, sacrificing his night helping me with code until I got my sites back up.

As things progressed, I found myself more frequently on the other side of those email threads, helping clients and other WordPress developers and designers until everyone was happy. I’d do maybe 3 or 4 cheap sites per month. I didn’t make a lot of money. But I loved the life, and I was helping people.

Then came:

The Great Drought of 2010

Things started to dry up. So I’d do pro-bono projects and consultations for non-profits, and a bit of networking here and there. It helped a bit, but I ultimately chose to re-think my ideals. Why am I against working for an agency? Is it all agencies I dislike working for? Eventually I figured out I just dislike feeling like I don’t matter. Big ad agencies, working my days away on snippets of anonymous code. Endless stacks of project managers and marketing heads above you.

I decided it’d be ok, as long as I didn’t work for an ad agency.

I applied to a few firms and was lucky to get a few offers, which lead me to one of my current jobs, at ArtComp, as lead dev.

What about the next ten years of WordPress?

WordPress may be entirely different by then. It may indeed be forked, as many are currently talking about. But not by me. There are two things I can count on – WordPress will always be GPL, and will always have a great community behind it. Most recently, I’ve become active on WordPress.org with some projects; and as intimidating as it can be to talk to your nerdy heroes in IRC, or have a core developer submit a pull request to my sub-standard code, it’s great.

Hero’s Frisbee -or- Flash Ethics

I recall now a dinner with a colleague. We were dining on a variety of common flora; the leaves and sprouts were arranged in a delicate balance on a plate, and each plate was topped with ‘dressing’. “It is a salad” said my guest. “They are a customary introductory smattering, usually served before, or adjunct to a main course.”

“Yeah, so? I’ve had salads, dude. Why are you getting all David Attenborough on my dinner?” I said.

Our topics of conversation varied wildly that night, no regard given to tasteful segue or humorous diversion. We nestled, finally, among talks of sports. The horrific grunge of spandex; gyrating on a field of grass soiled with painted lines and numbers, the un-ending boredom and eventual prayers for my own sudden death that accompany watching even one inning of Baseball, bags of peanuts.

After we’d satisfied the need to self-congratulate on our status as sophisticated intellectuals, we began inventing new games – games that, in our view, would actually be interesting to watch.

Harold Thunderbaby (names have been changed) asked if I’d ever seen a game called ‘Hero’s Frisbee’.

“No, but the name is pretty great…”

“It’s a lot like regular frisbee, except instead of a frisbee, there’s a puppy, and instead of throwing it around, you toss it in a tub filled with frosting…and watch it freak out, then guess on how long it takes the puppy to get out.”

There are times, even if a joke isn’t funny, you have to credit the person when their delivery is flawless; convincing, straight-faced, and well-endowed with interesting words and phrases.

His non sequitur was presented well – no smirking. An eavesdropper may have believed that such a game exists, in fact. But no one bad-talks puppies at the supper table when I’m around. No one.

I stared at him for a few moments, signaled the waiter, paid my bill, stood up, walked outside, looked at the Starbucks across the street, realized the second Starbucks a block away, recalled that this very scene is actually a bit from a talented stand-up comic, reflexively died a bit inside as I mourned for the human condition, went back inside, and sat back at my seat.

I’m telling you this not because I’m about to reveal

The Official Rule Book For Hero’s Frisbee: Chihuahua Edition

With a foreward by Michael Vick.

…but because I’m waiting for a project to render in After Effects. I only use After Effects when I need to do some actual video editing for something small, or more involved transcoding – everything else, in my limited foray into video, can be done in Flash when I just need a 60-frame video for a banner or something – or even a short promo spot / intro. And I’m talking like ten times per year, maybe. I’m not a video person, but there are times when a client just needs an .mp4, or has some small timeline issue in a .aeproj. What do you do? Call a video colleague and waste each others’ time?

So here I am, four hours into a render. I can taste it…that sweet chime sound is right around the corner.
Almost done rendering! Unless I get a blue screen again.

EDITORS’ NOTE: I’ve switched to Mac primarily since this article was written. PRAISE ME.

What I’ve been summoned here to write about today is this: Flash development.
The forward-thinking web developer snob inside me knows that Flash development should never be your first choice for web design, ever – and it’s rare that I get a client that demands the fanciest, craziest site they can possibly get. And even then, better to invest in HTML5, of course.

But I’m working on one of those rare treats this month in which Flash and ActionScript is required, and lemme tell you….

It’s fun. I’ve had an epic first week – going back to my roots in animation.
Instead of thinking things to myself like:

“It’d be nice to see each icon as a different color with independent hover states. Cool – lemme just assign psuedo-classes to everything, or maybe div everything up – how many bytes will that add? – , then make sure the styles are cross-browser compatible


and maybe I can add a hover-state ease-in ‘glow’ in a dark red – like BE0000* – what’s the -moz-transform? How about the Microsoft markup? Oh right – DXImageTransform.Microsoft.Matrix.


I can do this:

I’d sure like to make their logo materialize out of light particles, then fly off the screen, and have XML power their slogan so they can change it later. And then i do it,


And then it’s done, and a single tear of elation streams down my supple man-cheek.

Is it wrong? Sure, it’s Flash. It’s the devil. Even if you’re responsibly deeplinking everything, providing xml data and a sitemap, and remembering crucial steps, like creating a simple, fast-loading html and css-powered mobile site, Flash does crap all over the Internet. But hey, it’s fun!

The developer side of me cringes in horror, as the designer side twirls in delight.**

*That’s a nice deep red, right? I’m not gonna confirm it. Only tell me if I’m right.

**I do not actually twirl.

Bmore Fiber!

Bmore Fiber!

My first idea for Bmore Fiber was to write a long-winded article on why Baltimore is such a perfect fit for Google’s gigabit fiber-optic ISP project. But as the days progressed, I was delighted to see that countless, much more qualified Baltimore citizens were getting involved and making their voices heard, including Baltimore Mayor Stephanie Rawlings-Blake and Governor Martin O’Malley.

So instead, here’s a giant 4,200 x 2,700 pixel image showin’ some love for the whole thing.

And remember,

You can download the original size (4200 x 2700) here.

Lorem Ipsum

THE Lorem ipsum, people. This is what I paste ten-thousand times a week. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of “de Finibus Bonorum et Malorum” (The Extremes of Good and Evil) by Cicero. But none of the literary beauty and nuances of Cicero’s philosphical dissertations matter right now. Or maybe they now matter more than ever.

The Lorem Ipsum, Cicero uncut. Just paste this into your text areas
and it’ll give the client some varied text to look at, instead of ‘Under Construction’ or what have ye:

Lorem ipsum dolor sit amet, your consectetur father adipiscing never elit loved. Quisque you dui arcu, posuere dignissim imperdiet commodo, gravida vel libero when our blood mixes together, it’s like we’re joining forces. I have to Cras consequat pee elementum mi, ac in your faucibus body lectus scelerisque et don’t want. Ut vulputate to touch that dignissim lacinia. Cras porta, diam nec dictum volutpat, dolor nisi venenatis arcu, vitae pulvinar vulva nulla sem ut elit. Nunc sollicitudin abortion take it out of me ante sed fermentum tempus, ante sem semper ligula, id dignissim nulla leo in nisl. the beads got stuck in there. Duis sed viverra nibh. Donec now he needs malesuada, an ligula at operation blandit fermentum, leo throbbing elit semper neque, ut varius rapist tourism turpis lacus at augue. Pellentesque pesky habitant haabit morbi morbid cycloptic baby tristique risque senectus et fetus netus et malesuada right there that’s it fames ac turpis egestas. Nulla consectetur, nibh deeper non ultricies porta, yes sapien tellus tempor velit, eget i’m close now blandit nunc dolor ut dui going to cut you, but just a little. Proin probing vel vile nibh mi monkey, ut pulvinar pularize metus meat. Vestibulum vulputate dolor ac your eye tastes odd sem pellentesque sed aliquet lacus laced with vehicula. Praesent mauris eros, mattis sit amet elementum in, luctus in massa take your pants off. Duis eu sem turpis. Praesent tempor ullamcorper scrotus scelerisque.

I would like to take this time to remind you all about Ninja Gaiden. It’s awesome.

The image vector in this post is by a talented fella named Alex Trochut over at UnderConsideration.

Flailing My Internet Flagella

I am busily coding and scripting apps and the UI for ramiabraham.com. What am I coding? What am I not coding? One page is going to be all about what haircuts rich and famous people currently have, with a brilliant cost/benefit sociological analysis between their current and past haircuts, and the global impact that each respective haircut, as well as any and all cumulative haircut changes / additions / alterations / coloration / shampoos will have on the world economy.

The borders on every page of the site will be a vast, un-navigable tapestry of Google ads, woven delicately with vague references to unicorns. Maybe some video of unicorns, if I can get it –  however – a bothersome issue with that is I’ve seen so much fake footage of unicorns over the years that it can be difficult, at times, to discern which videos contain REAL footage of unicorns, such as the 1985 documentary hosted by Tom Cruise, “Legend”.

ramiabraham.com will also have a vastly vast archive. This archive shall be the repository for all human knowledge. It will be a Google searchbox with a unicorn above it. This searchbox will be encircled by improperly-uploaded animated gifs of unicorns. Tastefully, though.

UPDATE (May 2010):

It was this way for a while; like 2 hours.