Saturday, March 1, 2008

Add-On Domains, Parked Domains and Sub-Domains

Once you have a website up and running, you may want to launch other websites. The default way to do it is to register new domain names and open new hosting accounts. However, opening new hosting accounts can be expensive, especially if you still have plenty of free space and bandwidth available in your original account. Fortunately, it is possible to share the web space and bandwidth of your original account among different sites.

You can basically do so through:
Add-On Domains
Parked Domains, and
Sub-Domains

What is an Add-On Domain?
An add-on domain is a new domain name that points to a subdirectory within your existing domain hosting account, where the website for the new domain will reside. Add-on domains must be registered domain names that you own, and that are configured to point to your web host's servers.
From a web user perspective, an add-on domain functions just like any other domain. For example, if you already have a hosting account under www.main-domain.com, you can register and set up an add-on domain (for example: www.add-on-domain.com), so that when your visitors type "http://www.add-on-domain.com" in their browser, they will be transported to the new site.
The advantage of add-on domains is that the browser's address bar will show "http://www.add-on-domain.com" (there will be no reference to the original domain), so the process will be totally transparent to your users. If your users navigates to another page, their browser will accordingly show "http://www.add-on-domain.com/anotherpage.html", just like it should.
Apart from sharing web space and bandwidth with your main domain, add-on domains also get their own cgi-bin and statistics.
Many web hosts now offer to set-up add-on domains for free. This is only fair, since you are not getting any more web space or bandwidth. Others, however, will charge you a modest one time fee, which is not bad, especially when the cost of registering the new domain is included. Finally, some web hosts will charge you a montly fee for each add-on domain you set up. In some cases, that fee can be very close to the monthly cost of your web hosting account, to the point that it is better to just open a new hosting account for the new domain. If you plan to set up add-on domains in the future, you're better off avoiding this kind of account.

What is a Parked Domain?
A parked domain is a domain that doesn't have a hosting account associated to it, and that is usually enabled with URL forwarding capabilities, so that it points to an existing website. For example, let's assume that you already run a newsletter that is hosted in a subdirectory of your domain name, as follows: "http://www.domain.com/newsletter/index.html". You may at one given point want to register a separate domain name for your newsletter, so that it is more memorable, but may not want to move its pages to a new server, open a new hosting account, or pay to establish an add-on domain. You can then register a and park a new domain for your newsletter (for example: "http://www.newsletter.com"), which will be forwarded to "http://www.domain.com/newsletter/index.html".
You don't need to register this new domain with the same company that hosts your website. You can register it with any domain registrar (preferrably one that offers free URL forwarding) and point it to the physical location of the pages.
The difference between a parked domain and an add-on domain from a web user's perspective is that with a parked domain the URL in the address bar will change to the physical location of the page as the page loads. For example, if you type "http://www.newsletter.com", that domain won't remain in the browser address bar, but will change to "http://www.domain.com/newsletter/index.html" as soon as the page is displayed.
From a webmaster's perspective, the difference is that the parked domain won't have its own separate statistics reported through the control panel of your hosting account.
Parked domains are also a good alternative for webmasters whose site is hosted by a free hosting service, since by using a memorable parked domain users won't need to remember the cumbersome web addresses usually associated with free hosting accounts.
They are also widely used by members of affiliate programs, who forward the parked domain to the merchant pages, so that they don't have to use an affiliate URL that includes their affiliate id (which turns many people off).

What is a Sub-Domain?
A subdomain, also known as a "third-level" domain, is a great way to create memorable web addresses for various sub-sites of your site. For instance, Yahoo! uses subdomains for its different services, like "mail.yahoo.com", "music.yahoo.com", etc. The basic syntax is: "http://subdomain.domain.com".
Large businesses use subdomains to establish branding and focus on separate products or services, because a subdomain creates a separate URL and web presence, all within your same main hosting account. For example, a restaurant directory may establish sub-domains for different cities, or a school can set up subdomains for different academic programs.
It is also possible to redirect (forward) traffic from a particular subdomain to another location, either within the main site or to a different website altogether.
You should be able to set up and manage add-on domains, parked domains and subdirectories from your hosting account or domain registrar control panel. However, as we usually suggest, always consult with your web host before proceeding if you have any doubts.

