What Does “Don’t Be Evil” Mean Now?

It’s awfully convenient for Google that their famed corporate motto, “Don’t be evil”, doesn’t actually specify or define what counts as “evil”. And without any definition, they’re pretty much free to do anything they want, and just declare it not-evil.

Now, some of the things they’ve done have just been misguided. For example, I really, honestly believe that when they sniffed people’s unencrypted wifi traffic while doing Street View mapping drives, they weren’t being purposefully malicious, just absent-mindedly misguided. (I also have trouble getting too upset about sniffing unencrypted wifi signals — yeah, it’s kind of bad, but if the people who owned those networks really wanted privacy, would it have been that hard to turn on WPA?)

And then there was the bit where they auto-subscribed everyone with a Gmail account to Google Buzz — which, by default, made huge amounts of information public that shouldn’t have been. This was a really massive mistake, but given the way Google backpedaled from it, I still believe that they were just misguided and didn’t think things through at all, rather than actively wanting to cause harm.

But when Google Checkout tried to impose a “no adult content” rule on Dreamwidth? That’s a lot greyer. In essence, what Google did was tell an organization devoted to enabling free speech that it had to muzzle its users.

Google has the right to choose who it wants to do business with, based on whatever criteria it wants. But just because their choice is legal doesn’t make it “non-evil”. It’s not clear just exactly what “adult content” would have included, but there’s a strong likelihood that it would have included things like:

  • safer-sex information, including family planning, contraception, and how to use condoms properly;
  • discussion of rape, including rape survivor groups;
  • promotion of equal rights for sexual minorities

Keeping information like that off the Internet? Is not helping the world. Suppressing that kind of information harms the world, and I’d qualify it as a straight-up evil act.

It’s possible, though, that they only mean “actual pornography” (however you define that). As much as I personally may like both pornography itself, and the right to disseminate and receive it, I have to admit that simply choosing not to do business with a company that helps people publish it is not, in itself, evil.

So what about entering into secret back-room agreements to try to do an end-run around Net Neutrality and everything it stands for? And then promulgating a legislative framework proposal for Internet governance that would turn the principle of Net Neutrality into a defanged, loophole-ridden and corporation-appeasing shadow of its former self — while pretending, on the surface, to support it?

In effect, this means a full-scale attack on the core of a free Internet. This is something that reminds me of when Microsoft was going to try to “de-commoditize [the] protocols” that formed the basis for the Internet and World Wide Web, back in the first Halloween memo.

If there is a way in which this isn’t evil, can someone please explain it to me? Because it sure looks evil to me.

In the meantime, there’s one tiny problem with trying to boycott Google: They make some damned useful products. Still, if you want to start reducing your reliance on Google, here are some pointers that may help.

Why I Don’t Mind Coding Tests

I keep hearing about developers who, when interviewing for potential jobs, consider coding tests to be “a waste of time”, “insulting”, or “beneath me”. The logic seems to be: Once you’ve risen to the level of Senior Developer (or some similar title), people should realize that yes, you really do know how to write simple pieces of code. You can write functions that sum all elements in an array, or reverse a string, or whatever.

I’m not bothered by them. I’m far too aware of the great number of coders that, to put it bluntly, simply can’t code. It doesn’t matter to me whether they’ve risen to their level of incompetence, or they’ve been in sky-high architect territory for too long and gotten rusty at function-level coding, or they’re simply lying on their résumé and they were never able to so much as solve a FizzBuzz problem. The fact is, they keep winding up in interviews, and it’s (part of) the interviewer’s job to weed them out. As quickly as possible, to avoid wasting any more time than necessary.

Back when I was in my first tech job, as a Linux sysadmin, I was one of the people interviewing potential candidates. I decided it would be nice to set them at ease by starting off with a few easy, “warmup” questions. So I’d start off with things like, “What is a runlevel in Unix? What are the most commonly-used runlevels, and what do they do?” Or, “What port does HTTP use by default? How about SMTP?”

I was astounded to find that there were applicants who couldn’t answer these questions.

