Wednesday, May 21, 2008

AVG 8.0 Free Is Released

OK, so this app was released a bit ago, but I just got around to updating. AVG is the uber-popular free anti-virus application from Grisoft. I have been an AVG user for years due to it's small footprint and highly effective functionality. I just downloaded and installed it on one of the three computers a couple days ago. I'll get the other two shortly.

Unlike MacAfee, Symantec and some others, AVG isn't a resource hogging, overly customizable anti-virus. It does a couple things, and only that, and does it well...and best of all, does it for free.

The newest version has a new, modern looking interface, which is nice, it has typically been given a very outdated looking interface, so the modernization is nice, and, while it doesn't make the program work any better, it does look nice.

The added functionality I noticed right away was on search engine, it actually scans all the URL's of the returned web sites for any given query and compares it against their database of known spyware and malware installing web sites. That is a pretty cool feature that could save some folks lots of hassle.

Other than that it seems like much the same application; being a free version it's limited in features, but the features it has are enough to cover the average internet and email user. Though their complete internet security package also includes rootkit protection, phishing and email scam blocking, a firewall, instant messenger scanning and more, whereas the free version only protects the user against viruses, spyware and analyzes search results for safety...which has been plenty of protection for me for the last many years.

If you are looking for a new anti-virus, or are still running AVG 7.5, look into 8.0. Updates for the 7.5 version will not be available after May 31st.

Monday, May 19, 2008

Remove Duplicated From An ASP/ VBScript Array

I have bumped across this problem now and then...the need to "de-dup" an array of info. This happens in forms where you have multple ways to pick the same type of information. Say you have a form that you need to use to pick individual users for some task, and those users can be picked individual, or, in some predefined groups that you have set up. If one user is selected individually, and is part of a group you are mass selecting, or, if you choose two groups, and one or two people happen to belong to both, you need to de-dup.

There is no sense processing the same user for the same task twice, so before any database entries are done, confirmation emails are sent or any other such processing tasks, you should take that array of users and remove all duplicate entries in it.

This is a good time to use the data dictionary. Add all the array elements to the data dictionary and loop through them, each iteration looking to see if that same value exists in another array elements. Below you will find a very quick and dirty class to pass a VBScript array to, and get a de-dupped array back out of:

Function RemDups(ByVal anArray)
Dim d, item, thekeys
Set d = CreateObject("Scripting.Dictionary")
d.removeall
d.CompareMode = 0
For Each item In anArray
If Len(item) > 0 Then
If Not d.Exists(item) Then d.Add item, item
End If
Next
thekeys = d.keys
Set d = Nothing
RemDups = thekeys
End Function
That should serve you quite well, as I have found every sizeable arrays to process quite quickly. I am sure there are more efficient ways out there to do it, but for me, this has worked well.

Why AdSense May Not Show Up On Your Web Site

I have seen quite a few people lately complaining their ads are not showing up on their web sites after pasting in the AdSense code. The reasons for this could be numerous depending on the circumstances around the disappearance.

If you are brand new to AdSense, or have recently been approved and are just newly creating code blocks and pasting them in, know this, it can take 10 to 15 minutes for a new code block to start showing ads. Before AdSense changed to this stupid new code style, they would show up immediately, these new ones have to ferment or some damn thing. it's annoying, but it's a fact of AdSense.

A second reason, which I have seen more and more often, is that some editors, particularily online, web based editors, often remove all the line breaks from the JavaScript and put it all on one line, which renders the code useless. So look for that, this is only one of the reasons it is well advised that any web publisher know at least the littlest bit of HTML/JavaScript to be able to troubleshoot their own web sites.

If you have been a long standing publisher with AdSense, and ads suddenly stop showing up, the first thing you have to do is try to log in to your AdSense account to see if your account has been terminated, if you have been terminated, get to your email and look for the termination notice, if it's not there, check spam folders as well, as sometimes they get filtered. In that email should be a chance to appeal their decision, and make it good, including any evidence you have, that you have done nothing wrong.

Tuesday, May 13, 2008

Originality and Traffic is the Key

Time and time again I see people at ad publishing discussion forums ask the forum how they can improve their earnings. More often than not, the problem is not the ad design, placement, the ad system being used or anything like that...the problem is generally the site itself.

A good percentage of the time these posts come from people that put up a site about Forex trading, earning money at home or various other get rich quick scam type sites. The bummer is, that some of them are not even scam sites. Just today I linked through to a decent site about earning money at home. The content appeared to be original (meaning written by the site owner not just copy and pasted), and there was a lot of content there, mixed in with a lot of ads.

Sadly, even with all the word that person put in to his site, it is still likely doomed to failure because that whole vertical is doomed by the volume of sites in the space. The vast majority of these sites are all copy and pasted content, so even the original author generally gets caught in the undertow of the MFA (made for ads) sites.

As an experiment, I built a site in the realm of consumer information, involving retirement investing, health and wellness, consumer advice for big purchases and the like. I spent hours and hours writing original, very keyword focused, content, doing my best SEO all the way. After a few months I still couldn't get any rankings on anything simply due to the amount of competition, and therefore the site was a complete waste of time, monetarily speaking, but it was a worthy experiment.

The key to succeeding on the web, if your goal is to monetize a site, or a few sites, is to come up with not only original content, but also an original topic that won't drown in the sea of competitive sites on the internet. At this point, there are sites about everything, so it's getting increasingly difficult to find such a topic, but when you do, it's surely worth it.

Don't simply regurgitate the same old topic that has been covered by thousands before you, even if you have original content, find an original topic, or very unique spin on the unoriginal topic. it's hard to get traffic to a site that covers the same thing thousands of others do, but it's easy if you are an original.

Tuesday, May 6, 2008

Design for Browser Size, not Screen Resolution

Topic of the day, the importance of analytics in the right hands, and their possible uselessness in the wrong hands.

We have been starting to debate the site width we want to target in our designs. Naturally, we start talking analytics, and surprisingly, I find that the site I am now working on isn't tracked at all, so first thing is getting it hooked up to Google Analytics or something. However, the conversation continues on the course of how wide the site can be and I keep hearing how monitor sizes are increasing and resolution usage is increasing and all that.

To that, my first reaction is still the opinion I stick with..."so what". In reality you are not designing for a screen size, you are designing for a client size. There are numerous statistics out there that indicate 1024x768 is the predominent resolution, claims of 55% to 60% being the typical quote. However, to agree with my coworkers, yes, more people are going to high resolutions and bigger monitors, but with that comes an increase in the number of users that do not maximize their browsers when surfing. Bigger screens are typically used to make it easier to multitask, not to have one window open larger.

Typical user studies show that users with a resolution smaller than 1024x768 typically run full screen application, over that resolution is a rapid increase in the number of users that start shrinking the browser window to make room for other applications to be visible while surfing, such as instant messenger windows, email clients, news tickers and the like.

The better bet is to watch window size averages and design for that. Windows size is the size that the user has the browser set to. Many analytics programs have options to track this, however, the options are limited by the browser, some don't have that info accessible, though most modern browsers do. The script below is an example of getting it for the majority of browsers:

var viewportwidth = "0";
var viewportheight = "0";
if(typeof window.innerWidth != 'undefined')
{
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
else if (typeof document.documentElement != 'undefined'
&& typeof document.documentElement.clientWidth != 'undefined'
&& document.documentElement.clientWidth != 0)
{
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
else
{
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
However, there are problems with IE and it's "standards compliance modes". All in all it's a decent way to get a general feel of what size window your userbase typically uses. It's a better way to design. The performance of a car isn't changed by it's color, it's changed by how the driver drives it.