The Smart Way to Start a Project

Your next amazing idea doesn’t need to be a big project with a ton of investment. Sometimes people jump directly to the website building part of their next big venture, when really that’s more like a mid-point. You can build an amazing website that costs thousands of dollars and looks pretty, but if it doesn’t attract any users or doesn’t convert, you’ve wasted your time and money.

Have a plan.

People skip the planning stage too often. It’s hard work and they don’t want to do it. They just want to jump right in. A plan doesn’t need to be some 30 page business plan, but it should fill a certain amount of criteria. It also doesn’t have to be that detailed. It should answer the 5WH criteria at least:

Continue reading

How to Build and Drive Website Traffic

Probably the single biggest question about building websites I get is how to drive traffic. I’m not saying it’s the most important part, but it’s definitely key. Content is king, sure, but if you don’t have traffic, you could be pouring your heart out to a wall. Really what every website wants is quality, converting, long-lasting traffic in high volumes.

There are essentially four ways to drive to your website, which are: search engines, direct traffic, referral links, and your ‘list’. I’m going to teach you how each of those things work on an intermediate level and what their value is compared to the others. I’ll be covering some of the more detailed finer points of these traffic sources in the future. This is basically a primer for what is to come.

Continue reading

Review: The Shoemoney System is Meh for Advanced Users.

I’ve been checking out the Shoemoney System for the last few days, and I haven’t learned anything that I didn’t already know.  I’m hoping that it ramps up soon though.  The videos are basic basic basic, but I’m sure he’s just leveling the playing field for other users.

The sales letter when you first sign up seemed long and annoying.  Why not just do a buy button at the top?  I knew I wanted to try it, but still had to sift through all of that stuff.

The videos and coupons that he advertises are released slowly over time, so you can’t just buy a month, watch and download everything and then cancel (shucks).

It looks like the only complete content is the old podcasts that Jeremy did as Net Income and The ShoeMoney Show on Webmaster Radio, but I’ve heard all of those already.  It would have been cool if the did the work to edit them down into something more to the point.

I also haven’t been impressed by the promise that the first 100 signups for the system get a special bonus, but it’s been like a week and a half and we still don’t know who we hare.  I’m fairly sure I’m in the first 100, because I signed up in 3 minutes, but who knows.

Unfortunately, content is released so slowly that I don’t really have much to say.  One of the videos everyone can watch, because it’s public, and the other three are about things I know very well: setting up a Google account, what affiliate marketing is, and setting up a ClickBank account.

I also noticed that many of the users complained about the same things in the week 1 webinar, so I don’t feel completely alone with this.

My conclusion?  I’ll give it a little more time before I completely judge…

Tidbit Tuesday on PHP: Simple MySQL Database Insert Function

This builds on a function I did last week: db_query(). You can send any array straight to a MySQL database and it’ll even check to make sure the column actually exists.  Oh, and it returns the id of the record you just added in case you needed it.

<?php
   function db_array_insert($cfg_array, $table, $array) {
      require_once("dbQuery.function");

      $sql = "show columns from ".$table
      $tableArray = db_query($cfg_array, $sql);
      $inputString = "";

      foreach($tableArray as $key => $value) {
         if (array_key_exists($value[0], $array) && $value[0])
            $inputString .= "'".addslashes($array[$value[0]])."', ";
         else
            $inputString .= "'', ";
      }

      $inputString = substr($inputString, 0, -2);
      $sql = "insert into $table values(".$inputString.")"
      db_query($cfg_array, $sql);

      return mysql_insert_id();
   }

   $insert_array = array(
      "column_1" => "something_1",
      "column_2" => "something_2"
   );

   $cfg_array = array(
      "db_loc" => 'www.databaselocation.com',
      "db_user" => 'some user'
      "db_pass" => 'some password'
      "db_name" => 'database_name_here'
   );

   db_array_insert($cfg_array, "some_table", $insert_array); //and use it.
?>

So what do you think?  Having a problem?  Just let me know in the comments.

Printing, Picas, Points, and Pixels: How’re they related?

