Speaking Our MIND - MIND BLOG

Latest Site Launch – Greenfield Puppies

September 7th, 2010

greenfield puppiesAugust was one heck of a month at MIND. We had 2 large projects to work on as well as a number of smaller projects coming in every few days. Needless to say, blogging was not a high priority on the list. However, we do like give a shout out to our clients! The latest MINDful addition was for Greenfield Puppies who help licensed breeders sell puppies in PA. GFP came to us with an idea, “We want our site to grow our business.” They were also a little upset by their current host/provider who wouldn’t proactively address the needs of the site or it’s growth. Items like making URLs SEO-able and properly formatting pages for search to name just a few. GFP was also seeking some custom work to make their administration area much easier to use and operate.

Over the course of a month we met multiple times with GFP and took a number of phone calls for ideas and questions. MIND not only produced the design (a full redesign from the old site) but also built the custom functionality that makes Greenfield Puppies such a powerhouse of a website. A fully featured WordPress Plugin was specially developed for GFP to add and manage both puppies and breeds as well as maintain testimonials, order of puppies and SEO settings. The site itself must be scalable enough to account for the hundreds of new pups coming in every month as well as the bandwidth to handle all of the request.

As a value-added extra MIND also contracted Mark Boyd of Marqeteer to write a few professionally written press releases to announce the site launch as well as provide information on GFP’s anti-puppy mill stance.

Image Resize, Crop, Thumbnail, Watermark PHP Script

August 3rd, 2010

We’re going to write a function called image_handler in PHP. We’ll provide parameters to specify the image width, height, whether or not to watermark the image, and the source of the watermark, when the function is called. We’ll supply a few default values for these parameters as well.

<?php
function image_handler($source_image,$destination,$tn_w = 100,$tn_h = 100,$quality = 80,$wmsource = false) {

  #find out what type of image this is
  $info = getimagesize($source_image);
  $imgtype = image_type_to_mime_type($info[2]);

  #assuming the mime type is correct
  switch ($imgtype) {
	  case 'image/jpeg':
		$source = imagecreatefromjpeg($source_image);
	  break;
	  case 'image/gif':
		$source = imagecreatefromgif($source_image);
	  break;
	  case 'image/png':
		$source = imagecreatefrompng($source_image);
	  break;
	  default:
		die('Invalid image type.');
  }

  #Figure out the dimensions of the image and the dimensions of the desired thumbnail
  $src_w = imagesx($source);
  $src_h = imagesy($source);
  $src_ratio = $src_w/$src_h;
  #Do some math to figure out which way we'll need to crop the image
  #to get it proportional to the new size, then crop or adjust as needed
  if ($tn_w/$tn_h > $src_ratio) {
    $new_h = $tn_w/$src_ratio;
    $new_w = $tn_w;
  } else {
    $new_w = $tn_h*$src_ratio;
    $new_h = $tn_h;
  }
  $x_mid = $new_w/2;
  $y_mid = $new_h/2;
  $newpic = imagecreatetruecolor(round($new_w), round($new_h));
  imagecopyresampled($newpic, $source, 0, 0, 0, 0, $new_w, $new_h, $src_w, $src_h);
  $final = imagecreatetruecolor($tn_w, $tn_h);
  imagecopyresampled($final, $newpic, 0, 0, ($x_mid-($tn_w/2)), ($y_mid-($tn_h/2)), $tn_w, $tn_h, $tn_w, $tn_h);

  #if we need to add a watermark
  if($wmsource) {
    #find out what type of image the watermark is
    $info = getimagesize($wmsource);
    $imgtype = image_type_to_mime_type($info[2]);

    #assuming the mime type is correct
    switch ($imgtype) {
  	  case 'image/jpeg':
  		$watermark = imagecreatefromjpeg($wmsource);
  	  break;
  	  case 'image/gif':
  		$watermark = imagecreatefromgif($wmsource);
  	  break;
  	  case 'image/png':
  		$watermark = imagecreatefrompng($wmsource);
  	  break;
  	  default:
  		die('Invalid watermark type.');
    }

    #if we're adding a watermark, figure out the size of the watermark
    #and then place the watermark image on the bottom right of the image
    $wm_w = imagesx($watermark);
    $wm_h = imagesy($watermark);
    imagecopy($final, $watermark, $tn_w - $wm_w, $tn_h - $wm_h, 0, 0, $tn_w, $tn_h);
  }
  if(Imagejpeg($final,$destination,$quality)) {
    return true;
  }
  return false;
}
?>

Now we’ll write a small form for uploading the images we want to handle with this function.

<form method="post" enctype="multipart/form-data">
Source Image: <input type="file" name="uploaded_image" />
<input type="submit" value="Handle This Image" />
</form>

And finally, the uploaded image processing, setting parameters, and a small success/failure message. Make sure the destination path is writable!