Thursday, February 14, 2008

The real truth behind SEO Experts

I believe thousands of people get scammed every year by so called SEO Experts. Why? Well, because they can’t distinguish lies from the steel cold truth. Because they are too credulous and there are lots of guys waiting to take advantage from it. And of course, because they want great results with as little expense as possible.

So, how can you distinguish the good SEO companies from the fake ones? Well, first of all, learn not to believe in any of the following stories, that the guys from Hobo-Web put together a couple of days ago. I’ll show you only some of the "best" replicas:

  • We cannot show you results for clients as it is 100% confidential - so i guess i should take your word for it, ay mate?
  • We KNOW how Google works - well, that surely make you unique. Cause i don’t and i don’t think anyone does, not even Matt Cuts… But hey, that’s just my opinion. You’re the big SEO Expert, you know better…
  • Toolbar Page Rank Is Everything - Of course it is. And pigs fly. Oh no, wait, they don’t… That means there’s something wrong with your logic? Ironicaly, the PR myth is so deep-rooted. 90% of my clients ask me about it and demand a PR5+ for their site…
  • Submit To 75,000 Search Engines - Since Google, Yahoo and MSN have like 95% of the worldwide market, and you don’t even have to submit your site on them, what are all the other 74997 search engine submission worth? :P
  • We don’t rank for any “seo” terms because we don’t want to - or perhaps because you don’t know how to? Hmmm…

Anyway, clients like to see high figures, so you can’t really blame companies for giving them what they want, can you? But in the end, how can you be sure you won’t be duped when looking for the services of a SEO company? Well’ you can’t, but the risks should be minimal if you take these advices into consideration:

  • never sign a company that guarantees you results over night. Because we’re talking about a logical and longtime process that can’t happen over night, and which can’t always have the desired results
  • don’t fall for the big numbers: 50.000 search engines, 10.000 first positions in SERPs, thousands of visitors everyday, etc etc
  • try to work with companies/people recommended by your friends (or by many others on forums, groups, etc)
  • ask for previous work references
  • make sure you know what you are asking for and what are you expecting to obtain from a SEO company

Search engine optimization tips - the beginning

More and more people are planning to go big on the Internet, that’s why Search engine optimization tips is a very hot subject these days. But they must know at least the basics in SEO first. That’s why I’m going to write a nice guide on search engine optimization, with many episodes, covering all (or at least most of) the important things in this domain, with planning, On Page SEO, Off Page SEO, statistics, improving and of course tips.

SEO - The beginning

One of the important causes why some sites are successful and most aren’t is because their webmasters did their homeworks before starting building the project. They studied and researched. What? Well, there are many aspects.

1. Think about your site, about the idea behind it, about its topic, about its niche. Niched sites are the most likely to become big in time, as long as you don’t pick an overcrowded niche and you have something to say regarding that subject. So, going as deep in a niche as possible and being an expert there is important.

2. Study your competition. See how are their sites built (that’s why a SEO wannabe must have basic programming knowledge, like HTML, PHP, CSS), see on what keywords do they rank well, see where you can beat them.

3. Think about the keywords you’ll be focusing your main page. This article on keyword researching tools will help you.

4. Then, choose your site’s name. I suggest you go for branding instead of choosing a name that would help you from the SEO point of view. Why? Because a branded site name can pe optimized for search engines but a SEO name normally can’t (all the good domains are taken, at least on .com). Remember, the name should be simple, easy to remember but also should be related to your site’s topic.

5. Find a good and reliant hosting. I’m using Dreamhost and I’m satisfied with it. For 10$ a month i get 500 GB storage space, 5TB traffic, i can park as many domains as i want and so much more. If you’re interested you can get even better offers from here. You can use this code: MIKE84 , and get 2 extra FREE lifetime domain registrations that are well worth some bucks.

6. After you’ve done all of these, you’ll have to take a while and think about your site’s structure and layout. It is important to use also usability criteria here, to make your content easier to spot by your future readers. Use SEO friendly programing languages (more about this on a following article). For now, here are the basics:

  • No frames
  • As little Javascript, AJAX and Flash as you can
  • Use plain XHTML+CSS code. Use external CSS
  • Try to use a table less layout: reduces the page’s size so your site will load faster
  • Validate your code. It might be hard to eliminate all the errors, so focus on the important ones: don’t open a tag without closing it, don’t use improper attributes, etc