imageHave you ever wondered why fonts use points, or what that unit of measure is in Photoshop – the Pica?  Did you know that pixes and screen fonts are very much related to old school printing?  Here’s the place where I can bring it all together for you.  First the definitions:

Points

There are 72 points in an inch.

Picas

There are 12 points in a Pica.

Printing

Standard printing methods use points and picas to measure the size of fonts and paper or other objects on the print.  For instance a newspaper may use a 12 point (1 pica) font on a peice of paper.  Try dividing a regular 8.5 x 11 peice of paper into thirds.  It’s much easier to say 11 inches is 66 picas, so it’d be three 22 pica folds instead of every 3.66 inches.

Pixels and Screen Typography

It’s interesting to see the correlation of old school typesetting when looking at modern day computers.  The standard resolution is 72 pixels per inch, which means each pixel is one point.  That makes things easy.  Did you ever wonder why the largest font size in Word is 72?  It’s because that font should be one inch high on you screen – and who would want to go bigger than that?

I just learned all of this from a customer of mine recently.  Have anything to add?

Goals vs. Resolutions

measureGoals and resolutions are not the same thing.  Let’s look at their definitions as advertised via dictionary.com:

goal

–noun
1. the result or achievement toward which effort is directed; aim; end.
2. the terminal point in a race.

res⋅o⋅lu⋅tion

–noun
1. a formal expression of opinion or intention made, usually after voting, by a formal organization, a legislature, a club, or other group. Compare concurrent resolution, joint resolution.
2. a resolve or determination: to make a firm resolution to do something.
3. the act of resolving or determining upon an action or course of action, method, procedure, etc.
4. a solution, accommodation, or settling of a problem, controversy, etc.

What’s the difference?

When you resolve to do something, you are setting up an action that you will carry out without measurable results.  For example: “I will exercise more this year,” “I will lose weight,” “I will spend more time at home,” etc., etc.  A goal is the vessel by which you take a resolution and define a measurable outcome.

What this means to me:

Every new year, I define a set of goals for the year, both personally, and for my business.  I express those goals for my business through an annual review of the business plan – a document defining my finite goals for the year, next three years, ten years, and life of the company.  I define my personal goals here on this blog.  All of the goals I set for myself follow a specific format.

Formatting a Goal

I use a simple acronym for defining my goals: SMART.  Smart stands for:

  • Simple
  • Measurable
  • Attainable
  • Realistic
  • Timelined

For instance, looking at my previous post: My Goals for 2009, we can pick out the goal: “Put $10,000 into my IRA.”  This goal is simple because I only need to do one thing.  Tracking it isn’t complicated.  It is measurable.  Each dollar I put in is a measurable unit.  It’s attainable.  I’m pretty sure I can do this if I hold myself to it.  It’s realistic.  I’m not putting more than I make into my IRA.  It has a timeline, because these are my 2009 goals, I have until Dec. 31, 2009 to complete them.

Following Through

Goals are only useful if you follow through.  I like to set goals far enough in advance and broad enough that if I fall short for a couple days, I can recover.  I like to make “thermometers” to track how close I am to acheiving goals as well.  I can organize all of my thermometers into a dashboard of sorts and rate myself on my progress.  I can find places I fall short and work on improving those areas.

I hope this helps you turn your resolutions into goals and your goals into results.

Saving Bandwidth with Google Ajax Libraries API

The News

I first heard about the new Google AJAX Libraries API from Jeremy Schoemaker’s blog.  He mentions using it to reduce WordPress bandwidth, but really it can be used to reduce bandwidth in most AJAX based web development environments.

The Exciting Part

I persoanlly use prototype the most, and I’m extremely excited that I can use their libraries instead of uploading my own for each site.  I’m especially excited that calling specific version numbers is possible.  This makes upgrading a code set extremely simple, especially if you call the code version as a variable at the beginning of your code.

Realistically your javascript code is probably one of the lightest weight parts of your code, but every little bit helps, especially if you’re serving a large amount of users every month.

Optional Settings

Script Compression