if($_FILES) {
$source_image = $_FILES['uploaded_image']['tmp_name'];
$destination = '/path/to/the/final/image/filename.jpg';
$tn_w = 400;
$tn_h = 400;
$quality = 100;
$wmsource = '/path/to/your/watermark/image.png';
$success = image_handler($source_image,$destination,$tn_w,$tn_h,$quality,$wmsource);
if($success) { echo "Your image was saved successfully!"; }
else { echo "Your image was not saved."; }
}

SEO 301 – Redirecting Users for Proper Search Technique

July 15th, 2010

The following is the first in a short series of the best Search Engine Optimization techniques for your web presence. These post will be divided into best SEO practices as well as techniques to increase your ranking and avoid getting banned or blacklisted! There are so many SEO techniques currently on the web, almost too many, so we are going to “trim the fat” and give you the skinny on what really matters! *Note: we are not affiliated with SEO301.com nor does any of this information come from them or have anything to do with them.

Search Engine Optimization Best Practices

1. Keywords - It’s quite obvious and the most essential piece of the equation. Ultimately you want to establish a solid set of keywords (3-4) or a keyword phrase. You want to make these keywords or phrase good and sensible so don’t go picking random names or making words up. These keywords need to be relevant to your content as well as relatively short within your content. Try to pick a keyword or phrase that is popular (so people recognize it) but not so popular that your competition is overwhelming. Typically, the shorter the keyword or phrase, the harder it is to rank for it. You may try to establish a longer keyword or phrase however this is not recommended.

Use your SEO keywords or phrase in your domain name. This tip helps as much as a good title tag and is pretty simple to do once you’ve established a solid keyword or phrase. This technique may prove slightly difficult if your keyword or phrase is too short or too popular. You can also include the keywords within the URL of your site by setting up pretty permalinks or effective files names for your pages. (Example: www.keywordphrase.com/more-keywords-phrase) Individual page titles are also an area where you can take advantage of properly using your keywords or phrase.

2. Content - The content of your page needs to be unique, not just clever or well written although that usually helps! Provide an interesting or differing perspective from the typical competition. People are more interested in new ideas and re-thought practices because they have heard or seen so much of the same junk already. In other words be original, don’t be redundant, and bring something to the table.

As noted above, be sure to utilize your keywords or phrase within your page title(s) as well as the headings (h1) of your page. Best practices state that there should be only one “h1″ per page with all other headings receiving either an h2 or h3 if needed. When your site is indexed the spiders specifically seek out “title” and “h1″ tags so be sure to use them! Another useful technique is linking within the pages of your site to other areas of your site. You want your site to be intuitive and easy to follow. Adding links to pages within your site that you may be referencing from your blog or post will aid in the overall usability and navigation of your website.

Adding new content as often as possible is one of the biggest and best things you can do other then what’s already been said. Content is KING! Usually the larger sites with well-written and properly-sourced code and techniques are the ones that will show up first. Sites with consistently updated content will get top priority with spiders because they are always updating and adding useful information. Along with adding new content; the age of the site is just as important. It is possible that you can create a new site and get it ranking within a few months, however this is not typical. Not only do spiders like Google and Yahoo want to see original content but they also want to see it happening over a span of time. Think of adding content to your site as a marathon, not just a sprint around the internet.

3. In Bound Links - In Bound Links are links TO your site FROM other sites. It is always better to have more In Bound Links than Out Bound Links or links that go from YOUR site to ANOTHER site. Proper In Bound Links require a person to use proper keywords in the anchor text (link text) and proper coding in order for the IBL to be relevant. The simplest way to set up a proper In Bound Link is as follows: <a href=”YourURL”>Your Keywords or Phrase</a> –Not only will this link to your site but the anchor text attached to the link will count toward your overall searchability. *Note on Anchor Text: Be sure to use anchor text that flows naturally in speech. It isn’t always the best practice to ONLY use your keywords or phrase as the anchor text. Mix it up!

Receiving In Bound Links from sites with better reputations is always a plus. Typically “.edu” and “.gov” IBLs are the best but are sometimes hard to come by if your particular keyword or phrase doesn’t exist within the realms of education or government. Receiving In Bound Links from sites with similar content to yours is also of great importance. By similar we don’t mean “same”… we mean similar as is related to your industry. Getting In Bound Links from another industry leader may greatly increase your visibility and help your overall reputation. Links from these sites will always trump links from random, unrelated sites.

And finally, to wrap up the Best SEO Practices, here is one that always seems to confuse people. Reciprocal linking, also known as “link sharing” or “link exchange”. Previously this practice was useless… sharing links basically canceled out the relevance of each link. Now however reciprocal links actually DO have SOME value. These links won’t be as valuable as other IBLs but they will hold some value. The reciprocal links must still be relevant and from reliable sources as well in order to count. Reciprocal links outlined in your “Blogroll” are more valuable as they are almost personal recommendations for the individual or business you’re linking to.

Hopefully these simple but powerful tips will lead you in the right direction for properly optimizing your website and content. Stay tuned for the next “SEO 301 Proper Search Techniques” where we’ll be covering the secondary techniques that will help increase the overall power of your web presence!

