The Fine Line Between Inclusiveness and PC Crap: Starbucks’ “Holiday Blend”


Judging by my actual spending, I’m a huge Starbucks supporter, with more mornings than not starting with a walk down to the local to grab a mocha with my beautiful wife Carolyn. As the seasons pass, there’s a certain rhythm to their promotional calendar, which becomes in its own way, part of the way we mark the seasons: from the summer Frappuccino specials to the fall pumpkin spice latte introduction, to the eagerly anticipated–and all too brief–time when the eggnog drinks come out, marking the start of the Christmas season.

For the past 23 years or so, Starbucks has also done a special “Christmas blend” of coffee, and I’ll usually grab a bag or two during the holiday season to keep the coffee grinder at home supplied when I’m not slugging down caffeine in their stores. This year, however, I noticed something a little strange about their promotional schedule: the Christmas Blend coffee went on discount nearly the moment it was released, with the discounts increasing from “free beverage with purchase” to “25% off” then “30% off” in the space of just a few days at the local Starbucks. 

“What the heck is going on?” I thought–are Christmas sales really that soft? Had I inadvertently stumbled upon a hidden indicator of underlying economic weakness?

Today, I got my answer, as the shelves at the Starbucks appeared freshly restocked with new packages of something called “Starbucks Holiday Blend”. A quick check later confirmed that there was nothing different between this new “Holiday Blend” and the now outmoded “Christmas Blend” introduced just weeks earlier. Apparently, Starbucks had simply decided to cancel the Christmas Blend and rebrand it as the generic “Holiday Blend”–just in time for the Holi-… err… Christmas.

To Howard Schultz and Co.: I gotta tell, you, this sort of thing doesn’t leave me feeling festive–it just leaves me cold. Had you created a Hanukkah blend, it would have been kind of awesome, and I might have even picked up a bag or two to gift to my Jewish friends. By joining the spineless crowd of  marketers aiming at the elusive “Holiday-which-shall-not-be-named”, it robs the campaign of any genuine human warmth. Instead, it becomes one more tentative step in the tiptoe-dance around imagined slights and hypersensitivities that steal basic human kindness from something as simple as a Christmastime greeting.

So guys, I love your products, and I love that your business offers me a great way to take a few minutes each day away from my work to spend time with friends and loved ones. At the same time, I hope your “Holiday Blend” sales tank so badly that you drop the generic pablum and get back to selling products which relate to customers on a human level without kowtowing to the gods of PCishness which have done so much to keep people walking on eggshells around each other. 

Privacy Nightmares: Google Probably Knows your Wi-Fi Password

Thanks to a helpful “backup settings” option built into Android devices (default: on), the passwords used by any Android device to log into wi-fi networks are being sent to Google. Worse: Google can (and has) been compelled to share such information with the government.

Hey, why devote clusters of code-cracking hardware to penetrate network security when a simple subpoena lets you simply get Google to pass the keys straight over to you?

But no worries, right?

One for the Programmers: Daily WTF

If you’re not a VB.Net or C# geek, probably best to move on to the next post. But if you are, perhaps someone can explain to me the what the !@#%! is going on here.

While hacking away on a new code project which involved porting a routine from VB6 to VB.Net (4.5 framework), I discovered that my performance had gone completely to hell on a function which assembles a big text file from database values. In it, I tracked the trouble to a function checks to see if certain values from the database were null, and returns “safe” values in case they are. It also looks for telltale “null” date fields, with values like 12/31/1899 which–although not technically null, are acting as blank for these purposes.

Here’s code sample #1:

  Public Shared Function ConvertNulls( _ 
     ByVal theString As Object) As String
      If IsDBNull(theString) Then
        ConvertNulls = ""
      ElseIf theString = "12:00:00 AM"  OrElse theString = _
           "12/31/1899" OrElse theString= "12/30/1899" Then
        ConvertNulls = "" ' This is a null date string
        ConvertNulls = theString
      End If
  End Function

And code sample #2:

  Public Shared Function ConvertNulls( _ 
     ByVal theString As Object) As String
      If IsDBNull(theString) Then
        ConvertNulls = ""
      ElseIf theString.Equals("12:00:00 AM") _
         OrElse theString.Equals("12/31/1899") _
         OrElse theString.Equals("12/30/1899") Then
        ConvertNulls = "" ' This is a null date string
        ConvertNulls = theString
      End If
  End Function

Here’s the thing:

Code sample #1 was on track to take a hour or so to run through 100,000 iterations; code sample #2 did the same 100,000 iterations in about 20 seconds. And the only difference? Whether I used theString = “x” or theString.equals “x”

Luckily, I thought to try .equals pretty early on, or else I’d be pulling my hair out trying to figure out why there should be even a tiny difference between the two approaches. Can anyone out there give me a coherent explanation as to why using the “=” operator vs. the .equals method should yield such wildly different performance results?