If you can’t build your site by yourself the way it should be, hire a specialist. It will well worth the money.

7. Plan your link structure carefully, as this is a crucial aspect.

On page SEO checklist

This is a short (actually not so short) checklist of ON page SEO factors i look at when someone asks me to analyze a site. There are others too, more complicated ones. I’ve just decided to share with you the basics… And a little bit more. So, enjoy.

The ON page SEO Checklist

  1. The arborescent structure
    • depth of the tree (should be at most 3 levels deep)
    • the logic dependence between levels (the child level has to be a particular case of its parent)
    • Existence of broken parts of the tree
  2. Link analysis

    • breadcrumbs (the navigation bar)
    • link structure (related to the structural tree)
    • use only absolute links, no relative ones
    • how is the link built (should contain only lower case words separated with "-"; special character and connection words should be eliminated)
    • length of the link (65 characters top is the best)
    • no duplicate links (different links with same content)
    • links should always end in "/ " (www.mikesquarter.com/article/) due to server loading problems
    • don’t use links ending with extensions (.htm, .html, .php, etc)
    • number of links on a single page
    • title attribute on each link
  3. Menus
    • Important keywords in menus
    • absolute text links
    • using Hs where needed
    • Use CSS menus rather than JS or Flash ones
    • use nofollow on secondary menus where needed
  4. On page SEO ChecklistIndexing and nofollow
    • use robots and index only the important pages (usually search and secondary pages should be excluded)
    • use nofollow internally
  5. Semantics
    • Title, keywords and description - unique for every single page
    • using H1 for title, H2 for subtitle, etc
    • using the Alt attribute for pictures and Title for links
    • using Em, Strong, etc to emphasize parts of the text
    • using internal linking
  6. Sitemap
    • use a sitemap
    • the standard of the sitemap
    • put in the sitemap only the links you want to be indexed
  7. Coding
    • validate your HTML and CSS code (might be impossible to do this, but take care of the important errors. for example, don’t leave opened tags unclosed, don’t use inappropriate attributes for a tag, etc)
    • external CSS
    • try not to use JS, Flash unless really needed. If you have to use it, make sure you have external JS.
    • Don’t use Frames or iFrames
  8. Gallery
    • make sure you have a little bit of content on each picture’s page in the gallery. (A short description of the image would do just fine)
    • use the Alt attribute and try to rename the picture accordingly to what you can see in it (actually, according to what you think users will search on Google to find that picture). Be short and descriptive.
    • use proper navigation in you gallery
    • I would not recommend on using Flash or JS galleries, even though they look quite good. That’s if you want your pictures to be found by Search engines.
  9. Other problems
    • personalized 404 page returning proper HTTP status code
    • domain canonicalization
    • table less design would be appreciated (not needed though)
    • keep your page dimension as low as you can (many Internet users in the world still use Dial up you know)

Well, this should help you make a decent analysis on your site.

Color in webdesign

I always thought a good designer should be more than creative. He should know stuff, have studies, have read lots of things about design, usability, etc.

Let’s take colors for example. Most of us choose the colors on our blogs/sites depending on one aspect alone: whether if we like it or not. That’s why most of the themes here on MQ had lots of blue and orange. But… a real designer would choose the colors depending on the target and on the style of the site. Because colors make us feel a certain way, so they can and should be used to support the purpose of a website.

Let’s take a look at the main colours now:

  • RED : signifies strength and excitement and it can stimulate people make quick decisions
  • BLUE: signifies peace, calm, good fortune
  • GREEN: best for nature associated websites , as it signifies movement, nature, environment. Should be very careful when choosing green as the main color, as if used badly, has been known to drive people away from a website
  • YELLOW is the color of ideas and stimulates mental activity and attention
  • ORANGE is the color of energy. Can be used to stimulate people on impulse reactions, such as buying stuff from your online magazine or clicking links
  • PURPLE, the color of nobility, combines the energy of red and the stability of blue. Symbolizes wisdom and ambition and is appreciated by the vast majority of children.
  • BROWN, the color of reliability, signifies comfort and durability, and gives the websites an air of professionalism. Careful not to confound Brown with Beige, the color of dullness
  • BLACK speaks to power, mystery and sophistication. It is used to make the more colorful parts of the sites stand out, like photo galleries. Too much black on a theme can be bad, as it would darken the mood of the visitors.