Not in the sense of, “I’m sorry, but I’d have to look that up” (though even that would be a little odd; these are things any Unix sysadmin should have engraved on their consciousness). No, this was in the sense of “A runlevel? Ummm… I think I’ve heard that term, but I don’t know those kinds of details.”

My only real quarrel with FizzBuzz is that, at this point, any developer worth their salt is familiar with it. And tired of it. It’d be nice to have a few slightly new and different tests of completely basic competence… but you know what? Any test that is so basic would have to be just as boring. That’s okay.

These tests are essentially saying, “Prove that you’re not lying on your résumé.” And while I may know perfectly well that I’m not lying, how is a total stranger to know that about me? I’m not bothered by the “trust, but verify” stance of modern interviewers, because there are so many people who do lie on their résumés (and fail at simple, FizzBuzz-style tests) that it would be lunacy to blindly believe applicants any more.

(What that says about our society is a topic for another post… a post on another blog. It’s outside Coyote Tracks‘ scope.)

How Many “Years Of Experience” Do You Have?

In my ongoing job search, I’m sometimes asked by recruiters: “How many years of experience do you have with [name of some technology or skill]?” It’s a somewhat reasonable question when the item involved is a programming language or technique that I use every day, or at least every week. But there are far too many things that it just doesn’t work for.

For example, I can reasonably well say that I have 5 years of experience with AJAX: I taught myself AJAX in the summer of 2005, and have been using it pretty consistently since then. But how many “years of experience” do I have with SQL?

I started using it around 2002 or 2003, but if I say that I “have 7 years of experience” with it, I give the impression that I’m some kind of SQL expert… which is definitely not true. It’s the sort of thing I use about once every week or two. I’ll set up a database schema, maybe even type out some raw commands in a MySQL command-line client, and then I’ll just let whatever framework I’m using handle all the details for me.

So, what sort of answer should I give to the question? The sense in which I “use” (or “have experience with”) SQL is simply not the same as the sense in which I use things like JavaScript, PHP, or CSS. (The sense in which a DBA uses SQL is probably comparable to the sense in which I use CSS… but I can’t be sure, not being one myself.)

At least the idea of having “a year of experience with” SQL does make a certain sort of sense. What should I say when asked how many “years of experience” I have with XLM or JSON? These aren’t realyl “technologies” so much as data formats. It’s like asking someone how many years of experience they have saving files in .txt or .doc format (as opposed to using Notepad or MS Word).

The only metrics that are worse than “years of experience” are: “When did you start using Technology X?” (which, thankfully, very few people have asked), and the utterly subjective “How would you rate yourself with Technology X, on a scale of 1 to 10?” (I need to write an entire post about that particular metric, when I get a chance.)

Typesetting In Between the Letters

Long before I learned to program — and long before the World-Wide Web was even a gleam in Tim Berners-Lee’s eye — I was introduced to typography by Douglas R. Hofstadter’s Metamagical Themas. In his chapter “Variations on a Theme as the Crux of Creativity”, Hofstadter presents a full-page figure that shows 56 different versions of the letter “A”. The 56 fonts he uses show versions of “A” ranging from the spare to the ornate, with every other variation in between.

I’d never realized there was so much variation just in one letter. I was converted into a fontaholic on the spot (though not so completely as my sister, who now designs typefaces professionally for a prestigious font foundry — way to go, sis!). But it’s easy to get too absorbed in the letters.

Like Debussy, who noted that “music is the space between the notes”, I’ve become enamored with the kind of typography that happens between the letters. It’s more important than you think it is, because: It makes your text easier for people to read.
Read More »

Apple: More Anticompetitive Than Microsoft

Just under a month ago, an iPhone developer from Australia — one who’s previously defended Apple’s approval process — had his own app suddenly dis-approved by Apple. According to his blog post about the sudden revocation of approval, “I had convinced my company to take a gamble and make some apps for Apple’s Store. Tennis Stats had been a great success and we wanted to get on the iPad train with My Frame. Things were going well, new features were being planned money, real money was being invested. Then Apple pulled the pin”.

