| Advanced: 
                      Look Cool with a Graphical Interface 
                     If you've 
                      been paying attention, you may have noticed that some web 
                      sites look cooler than others. One feature which can make 
                      a web site look "cool" is a graphical interface. 
                      An interface can be used to enclose and meter the presentation 
                      of content which makes up a web site, as well as creating 
                      an interesting mix of information and navigational control. 
                       
                     Consider 
                      some of the things you find appealing from the world around 
                      you. Why do they appeal to you? Chances are that if you 
                      are reading this you are sitting in front of a computer, 
                      what does that computer look like? If you could choose between 
                      two computers which were identical, but one was a particular 
                      color that you liked better which one would you choose? 
                      A web site is no different. You may have excellent information 
                      to present, but when you put it all together it looks boring 
                      or worse, confusing. If you could present a little information 
                      at a time and wrap it in a container that made people curious 
                      it might increase the likelihood that your visitors would 
                      read more of what you had to say. 
                     This 
                      is where an interface can help. Creating an interface in 
                      the most basic sense involves conceptualizing a visual container 
                      and considering how you will present your information using 
                      that container. An interface can be large and complex 
                      with many decisions to be made during the creation process. 
                      Once an interface makes it into the "real world" 
                      it must have all of the ideas surrounding it worked out 
                      and implemented. Looking closely though, interfaces consist 
                      of some basic pieces, each of which can be broken down and 
                      clearly identified. In this issue we will examine the most 
                      visual piece on an interface and go into enough depth to 
                      give you something to get you up and running.  
                     Table 
                      of Contents
  Creating 
                      a shellMake a logical division
 Separate the pieces
 Create a rough <TABLE>
 Populate the <TABLE>
 Final adjustments and considerations
 
  
                     
 Creating 
                      a shell The 
                      most visual piece of an interface is its shell. This is 
                      the part that you see on the screen which is used to surround 
                      the text or content of a web site. In our example we will 
                      use an image of a floppy disk to build a very basic interface. 
                      The shell image can be created with a paint program (in 
                      our case we used Paint 
                      Shop Pro which is an excellent software package, but 
                      you could use something like Paint which is included with 
                      Windows, or any other program which is included with your 
                      computer.) 
                     You 
                      can use an existing image, or you can create your interface 
                      shell from scratch. If you have a hard copy of what you 
                      want, then you will need either to scan it or to draw it 
                      within your graphics program. The first step then is 
                      to conceptualize something to create an interface with. 
                      The second step is to scan or render it in a paint program. 
                      Here is an example of a completed rendering that we will 
                      convert to an interface. 
                           
 Make 
                      a logical division Once 
                      you have the end target of the interface drawn then you 
                      need to section it off into the individual pieces which 
                      comprise it. What does this mean? Consider that our web 
                      page in this example is not just going to be an image of 
                      a disk, but rather will have some text, hyper links, forms, 
                      and images just like any other web page might. Because all 
                      of these elements exist independently of the disk image 
                      above we need to find a way to fit everything together. 
                      How are we going to do this? There are a few ways this could 
                      be accomplished, for example we could attempt to use DHTML 
                      and CSS positioning to "put" the web page over 
                      the top of the image, but then we'd risk incompatibility 
                      with various browsers. Instead, the approach most often 
                      used is to create a wrapper out of our graphic and then 
                      "wrap" it around the content that will make up 
                      our web page. In order to do this we will need to break 
                      the image into the individual pieces which will be wrapped 
                      around that content.  
                      The third step then is to logically partition the individual 
                      pieces by drawing a grid over a copy of your original graphic, 
                      the grid will be used as a cutting guide. Here is an example 
                      of the image with lines drawn over it to partition of the 
                      individual parts. 
                           
                       
                     
 Separate 
                      the pieces  Once 
                      you have partitioned off these pieces you are ready for 
                      the fourth step, cutting and pasting each partitioned 
                      piece as an individual graphic. Using the cut and paste 
                      feature built into your paint program cut each piece and 
                      save it using a descriptive name. For example the top, left 
                      corner could be named "topleft", and so on. Our 
                      cut outs are named "topleft.gif", "top.gif", 
                      "topright.gif", "left.gif", "middle.gif", 
                      "right.gif", "bottomleft.gif", "bottom.gif", 
                      and "bottomright.gif" all of which describe perfectly 
                      which part of the interface they represent. Here are the 
                      individual pieces from the example. 
                       
                     Once 
                      you've cut down your interface store each of the pieces 
                      together. From a management standpoint it's often easiest 
                      to create a folder named descriptively to reflect the subject 
                      of the interface and then to store each piece of the interface 
                      (including the full picture and the partitioned picture 
                      in case you want to modify them later.)  
                       
                     
 Create 
                      a rough <TABLE> Once 
                      you've stored your interface you are ready for the fifth 
                      step which is to create the HTML to bring your graphics 
                      into your web page. Bringing an interface into a web 
                      page is accomplished through the use of <TABLE>'s. 
                      You can begin by creating a rough-out of a table which has 
                      enough cells to accommodate each of the pieces of the interface. 
                      In the case of our interface it will need a table with three 
                      rows each with three columns. Consider at this point where 
                      your web page content is going to appear as well. In our 
                      case this will appear in the very center of the interface, 
                      so at this point we will leave a place indicated where that 
                      content is to appear as well. Here is an example. 
                      
                     
