Reviewed: No idea
Site URL: maxed-virtuals.com

I can’t wait to start reviewing this website so I’ll just dive right in…

Your splash page — what’s the point of it? Presentationally, it looks okay I guess, but in terms of functionality it achieves nothing. It doesn’t even have the word “enter” on it. There’s no title attribute, the alt attribute text seems to be aimed at Internet Explorer users and you’re using presentational height and width attributes which are redundant under the XHTML doctypes (particularly as you’ve given the image a class and could specify dimensions with CSS).

After entering the site (I figured out that I’m supposed to click that splash image) I see a mass of faded greys otherwise known as “bloody tiny text”. I’m not sure what planet you were on when you decided upon 9px #B9B8B6, but I don’t know of anyone who’d agree with your choice. I would recommend a minimum of 11px (preferably 71% as that’s resizable in IE) and #575653 or darker (as that is sufficiently different from your background colour, as specified by the W3C). You can use the Juicy Studio: Colour Contrast Analyser to experiment with colour contrast.

Excusing your poor design decisions, you seem to be having trouble with English too. Now, I’ve no idea whether or not your mother tongue is English so I could probably forgive you for typing errors, but you have grasped the use of “!” so why not other punctuation — i.e. the apostrophe? Talking of which, it’s normal to end most sentences with a period/full stop, not an exclamation mark. Oh, and “alot” is not a word.

I must admit that this isn’t the first time I’ve visited your site. I had a quick glance earlier on this and couldn’t find any navigation within the first few seconds so I left. I only came back because I noticed you linked on totaltutorial.com offering a way to “show the visitors IP” and I wondered what kind of person would offer that as a single tutorial. I had another look for navigation this time then it occurred to me that perhaps it was being ‘broken’ by my NoScript extension. I switched JavaScript on and tada — navigation. You might want to make this available without JavaScript.

Your main “blog” page coding is invalidated by a pointless target attribute on your e-mail links (”Posted by: Lee”). You’re also using nested tables, more presentational attributes, and language="JavaScript1.2" isn’t needed in your JavaScript tags. Of course, alternatively you could get rid of your JavaScript and use CSS menus — you might be interested in A List Apart’s article: Suckerfish Dropdowns.

I noticed this classic paragraph at the bottom of your updates blog:

In Internet Explorer when you go to the Tutorials page it might just load one tutorial automatically, if this happens please use the e-mail page and tell me what browser you are using!

..surely if you’ve just told visitors that the error happens in Internet Explorer, you don’t need them to tell you what browser they’re using when e-mailing you?

Moving swiftly on to your Tutorials page, I’ve already spotted a few errors. Under PHP, “its easy” should be “it’s easy” and JavaScript is about more than ‘adding tweaks’. Likewise, CSS is not about having sexy tables but rather completely the opposite! CSS should help you get away from tables — perhaps you ought to read my tutorial on Creating a Tableless Layout. I don’t know the first thing about Photoshop so I’ll move straight on to PHP..