I think one of the greatest optional settings for all of the scripts you can load is compression.  It’s not available for all of the APIs, but it is for most.  What it does is remove all of the whitespace from the API to reduce file size for the end user – increasing speed.  If you mix that with something like the javascript compiling on Google Chrome and you’ll have lightning fast AJAX applications.

No CSS

You can optionally remove the CSS from the scripts you’re remotly loading, which allows you to do one of three things: load the default CSS, load your own CSS, or not load the CSS at all.

Resources

WordPress.org: Google AJAX Libraries API Plugin – This plugin uses the GALA whereever possible in your WordPress installation.

Google AJAX APIs Blog – This is a great place to go if this really iterests you and you’ll be using this code regularly.  They’re always adding new scripts to the API, so if you don’t see the one you want yet, keep an eye on their blog.

Google Sites Leaves me Bored AND Confused

Overview

Google Sites is a product recently released by Google to create a place for colleagues to collaborate. I think it is meant to work something like a cross between Microsoft’s ultra complex SharePoint, and MySpace. The idea is to give users flexible control over their sites look and feel, while making it easy for users with out development or design skills to launch a functional work space. Once the site is created, users can collaborate in that “space.”

Joining

This is pretty straight forward. Just navigate to the Google Sites main page and set up an account. Your organization will need to be a member – using Google Apps. This can be a bit of a hassle if you aren’t the admin for your organization. I think this is Google’s way to combat the lash back from IT staff.

Setting Up a New Site

From the Dashboard, just click “Create New Site,” and you’ll be prompted for some basic information like: a site name, category, and description. You can also set who you’d like to collaborate with and pick a pre-defined theme from a rather bland selection of pre-made templates. When you’re done playing with these options, click “Create Site.” Your new site is online!

Using Your Site

Now that your site has been created, you can start using it. A nice place to start is with the “Edit Page” button just above the default “Home” page. This converts the whole page to a text area and title bar that are editable. You can place whatever content you want in there now, with standard options like bold, italics, underlines, links, bullets, etc. Click save when you’re done, and the page is published. You also have the option of attaching files and leaving comments.

Just next to the “Edit” button is a “Create New Page” button. This is where you can create new pages and add them the the “parent -> child” tree that the site is built on. Just below this area is the navigation menu, with a conveniently available site map, which is dynamically built, based on the pages you’ve created.

Tweaking Your Site

Really dialing in your site is where the fun begins. In the top right of your browser window, you can click “Site settings” and be taken to a page where you can edit site sharing settings, the appearance, and “other stuff.” The most interesting part is the appearance settings, where you can modify things like colors, fonts, and background images for different sections of the page. You can also modify your theme or site elements here.

Site elements are like widgets on the left bar next to the main content on your pages. Right now, there are only a few site elements, but I would imagine that they would add more as popularity grows. It may become something like the “widgets” for iGoogle (which by the way, I love).

The real meat of the Appearance section is “Colors and Fonts.” This is where you can upload your own background images and change colors for your theme create your own custom theme. I tried fairly successfully to recreate the look and feel of this site. One thing Google Sites does a lot better than a lot of other sites I’ve seen is the style manager. What one would usually use CSS styling for is in a nice GUI. For instance, adding a background image in the top left that doesn’t repeat involves just uploading the image, selecting vertical, horizontal, and repeat settings from drop downs, and hitting save. It’s done. That will probably make a lot of users that don’t know CSS quite happy.

“Other Stuff” is where you change things like your title, categories, and description. Oh, and you can delete the whole site here too.

My Thoughts

I’m quite underwhelmed by Google Sites. Products like WordPress seem to be much better. Although I’ve never used it, Blogger seems like a much better alternative if you’re looking for a Google product. That being said, this is an extremely new offering, and I’m sure it will get dialed in a lot better. Maybe the should have tagged it with “beta” for a couple years, like Gmail. This is also free. I find it hard to give something free a bad review, because your ROI is divided by zero. Im interested to see where this goes in the future.

I also felt like there should be more. That feeling just kind of confused me the whole way through. I think it may have just been so simple it was hard. Maybe I’m just dumb. :-)

What do you think about it?