<TABLE>
 <TR>
  <TD></TD><TD></TD><TD></TD>
 </TR>
 <TR>
  <TD></TD><TD>
<!-- content begins here -->
<!-- content ends here -->
  </TD><TD></TD>
 </TR>
 <TR>
  <TD></TD><TD></TD><TD></TD>
 </TR>
</TABLE>
 
 Populate 
                      the <TABLE>  
                       
                      Now 
                      that you have the basics of the <TABLE> displayed, 
                      you can begin plugging in the <IMG> tags necessary 
                      to fill the individual cells of the table with the components 
                      of your interface. At this point we need to be considerate 
                      of the fact that the content occupying the center of the 
                      table is going to need to stretch both "top.gif" 
                      and "bottom.gif" and also "left.gif" 
                      and "right.gif" in order to fit into the table 
                      without causing the interface peices to appear to break 
                      apart from each other. We can get stretching to occur by 
                      using each of those specific graphics in the BACKGROUND= 
                      property of the <TD> tag. We do need to make an addition 
                      in these background cells also, specifically we will use 
                      a transparent pixel to insure that the cell width or height 
                      will not collapse below a minimal acceptable distance. This 
                      means that one additional graphic needs to be added to your 
                      interface. Create a single pixel, and use the ".gif" 
                      format (or another format which supports transparency such 
                      as ".png") and save the pixel as a transparent 
                      graphic. We named our transparent graphic "pixel.gif" 
                      which we will load using an <IMG> tag and set to the 
                      width or height that we wish to be the minimum size allowable. 
                      We continue the development from the example above. <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 ALIGN=center>
 <TR VALIGN=top>
 <TD><IMG SRC="disk_if/topleft.gif" ></TD>
 <TD BACKGROUND="disk_if/top.gif">
 <IMG SRC="disk_if/pixel.gif" WIDTH=100 HEIGHT=1>
 </TD>
 <TD><IMG SRC="disk_if/topright.gif"></TD>
 </TR>
 
 <TR VALIGN=top>
 <TD BACKGROUND="disk_if/left.gif">
 <IMG SRC="disk_if/pixel.gif" WIDTH=1 HEIGHT=100></TD>
 <TD BACKGROUND="disk_if/middle.gif" ALIGN="LEFT"><IMG 
                    SRC="disk_if/middle.gif">
 <!-- content begins here -->
 
 Hi Mom!<BR>
 This is my web page.<BR>
 I think it looks like a floppy disk.
 
 <!-- content ends here -->
 </TD>
 <TD BACKGROUND="disk_if/right.gif"><IMG SRC="disk_if/pixel.gif" 
                    WIDTH=1 HEIGHT=100 ></TD>
 </TR>
 
 <TR VALIGN=top>
 <TD><IMG SRC="disk_if/bottomleft.gif"></TD>
 <TD BACKGROUND="disk_if/bottom.gif"><IMG SRC="disk_if/pixel.gif" 
                    WIDTH=100 HEIGHT=1 ></TD>
 <TD><IMG SRC="disk_if/bottomright.gif"></TD>
 </TR>
 </TABLE>
  Once 
                      you have finished adding in the <IMG> tags which will 
                      bring in the individual pieces of the interface shell you 
                      should be able to view it in your browser. Here is the result 
                      of the newly populated <TABLE> code. the version on 
                      the bottom is the same code with the addition of BORDER="1" 
                      so you can see how the graphics fill the individual cells. 
                     
                       
                        | 
                             
                              |  |  |  |   
                              |  | Hi 
                                Mom! This is my web page.
 I think it looks like a floppy disk.
 |  |      
                              |  |  |  |  |   
                        | 
                             
                              |  |  |  |   
                              |  | Hi 
                                Mom! This is my web page.
 I think it looks like a floppy disk.
 |  |      
                              |  |  |  |  |  
 Final 
                      adjustments and considerations  Now 
                      that you have created the interface you may want to tweak 
                      the way that it looks by re-sizing pieces of it in order 
                      to balance the visual weight. For example if you compare 
                      the image above with the original drawing of the floppy 
                      disk you will no doubt notice that proportionally they do 
                      not match. As the content in the label area of the floppy 
                      disk gets larger the appearance of the interface diverges 
                      further and further from how it looked originally. You can 
                      compensate to some degree in order to try and maintain some 
                      semblance of the original look. For example you could impose 
                      a restriction on the amount of content you will allow to 
                      occupy the label area, but doing so decreases the usefulness 
                      of the interface making it work only with sparsely populated 
                      web pages for example. Another solution might be to use 
                      DHTML and JavaScript to dynamically re-size elements of 
                      the interface based on a percentage of the size of the label 
                      area.  
                     These 
                      are issues that anyone building an interface must deal with 
                      at some point, and it's not the last area of interface by 
                      any means. Another area that remains for further study is 
                      a consistent means of linking other web pages or web resources 
                      which you may want to display in your interface. Consistency 
                      is one of the most important features of a good interface 
                      because it allows the user of an interface to learn its 
                      workings well enough that many of the activities which consume 
                      time can be sped up. For example if the user discovers that 
                      a site index occupies a panel on the left of each web page 
                      in a site then the process of navigating through the site 
                      can be made easier for that user. If you would like to learn 
                      more about interface design you might want to check out 
                      the following resources. 
                      About.com 
                      - InterfaceCNET.com 
                      - Spotlight on navigation design
    Back 
                      to Build Your SiteBack 
                      to Table of Contents
 |