More Pixels, More Weirdness: Retina Displays and the Sudden Importance of Resolution Independence

A buddy of mine who still works at Apple got me in on a deal for a new MacBook Pro with a shiny new “Retina” display. For those who’ve lived a charmed life immune from the Apple hype machine, “retina displays” are what Apple calls their ultra-high resolution (typically 220-330 DPI) displays, which come (somewhat) close to the human eye’s limit for ability to distinguish individual pixels. It’s a crazy sharp display, with a native resolution of  2560×1600 on a 15″ form factor. All told, it’s a ton of pixels.

I can tell you from firsthand experience that it makes for razor-sharp text display, and the sheer beauty of well-designed fonts on it has gone a long way toward rekindling my love of the fine points of typography. It’s also easily the nicest, lightest, and most capable laptop I’ve ever owned.

But–and you knew there was a “but” coming–all those pixels are causing me a lot of trouble when it comes to ComicBase, due to the insane ways which Windows deals with font scaling.

The problem comes down to this: if you actually try to run a MacBook Pro 15″ at its “native” resolution of 2560×1600, the pixels are so impossibly small that you’d need either the eyes of a teenager or a jeweler’s loupe to be able to read the type. To work around this, you have to tell Windows to scale the display to use a “custom text size” of 200% in the Display Control Panel. Windows then attempts to make all the application’s elements twice as large, solving the “tiny pixels” problem.

Unfortunately, it doesn’t do such a great job of resizing layouts which use graphics, leading to all manner of half-drawn screen elements and tiny pictures in the middle of what are now double-sized text layouts.  And of course, one of the biggest victims of this slapdash resizing is that old graphic-and-text-heavy app ComicBase.

In the past, we’d advise folks who ran into this problem to simply use “normal size” text, and run their displays at native resolutions. For better or worse, however, the advent of super-rezzy retina displays makes this advice no longer realistic. As such, expect yours truly to be devoting a lot of energy and special coding to ensure the next release of ComicBase looks terrific on even the most hardcore displays.

After all, what’s the point of having Really Shiny new tech toys, if your favorite programs aren’t going to look terrific on them?

Sim City V – The News Gets Worse


Imagine a big-budget game–the crowning jewel of one of the most successful game franchises ever. Then imagine that in order to play it in single player mode, you need to be able to connect to the company’s overloaded servers, so that you routinely get 20-minute-long “waiting to connect’ messages whenever you launch the game on your own machine.

How could the situation possibly get worse? Release a “patch” which de-features the game in order to make it run. Then offer affected customers to file for a refund…but refuse to actually process any of those refund requests.

Unbelievably bad customer service. Read the whole thing.


Blast From the Past: Why Comics Cost So #!@# Much

While cleaning up server drives today, I stumbled across the following article draft from 2005 I wrote for Britain’s Tripwire Magazine. Included with all its original notes to my editor, Joel Meadows.


Sounding Off

By Peter Bickford

How popular do you think Friends would be if everyone who wanted to check out Rachel’s new hairdo had to pony up a couple of quid before their telly would switch on? Do you think your mum would be able to indulge her Hello! habit if each issue cost £15-£20? And how many kids would tune in to Spider-Man’s latest adventure if a single 32-page issue cost £2.00 << Joel—please  replace with the usual UK price of a US $2.99 comic >>

Oh wait—we already know the answer to that last one. “Not a hell of a lot.”

And “not a hell of a lot” is exactly how many copies even the top comic books are selling lately. “Not a hell of a lot” also aptly describes the number of corner shops and newsagents that carry any real number of comics. And “not a hell of a lot” is how many younger kids are picking up the comics habit today.

But if we want to answer the question of why Spidey costs 12p a page << substitute actual number >> to read, we ought to start out why asking why Hello! doesn’t. An issue of Hello! costs an order of magnitude more to produce, has superior production values, is printed on costlier stock, and involves the talents of countless top-flight photographers, journalists, and editors. Even with the price breaks printers give when printing in Hello! quantities, the raw cost of each copy can easily run to several pounds.

But it doesn’t stop there. The publisher also has to worry about the expense of schlepping the breathless saga of Fergie’s latest diet to every Tesco between Whitechapel and Royston-Vasey These are then shifted through various distributors and sub-distributors at a steep discount, before whatever dog-eared copies remain unsold on Monday morning are returned to the publisher with a demand for credit. But despite these murderous publishing conditions, Hello! still manages to earn megabucks for its publisher, pushing out a circulation of  some <> issues weekly, and costing readers just under £2.00 per copy, delivered right to their door>><>