In the end, remember this: "Color is immediate, emotional and memorable. If you have a website, try this simple test. Look at it for a few moments and write down the feelings and words that come to mind. If your colors aren’t telling you the same story as your content it may be time to look at changing your color scheme."

Wednesday, October 3, 2007

VPS memory explanation

We noticed that some customers are somewhat confused about the way memory is allocated. A linux VPS allocates RAM the same way as any other linux environment. The biggest confusion previously was related to allocated(reserved) memory and assigned(used) memory.

Privvmpages
  • Soft limit
    This limit defines the maximum amount of memory that your VPS can allocate. This limit is usually set to 262,144 pages. 1 page is 4kb, so this limit is set to 1,048,576kb which is equal to 1024Mb (or 1Gb).

  • Hard limit
    This limit is typically just slightly higher than the soft limit, to make sure that your VPS wouldn’t die in case the soft limit is reached.

  • Current use
    This is the amount of memory that your VPS has currently allocated (note: allocated ram basically means “reserved” ram – it is not all actually being used).

Oomguarpages
  • Soft limit
    Despite what the name of this parameter implies, this number isn’t a limit, but a guarantee. This number is the guaranteed ram that’ll always be available to your VPS, no matter what happens.

  • Hard limit
    This parameter is always set to 2,147,483,647 – which basically means “indefinite”. In other words: this parameter isn’t being used by anything and can be disregarded.

  • Current use
    This is the amount of memory that your VPS is currently using.

RAM pages
In a 32bit environment, ram is always used by 4kb pages. A page is basically a "block". In order to convert something from pages to megabytes, you multiply by 4, then devide by 1024 (to go from kilobytes to megabytes). For example:

65536 * 4 / 1024 = 256

In other words: 65536 (4kb) pages equals 256mb. So if your oomguarpages soft limit is set to 65536, that means you have 256mb guaranteed RAM.


Current use: allocation vs. actual usage
As you can see in the above description, the current use of the privvmpages represents how much RAM your VPS has allocated, and the current use of the oomguarpgaes represents how much RAM is actually being used.

Now you might wonder; what's the difference between allocation and actual usage? Allocation basically means "reservation". For instance when you run a webserver, it might allocate 50mb ram but only use 20mb of that allocation.