The first tutorial that caught my eye was “Banning A Person From Your Site”, particularly because I know a lot of people who are relying IP addresses for tracking and banning of late. Before we even get to the problems with the tutorial, there’s the key fact that anybody can get past an IP ban by using a proxy. Back to the tutorial: “sorry, your banned” ..my banned what? I think you mean “Sorry, you’re banned”. It’s also somewhat silly to assign an IP to a variable when you could just do this: if($banip == $_SERVER['REMOTE_ADDR']){, exit() needs a semi-colon after it, and if you DO decide to keep assigning $_SERVER[‘REMOTE_ADDR’] to a variable, don’t wrap it in quotation marks.

The “Display the current date” tutorial is somewhat misleading, as the line of code would only echo the date as set on the server running the PHP, not the date of the person using the tutorial. Your “PHP Include Code” tutorial description states that PHP includes can be used to make a website more efficient and yet doesn’t explain how. Why not?

The “Showing Users Client IP” tutorial not only uses PHP ’short tags’ (<? ?>) which aren’t available on every installation of PHP, but it relies on register_globals to be turned on. Again, you assign the IP needlessly to a variable. The entire “tutorial” could be cut down to:

<?php echo $_SERVER['REMOTE_ADDR']; ?> ..but then of course there’s the fact that the contents of the $_SERVER superglobal array are easily tampered with, so would you want to echo an ‘unclean’ value to the browser?

The “Unique Hits Counter” is not really a counter at all and would be better referred to as a Hit Logger. Again, you don’t teach anything about the tutorial which means you’re aiding a copy&paste society instead of actually teaching people useful things that they could then implement elsewhere.

On to your JavaScript tutorials and all of your opening script tags seem to be missing type=”text/javascript”. Then of course there’s the redundancy of them — why would any sane person want neon text on their web page? Also, why are you using client side scripting (which can be turned off) to print the current date in your “Self Updating Copyright Script” tutorial when you could achieve the same thing with a line of PHP which can’t be turned off? (<?php echo date("Y"); ?>) The description of the tutorial is incredibly deceptive (”Use this script to copyright your site!”) as there is more to Copyright than a piece of JavaScript.

The “Connecting to Stylesheets” tutorial is not only badly named (you link to a stylesheet), but it seems to be limited to a single method of including styles (what about users coding to XHTML standards and the import method?). It also tells your reader to “place the code below in the ” tags” — this is because you’ve not used HTML entities to display your demonstration <head> </head> tags. They have been parsed and are invalidating your page, as well as providing no use to those who won’t view your source like I did.

“Customize Those Scroll Bars” ..no, no, no. Please don’t offer this stupid bloody tutorial. Coloured scrollbars only work in IE (and possibly Opera if you’ve got the option turned on) and the CSS to display them will invalidate the stylesheet of any poor, unknowing fool that uses the code. Talking of scrollbars, the “Totally remove the scroll bars” tutorial is completely incorrect (you’re mixing an inline style declaration with external stylesheet coding as well as a missing ‘}’) and incredibly frustrating for those of us who actually like to use the scrollbars.

I tried to use your tutorial search box to look for ‘CSS’ and it found no results. As we both know you have three CSS tutorials, perhaps you should come up with some sort of keyword system for your tutorials which the user can also search for. Not that I think you need a search box, you’ve not got enough tutorials.

The message on the Tutorial/Site Problems page needs clarifying: “I try to respond to your messages in 1/2 days” could mean that it takes ½ a day to respond to a message, that you only respond to messages on days that have halves (uh, none?) or that you respond to messages every ½ a day. That is of course unless you’re trying to suggest that you reply to messages every one or two days, in which case you should write that. Clear and concise = best. Perhaps your “Page of Error” input field could also take the referrer URL (<?php echo $_SERVER['HTTP_REFERER']; ?>) from the previous page so that the visitor doesn’t have to go back to copy and paste it?

Your downloads are mostly 3rd party scripts and fonts that you don’t own and therefore are breaking the law by redistributing. Beyond that, you’re also putting your users at risk by offering scripts as a 3rd party which may not have been recently updated to include security fixes and the like. The Easy Guestbook script, for example, has no validation of date input which means anybody using it could easily have ‘bad’ data injected to cause mass damage to their databases and hosting account. It also relies on register_globals being turned on, which again, not everybody has.

I had a giggle at your Services page. For somebody who claims fluency in PHP you don’t really tend to express that in your tutorials. I’ve been working with the language for a couple of years, have my own popular guestbook script, wrote my own weblog system and CMS and have advised friends on script security — and I’d still only consider myself a beginner with PHP!

Your entire site is badly written; I don’t know the first thing about you — not even your name! Every good website should have an introduction just to make your visitors feel more comfortable. I’m debating with myself what your qualifications are, official or practical. While you obviously have some skills in Photoshop (way beyond what I can do) your PHP and other coding is lacking any clarity, and in some cases lacking decent code too. I feel you should invest in a couple of good books before writing any more tutorials.