Meanwhile, what of our friend Peter Parker? He may be able to capture crooks just like flies, but it’s all he can do to shift about copies in the entire world market, and only a tiny percentage of that in the UK. And we all know what kind of financial shape Marvel’s in. Not to rub salt in the wound, but did I happen to mention that Spider-Man’s one of the comic industry’s most successful comics?

So what’s Hello! got that Spidey doesn’t? For that matter, how does NBC manage to pay the multimillion dollar salaries of Courtney Cox and Co. without requiring you, the loyal viewer, to part with a pitiful pence of your hard-earned wages?

To riff on James Carville, the Rumpelstiltzkin of American politics, “It’s the advertising, stupid.”

The whole reason that anyone other than her husband and a few dedicated stalkers even know who Lisa Kudrow is can largely be credited to the fact that most of her fans don’t actually have to pay to see her act. Instead, countless companies wanting to tap into that hip young 18-34 demographic kindly kick in hundreds of thousands of pounds for the opportunity to spend 30 seconds trying to sell you miracle teeth whiteners while you wonder what kind of trouble that wacky Ross will be getting into after right after those important messages.

Once upon a time, comic companies seemed to get it. Picking up two comics at random, we first come across 1974’s Star Spangled War Stories, #194. This issue included 14 ad pages plus a four-page color insert (hocking wedding rings, of all things!). Of the ad pages, only three were “house ads” (paid for by DC itself). The rest were for everything from guitar lessons to Hostess Fruit pies. More tellingly, a good half of the ad pages were broken into smaller ads for monster posters, magic itching powder, and everything in between. In short, 50% of the magazine was ads. But the 18 story pages cost the reader a mere 25¢.

By comparison, Marvel’s Cage #2 has the same number of pages, albeit thinner, glossier ones. Thirteen of these are ad pages—28% fewer than the 1974 comic. More tellingly, Marvel either owned or had a stake in the advertisements on seven of those pages, meaning that they were a cost to Marvel, instead of a source of ad revenue. There were only six pages of clear outside ads. Not surprisingly Cage #2 costs $2.99—twelve times the cost of the 1974 comic. That’s more than three times the combined rate of inflation for those years (368%).

Fun fact: If comics’ price increases were just about inflation, today’s US $2.99 comic would cost readers just $0.92.

So my question to publishers is, “Do you think it might be possible, just possible that you might sell more comics at 92¢ each than at $2.99? If so, why not try something old: kick your ad staff’s collective hineys into gear and sell some bloody ads. Sell big ads. Sell little, inexpensive ads. If you have to, sell microscopic ads for joy buzzers and X-Ray Spex again.

But however you do it, you’ve got to move more of the cost of publishing to someone other than the comics reader. Otherwise, you can look forward to the circulation numbers reserved for daft ventures like the £15 supermarket celebrity mag, the £6.00 daily newspaper, or…damn it all… the modern comic book.

Peter Bickford is the creator of ComicBase. He lives with his wife Carolyn, son Neil, and way, way too many comics in San Jose, California. He can be reached at



A Classy Exit for the Groupon CEO

The board kicked Groupon CEO Andrew Mason to the curb today. Regardless of the business record under his tenure, his exit memo shows a lot of class:

(This is for Groupon employees, but I’m posting it publicly since it will leak anyway)

People of Groupon,

After four and a half intense and wonderful years as CEO of Groupon, I’ve decided that I’d like to spend more time with my family. Just kidding – I was fired today. If you’re wondering why… you haven’t been paying attention. From controversial metrics in our S1 to our material weakness to two quarters of missing our own expectations and a stock price that’s hovering around one quarter of our listing price, the events of the last year and a half speak for themselves. As CEO, I am accountable.

You are doing amazing things at Groupon, and you deserve the outside world to give you a second chance. I’m getting in the way of that. A fresh CEO earns you that chance. The board is aligned behind the strategy we’ve shared over the last few months, and I’ve never seen you working together more effectively as a global company – it’s time to give Groupon a relief valve from the public noise.

For those who are concerned about me, please don’t be – I love Groupon, and I’m terribly proud of what we’ve created. I’m OK with having failed at this part of the journey. If Groupon was Battletoads, it would be like I made it all the way to the Terra Tubes without dying on my first ever play through. I am so lucky to have had the opportunity to take the company this far with all of you. I’ll now take some time to decompress (FYI I’m looking for a good fat camp to lose my Groupon 40, if anyone has a suggestion), and then maybe I’ll figure out how to channel this experience into something productive.

If there’s one piece of wisdom that this simple pilgrim would like to impart upon you: have the courage to start with the customer. My biggest regrets are the moments that I let a lack of data override my intuition on what’s best for our customers. This leadership change gives you some breathing room to break bad habits and deliver sustainable customer happiness – don’t waste the opportunity!

I will miss you terribly.