Your RAM guarantee applies to the actual usage. For instance if you have 256mb guaranteed RAM, your VPS can safely allocate 400mb if the actual usage is less than 256mb, since the guarantee applies to the actual usage (e.g. it simply doesn't matter how much ram is allocated).


Burstable RAM
By now it should probably be clear what guaranteed RAM is. But what is burstable RAM? Burstable RAM is the memory that's available beyond the guaranteed ram. For instance your VPS might have 256mb guaranteed ram, and 1024mb burstable ram. This means that after you have used up your guaranteed ram, there's still 768mb burstable ram available for burst usage - IF there's enough free memory on the host server.

We always leave some extra memory available in each host server as burstable ram. Additionally extra burstable ram is available if another VPS on the same server doesn't use up all of its guaranteed RAM.

Please do keep in mind that in the event a VPS suddenly needs its guaranteed RAM, that VPS will always get it. As a result, that may also mean that a VPS which is using burstable RAM, may get some processes killed in order to reduce its burstable RAM usage. As such, it is highly recommend to not rely on burstable ram except for peak usage. As a rule of thumb, you should always make sure that your guaranteed RAM covers your typical ram usage. For instance if you typically use 350mb ram, you shouldn't get a VPS with 256mb guaranteed ram, since you'd be using almost 100mb ram which may get killed off. Surely it may work just fine - but your processes are at risk that way.
..

Monday, September 3, 2007

Website Testing: Conquering Cross-browser, Cross-platform Woes

As I was doing final cross-browser testing for a redesign of SKDesigns, my website design business, the design implementation was working quite well in nearly every mainstream browser for Windows, Mac, Linux, and even the Lynx text-only browser. Unfortunately, though, I found problems with three old or little used browsers, such as Internet Explorer 5.2 for Mac that destroyed the CSS-positioned layout. I toiled over how to best handle these browser bugs, especially since my upcoming Web design book—currently in production at my publisher—stresses the importance of usability, readability, and degrading gracefully for older browsers. Today’s post covers part of my decision-making journey and choices of approaches for dealing with these CSS bug-riddled old and little-used browsers.

Basic Development Goals

First, my basic development goals for this redesign project:

  • Standards-compliant for XHTML 1.0 Transitional, CSS 2.1
  • WCAG-compliant (W3C’s Web Content Accessibility Initiative), preferably Priority 2 or 3, but at least Priority 2
  • Use of liquid widths, not fixed widths, for the entire layout
  • The visual display doesn’t need to look identical in every browser, even the latest browsers.
  • The visual display should look the best in the latest browsers and degrade gracefully for older browsers so that even users with old browsers can read, navigate, and use the website.
  • Use CSS workarounds or hacks only as a last resort, maintaining W3C validation, such as those listed at Peter-Paul Koch’s site, CSS Hacks: Safe List and his article at Digital Web, Keep CSS Simple.

Design and Development Approach

I kept in mind the above goals while I created the visual design. Here’s the basic skeleton layout upon which I created the design and markup:

skdesigns basic layout

As I also recommend in my upcoming book, I first developed the design for the homepage to validate to W3C Recommendations, which in this case was XHTML 1.0 Transitional and CSS 2. I then checked it with Opera 8 and Firefox 1.04 since they support CSS 2 the best at the moment. Once those worked, I checked it with Internet Explorer 6, finding plenty of problems due to several of this browser’s frustrating CSS bugs, such as the following:

  • Float problems, as explained at Position is Everything’s The Float Model Problem.
  • IE’s 3-pixel text shift problem, as explained by John Gallant and Holly Bergevin via Position is Everything’s The IE Three Pixel Text-Jog and via How To Attack An Internet Explorer (Win) Display Bug.
  • Jumping text when a link is hovered, as explained by Ingo Chao via Position is Everything’s Quirky Percentages in IE6’s Visual Formatting Model—my section navigation links jumped to the left on hover. In addition, within the main content area, text a paragraph or heading below the hover jumped up(!), but I suspect it’s for a similar reason. I think I’ve finally resolved both problems, in part by designating my
    containers with negative margins:

    #somecontainer{
    margin-left:-3px;
    margin-right:-3px;
    }

    The problem is totally resolved if I also add the same to the left padding:

    #somecontainer{
    padding-left:-3px;
    }

    The W3C validator doesn’t like negative padding even though negative margins will validate, however. I removed all but one negative padding designation, and I think the bug is still gone, but I’ll be doing further retesting.

I then checked it with Lynx (text-only browser) and Netscape 4.x. So far so good.

Checking Colors

In addition, I checked the visual design on several different displays to see how the colors looked on a variety of displays. On one computer’s display, the topmast’s heading background looked incredibly washed out rather than showing the rich colors that I had in mind. The colors looked as intended on my own computer’s display set to the sRGB standard. I went back to Photoshop and did some serious color revisions to try to better compensate for other displays.

When all that checked out OK, I then created a couple of internal pages and retested, repeating until I’d created all the pages.

Then a Print Style Sheet

At that point, I went ahead and created a simple print style sheet. As you’ll see in the Netscape 4 example below, the on-screen top heading’s logo image is a transparent .gif image that floats over its topmast area dark multi-colored background, but its edges appear jaggedy without its needed dark background, as I expected. I created a different version for print that works for a white background. I stipulated in my CSS to hide for screen and show for print, and likewise to hide the screen version in my print style sheet, such as:

In my screen style sheet:

#logoscreen {display:block;} /* screen logo */
#logoprint {display:none;} /* print logo */

In my print style sheet, the opposite:

#logoscreen {display:none;} /* screen logo */
#logoprint {display:block;} /* print logo */

I tested the print version by clicking on Print Preview in Firefox, Opera 8, and IE6, where it worked as expected. I didn’t check it in Netscape 4 at that point, though, which bit me later, as I explain below!

More Cross-Browser, Cross-Platform Tests

