Google Makes Flash SEO Friendly
Nov 5, 2008 Flash, SEO, Technology Trends
The latest statistics indicate that 90% of traffic landing on web sites originated with a Google search. That’s a pretty impressive figure for Google but it also says a lot about how people find websites. many people use google as a way to find a site when they may not know its exact location on the web. for example, rather than looking on someone’s business card to find a domain name, its often easier to enter their name or the name of the business and let google spit out some results. Surely one of the resulting pages is the correct one.
And so the million dollar question in the web development world has become - how do i appear first on the list? or for the less ambitious / realistic how do I appear on the first page of results? A good SEO would tell you to make sure you have chosen the right key words, built your pages using table-less CSS, have good keyword density and plenty of inbound links.
Tags: Flash SEO
THAT Agency’s New Improved Design Blog
Oct 30, 2008 General, Technology Trends
Here we go. I’ve just installed a new design blog on our servers to better server the viewing public and give us something a bit more manageable to work with. The old blog was built on the Nucleus system of blogging and has become quickly outdated. Well, not that quickly but it was over 2 years old and the system itself had become difficult to extend.
This new blog is built on the Wordpress system, fully widget ready and completely expandable.
Tags: That Agency's New Blog
Quick and painless Email spam protection using jQuery
Sep 11, 2008 jQuery
I recently went to one of my favorite blogs and saw that the author had posted up a neat little trick to help prevent spammers and bots from crawling your site to gain those oh so valuable emails and begin to send you and everyone else who has an email on your site - spam. It’s a spammy spam world of emails and we as programmers need to try to prevent this.
We all know some clients want their emails on their websites.
Our scenario scene begins in the middle of an email conversation:
> Open scene
Us: “What about a contact form?”
Client: “No. I want people to be able to click on it and open up outlook.”
Us: “But some users may not have outlook. what if the user users gmail for example?”
Client: “Well I just want my email on there.” “well then ok.”
> End scene
So although we would try to persuade our clients not to list e-mails on the site, the old saying goes, “the client is always right.”
Well maybe with this little script, we can possibly come to an arrangement and help prevent this spamtrocity (Yes, I just made this word up) from occurring. I used jQuery to do the magic and I offered two different pieces, because to be honest, I just wanted to.
See it live
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<script src=”http://code.jquery.com/jquery-latest.js”></script>
<script>
$(document).ready(function(){
// First type see comment for example #1
el = $(’#email_one’);
el.each(function(){
el.attr(’href’,'mailto:’ + el.attr(’href’).replace(’|',’@').replace(’/',”).replace(’:',’.'));
el.attr(’title’,el.attr(’href’).replace(’|',’@').replace(’/',”).replace(’:',’.').replace(’mailto.’,'Email: ‘));
});
// Second type see comment for example #2
$(’#email_two’).html(’<a href=”mailto:’+$(’#email_two’).html().replace(’|',’@').replace(’/',”).replace(’:',’.')+’” title=”Email: ‘+$(’#email_two’).html().replace(’|',’@').replace(’/',”)+’”>’+$(’#email_two’).html().replace(’|',’[at]‘).replace(’/',”)+’</a>’);
});
</script>
</head>
<body>
<p>Example 1</p>
<!– Example 1 :: Just a simple link with the class of email –>
<a href=”/yourname|yourcompany:com” id=”email_one” title=”email me”>safer email link</a>
<br/><br/><br/>
<p>Example 2</p>
<!– Example 2 :: Inside a span with jut some simple info that will get converted to the email –>
<span id=”email_two”>/yourname2|yourcompany2:net</span>
</body>
</html>
Tags: spam
Most useful php development sites Part 1
Sep 9, 2008 Technology Trends
If you know me, then you know that I love me some PHP. Well in the course of all the years I have been coding, there were and are a bunch of websites that I often reference for a “how to” or to grab a class here and there. Grab a class? you may ask. Of course, why wouldn’t I. That’s like saying “Hey the transmission in my car broke, but I’m not going to go to find another one, I am going to build one from scratch.” Sounds silly in those terms right? well that’s probably because it is. So anyway, Here are a couple of websites that I often go to the see whats happening in my coding world.
1. PHP.net - Obviously this is a no-brainer. This IS the site for PHP. So any function or term used in PHP is probably; wait no its in there!
2. phpclasses.org - Looking for a class? Well here you go. Not too much to explain since its pretty obvious as to what the site is about and if you don’t know, then stop right here, back away from your keyboard and mouse, and escort yourself from your job.
3. phpbuilder.com - PHP Builder is one of those sites that you can pretty much read a bunch of articles on “how to’s” in PHP.
4. hotscripts.com - Don’t want to reinvent the wheel? then here you go. I can honestly say that since my I have always looked at this site to see what they had in the php world.
5. w3schools.com - The W3C is one of the best sites out in the world of Web Development period! with some step-by-step lessons and actual testing environments, this is a really cool site to look into if your starting out or looking to check something out. Everyone cannot know everything.
Well that’s it for now folks. Hope some or all of these sites are useful in your PHP Development.
Look out for Part 2.
Google Chrome Browser Blog Post 5618326262
Sep 4, 2008 Technology Trends
There is much buzz around the new Google browser named Chrome. As a developer I flinched at first to hear that it was finally released. “Another browser I need to code for?” give me a break. But, as a web developer I guess its our job to make it happen. The only silver lining to this was that it was created and coded by Google so I at least knew that it would follow W3 standards and that it would at least be stable. Unlike many of the Microsoft products that are released. IE 8 should be making its appearance soon even
though a beta version of IE 8 is already out. (and of course I am NOT downloading that).
So what is so special about Chrome?
At first the browser seems pretty plain and child like. Since Google always seems to develop products that are minimal, but will a powerful backend, I was not surprised at the look and feel of it. I began by just clicking on any and every option I could find. What I found was some cool little things like having its own “kinda-sorta” firebug built in. Some of you may know, but firebug is probably the best Firefox plugin created thus far; not only for developers but everyone alike. There is also an Incognito mode which will not save your information into their nifty, but presumptuous attempt to let me know where I have been online.
Chrome is a little speed demon.
I recently tested the speed in which chrome delivers a website as compared to IE7 and Firefox using one of the websites we developed here for Masonite; a leading door company, and discovered that it DID actually load the page pretty quickly.
What is Google Chrome Browser up to?
hmmm. There has been speculation that Google is trying to gather users habits online in an effort to improve their algorythm or just straight up be nosy. in either case you can just decline this on setup or in the options section of the browser.
The barrage of Google Chrome Browser posts and blogs:
Everyone knows that people are going to flurry the internet with posts and blogs about Chrome; and I guess I am no exception, but I did come across some cool things while searching:
Already a JS Chrome detector - David Walsh is a developer out of Madison, Wisconsin and he has posted a quick javascript on detecting Google Chrome using javascript on his personal blog. Basically one line
var is_chrome = navigator.userAgent.toLowerCase().indexOf(’chrome’) > -1;
you can read more about its use on his blog.
Another cool thing I found was on www.chromeplugins.org (yea already!) were a bunch of Google Chrome shortcuts you can learn to use.
My own “cool feature” and the “where is the…”
So probably one of the cool features I found on my own was the tab slider. I occasionally like to move my tabs around on Firefox and so I tried the same thing on Google’s Chrome and was wowed (yes! wowed by moving a tab) by the cool slider effect Chrome does; Try it!
The “Where is the…” is my mouse wheel option to quickly scroll up and down, left and right on a website. Where is it Google? Tell me know!!!
Tags: google
Google Expands its Reach with Google Chrome
Sep 2, 2008 Technology Trends
Google recently announced the release of their new open-source web browser, Google Chrome. This is yet another move by Google to compete with the software giant Microsoft, who’s Internet Explorer browser currently dominates the market. As skeptical as I was about the new browser, I downloaded it anyway and here’s what I found:
First of all, the interface is fairly clean, which I like a lot. The first interesting feature that I like about this browser is that it dynamically creates a ‘homepage’ based on your browsing history. For example, my homepage shows thumbnail images of the most recent websites I’ve visited and bookmarks that I’ve added.
The search feature allows the user to search for keywords on pages recently visited. This seems like it could be helpful in situation where you’re trying to recall something you previously found.
Performance
Google Chrome seems to be about as quick as any of the other browsers that I use. Google claims to have built Chrome on a foundation that prevents individual tabs from causing others to crash. I haven’t used the browser enough to test this out but it sounds like a great a feature. Firefox and IE 7 both seem to have problems in this area.
The Dark Side of Google Chrome
Well, as with all free Google tools, there’s always a catch. When signing up to download the browser, Google asks for permission to track usage and browser performance. This basically creates another touch-point where Google has an opportunity to track behavior. As with any breach of privacy, I’m a little skeptical about giving too much information to Google. I’m also curious as to if and how Google will use this information in the long run to tweak its search engine algorithm. It seems almost certain that Google will somehow make use of this data.
Overall, Chrome looks like a good browser with a bright future. While I’m not ready to switch yet, I can’t wait to see some of the apps created for this browser by the open source community.
Tags: google
A useful list of JQuery Code and plugins - Part 1
Aug 18, 2008 jQuery
I guess everyone out there has a list that is used by many. a top ___ (fill in the blank) list of some resource you use. Well why not me? I compiled a list of some cool jQuery plug-ins I found that have been used in our web development here at THAT Agency.
Now without further Adou, the list:
1. Pop-ups using JQuery
Now we all love pop ups right? well in an effort to keep the actual code clean, you can use this code that was written by Richard Wong
$( document ).ready( function()
{
$("a[rel='pop-up']").click(function () {
var features = "height=700,width=800,scrollTo,resizable=1,scrollbars=1,location=0";
newwindow=window.open(this.href, 'Popup', features);
return false;
});
});
2. PDF links using JQuery
ok, so this one, I cant remember where I got it from, but its actually pretty handy when it comes to dealing with links to pdf’s.
$(document).ready(function(){
$("a[href*=.pdf]").click(function(){
$(this).attr({"target":"_self"});
return false;
});
});
3. Rounded corners using JQuery
This was actually the first plugin I tried for Jquery and I have been pretty much hooked ever since. This is just a cool easy way to create rounded corners (plus more) with just jquery. No top left, top right, bottom left, bottom right images… none of that stuff. just quick and easy.
$(function(){
// round the boxes on the Main Nav Links
$('.yourClassName').each(function()
{
$(this).corner("7px");
});
});
Tags: plugins
.htaccess - The Gift and the Curse
Aug 5, 2008 Technology Trends
Now we recently came across a situation where we had to work on changing some stuff around on a website. Since the website was already established and had inbound links and such, we could not just start all over with writing a new system. So we decided to do what we needed to do using an .htaccess file.
Holy cow!!! where is some legitimate documentation on this? tell me please? Well we did end up finding some good information on it via cheatsheets like Addedbytes.com, LifeHacker.com and a Google Group. I know there were more, but for the most part we kind of tried to stay in these sites.
So from what I have read; and correct me if I’m wrong, the .htaccess file needs to be layed out in a particular order. This makes it seem like one of those slider puzzles you used to get in the cheap candy bags, where you needed to have everything layed out in a certain way, in order to actually see the picture for what it is.

Actual example from the project:
So we had a structure like this
.com/blog.php?id=444 (page was called, id would return the information for that blog)
They wanted:
.com/title-of-article/
So where to start? After gathering a bunch of cheat sheets and references and searching…we decided to do this.
RewriteRule ^([A-Za-z0-9-]+)/?$ blog.php?title=$1 [L]
so here is the basic gist. the ^ is the site (i.e. http://www.your-domain.com/)
the ([A-Za-z0-9-]+)/?$ basically breaks down to “it dont matter if its a letter number or dash and ends it with the $.
the rest tells the server that anything that does ([A-Za-z0-9-]+)/?$ i.e. .com/title-of-article will return the page: blog.php?title=title-of-article
nothing to it right? woah…hold your horses there cowboy. now if your cms was only returning information on the blog using its unique ID, then how would the system know now with the title? IT WONT!
we also had to change the function that returned the blog information to return the blog information NOT by the id it has, but by the title. granted that your system already added a SEO-Friendly title to the DB that you can query.
If all those things are in place, then you should be good to go.
Now I know the title might not have made sense, but note that if you have some information and know what and how to work with the .htaccess file, is a gift. If you have never worked with them and only seen them in passing, then good luck to you pal! read up. But once you understand the basic concept you should be ok. uhm yea..ok.
Tags: htaccess
All software aside from the browser to be obsolete?
Aug 5, 2008 Technology Trends
Sooner than you think.
Sheese, you’re argumentative aren’t you? I’ll tell you now though, despite your fervent vocal objections that this very thing will happen. All other compiled hardware will become merely legacy, as legacy as logging on to a Renegade hosted BBS via your 300 baud modem firing up the ANSI colored text power of LORD, TRADEWARS, and the many, many flavors of MUD you still have active accounts on. Just as they were indispensable utilities that made the very corporate world turn, provided the light for it to see, filled it’s lungs with their life giving rich air. Shortly following suit will be our current incarnation of super crutches like “Word”, “Photoshop”, “Quark”, “Dreamweaver”.
Oh you thought you had me there, any given operating system is software right? How could the browser even run anyhow without an operating system? They WILL be the operating system. You’ll hardly even have to set up anything, because you won’t have a hard drive, not a local one anyhow, why would you when you can have 100 backups of all of your data everyday from multiple places in the world encrypted for your privacy? Oh graphics cards you say can’t just expect everyone to be happy with the same one. That too will be obsolete and no I’m not even pushing that a break through in quantum computing will make for a limitless cap, even with technologies today we could create such a processing beast, the same, (although more refined), way Google is able to search through 6 billion indexed sites in a mere moment our web hosts will be able to serve graphics to their graphic design clients or simply their game players.
This is NOT a pipe dream… Oh wait I lied, that is exactly what this internet is and that’s exactly what is needed to make this all start to fall into place, a slightly wider pipe. Were on the brink of not only having all human knowledge available but all human resources able to pool together on projects. Can you imagine the possibilities?
I know I know, calm down there buckaroo your telling me, its probably a lot further off than I think. Hey could be, I’m to excitable really, who would go for a completely online OS anyhow?
Populating Data Without Refreshing the Page Using AJAX
Apr 4, 2008 AJAX
I recently encountered a situation with a website we were working on and, yes, I know that there are hundreds of lines of code out there that do exactly what I am about to discuss, but to me, this is probably the simplest solution and could be easily configured to do what you need it to do.
What was needed you ask? Well, a simple thing really. The client wanted their request form to be a little intuitive. If their users selected an option from the dropdown that was the U.S, then show the U.S. States; if not, then show a textbox for the user to input their area, city, whatever. Granted there is no Database associated with this site, nor did they want one created. So I wrote this little piece to make it do just that.
So to begin let’s grab some stuff you need.
1. The ajax.js code. I grabbed it from here (http://clientside.cnet.com/cnet.gf/docs/files/mootools/1-11/Remote/Ajax-js.html) and add it between the <head> tags.
2. Next, let’s add the JavaScript; also between the <head> tags. This will do the actual work.
<script type="text/javascript">
var handleSuccess = function(transport)
{
if(transport.responseText !== undefined)
{
document.getElementById('WHEREYOUWANTTHEINFOTOSHOW').innerHTML = transport.responseText;
}
}
var handleFailure = function()
{
document.getElementById('WHEREYOUWANTTHEINFOTOSHOW').innerHTML = "";
// IF YOU WANT, YOU CAN WRITE SOME HTML BETWEEN THE QUOTES TO SAY THAT THIS FAILED.
}
function doSomething(sel)
{
var request_country = sel.options[sel.selectedIndex].value;
var sUrl = "getSubInfo.php?sub=" + request_country;
new Ajax.Request(sUrl,
{
method: 'get',
onSuccess: handleSuccess,
onFailure: handleFailure
}
);
}
</script>
This code actually received the value of the selected option and sends that value to a php page runs through a function and the information gets returned; which in this case is either the US State drop down or a textbox.
3. Now the php page we were just talking about. As you can see I removed much of it for protection, but its pretty straight forward. It grabs the value that was sent, checks if the value is equal to one (which will show the states) and, if not, will show the textbox. Simple? Yep. You can copy this and save it as getSubInfo.php
**** Note that I removed security features and such from this code. You should add some of your own so that people are not injecting into your code; although this is really nothing sensitive.
<?php
$sub = $_GET['sub'];
function getMySub($sub)
{
if ($sub == "USA")
{
print("State<br />
<select name=\"state\" size=\"1\">
<option selected=\"selected\">Select</option>
<option value=\"1\">state list</option>
</select>");
}
else
{
print("State / Area <br /><input name=\"state\" type=\"text\" size=\"20\" />");
}
}
echo getMySub($sub);
?>
4. Now for the HTML of it. This is pretty straight forward. Write out your select statement as usual, but add an onChange call to handle the dynamic content retrieval. Add this to your page.
<select name="request_country" onchange="doSomething(this)"> <option selected="selected">Select</option> <option value="USA" >UNITED STATES</option> <option value="AFG" >AFGHANISTAN</option> </select>
So all in all, this was a pretty simple thing to accomplish. Its nothing major; just thought I would share it with you all.




















