Pareto principle (80/20 rule) and SEO

This week in SEO advice:

Pareto principle is also referred to as the 80-20 rule. It says that 80 percent of your effects will come from 20 percent of the efforts.

I tend to find this applies to SEO as well. 80% of what most people do to be more SEO-friendly generally doesn't help as much as that 20%. That 20% that leads to 80%, in my opinion, consists of:

- Quality content / Keywords

- Freshness

- Site speed

- Link Building / Notoriety

 

The 80% that leads to 20% consists of:

- Nitpicking over Meta Tags

- Making that image that says "Search" text so the word "Search" appears in your HTML (Anyone ever recommends that to you, run for the hills. You will never win the keyword "Search")

- Stripping out extra whitespace

- most of the "HTML optimizations" SEOs pitch

 

So when you spend your programmers man hours, running up tons of man hours on things like stripping extra whitespace out, realize that for the same price or lower, you could have gotten someone to do a few man hours of link building or copy writing that would have driven much more of your traffic.

 

Starting from scratch ft. Carl Sagan's Whoop ah ah

I saw this a long time ago, but I recently saw it linked from somewhere else. Someone remixed Carl Sagan into one of the greatest youtube videos of all time. It makes me feel good about humanity. If only it had 5 million views, it would beat the weekly viewership of the Jersey Shore. Seriously, this video has less views than the Jersey Shore. That hurts. A lot.

I can't get enough of it. But I really wanted to point out the line: "If you want to create an apple pie from scratch, you must first invent the universe." I love it. As a developer, that statement comes up all the time, create from scratch. "The framework is really slow, lets create one from scratch." "This module doesn't do what we want, lets create a new one from scratch." "I know we don't want to reinvent the wheel, but we have to create it from scratch." Sometimes starting from scratch can be a good thing, but very often, the people saying "start from scratch" don't realize the whole scope of what they are saying. Starting from scratch on something is time consuming and requires a lot of engineering, architecting and coding. So for the "start from scratch"ers out there, remember, you must first invent the universe.

How Flash's DisplayObject.cacheAsBitmap saved my life

Tweening displayobjects. That's supposed to be Flash's bread and butter. Animations, movement, things like that. Recently I was coding some Flex 4 stuff, and I was updating the x position of a small element on the page every 100 milliseconds (on a timer). The object overlapped some other custom drawn elements. When the timer was enabled, CPU usage was around 40% (on a dual core, so that's like saying 80% to single thread/core only flash player). It seemed like a small tween/animation. But it was using massively large amount of CPU time. I panicked. This was the first of many tweens that would happen in the project. If it can't even manage one, I'm screwed. So I began investigating. That's when I discovered cacheAsBitmap. No, not on the moving object. But on the objects behind the moving object. I had a row of textfields and a sprite with tons of little lines drawn on it (a timeline that has second mark ticks and a text field every 10 seconds). When I set cacheAsBitmap=true for the sprite and the textfields, CPU went back down to acceptable levels. Phew.

 

To enable cacheAsBitmap (which is a property on DisplayObject, so anyone descendant from that can do this), you can either in AS3:

 

var myobject:DisplayObject = getMyDisplayObject();

myobject.cacheAsBitmap = true;

or in mxml:

<s:Group cacheAsBitmap="true" ... ></s:Group>

or any other DisplayObject mxml tag.

 

Just don't set cacheAsBitmap=true on a mask, or you wont be happy.