Choosing Form Over Function Kills Your Site



Get Web Design Tips and Tricks on mps-web-design.com. Choosing Form Over Function Kills Your Site topic will increase your understanding on Web Design Tips and Tricks. We at mps-web-design.com only provide news, articles, information in Web Design Tips and Tricks. Web Design Tips and Tricks at mps-web-design.com provides the most up to date news and articles. If you have questions please do not hesitate to contact us.

Never put form over function. Why? Because it's crucial that visitors actually be able to USE your site. Everything you do must be designed to be as easy for the visitor to understand as possible. Everything should be functional first.

If you put form before function, you sacrifice your visitor's best interest for your own preferences. By definition, putting form over function means you sacrifice function--you make it harder to perform whatever task is supposed to be performed. You give up ease of use or simplicity in order to make it look nicer. Basically, you wind up with a lot of icing and no cake.

Don't get me wrong--form often accentuates function, just like icing accentuates a cake. Something that is visually pleasing often increases the usability by making it more attractive or by using visual elements to increase understanding. Creative design can often be used to make a task easier to perform. It can entice the visitor to take whatever action you want them to take.

However, on the web, there are frequently contests between form and function. Designers make choices between whether to make something look nicer or make it simpler and easier to use. For example, these are common ways of sacrificing function:

  • Using an uncommon style of links that makes it hard to recognize the links.

  • Putting a textured background behind the copy, even though it will make the text harder to read.

  • Choosing a font color that doesn't have enough contrast with the background color.

  • Using a font face that is difficult to read.

  • Using an uncommon name for a common link. For example, "Talk" instead of "Contact us".

  • Placing elements in unexpected places. Like putting the logo on the right side of the page or placing the main navigation along the bottom of the design.

  • Using a splash page on the site because it looks neat, even though it keeps visitors from getting to the real information in the site.

  • Using a lot of fancy images that make the page load more slowly.

  • Opting for a totally graphical design with no copy on the main page. Regardless of the fact that visitors won't have a clue what the business is all about until they get further into the site.

These are all examples of choosing form over function. Unfortunately, if your design looks great but is hard to figure out, your visitors will be gone. They don't come to your site to admire the looks; they come to use the site--to find information or to accomplish a task. Anything you do to stand in their way is a no-no.

Most of the time, a visitor's attention span is about as long as snake fur. They have no patience. If you complicate their lives, they're outta here. Other sites are ready and waiting to meet their needs, so there is no reason they should struggle through your site. If you opt for form over function, you're likely to opt yourself right out of sales. Not good.

When you're designing your website, don't think about looks first. Always make function a priority. Think about what's going to be easiest for your visitors to use and understand. Then create an attractive presentation to accentuate it.



Parenting Secrets By Mother Of Five. - Raising Kids With Life Skills makes both parenting and growing up easier to do.
The Big Ezine Directory. - The Internets largest searchable database of ezines. Easy search functions with many search fields.

Some simple suggestions

Well I don't consider myself an expert, I do have experience with working with larger datasets and there are a couple of things that I always do to keep queries performing well.

Optimize Queries with EXPLAIN

Explain is your friend, get to know it well. If you take the time to read thru the Explain documentation on the MySQL site, you will find some valuable information, some of which is hilighted below.

Optimizing joins

Single sweep what?

MySQL resolves all joins using a single-sweep multi-join method. This means that MySQL reads a row from the first table, and then finds a matching row in the second table, the third table, and so on. When all tables are processed, MySQL outputs the selected columns and backtracks through the table list until a table is found for which there are more matching rows. The next row is read from this table and the process continues with the next table.

Why is this important? Imagine a main table - tableA - with 80,000 rows of data. This table has a corresponding n:n table that maps entries in tableA with a locations table. A query could be written as:

SELECT tableA.*, locations.location from tableA 
Left Join tableA2locations on 
tableA2locations.tableA_id = tableA.id
Left Join locations on 
tableA2locations.location_id = locations.id
where locations.location = 'sometown'

Keeping the above quote in mind, MySQL will read a row from the first table and join the corresponding data from the joined tables for that row and then sweep thru the rest of the data, joining as it goes along.

This leads us into the following section.

Number of rows needed to execute a query

You can get a good indication of how good a join is by taking the product of the values in the rows column of the EXPLAIN output. This should tell you roughly how many rows MySQL must examine to execute the query.

From the above, you can determine that for a query on tables that have not been properly indexed, a join can quickly become unwieldy when dealing simply with three tables with records in the thousands (1000*1000*1000 = a slow query). See HackMySQL for a good example of this.

Reducing the number of rows needed to execute a query

So beyond indexing properly for joins, you can still end up with a query that runs in a way that causes a bottleneck.

Taking our example from above, imagine that we use a where clause that limits the tableA selection to half (tableA.foo = 'bar' below):

SELECT tableA.*, locations.location from tableA 
Left Join tableA2locations on 
tableA2locations.tableA_id = tableA.id
Left Join locations on 
tableA2locations.location_id = locations.id
where locations.location = 'sometown' and tableA.foo = 'bar'

This starts us out with 40,000 rows of tableA data to examine. If there are a further 2000 rows from tableA2locations, thats 800,000 rows of data. Not astronomical, but significant. If this was a 3 or 4 table join, things could get ugly. What to do? The answer may be obvious to some: select first with the most limiting table:

SELECT tableA.*, locations.location from locations 
Left Join tableA2locations on 
tableA2locations.location_id = locations.id
Left Join tableA on 
tableA2locations.tableA_id = tableA.id
where locations.location = 'sometown' and tableA.foo = 'bar'

This starts us out with 1 selection from the locations table, then 2000 from tableA2locations. If the join between tableA2locations and tableA is indexed correctly, we are then left with an index join based on ID, rather then having to initially select 40,000 rows from tableA as in the previous example.

When I first started programming, it made sense to me to select from the main table (tableA) and join the lookups. But once you add some data to the mix and start to play with Explain, you quickly realize that selecting from the limiting table can make your server's life a little easier.

For further reading on the topic, I always send people to HackMySQL when they ask, so for more tips and tricks, be sure to have a read thru the optimize section of that site.



Article Index: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79


More Articles:


1. Increase Sales on Your Website! Use Graphics! By Andy Eaton
How many times have you clicked on a website only to find a screen full of text? You read a large-scale headline and then all you see is text, much like reading a letter. You scan down the page looking for something to attract your attention.Do you know what you’re really looking for? You’re looking, subconsciously or not, for a picture to show you what’s in the web site. You want to “see” what you’re getting into.A website without graphics is losing a major portion of the audience it’s ow…

2. Website Design Considerations By Tim Knox
Q: Should I build and maintain my business Web site myself or pay someone else to do the work for me? -- Wesley L.A: When you say, pay someone else to do the work for you, Wesley, I am going to assume that you are talking about hiring a professional Web site designer to do the work and not your next-door neighbor's teenage son. If my assumption is correct, then read on. If not, go ahead and surf on over to Dilbert.com. You will get no good out of the advice I'm about to give, so you might as …

3.


4. Web Templates: Replacing Designers? By William T. Lane
I’ve seen articles (and websites) that suggest you can buy a website template and skip the expense of hiring a professional website designer. Recently, I read several testimonials from the very satisfied customers of a website template vendor that mentioned how quickly they were able to get their sites done. The template vendor commented that he/she had known people to complete their websites in around two hours.With experiences and statements like these, it not surprising that more and more p…