Finally, I checked several pages via BrowserCam, especially for Mac browsers, where I found frustrating problems:

  • Positioning problems in IE5.2 Mac make the pages difficult to impossible to read due to content floating over other content, such as the footer area with the bottom-of-page navigation and contact links that should rest at the bottom of each page. The bottom dark blue strip should span the entire width of the page, too. The visual display in IE5.2 Mac is not good.

    Explorer 5.2 Mac OSX 10 floats

  • The bottom navigation in IE4 Windows didn’t display as inline list items, in addition to floating up over the content area. The bottom navigation should be a fairly narrow horizontal navigation strip that spans across the bottom of the page, similar to the dark navy strip just below it, not the fat dark tan area with block list item navigation that’s rendered by IE5.2 Mac in the example below. There’s also the big white gap below the footer, too, that shouldn’t be there, of course! UGH!

    Explorer 4, Windows 98 bottom navigation mess

  • In Netscape 4.x, the “print only” version top-of-the-page logo graphic and the on-screen logo appear at the top of the page, along with no background for the topmast, so it looked horribly ugly:

    nn4.8 linux8 both logos

  • Konqueror 3.05 for Linux 8.0, moves the right column to the bottom of the page, overlapping the footer and making a big mess, to put it mildly.

What To Do About Old Browsers, Little-Used Browsers?

Next came deciding what to do about these problems. My bare minimum requirement is to be sure the site is still usable and readable in the above problem browsers. The above problems didn’t meet that, as shown in those screenshots.

Re-check Bug Lists

First, I thought I’d re-check bug lists to see if/what I’d forgotten to allow for that I hadn’t already covered. Some insightful online resources are:

Re-check Browser Stats

Next, I decided to check the browser stats for IE5.2.3 Mac, Konqueror 3.x for Linux, and the latest for IE4.x and Netscape 4.x. Even 1/2% or 1% using any of these still means 300-600 visitors to my business site each week who wouldn’t be able to read the content or navigate through the site, which is not OK with me. I wanted to at least meet the minimum.

At the same time, these browsers have plenty of bugs and oddities, and I really didn’t want to spend a lot of time with this or mess up my CSS for the most-used mainstream browsers.

To make sure the stats numbers in my head were still current, I re-checked my site’s browser usage statistics and other freely available browser stats and general trends. I especially wanted to find out the numbers of visitors using specific Mac browsers, and how the trends are going. I also know that stats aren’t totally accurate, so checking several sources gives me a broader picture, not just what my own site visitors use in any given week. Here are a couple of helpful resources:

  • Browser News by Chuck Upsdell, is one of the best places to find out the latest trends, stats, and summaries about them. You’ll also find links to plenty of resources for more information. I spent a little time reading the latest and following a few of the links to other stats.
  • Browser Statistics by Rendering Engine by John Haller culls stats from WebsideStory, OneStat.com, and TheCounter. As Haller states, “All three are imperfect, but together, they may cancel out some limitations. WebSideStory is very US business-centric. OneStat is more global. TheCounter is more geared to smaller sites.”
What are Other Current Opinions?

I also wanted to see what others are doing about these browsers, especially IE5.x for Mac and Windows. Here are some resources that I found helpful:

Figuring Out Practical Solutions

Given the numbers are so small and diminishing as the weeks go by, I decided to serve these old or little used browsers a visually simple website that’s readable and navigable, although it won’t have the visual design seen in current mainstream browsers.

First, I thought I’d try an approach to hide style sheets from IE5 Mac. That way I’d keep hacks and workarounds to a minimum within my style sheets. Here are some possibilities that I explored, the latter of which I chose to use for my site:

After I tested that filter, I also added another filter to hide my style sheets from IE3-5 Windows, too: Tantek Çelik’s High Pass Filter. The result in IE5 Mac and IE3-5 Windows is a visually simple one, but it’s now readable and usable. In addition, I didn’t need to add any more hacks within my existing style sheets. I can live with this result for such a small number of visitors, especially since those numbers keep shrinking.

ie5.23macafterfilter250

I created a simple style sheet for all browsers, but these old or little used browsers can see and use it without any harmful effects, including Netscape 4.x. The latest browsers can also use another more advanced style sheet that they can handle that’s hidden from these old or little used browsers via the filters. I might add more styles to the simple style sheet before I finish the redesign, but I haven’t decided on that yet. I can live with it like it is right now, too, especially knowing that those using these older or little used browsers can still use the site.