Social Media and XBOX 360 Live

July 8th, 2010

Did you know that most major video game consoles have a number of Social Media features? Within the last 3 years the video gaming industry has developed social technology alongside with their own new technology to provide users with another way to stay connected. The three largest markets for computer and video games are the United States, Japan and the United Kingdom. 60% of all Americans play electronic games of one kind or another. Currently services like Netflix and Last.fm are available for instant movie and music downloads on consoles like the Wii, Playstation 3 and Xbox360. Social Media sites have also made their way to online gaming with features like Facebook and Twitter being available to update other users about your status in the game world as well as the real world. These features connect to your console like they do for your blog… it’s pretty easy and you don’t even need to get out of your seat!

Along with online gaming comes the individual online communities. XBOX uses an online system called LIVE. On XBOX LIVE you are able to connect with friends, listen to streaming music, watch streaming video, get gaming news, download updates and game add-ons as well as play games together with a million other users around the world. How does this relate to Social Media? On XBOX LIVE when you fill out your profile information you are able to choose a “Gamer Zone”. A Gamer Zone is how you choose to use your membership or how you play. Zones include “Pro”, “Recreation”, “Family” and “Underground”. Initially these were set up so players could game with other players in the same Zone… avoiding the overly aggressive pros or finding a gaming syndicate on the underground. The Gamer Zone is the first breakdown on the XBOX LIVE Social Community… by simply checking a players zone you are able to get an idea of how they play, why they play and what kind of games they play while online. This is a big step; knowing and understanding your market.

The more revealing way social media is involved with XBOX LIVE is the Reputation or “Rep System”. Beginning on day-one with the first game you play online you are being ranked. Initially your reputation starts out at 3 out of 5 stars, once you play online and with other people your stars can go up or down. Players are able to view other gamers profiles and depending on the time spent in-game with them, players are able to prefer or avoid them. This then positively or negatively effects your reputation… it’s a full social community at work!

When the system works the way it’s supposed to you’ll be able to avoid players you dislike (either due to skill or over the mic communications) and never have to play with them again. Think of those guys as the SPAM of XBOX LIVE, they’re not really there to help, they just wanna mess stuff up. Equally you will be able to play online with your close friends as well as gamers they have deemed worthy to play with. This opens up a whole new social circle for you online and allows your gamer experience to be even better.

So by using what you know in Social Media and how social communities operate online, how would you market yourself or services in this seemingly untouched resource?

Twitter the Fastest Growing NON-Search Engine

July 7th, 2010

Today the majority of Tweets received were about Twitter becoming the Fastest Growing Search Engine. This piqued our interest so we took a look at the related post and did some “testing” for realistic searching. According to Socialnomics “Twitter Founder Biz Stone at Aspen Ideas Festival announced that Twitter now has over 800 million search queries per day … This roughly equates to 24 billion searches per month which is more than Bing (4.1) and Yahoo (9.4) combined.”

“Adding a search box to your website DOES NOT a search engine make.” - Andrew Mull, Master Internet Developer stated in discussion. You can see that Twitter has a tremendous amount of searches but what you really need to look at is what is being searched. Of course the founder, Biz Stone, would say that they (Twitter) are the next major search engine, it’s free publicity and people really eat it up. So can you blame them for making such a claim? Not really but unfortunately now people are under the impression that Twitter is some kind of search engine. Stone also goes on to say about Twitter, that it is “not a social network,” though many people view it as one. “That’s been a myth since the beginning,” he explained. “We’re much more like an information network or a source of news.” *source

Here is where we disagree. Twitter is a social tool, not a search engine. Any developer who has tried to create a well-oiled search engine knows that this is no easy task. When you look at all the intricacies of code and how search engines operate and then look at Twitter… it’s like comparing a single book to an entire library. The library being Google, it’s algorithms and code base.

There is no doubt that Twitter’s numbers are accurate. We are sure that Twitter gets a great amount of searches but we would surmise that most are looking for individual friends or celebrities …or trying to find specific Tweeters that are in the same industry. These users are NOT using Twitter for search in the traditional sense.

To test our hypothesis we went to Twitter and to Google and typed “Capital of Denmark” in their respective search boxes. All we really wanted to know was how fast and easily we could find “Copenhagen”. Surprise, surprise, Google performed better giving us the necessary information in the first link followed by MORE detailed information in other links. Twitter also gives us the information we’re looking for but further down in the “search results” and among other random postings that may mention any of the search terms. Twitter’s short comings are well known so there is no reason to reiterate the obvious. However, it must be known that Twitter lacks the structure and organization to function as a search engine or to realistically compete with Google and Yahoo! Twitter IS a social network simply for the fact that you use it to be social and NOT to search. When Twitter can search outside of itself (for example) instead of just referencing their own stored content, THEN we’ll talk “Search Engine”. Sorry, Biz, but we think you spoke too soon.