I could say all sorts of things about schadenfreude, or how the developer — who goes by the nom de plume “Shifty Jelly” — should have seen this coming. But the guy’s already having a bad enough month, and there are broader issues to examine. Among them the thought raised by commenter Erik K. Veland:

Remember when Apple cracked down on Podcast downloaders? It was because they themselves were introducing this very feature in iTunes.

[I] would surmise [that] Apple is now bringing “widgets” to their dashboard in the near future, and that they are pre-empting any apps conflicting with the “duplicate functionality” clause. [historical links, added by Kai]

Once you’ve considered Apple’s penchant for banning apps that compete with features that are built in to the OS, you’ve got to consider how this compares against other companies’ competitive practices. Read More »

Common Flash UI Mistakes

One of the biggest problems with Flash isn’t Flash itself. It’s Flash designers. More particularly, it’s Flash designers’ basic failure to understand why certain UI elements are the way they are. This leads to one of the most common Flash designer diseases: The drive to reinvent basic UI elements. Poorly.

Page Transitions

When a user clicks a link, they’re sending a specific message with a specific intent. That intent is “show me the information I’m interested in”. It’s not “show me a nifty animation effect that takes another 5 seconds out of my busy schedule”.

Users (rightly) consider page transitions to be the space in between what they’re actually interested in. Don’t force them to pay even more attention to them.

Reinventing Scroll Bars

This error is so common, and people screw it up so badly, that I’ve already written an entire post about it. However, I’d be remiss in not listing it here, as well.

Auto-Playing Sound

Speaking of things I’ve written about before… people have been complaining about auto-playing sound since Netscape Navigator first gave us the ability to include such an abomination, way back around 1994. Eleven years later, I listed auto-playing music as a “no-brainer”, in the sense that excluding it from your site should be a no-brainer decision.

Some people will apparently never learn.

Assuming Everyone Has Enormous Bandwidth

Yes, broadband is much more common in the United States now than it used to be. That means that people are less ready to wait a long time for your page to load, not more. And a designer, developer, or other professional who understands how HTML, CSS, and JavaScript work can arrange things so that at least part of the page (or AJAXified web app, or whatever) is usable when only part of the code has arrived at the user’s browser.

If it’s possible to provide the user with something more useful than a “Loading…” indicator before all the code has arrived, then why do Flash developers never actually do so? (This is a real, not rhetorical, questions, and an open invitation for Flash designers and developers to answer it.)

Here’s Why So Many People Disparage Flash “Designers”

For a trifecta of awfulness, check out the site for Alembic, a bar in San Francisco. On my fiber-optic, 6 Mbit connection, it takes nearly 10 seconds just for the site’s intro to load. Then, once the little rocks glass is full of liquor, the page blasts some sound at me — sound that doesn’t even convey any information. (Believe it or not, I already know what a crowded bar sounds like.)

Then there are the slow transitions from sub-page to sub-page. All told, it took me a ridiculous amount of time just to find out what their hours were. But for a true dose of awfulness, try clicking on “Menus”. Then try clicking on one of the other main menu items. The site’s “background” doesn’t even realize that there’s still a “window” open in front of it… even though both the “background” and the “popup” are just visual elements of the same Flash object!

The real kicker comes when you try clicking on one of the menu pages. Rolling over zooms them a bit, but clicking? Launches a PDF document! A separate one for each page! That zoom effect was apparently just a red herring, and trying to get the place’s full menu would require seven separate PDF downloads.

I suppose they could, somehow, have disrespected their users a little more. At least the page doesn’t literally throw a drink in the user’s face. Just figuratively.

Please, if you’re designing your sites in Flash, don’t make them like this. Don’t be the web equivalent of “that guy”.

Facebook and Privacy

Okay, so I’m a little late to the party in posting this. All the professional bloggers have already written about it, while I’ve been busy with my day job. Nonetheless, something that’s been on my mind since the beginning of the week, when it would have been timely:

I think Facebook has now hit its “cap”. People who don’t yet have Facebook accounts now seem to be saying, “I ain’t gettin’ one now!” Others who do have accounts are finally abandoning them. And I’m one of those abandoners.