Along the way I found info on serving a style sheet only to IE5 Mac, for those interested in trying that. This is shown with a great explanation via Stop Design’s Doug Bowman at IE5/Mac Band Pass Filter:

/*\*//*/
@import "ie5mac.css";
/**/

Browser CSS Bugs, Hacks, and Workarounds

I’ve talked about hacks and workarounds a fair amount in this post, but I’m still a firm believer that it’s far better in the long run to create your style sheets without any hacks or workarounds first, and then only use them conservatively when deemed absolutely necessary. For example, you can do a lot to avoid many of the browser quirks and bugs by how you approach your CSS. There’s plenty of documentation around the Web about it, but here are a few:

  • CSS Crib Sheet? posted November 19, 2003, by Dave Shea via his website, mezzoblue.com. Be sure to review the comments for that post, too, as it’s an interesting discussion.
  • CSS Problem-Solving posted March 3, 2004, also by Dave Shea, which is somewhat of a follow-up to the above.

If you’re creating your own site that you can monitor and change as new browser versions come out, you might not need to be as conservative, but if you complete a site for a client and you sign off on the project, it might be better to avoid hacks and workarounds, or at least keep them in a separate style sheet that can be more easily removed once they’re not needed.

Hacks and workarounds today may cause problems later. The next version of Internet Explorer is on the horizon, and other browsers will continue putting out new versions, too. The approach I’m really talking about here is coined “Progressive Enhancement.” See Steve Champeon’s article via Webmonkey: Progressive Enhancement and the Future of Web Design.

See also Integrated Web Design: Strategies for Long-Term CSS Hack Management, by Molly Holzschlag for Informit.com, June 24, 2004.

Checking Visual Layouts via Online Screenshot Services

As I researched IE5 Mac info and testing, I learned of and tried some free Mac screenshot services online, including the following:

  • BrowserShots, a free screen capture service for several Macintosh browsers at 800x600 and 1024x768: Firefox 1.0.4, Safari 2.0, MSIE 6.0, Opera 7.54. As I write this post, there’s a 12-day turnaround time for screenshots, as there are lots in line ahead of you.
  • iCapture, free screen captures with Safari for Mac.
  • lixlpixel Screen Capture, free screenshots with these Mac browsers: Safari 2.0, Internet Explorer 5.2.3, Mozilla 1.7.7. The screenshot results are immediate, too—no waiting.

In addition, I also use BrowserCam, which is a commercial service:

  • BrowserCam is a fabulous service that I wholeheartedly recommend. While the free services above are free, they only do the top of the page with a limited number of browsers. If you use an anchor within your page, though, such as #footer and input your URL with the anchor, such as http://website.com/pagename.html#footer, you’ll get that part of the page. (Thanks to lixlpixel for that tip!) BrowserCam will take screenshots that cover the entire page based on page scroll increments, which is how I identified the footer navigation problems shown above, for example. In addition, BrowserCam includes quite a few browsers on multiple platforms.

Getting Ready for Launch

My business site’s redesign is now almost ready to go. I’m in the midst of editing and updating all the content. I’ll do a final test of the entire site with CSE HTML Validator’s batch processing feature that checks for W3C validation, spelling, and links (really handy!). I’m planning to have it online live within a few days.

Ah, Web Standards!

Well, the hurdles I’ve had to jump over for this one redesign are another example of why Web standards matter. While the above may sound like a lot to figure out, the above is nothing compared to the version 3 and 4 browser days and the lack of even decent browser support for W3C Recommendations. At the same time, designers and developers like myself also wish standards support could be a lot better than it is now. We have to keep after 'em and continue to push for it.

Interestingly, most mainstream users don’t even think about standards. They just want to visit a website and do whatever it is they came to do there. That’s how it ought to be, too.

Users shouldn’t have to think about standards at all, in my opinion. Standards should live quietly in the background helping to make everything work smoothly regardless of the browser or platform. In an ideal world, we designers and developers wouldn’t have to deal with all these browser bugs, either.

Courtesy,

www.brainstormsandraves.com