Archive for the ‘Web Design’ category

My client wants a big flash banner – what do I do? Part II

December 30th, 2009

I’ve found several tricks that can reduce the footprint (loading and visual) and impact of a flash object.

It seems the most popular use of flash is that ever present top banner – that place you cannot avoid looking at.  And therein lies the problem.

First, consider a hidden division with keywords.

Place a division with a display none style above the flash to get those keywords and good descriptions up top.  Maybe repeat the good info from below the flash? Increase your keyword density on the sly! (Oh, if anyone sees a problem with this and search engines – speak up quickly!)

Think css backgrounds!

Create a division for your flash and attach a background image – a repeating one would be optimal. These images can usually be optimized to a very small size and repeating it requires little discernible load time.

Then make your flash background transparent.  The flash can appear to stretch the whole width across the web page but in actuality can then be a lot smaller than the space provided for. In other words, you can reduce the size and load time of the flash.

In addition, add some text into the division next to the flash – maybe even use a bit of jQuery to add animation to the text.  So then you will have searchable text at the top of the page as well.

Sample

Speaking of jQuery (and other javascript libraries)

Sometimes you can use it instead of flash and achieve the same effect for less cost to your customer.  I’m not fond of browser side scripting but the libraries can be very solid across different browsers; jQuery then reducing load time and using searchable text instead of that chunk of flash.

I use jQuery because it has a lightweight footprint, is CSS3  and crossbrowser compliant.  One simple little interactive effect is a text fade out. Note the ‘interactive’ part of that description. Click it and it works.  It’s a 2 minute set up in jQuery but much more time consuming in flash. You can read more about the jQuery library at jQuery.com.

CSS Positioning

The closer to the top of the page in the html, the better for SEO purposes  – so put the best content up top and push that flash down in the html.

Did you know that you can have the middle section of a three column layout fall after the left and right columns in the html code? Float left the left one and float right the right and the middle will then rise visually to top.   Don’t forget to put a fixed width on those floated divisions. If you’ve got Dreamweaver – the 3 column elastic layout is a good example of this technique.

Quickie code:

.left {
float: left; width: 200px;
}
.right {
float: right; width: 200px;
}

<div>this is the left side - keywords!!!!</div>
<div>this is the right side - keywords!!!!</div>
<div> and put the flash here at the bottom</div>

Then you could put background images in both left and right columns to make it look like part of the flash like I did in the above example.

CSS Advanced

Of course there are all sorts of fancy shmancy ways to arrange your divisions visually with CSS positioning to benefit SEO.  I, however, am a fan of simple CSS – straightforward CSS is more likely to be crossbrowser compliant and easier.  So I rarely ever use techniques like -500 margins for positioning sakes.  Which is kinda funny since I am using a template here on my blog that does just that!  (I was too lazy to do the CSS from scratch!)

Investigate the possibilities. Here’s three of my favorite sites with great demos, tutorials and usable scripts:

http://meyerweb.com
http://www.cssplay.co.uk
http://www.alistapart.com

Oh, no, my client wants a big flash banner -what do I do? part 1

December 24th, 2009

Any decent web designer/developer knows and understands the idea of best web practices, but what to do when your client won’t cooperate?

This got to be the biggest bane of web pros:  clients who pay to have it done their way rather than pay a web pro to manage the project.

I’ve developed quite a bag of tricks to deliver the look of what they want — and learned to accept the inevitable: they pay money for a site and then they may well pay (with money or lack of income) for it over and over because they didn’t listen to a web expert in the first place.

So what do you do?

The issues: search engine optimization, load time, visual distraction, function and, once more, search engine optimization.
The action keywords:
educate, negotiate and fronting (appear to give up the fight while working in the background).
The tools:
CSS, image optimization, and a lot of creativity in flash and javascript.

The best example we’ve all heard more than once in our careers: “But I want a massive, fancy, moving flash at the head of my page!”

So…

Educate:

  • explain how this hurts search engine optimization and therefore the website bottom line, i.e., importance of text, load time and positioning
  • gently mention how some visitors are distracted by moving elements, using the key phrase, “it distracts from your message or purpose”
  • explain the cost of the flash will not have a reasonable return on the money (I quote large prices for these kinds of flash objects)
  • give up when you get a blank stare or “but I want…” in return

Negotiate:

  • agree to a flash but require more text above it
  • insist on driving the flash creation (charge him/her less, bribe, do whatever it takes to have some control over the flash itself)
  • reduce the flash visual size
  • move it to one side instead of all the way across
  • agree to it only on the home page and use an image on subsequent pages.

Appearance:

  • work to create the visual look he/she wants but creatively work in the html and CSS code to mitigate the effects such as using a div with a background to blend into the flash images and that contains keyword-driven text
  • moving the flash div lower in the code with CSS positioning tricks
  • don’t forget flash can have a transparent background – move large visuals out of the flash and into backgrounds where possible
  • work to create a non-streaming flash that appears to stream by pre-loading images and watching the frame by frame load time
  • switch to a javascript solution such a jquery that will enable the use of keywords and lessen load time but still have a fancy appearance (oh and it’s more “Web 2.0″ – I do hate that phrase!)

I know a director of a state public health division who insisted on using certain fonts on the area website.  He wanted it to look a certain way on his computer and did not care about what anyone else saw. The employees did as they were told and the result is incredibly amateurish. Just ow!


When those in power are so shortsighted, well, eventually they will lose their job, retire or die.  We can only be patient.

In my next blog post, I’ll give an example of some of these techniques. so stay tuned.