I have a little bit of interest in the Disapora* Project, but I don’t think it will really take off. On the other hand, in a recent New York Times article about the project, both its staffers and backers have some things to say about just how quickly they managed to raise funding — and all of those things point to a very clear demand for an alternative to Facebook.

Facebook Co-Founder and CEO Mark Zuckerberg has lately been saying that privacy is no longer a social norm, but lots of people don’t accept this. In fact, many of us think that Zuckerberg is saying such things in the hope of making them come true, rather than as observations of something that’s already come to pass. Read More »

Calling Something An “Internet Meme” Is Not Complimentary

Think about some of the great Internet memes: (Warning: Most of these links have auto-playing sound.) All Your Base Are Belong to Us. The Viking Kittens, and Longcat (who is looooong). The Badger Badger Badger song. “Don’t tase me, bro!”, “I kiss you!”, and “Leeeeeeeroy… Jenkins!!!” Why do we get “Internet memes”, but not “radio memes” or “printing press memes” or anything else like them?

Let’s try a biological analogy: Imagine you had some microorganism that could only survive in a Petri dish full of agar solution, between 60 and 80 degrees Fahrenheit (roughly 15 to 25 degrees Celsius). Make it too hot or too cold, and this thing will die. Change its food supply to some other, less plentiful, sugar source, and it can’t continue to reproduce.

Wouldn’t this organism be destined to die out?

In the real world, sure. But it might be able to thrive in a specially engineered, very gentle environment, like a climate-controlled lab.

The Internet is just such an environment, but for data and memes instead of living creatures. It’s an environment designed explicitly to propagate information — with no regard to what kind of information it is.

When we say something is “an Internet meme”, what we really mean is “a meme that’s too unfit to survive anywhere else”. Some memes — like democracy, or the works of Shakespeare, or fashion trends or the latest commercial jingle or catch-phrase — can survive and thrive outside the Internet, but some could never have taken off without the Internet making it easy for them.

They’re like hothouse flowers. Calling something “an Internet meme” is effectively calling it “an idea that could only thrive in the Internet’s no-fail sandbox”. It’s not a compliment to the meme at all.

Augmented Reality vs. Low Tech — Ready? Fight!

I’ve written before about augmented reality, Sixth Sense, and so on. Here’s a question: Is this really augmentation? As augmented reality takes hold, we’ll have more and more people wandering around looking at their smartphones’ screens rather than what’s actually in front of them. The smartphone delivers some extra information, of course, but it imposes a cost, too: the information takes a while to arrive; it takes attention to process; focusing on the screen means sacrificing practically all your peripheral vision…

It’s a trade-off, and I’m probably missing some aspects of it. What I’m wondering about, simply, is whether the trade is a net gain or a net loss.

Another way to put this — in harshly evolutionary terms, in fact — is: If someone with augmented reality and someone without it were competing for some life-or-death resource, who would win? Read More »

Can You Learn From a Prediction That Was Wrong?

Recently, a bunch of the blogs and journals I read (including my friends, not just big, famous sources) have had some bones to pick with Clifford Stoll’s 1995 Newsweek opinion piece, “Why Web Won’t Be Nirvana”. Stoll said: “no online database will replace your daily newspaper, no CD-ROM can take the place of a competent teacher and no computer network will change the way government works.”

A lot of people have been, effectively, pointing and laughing at Stoll’s failed prediction. I’d rather consider it a cautionary tale: The man who was so totally wrong wasn’t just a random pundit who didn’t know what he was talking about. He was Clifford Stoll — author of The Cuckoo’s Egg, a man who had been online for 20 years at a time when most people were just beginning to hear that there was a such thing as the World-Wide Web, and the man who traced German cracker Markus Hess through umpteen layers of insecure computer systems and networks.

In short, the man knew what he was talking about. He wasn’t a Senator Ted Stevens. If he could be so wrong, how much faith can I place in my own predictions about where the Internet’s headed?

But wait, there’s more — how wrong was he? Read More »