Building a personal MAA website: Difference between revisions

From BoyWiki
No edit summary
Meco (talk | contribs)
link to glossary -> MAA
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{APD}}
<font color="#FEE048" face="Arial">Building a Personal MAA Website</font></h2>
    <hr color="#FEE048">
    <blockquote>
      <p><b><font color="#FFFFFF" size="4" face="Arial"><a href="#1">
      Introduction</a><br>
      <a href="#2">First Steps</a><br>
      <a href="#3">HTML Code</a><br>
      <a href="#4">Scripting</a><br>
      <a href="#5">Positioning Elements</a><br>
      <a href="#6">Graphics</a><br>
      <a href="#7">Content</a><br>
      <a href="#8">Design Concepts</a><br>
      <a href="#9">Multimedia and Extensions</a><br>
      <a href="#10">Web Server Issues</a><br>
      <a href="#11">Style Sheets and Other Technologies</a><br>
      <a href="#12">Search Engine Optimization</a></font></b></p>
    </blockquote><p></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">This brief
    tutorial on designing and publishing a personal website is intended for an
    individual who has not done so previously and is not highly knowledgeable of
    the process.&nbsp; This tutorial's intention is to lower the barrier of entry to
    on-line publishing for minor attracted individual's and contribute to an increase in the total
    number and level of quality of minor attracted community websites.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="1"></a>
    INTRODUCTION</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">The essence of
    a web page is a request that the user's client (his web browser) transmits
    to the server that the page resides on.&nbsp; The protocol of this  request
    is called HTTP and it contains specific pieces of information.&nbsp;  </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Of concern with respect to security is
    that it carries the website URL that the browser had loaded last before
    visiting a new site (this was
    designed to give webmasters an idea of where the traffic to their site is
    coming from).&nbsp; It also contains a number which uniquely identifies the
    requesting client (web browser).&nbsp; This is the "IP" address and is masked if
    the client is approaching the web server via a proxy.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">If you are
    running Microsoft Windows XP Professional, you can download for free and
    install the IIS Web Server on your personal machine.&nbsp; I recommend you do so
    to facilitate a development environment for your website.&nbsp; If you are
    running Linux you are probably a more sophisticated user than this tutorial
    is directed towards.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">I assume the
    reader has a concept of what they would like to create in terms of general
    content for their website.&nbsp; As such the next step is to secure a web
    domain.&nbsp; Please first consider the following questions:</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">1.&nbsp; Do you
    intend to abide by the "customary and usual" FAQs of on-line MAA community
    resources?&nbsp; If you choose not to do so, you should prominently advise such
    on your index page (the first page someone arrives at on your site).&nbsp; There
    is a well-developed set of rules that have been established by practical
    experience in terms of what is and what is not acceptable to maintain a
    legal site in the US, Canada, Europe, UK, and Australia.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">2.&nbsp; Is your content
    bandwidth-intensive?&nbsp; Discussing your plans with other knowledgeable
    people in the minor attracted community can probably provide an idea of what your
    hosting needs will be.</span></font></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; ">
    <font color="#FFFFFF" size="4">The minor attracted community has a long history of difficulty in
    finding website hosts who value our freedom of expression.&nbsp; You might
    consider registering your own domain (i.e. <a href="/web/20051216182101/http://www.yoursite.org/">
    www.yoursite.org</a>) rather than having it hosted as a subdomain by someone
    else.&nbsp; Be careful in the information you register the domain with; it
    will be publicly accessible and should not be your address or phone number
    unless you so desire.</font></span></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="2"></a>FIRST
    STEPS</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">You have registered a domain or found
    someone to host your site as a subdomain (and if finances or anonymity
    concerns preclude you from doing that, please contact pedfoundation.org for
    help).&nbsp; You have a logon to your web space on a host.&nbsp; You may
    have web-based tools to manage your website.&nbsp; You likely have access to
    e-mail tech support to solve host-specific problems in getting your website
    up and running.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Your first step
    is to acquire an FTP client and learn to use it.&nbsp; It allows you to create
    and delete file directories on your web host, and to upload and download
    files between your computer and the web host.&nbsp; Your design work takes place
    on your computer and the final result is published for testing.&nbsp; Your web
    host should have instructions for configuring the FTP client to establish a
    connect with your site.&nbsp; I have used AceFTP (shareware) and SmartFTP
    (freeware) with success.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">In our
    discussion earlier of the client's web browser sending a HTTP request (GET)
    to your web server for a specific file (for example, your "home page" is
    usually called index.html), the web server will then return a HTTP message
    to the client.&nbsp; The body of this message is the "web page", or the HTML code
    that the client's web browser will parse and display.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="3"></a>HTML CODE</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">You should
    familiarize yourself with HTML code and practice formatting documents with
    it. It does not display consistently across platforms, and that is one of
    the challenges of web design.&nbsp; You should load all of the major web browsers
    on your machine (netscape, internet explorer, opera, mozilla, lynx, etc.)
    and look at your work in a variety of them, and at different windows sizes
    (i.e. maximized and as a smaller window).</span></font></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; "><font color="#FFFFFF" size="4">
    The first group of html tags to become familiar with handle formatting text.&nbsp;
    Tags take the format of </font><font color="#FEE048" size="4">
    &lt;command&gt;</font><font color="#FFFFFF" size="4">, and whatever the tag
    specifies continues until the browser reaches a closing tag like </font>
    <font color="#FEE048" size="4">
    &lt;/command&gt;.</font></span></p>
    <blockquote><p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;b&gt;text &lt;/b&gt;
    bolds the text in between</span></font></p>
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;i&gt;text &lt;/i&gt;
    italicizes the text in between</span></font></p>
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;u&gt;<u>text </u>
    &lt;/u&gt; underlines the text in between</span></font></p>
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;font&gt;&lt;/font&gt;
    Allows specifying the font, size, and color (i.e. &lt;font color=#FFFFFF&gt;)</span></font></p></blockquote>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Colors are
    specified in six digit hex codes.&nbsp; There are good color pickers available as
    websites on the internet.&nbsp; You simply click on the color and it gives you
    the hex.</span></font></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; "><font color="#FEE048" size="4">
    &lt;h1&gt;&lt;/h1&gt;
    through &lt;h6&gt;&lt;/h6&gt;: </font><font color="#FFFFFF" size="4">
    &nbsp;Using the header tags increases the font size of the text in between.&nbsp;
    The header tag works in relation to the default text size for the client's
    browser. </font> </span></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial">There are similar formatting HTML
    tags for superscript, subscript, strike-through, setting a block of text off
   
    </span></font><font color="#FEE048" size="4">
    &lt;blockquote&gt;</font><font color="#FFFFFF" size="4">, paragraph formatting, line breaks  </font>
    <font color="#FEE048" size="4">
    &lt;br&gt;</font><font color="#FFFFFF" size="4">, and more.&nbsp; You should
    research these and practice hand-writing html code.&nbsp; You can do so in
    Notepad or in Word (making sure you Save As a plain text file).&nbsp; Save it
    with an .HTML file extension and load it through the OPEN à FILE feature of
    a browser.</font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">The next group
    of HTML tags to familiarize yourself with control display of lists.&nbsp; There
    are tags for ordered lists (i.e. numbered items) and for unordered lists
    (i.e. offset with a bullet).&nbsp; You can control the numbering scheme or the
    bullet employed.&nbsp; Numbering is automatic and generated by the client's
    browser.&nbsp; An example is:</span></font></p>
    <font color="#FEE048" size="4"></font><blockquote><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;ol&gt;&lt;li&gt;one</span></font><p></p>
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">&lt;li&gt;two&lt;/ol&gt;</span></font></p></blockquote><p></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Produces:</span></font></p>
    <font color="#FEE048" size="4"></font><blockquote><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">1.&nbsp; one</span></font><p></p>
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; ">2.&nbsp; two</span></font></p></blockquote><p></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Web browsers
    collapse space characters so you cannot depend on using your space bar to
    format a list.&nbsp; You can safely assume that most web browsers will
    collapse multiple spaces to a single space.&nbsp; There is a "trick" to
    doing it but it can have undesirable results.&nbsp; I use it frequently in
    tables (discussed below) though it is considered poor design.&nbsp; You can
    also use the </span></font><font color="#FEE048" size="4">
    &amp;nbsp</font><font color="#FFFFFF" size="4">
    entity (not between &lt; or &gt;) to get multiple spaces.</font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Images are
    embedded in your web page via the  </span></font><font color="#FEE048" size="4">
    &lt;img src=www.yourdomain.yourpicture&gt;</font><font color="#FFFFFF" size="4">
    tag.&nbsp;
    When the browser parses the web page from the server, it sends additional
    HTTP (GET) commands for each of these imagine requests it encounters.&nbsp; The  </font>
    <font color="#FEE048" size="4">
    &lt;img&gt;</font><font color="#FFFFFF" size="4">
    tag allows a number of attribute to be set, including the size to the
    display picture in the browser in pixels.</font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Hyperlinks can
    be attached to any object in your website including text, images, or objects
    such as Flash objects.&nbsp; The html tag is the anchor, and the href attribute
    is specified with a URL to load when the anchor is triggered.&nbsp; For example,
    &lt;a href=www.pedfoundation.org&gt;My Web Site&lt;/a&gt;</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">It is good
    practice to look at the size of your picture in pixels and specify this in
    the attributes of the  </span></font><font color="#FEE048" size="4">
    &lt;img&gt;</font><font color="#FFFFFF" size="4">
    tag.&nbsp; If you do the browser then knows how much
    space to set aside and can finish positioning everything from the html page
    in the browser window.&nbsp; If you don't, you get the effect of everything
    moving around when a picture finally loads.&nbsp; Also, it is a good practice to
    specify a relevant name for the picture in the alt text attribute of the  </font>
    <font color="#FEE048" size="4">
    &lt;img&gt;</font><font color="#FFFFFF" size="4">
    tag.&nbsp; It gives the search engines something to index and increase the
    relevancy of your page.&nbsp; Also many people surf with images turned off or
    with text-only browsers (particularly vision-impaired individuals) and your
    alternate text is their only connection to what the image is.</font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">The "trick" I
    mention to attempt to format a list without the &lt;ul&gt; or &lt;ol&gt; tags is to have
    a one pixel x one pixel transparent .gif image (.jpg doesn't allow
    transparency), and to specify its size attributes on loading.&nbsp; For example,
    if you wanted to indent a sentence, you could place the &lt;img src=images/spacer.gif&gt;
    tag at the beginning of the sentence and use the width attribute to stretch
    the single pixel image out &lt;img src=images/spacer.gif width=25&gt;.&nbsp; This is
    very handy in tables.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Our next short topic is HTML tags related
    to the document.&nbsp; A web browser recognizes the start of an web page by
    encountering the </span></font><font color="#FEE048" size="4">
    &lt;html&gt;</font><font color="#FFFFFF" size="4">
    tag, and recognizes the end of the web page by the </font>
    <font color="#FEE048" size="4">
    &lt;/html&gt;</font><font color="#FFFFFF" size="4">
    tag.</font></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; "><font color="#FFFFFF" size="4">
    Typically
    immediately following the</font><font color="#FEE048" size="4"> &lt;html&gt;</font><font color="#FFFFFF" size="4">
    tag are various meta tags that aren't
    necessarily relevant to your project.&nbsp; If you use a
    what-you-see-is-what-you-get web editor such as Frontpage, it will (you can
    control this by the defaults) throw in the program that generated it, the
    user who generated it, and the time and date.&nbsp; The important meta tag
    is </font><font color="#FEE048" size="4">
    &lt;meta content="your keywords"&gt;</font><font color="#FFFFFF" size="4">.&nbsp;
    You should list all relevant keywords related to your web page in this meta
    tag.&nbsp; Search indexes weight it in determining relevancy although it is
    not a strong factor.</font></span></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">The
    &lt;body&gt;&lt;/body&gt; tag identifies the content of your page.&nbsp; You can specify as
    attributes of this tag background colors, the text that appears in the title
    bar of the browser, images to tile for the background (make sure the web
    graphics you find for this are "tiling", or seamless when placed side by
    side), and more.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="4"></a>SCRIPTING</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">You may
    encounter script following the &lt;html&gt; as well.&nbsp; You can recognize it by the
   
    </span></font><font color="#FEE048" size="4">
    &lt;script&gt;&lt;/script&gt;</font><font color="#FFFFFF" size="4">
    set of html tags.&nbsp; It will specify the scripting language,
    such as javascript.&nbsp; This is code that is executed in the client's browser
    after the html document is loaded and parsed.&nbsp; It can do any number of
    things; play music, provide roll-over and special graphic effects by
    flipping two images in the same spot, or even provide an online game on the
    client's computer.&nbsp; </font> </p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">You do not have
    to be a programmer to use scripting.&nbsp; Most people have vbscript turned off
    because of serious security problems with that language.&nbsp; Search around the
    web for javascript apps you like; in most cases it is merely a matter of
    cutting and pasting the code into your html, and following the instructions
    provided with the code to customize it for your app.&nbsp; Bear in mind that you
    shouldn't create a situation where the only way to do something is through
    your script, because many people turn it off for security reasons.&nbsp; If your
    navigation system depends on javascript roll-overs (as the pedfoundation.org
    homepage does), for example, you should provide text hyperlinks at the
    bottom.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Scripting can
    appear anywhere in the html document.&nbsp; It is sometimes placed at the bottom
    so that it executes after the rest of the page is parsed.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="5"></a>
    POSITIONING ELEMENTS</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">One topic is
    also the most problematic, how to position the various elements of your web
    page in the client's browser.&nbsp; You do not know what size your client's
    browser is and you can make no assumptions about it, aside from perhaps a
    minimum that you feel a reasonable person won't shrink it down past.&nbsp; 640 x
    480 pixels is perhaps a reasonable minimum to design for.&nbsp; Someone
    looking at a site in a smaller browser window may get scroll bars.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">When the
    client's browser parses your html page, it will arrange things in default
    orders.&nbsp; For example, if you send a series of pictures (with no attempt to
    position them), the 640 x 480 sized browser window might tile the pictures
    one across and put each new successive one under the last.&nbsp; Eventually a
    scroll bar will appear.&nbsp; The 800 x 600 sized browser window might have room
    to display the pictures side by side for two of them before making a line
    break.&nbsp; In this case the pictures would be tabled in two columns.&nbsp; The
    browser does the best that it can.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">There are three
    options for positioning elements on your web page (outside of the
    text-formatting specific tags mentioned earlier).&nbsp;  </span></font></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; "><font color="#FEE048" size="4">
    The first  </font><font color="#FFFFFF" size="4">
    is using the
    positioning feature of Cascading Style Sheets.&nbsp; This is the preferred
    approach, and has somewhat of a learning curve to employ.&nbsp; Not using
    the CSS approach, however, might garner you criticism from experienced web
    designers.</font></span></p>
    <p class="MsoNormal">
    <span style="font-family: Arial; "><font color="#FEE048" size="4">
    The second</font><font color="#FFFFFF" size="4">
    is using javascript to position elements, which
    should probably not be your approach.&nbsp; Your website will fail terribly if
    the client has javascript turned off and it takes some work to learn the
    scripting language.</font></span></p>
    <p class="MsoNormal"><span style="font-family: Arial">
    <font color="#FEE048" size="4">The third</font><font color="#FFFFFF" size="4">,
    and perhaps easiest to master,</font></span><font color="#FFFFFF" size="4"><span style="font-family: Arial; ">
    option for positioning items are tables.&nbsp; It will take some time to get
    them to do what you want them to do in a variety of situations.&nbsp; You
    can nest tables within tables and this is very convenient.&nbsp; </span>
    </font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">In my opinion a
    beginning web designer should secure one of the web design packages and use
    it to learn tables.&nbsp; I am partial to FrontPage as it comes standard with
    Office XP.&nbsp; These applications will allow you to create tables in a WYSIWYG
    fashion, and then flip to looking at the html tags generating them.&nbsp; I find
    it rare that the wysiwyg interface generates what I need without me working
    directly on the html, but it helps me keep track of everything particularly
    with multiple nested tables.&nbsp; There are attributes set for cells, for rows,
    for columns, and for the whole table.&nbsp; Some of these are positioning,
    borders, and the widths and heights in either percent of pixels.&nbsp; Those size
    attributes will account for most of your struggle with getting a table to
    display your website content as you envision it.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">We have now had
    a very brief overview of text formatting html tags, the structural tags such
    as &lt;body&gt;, scripting, and tables.&nbsp; I encourage you to research and practice,
    with an emphasis on practice, of each of these topics.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="6"></a>GRAPHICS</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">And the
    graphics discussion is very simple.&nbsp; If you are an artist, you likely use a
    vector-based graphics program such as Coreldraw.&nbsp; These programs are useful
    for generating the raw graphics you will use on the web.&nbsp; Web design doesn't
    require artistic talent however.&nbsp; There are huge numbers of free graphic
    elements available on the internet.&nbsp; Search Google for "free web graphics".&nbsp;
    </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">As a web
    designer you will need a bit-mapped graphics program.&nbsp; Paintbrush is a
    simple and inadequate example.&nbsp; I prefer Photoshop; the GIMP (a GNU freeware
    application) has much of the same functionality of Photoshop.&nbsp; Both programs
    allow a great deal of freedom in manipulating images and creating cool
    effects.&nbsp; Both programs have functionality to optimize an image for the web,
    or compressing it as small as possible without losing quality.&nbsp; Both
    programs allow you to design your graphics in layers and then flatten the
    layers out.&nbsp; For example one layer might have a background of a woods and
    another layer the image of a person.&nbsp; You can move the person around on that
    layer without disrupting the background.&nbsp; You can apply filters for chiseled
    edges, pointillist artistic effect, etc.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">I prefer
    Photoshop, even thought it is an expensive application, for these reasons.&nbsp;
    First, it handles text much better than GIMP.&nbsp; It is very difficult for me
    to get the text effects I am seeking in GIMP.&nbsp; Second, Photoshop has a slice
    feature that allows you to cut a picture up before you save it in its final
    format (Photoshop's native format is .psd, and GIMP's is .pcx - both are
    layered graphic files and usually quite large).&nbsp; After slicing in Photoshop
    you can optimize the file compression and format for each of the slices.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">When saving in
    the .gif format, you can choose the number of colors (2-256).&nbsp; The more
    colors, the larger the file.&nbsp; Gif results in the smallest file sizes for
    images with fairly solid colors such as a blue sky or a logo.&nbsp; Jpeg formats
    are best in smallest size and quality for photographic-types of images with
    many colors.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">So photoshop's
    slice feature allows you to customize a large image into the fastest-loading
    image possible, and it spits out the html table code to reassemble the image
    seamlessly.&nbsp; It is a great time-saver.&nbsp; There are many useful capabilities
    of the different image formats you should investigate, including interlacing
    (where the whole picture is initially blurry and sharpens as more data is
    loaded) and animated .gifs (where several files are layered on top of each
    other, compressed into one file, and give the effect of flipping through
    index cards).</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="7"></a>CONTENT</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">So now you have
    a web domain and server with a login, an FTP client to upload files, a web
    page editor such as Frontpage, Hot Metal Pro, or the free open-source
    application Nvu, and a graphic-manipulation
    program such as GIMP or Photoshop.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">This is a good
    point to take a break from the practical considerations of software and
    skills to build a website and work on developing the site itself.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">My first
    suggestion is that you write a mission statement and a business plan for
    your website.&nbsp; Both are for your personal use and can be very brief.&nbsp; They
    are merely to clarify what you want to achieve and who your target audience
    is.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">And then begin
    developing the content, before designing the website.&nbsp; The fanciest site in
    the world won't draw visitors if it lacks useful and interesting content for
    the site's intended constituency.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">I suggest using
    the format I have used (i.e. a word document) and completely laying out all
    of the content for your website.&nbsp; Content includes text, links, and graphic
    images which support your goals for your website.&nbsp; Do it all in Microsoft
    word or a similar text editor to avoid the temptation of twiddling with your
    site design.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Remember:&nbsp;
    Content is what counts.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="8"></a>DESIGN
    CONCEPTS</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">So now with content in hand and tools to
    build your site, you are ready to put it all together.&nbsp; The site map
    for your domain should be clear to you.&nbsp; You don't have to get it
    perfect on the first shot, and if you struggle hard on getting something to
    work, put it down and write us.&nbsp; We will try and match you with help.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">My suggestion is that you surf for the
    free web template packages available on the net and put your first site
    together by customizing one of these that comes close to your vision.&nbsp;
    You will become very familiar with web design by doing so and be in a good
    position to design your own site from scratch later on.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Something to
    consider in your design is whether it will be an "Ice" design or a "Liquid"
    design.&nbsp; "Ice" designs are typified by tables of specified width (because of
    setting attributes or images loaded in them) that cause scroll bars to
    appear when the web browser window is pulled smaller than some set width.&nbsp;
    Liquid designs usually set the table width attributes as a percentage of the
    window rather than a fixed width in pixels, and scale with the browser when
    it is resized.&nbsp; There are advantages and downfalls to each, and it is
    worthwhile researching the design philosophies behind both.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="9"></a>
    MULTIMEDIA AND EXTENSIONS</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Video and audio
    can be provided on a website either via a hyperlink to the multimedia file
    (and depending on the client's computer to have appropriate software to play
    the multimedia, such as RealPlayer, Apple Quicktime, or Windows Media
    Player), or by embedding a player in the web page via code.&nbsp; I suggest
    relying on the client to play multimedia files unless you are familiar with
    coding or have access to someone who can help.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Background
    music for your website can be provided in a very low-bandwidth manner by
    having your html pull a midi file from your server.&nbsp; MIDI is a language
    describing different instrument and notes rather than encoding the whole
    sound spectrum such as a .wav or .rm file does.&nbsp; It is usually interpreted
    by a midi driver on your client's computer and played on their soundcard.&nbsp;
    It has significant limitations, particularly in terms of voice.&nbsp; You should
    provide a means for the client to turn it off (a toggle switch on your web
    page) as they may be listening to other music or prefer silence and find the
    feature irritating.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">There are many
    add-ins you can incorporate into your website.&nbsp; Macromedia Flash allows
    creation of sophisticated animations with audio effects.&nbsp; It can also be
    used to develop slide-show types of presentations.&nbsp; There are a number of
    such plug-ins and the software associated with generating the particular
    type of media.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">There are many
    special effects that various browser companies have developed as
    "extensions" to the standard html tags for their own browsers.&nbsp; Some are
    good enough that many browser companies have implemented them.&nbsp; Microsoft's
    IE has the most impressive range of such effects.&nbsp; This is why many sites
    are labeled "Best if viewed in IE 4.0 or better".&nbsp; Such effects include
    having the title text scroll across the top of the browser.&nbsp; If the page is
    looked at in a browser that doesn't support the tag extension (such as
    Firefox), the title is static and appears normally.&nbsp; Web sites built with
    the extended tags and various plug-ins are sometimes referred to as "DHTML",
    or dynamic html.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="10"></a>WEB
    SERVER ISSUES</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">We have
    discussed using javascripting for client-side functionality, such as
    different images appearing when the mouse rolls over them.&nbsp; There is a great
    deal of additional functionality available depending on your web host.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Web servers are
    generally UNIX servers (often built on the Apache web server) or Microsoft
    servers (built on Internet Information Server, or IIS).&nbsp; Both have
    advantages and disadvantages.&nbsp; It is probably cheaper and you will likely
    have better support in the community if you choose a UNIX server.&nbsp; </span>
    </font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">If you are
    using Frontpage, that application has a wonderful means to simplify managing
    your website.&nbsp; Although at the outset it may be hard to imagine that
    management being a big headache, as your site and the number of links grows
    it becomes difficult to keep track of everything.&nbsp; If you are hand-coding
    your html, there
    are many situations that require changing links in a large number of pages and the by-hand
    method is laborious.&nbsp; Frontpage will allow you to delete a page from your
    site, for example, and it will automagically (with prompting) remove the
    links from all affected pages.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">In Frontpage
    instead of using FTP, you can also use that application's "Publish" feature.&nbsp; It will
    republish your whole website and maintains records to know which files have
    changed and need pushed to the server.&nbsp; Microsoft IIS web servers support
    Frontpage natively; most web hosts have installed "Frontpage Extensions" on
    their Apache UNIX web servers to allow the same functionality.&nbsp; It eases
    management of a website a great deal.&nbsp; There are third-party website
    management applications available as well.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Just as you can
    execute script on the client's web browser, or client-side, you can execute
    script on your web server if your host package includes it.&nbsp; The
    disadvantage of client-side scripting is that you have no way of knowing
    whether they have scripting turned on or off to get the effect you are
    seeking.&nbsp; You can add text and html tags between a &lt;noscript&gt; &lt;/noscript&gt;
    tag to specify what happens if your script doesn't run, but your
    functionality is limited.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">There are
    fundamental differences between server-side scripting for UNIX servers and
    Microsoft/IIS servers.&nbsp; If your web host has enabled server-side includes (SSI,
    or server scripting) for your account, there are a large number of free
    applications available on the internet with detailed instructions for
    deploying them.&nbsp; Such scripts are executed on the server and return their
    results to the client web browser in standard html, transmitted via the http
    protocol.&nbsp; Server-side scripts can execute either from a request from the
    client web browser (such as in response to a button being pushed) or
    automatically when a page is requested from the server.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">An example of a
    server-side script executed in response to a request from the client web
    browser involves an image map.&nbsp; This is, for example, a map of the country
    which is intended to pull up a different web page depending on what region
    is clicked on with the mouse.&nbsp; This functionality can be built into the html
    code via client-side scripting, but if the client web browser has javascript
    turned off (as many do), it is useless.&nbsp; A solution is to transmit the pixel
    coordinate of the image that the cursor clicked on back to the server, and
    let the server determine what State was intended and return that information
    to the client web browser so that it can load the appropriate page.&nbsp; There
    are easy-to-use and free code snippets to do this.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">On Microsoft
    IIS servers, server-side scripting is usually VBscript (although it can be
    java or C++), and on Apache servers it is typically javascript, C, or Perl.&nbsp;
    </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Other common
    SSI applications include odometer-style page-hit counters, guest books,
    feedback forms, etc.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Sometimes it is
    desirable to push an html file to a client web browser that is customized
    based on unique characteristics of that client.&nbsp; Web pages in general lack
    what is called "persistency".&nbsp; If someone is on your home page, and clicks
    on a link to another page in your web site, the requested page has no
    information about that client other than their IP address and the page they
    came from.&nbsp; This has a number of implications for the client's experience on
    your website and the value of the logs generated for your domain.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Persistency is
    sometimes desired, for example, if your site has a "shopping cart" system
    where people buy things on various pages.&nbsp; This is a poor example but
    conveys the idea.&nbsp; One way to do this is described below under server side
    scripting.&nbsp; Another is through the use of cookies.&nbsp; Cookies are small text
    strings stored on a client web browser and can only be accessed by the
    domain that set them.&nbsp; They can either time-out and be deleted by the
    browser quickly (after they leave your site) or stored indefinitely.&nbsp; They
    can be used in the shopping cart example by maintaining a file on the server
    of what's in the cart, indexed to the text value stored in the cookie.&nbsp; Many
    people are paranoid of them and have them turned off severely limiting their
    usefulness.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">On the topic of
    logs, your server will generate a log which you may or may not have access
    to (depending on the nature of your web hosting account).&nbsp; Typically "free"
    hosts will only give you the total disk space you are using and the total
    bandwidth your site has consumed in a given period of time.&nbsp; Premium or
    unrestricted accounts will give you control of your own logs.&nbsp; Such accounts
    may include sophisticated web-based analysis tools for your logs which are
    important.&nbsp; There are also third party tools that you can download your logs
    to your computer and run the analysis on.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">While most
    people in our community will approach your site via proxies, some will not,
    and it is fair on your part to establish an account which will allow you to
    periodically erase the logs from your site (and thus the ip addresses of
    visitors).&nbsp; If your site is even moderately successful you will have more
    data than you can make sense of in the raw form.&nbsp; In my case, I twice peaked
    at 100,000 unique ip address hits (which is not the same as total hits -
    total hits could be one person bouncing your site for days on end).&nbsp; Those
    followed my domain addressed being announced on Rick Robert's KFMB program
    and then an Indianapolis evening news segment which clearly showed my domain
    address.&nbsp; </span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Web site
    statistics software will rank the most popular referrers for you so you can
    see where your traffic is coming from, and provide data on how people
    interact with your site so that you can see what's popular and what's not.&nbsp;
    You can also estimate your audience by looking at time breakdowns and making
    some assumptions (middle-of-the-night hits are typically European).&nbsp; You
    should publish on your site your policy for purging your logs and if you are
    not well known in the community consider enlisting someone to verify that
    you are doing as you say.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">In addition to
    allowing a client web browser to call server-side scripting, both the Apache
    and the IIS platforms allow a method to execute script upon receiving the
    client web browser's request for a page, and have that script generate the
    html returned.&nbsp; HTTP files generated in this manner typically have
    extensions of .php (for UNIX servers) or .asp (for IIS servers).&nbsp; </span>
    </font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">When the .php
    or .asp file is requested from the server by a client web browser, the
    server parses the script code in the beginning of the html file and executes
    it on the server.&nbsp; The html file itself may have nothing but structural
    headers (i.e. &lt;html&gt;, &lt;body&gt;) and the .php or .asp script.&nbsp; This is a very
    powerful technology.&nbsp; It allows maintaining persistency for a user between
    web pages on your site as you can append a variable (or "session id") to the
    end of the url returned to the browser.&nbsp; For example, a
    dynamically-generated (not to be confused with DHTML mentioned earlier) web
    page might return with the url "www.pedfoundation.org/index.php?AX1B3.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Thus the next
    http GET request from that client web browser will pass that variable back
    to the web server.&nbsp; This is the method used by software that password
    restricts access to portions of a website or powers most online shopping
    carts.&nbsp; It avoids the problems of cookies such as the client having them
    turned off.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">The .asp and .php
    technologies are used by bulletin board systems, chat servers, content
    delivered from database queries, etc.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">You can receive
    and / or transmit RSS newsfeeds from your website.&nbsp; MSNBC provides a free
    feed (as do many others) if you credit them.&nbsp; It can be used to fill a table
    cell with the day's news headlines or many other items.&nbsp; Transmitting RSS
    newsfeeds is more involved and worth investigating within our community.&nbsp;
    There is an opportunity to feed into major newsfeeds and have them carry our
    content.</span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="11"></a>STYLE
    SHEETS AND OTHER TECHNOLOGIES</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Cascading style
    sheets are useful for managing the "look and feel" of a website.&nbsp; They are
    separate html documents with specific formatting instructions linked to
    variable names.&nbsp; Then, throughout the website, the designer can use the
    variable name as an attribute rather than spelling out the specific
    attributes each time you use the tag, such as the color and size attributes
    of the font tag.&nbsp; In this fashion simply changing the color in the style
    sheet changes it throughout your website.&nbsp; It is worth researching elsewhere
    on this topic.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">XML, or
    eXtensible Markup Language, is an acronym you may encounter.&nbsp; It is a
    standard developed in response to the fact that while HTML indicates how the
    content should be rendered, it says nothing about the content itself.&nbsp; This
    poses a problem for search engines and functions in determining what is
    relevant on a web page.&nbsp; XML tags are user-defined and appear similar to
    HTML tags.&nbsp; Some typical applications are html documents which pull and XML
    data feed and format it according to the document's tags.&nbsp; The document is
    then highly searchable.&nbsp; It is probably not a relevant technology to your
    personal website.&nbsp; </span></font></p>
    <hr color="#FEE048">
    <p class="MsoNormal"><font color="#FEE048" size="4">
    <span style="font-family: Arial; font-weight: 700"><a name="12"></a>SEARCH
    ENGINE OPTIMIZATION</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">It is important
    to understand how search engines rank your website and to optimize your
    website to appear high in search results for the relevant keywords you are
    designing around.&nbsp; You should freely link to others who maintain pro-MAA
    websites in accordance with common FAQs (and are thus legal).&nbsp; Links should
    have a describe text name rather than just the site name for the search
    index's benefit.&nbsp; You should request as many people to link to you as
    possible as well.&nbsp; Also, never provide a direct link to our enemies
    websites.&nbsp; You only serve to boost their ranking by doing that.</span></font></p>
    <p class="MsoNormal"><font color="#FFFFFF" size="4">
    <span style="font-family: Arial; ">Please contact
    the pedfoundation for any assistance you require in building a personal
    website.&nbsp; We hope to see thousands of new sites all cross-linked within the
    next couple of years.&nbsp; I encourage you to do your part in building our
    community.</span></font></p>
    <hr color="#FEE048">
    <font color="#FEE048" size="4" face="Arial"></font><blockquote><font color="#FEE048" size="4" face="Arial">Please keep in mind that this tutorial is
    written for the novice at web design who wishes to create their own website,
    and is written by an amateur himself.&nbsp; Rewrites are certainly welcome.</font></blockquote><p></p>
    <hr color="#FEE048">
    <p align="center"><b><font color="#FFFFFF" size="2" face="Arial"><a href="/web/20051216182101/http://www.pedfoundation.org/workspaces.html">[RETURN
    TO  THE WORKSPACES PAGE]</a></font></b></p>
    </td>
    <td width="20" height="100%">
    <font color="#FFFFFF" face="Arial"><b>
    <img src="/web/20051216182101im_/http://www.pedfoundation.org/images/spacer.gif" border="0" width="10" height="1"></b></font></td>
  </tr>
  <tr>
    <td width="10" height="15"></td>
    <td colspan="3" width="185" height="15"><br></td>
    <td width="20" height="15"></td>
  </tr>
</tbody></table>
</td>


Building a Personal [[Glossary|MAA]] Website


This brief  tutorial on designing and publishing a personal website is intended for an  individual who has not done so previously and is not highly knowledgeable of  the process.&nbsp; This tutorial's intention is to lower the barrier of entry to  on-line publishing for minor attracted individual's and contribute to an increase in the total  number and level of quality of minor attracted community websites.


<td bgcolor="#FEE048" valign="top" width="24" height="100%">
==INTRODUCTION==
&nbsp;</td>


The essence of  a web page is a request that the user's client (his web browser) transmits  to the server that the page resides on.&nbsp; The protocol of this  request  is called HTTP and it contains specific pieces of information.&nbsp; 


</tr>
Of concern with respect to security is  that it carries the website URL that the browser had loaded last before  visiting a new site (this was  designed to give webmasters an idea of where the traffic to their site is  coming from).&nbsp; It also contains a number which uniquely identifies the  requesting client (web browser).&nbsp; This is the "IP" address and is masked if  the client is approaching the web server via a proxy.
<tr>
<td bgcolor="#FF99CC" width="20" height="19">&nbsp;</td>


<td bgcolor="#F3A12E" height="19">
If you are  running Microsoft Windows XP Professional, you can download for free and  install the IIS Web Server on your personal machine.&nbsp; I recommend you do so  to facilitate a development environment for your website.&nbsp; If you are  running Linux you are probably a more sophisticated user than this tutorial  is directed towards.
<p align="left">&nbsp;</p></td>


<td align="left" bgcolor="#BE5700" width="24" height="19">
I assume the  reader has a concept of what they would like to create in terms of general  content for their website.&nbsp; As such the next step is to secure a web  domain.&nbsp; Please first consider the following questions:
<p align="center">&nbsp;</p></td>


1.&nbsp; Do you  intend to abide by the "customary and usual" FAQs of on-line MAA community  resources?&nbsp; If you choose not to do so, you should prominently advise such  on your index page (the first page someone arrives at on your site).&nbsp; There  is a well-developed set of rules that have been established by practical  experience in terms of what is and what is not acceptable to maintain a  legal site in the US, Canada, Europe, UK, and Australia.&nbsp;


</tr>
2.&nbsp; Is your content  bandwidth-intensive?&nbsp; Discussing your plans with other knowledgeable  people in the minor attracted community can probably provide an idea of what your  hosting needs will be.
<tr>
<td width="20" height="19">&nbsp;</td>


<td>
The minor attracted community has a long history of difficulty in  finding website hosts who value our freedom of expression.&nbsp; You might  consider registering your own domain rather than having it hosted as a subdomain by someone  else.&nbsp; Be careful in the information you register the domain with; it  will be publicly accessible and should not be your address or phone number  unless you so desire.
<p align="center">
 
<br><span class="cttext">This page was last modified 18 July 2005.&nbsp; All text is available under the terms of the</span>
==FIRST  STEPS==
  <a class="ctdisc" href="/web/20051216182101/http://www.pedfoundation.org/Miscellaneous/gnu_license_agreement.html">
 
  GNU Free Documentation License</a><span class="cttext">. See
You have registered a domain or found  someone to host your site as a subdomain (and if finances or anonymity  concerns preclude you from doing that, please contact pedfoundation.org for  help).&nbsp; You have a logon to your web space on a host.&nbsp; You may  have web-based tools to manage your website.&nbsp; You likely have access to  e-mail tech support to solve host-specific problems in getting your website  up and running.
  <a class="ctdisc" href="/web/20051216182101/http://www.pedfoundation.org/copyright.html">Copyrights</a>
 
  for details.&nbsp; Your use of this site constitutes agreement to our
Your first step  is to acquire an FTP client and learn to use it.&nbsp; It allows you to create  and delete file directories on your web host, and to upload and download  files between your computer and the web host.&nbsp; Your design work takes place  on your computer and the final result is published for testing.&nbsp; Your web  host should have instructions for configuring the FTP client to establish a  connect with your site.&nbsp; I have used AceFTP (shareware) and SmartFTP  (freeware) with success.
  <a class="ctdisc" href="/web/20051216182101/http://www.pedfoundation.org/Miscellaneous/privacy_policy.html">
 
  Terms of Use</a>.&nbsp; Please also review our
In our  discussion earlier of the client's web browser sending a HTTP request (GET)  to your web server for a specific file (for example, your "home page" is  usually called index.html), the web server will then return a HTTP message  to the client.&nbsp; The body of this message is the "web page", or the HTML code  that the client's web browser will parse and display.
  <font face="Arial">
 
  <a class="ctdisc" href="/web/20051216182101/http://www.pedfoundation.org/Miscellaneous/privacy_policy.html">
==HTML CODE==
  Privacy Policy</a>.
 
</font>
You should  familiarize yourself with HTML code and practice formatting documents with  it. It does not display consistently across platforms, and that is one of  the challenges of web design.&nbsp; You should load all of the major web browsers  on your machine (netscape, internet explorer, opera, mozilla, lynx, etc.)  and look at your work in a variety of them, and at different windows sizes  (i.e. maximized and as a smaller window).
 
The first group of html tags to become familiar with handle formatting text.&nbsp;  Tags take the format of  &lt;command&gt;, and whatever the tag  specifies continues until the browser reaches a closing tag like  &lt;/command&gt;. &lt;b&gt;text &lt;/b&gt;  bolds the text in between
 
&lt;i&gt;text &lt;/i&gt;  italicizes the text in between
 
&lt;u&gt;<u>text </u> &lt;/u&gt; underlines the text in between
 
&lt;font&gt;&lt;/font&gt;  Allows specifying the font, size, and color (i.e. &lt;font color=#FFFFFF&gt;)
 
</blockquote> Colors are  specified in six digit hex codes.&nbsp; There are good color pickers available as  websites on the internet.&nbsp; You simply click on the color and it gives you  the hex.
 
&lt;h1&gt;&lt;/h1&gt;  through &lt;h6&gt;&lt;/h6&gt;:  &nbsp;Using the header tags increases the font size of the text in between.&nbsp;  The header tag works in relation to the default text size for the client's  browser.
 
There are similar formatting HTML  tags for superscript, subscript, strike-through, setting a block of text off  &lt;blockquote&gt;, paragraph formatting, line breaks  &lt;br&gt;, and more.&nbsp; You should  research these and practice hand-writing html code.&nbsp; You can do so in  Notepad or in Word (making sure you Save As a plain text file).&nbsp; Save it  with an .HTML file extension and load it through the OPEN a FILE feature of  a browser.
 
The next group  of HTML tags to familiarize yourself with control display of lists.&nbsp; There  are tags for ordered lists (i.e. numbered items) and for unordered lists  (i.e. offset with a bullet).&nbsp; You can control the numbering scheme or the  bullet employed.&nbsp; Numbering is automatic and generated by the client's  browser.&nbsp; An example is:
 
<blockquote>&lt;ol&gt;&lt;li&gt;one
 
&lt;li&gt;two&lt;/ol&gt;
 
</blockquote><p></p> Produces:
 
<blockquote>1.&nbsp; one
 
2.&nbsp; two
 
</blockquote>Web browsers  collapse space characters so you cannot depend on using your space bar to  format a list.&nbsp; You can safely assume that most web browsers will  collapse multiple spaces to a single space.&nbsp; There is a "trick" to  doing it but it can have undesirable results.&nbsp; I use it frequently in  tables (discussed below) though it is considered poor design.&nbsp; You can  also use the &amp;nbsp entity (not between &lt; or &gt;) to get multiple spaces.
 
Images are  embedded in your web page via the  &lt;img src=www.yourdomain.yourpicture&gt; tag.&nbsp;  When the browser parses the web page from the server, it sends additional  HTTP (GET) commands for each of these imagine requests it encounters.&nbsp; The  &lt;img&gt; tag allows a number of attribute to be set, including the size to the  display picture in the browser in pixels.
 
Hyperlinks can  be attached to any object in your website including text, images, or objects  such as Flash objects.&nbsp; The html tag is the anchor, and the href attribute  is specified with a URL to load when the anchor is triggered.&nbsp; For example,  &lt;a href=www.pedfoundation.org&gt;My Web Site&lt;/a&gt;
 
It is good  practice to look at the size of your picture in pixels and specify this in  the attributes of the  &lt;img&gt; tag.&nbsp; If you do the browser then knows how much  space to set aside and can finish positioning everything from the html page  in the browser window.&nbsp; If you don't, you get the effect of everything  moving around when a picture finally loads.&nbsp; Also, it is a good practice to  specify a relevant name for the picture in the alt text attribute of the  &lt;img&gt; tag.&nbsp; It gives the search engines something to index and increase the  relevancy of your page.&nbsp; Also many people surf with images turned off or  with text-only browsers (particularly vision-impaired individuals) and your  alternate text is their only connection to what the image is.
 
The "trick" I  mention to attempt to format a list without the &lt;ul&gt; or &lt;ol&gt; tags is to have  a one pixel x one pixel transparent .gif image (.jpg doesn't allow  transparency), and to specify its size attributes on loading.&nbsp; For example,  if you wanted to indent a sentence, you could place the &lt;img src=images/spacer.gif&gt;  tag at the beginning of the sentence and use the width attribute to stretch  the single pixel image out &lt;img src=images/spacer.gif width=25&gt;.&nbsp; This is  very handy in tables.&nbsp;
 
Our next short topic is HTML tags related  to the document.&nbsp; A web browser recognizes the start of an web page by  encountering the &lt;html&gt; tag, and recognizes the end of the web page by the  &lt;/html&gt; tag.
 
Typically  immediately following the &lt;html&gt;  tag are various meta tags that aren't  necessarily relevant to your project.&nbsp; If you use a  what-you-see-is-what-you-get web editor such as Frontpage, it will (you can  control this by the defaults) throw in the program that generated it, the  user who generated it, and the time and date.&nbsp; The important meta tag  is  &lt;meta content="your keywords"&gt; .&nbsp;  You should list all relevant keywords related to your web page in this meta  tag.&nbsp; Search indexes weight it in determining relevancy although it is  not a strong factor.
 
The  &lt;body&gt;&lt;/body&gt; tag identifies the content of your page.&nbsp; You can specify as  attributes of this tag background colors, the text that appears in the title  bar of the browser, images to tile for the background (make sure the web  graphics you find for this are "tiling", or seamless when placed side by  side), and more.
 
==SCRIPTING==
 
You may  encounter script following the &lt;html&gt; as well.&nbsp; You can recognize it by the    &lt;script&gt;&lt;/script&gt;  set of html tags.&nbsp; It will specify the scripting language,  such as javascript.&nbsp; This is code that is executed in the client's browser  after the html document is loaded and parsed.&nbsp; It can do any number of  things; play music, provide roll-over and special graphic effects by  flipping two images in the same spot, or even provide an online game on the  client's computer.&nbsp;
 
You do not have  to be a programmer to use scripting.&nbsp; Most people have vbscript turned off  because of serious security problems with that language.&nbsp; Search around the  web for javascript apps you like; in most cases it is merely a matter of  cutting and pasting the code into your html, and following the instructions  provided with the code to customize it for your app.&nbsp; Bear in mind that you  shouldn't create a situation where the only way to do something is through  your script, because many people turn it off for security reasons.&nbsp; If your  navigation system depends on javascript roll-overs (as the pedfoundation.org homepage does), for example, you should provide text hyperlinks at the  bottom.
 
Scripting can  appear anywhere in the html document.&nbsp; It is sometimes placed at the bottom  so that it executes after the rest of the page is parsed.
 
==POSITIONING ELEMENTS==
 
One topic is  also the most problematic, how to position the various elements of your web  page in the client's browser.&nbsp; You do not know what size your client's  browser is and you can make no assumptions about it, aside from perhaps a  minimum that you feel a reasonable person won't shrink it down past.&nbsp; 640 x  480 pixels is perhaps a reasonable minimum to design for.&nbsp; Someone  looking at a site in a smaller browser window may get scroll bars.
 
When the  client's browser parses your html page, it will arrange things in default  orders.&nbsp; For example, if you send a series of pictures (with no attempt to  position them), the 640 x 480 sized browser window might tile the pictures  one across and put each new successive one under the last.&nbsp; Eventually a  scroll bar will appear.&nbsp; The 800 x 600 sized browser window might have room  to display the pictures side by side for two of them before making a line  break.&nbsp; In this case the pictures would be tabled in two columns.&nbsp; The  browser does the best that it can.
 
There are three  options for positioning elements on your web page (outside of the  text-formatting specific tags mentioned earlier).&nbsp; 
 
The first is using the  positioning feature of Cascading Style Sheets.&nbsp; This is the preferred  approach, and has somewhat of a learning curve to employ.&nbsp; Not using  the CSS approach, however, might garner you criticism from experienced web  designers.
 
The second is using javascript to position elements, which  should probably not be your approach.&nbsp; Your website will fail terribly if  the client has javascript turned off and it takes some work to learn the  scripting language.
 
The third ,  and perhaps easiest to master, option for positioning items are tables.&nbsp; It will take some time to get  them to do what you want them to do in a variety of situations.&nbsp; You  can nest tables within tables and this is very convenient.&nbsp;
 
In my opinion a  beginning web designer should secure one of the web design packages and use  it to learn tables.&nbsp; I am partial to FrontPage as it comes standard with  Office XP.&nbsp; These applications will allow you to create tables in a WYSIWYG  fashion, and then flip to looking at the html tags generating them.&nbsp; I find  it rare that the wysiwyg interface generates what I need without me working  directly on the html, but it helps me keep track of everything particularly  with multiple nested tables.&nbsp; There are attributes set for cells, for rows,  for columns, and for the whole table.&nbsp; Some of these are positioning,  borders, and the widths and heights in either percent of pixels.&nbsp; Those size  attributes will account for most of your struggle with getting a table to  display your website content as you envision it.
 
We have now had  a very brief overview of text formatting html tags, the structural tags such  as &lt;body&gt;, scripting, and tables.&nbsp; I encourage you to research and practice,  with an emphasis on practice, of each of these topics.
 
==GRAPHICS==
 
And the  graphics discussion is very simple.&nbsp; If you are an artist, you likely use a  vector-based graphics program such as Coreldraw.&nbsp; These programs are useful  for generating the raw graphics you will use on the web.&nbsp; Web design doesn't  require artistic talent however.&nbsp; There are huge numbers of free graphic  elements available on the internet.&nbsp; Search Google for "free web graphics".&nbsp;
 
As a web  designer you will need a bit-mapped graphics program.&nbsp; Paintbrush is a  simple and inadequate example.&nbsp; I prefer Photoshop; the GIMP (a GNU freeware  application) has much of the same functionality of Photoshop.&nbsp; Both programs  allow a great deal of freedom in manipulating images and creating cool  effects.&nbsp; Both programs have functionality to optimize an image for the web,  or compressing it as small as possible without losing quality.&nbsp; Both  programs allow you to design your graphics in layers and then flatten the  layers out.&nbsp; For example one layer might have a background of a woods and  another layer the image of a person.&nbsp; You can move the person around on that  layer without disrupting the background.&nbsp; You can apply filters for chiseled  edges, pointillist artistic effect, etc.
 
I prefer  Photoshop, even thought it is an expensive application, for these reasons.&nbsp;  First, it handles text much better than GIMP.&nbsp; It is very difficult for me  to get the text effects I am seeking in GIMP.&nbsp; Second, Photoshop has a slice  feature that allows you to cut a picture up before you save it in its final  format (Photoshop's native format is .psd, and GIMP's is .pcx - both are  layered graphic files and usually quite large).&nbsp; After slicing in Photoshop  you can optimize the file compression and format for each of the slices.
 
When saving in  the .gif format, you can choose the number of colors (2-256).&nbsp; The more  colors, the larger the file.&nbsp; Gif results in the smallest file sizes for  images with fairly solid colors such as a blue sky or a logo.&nbsp; Jpeg formats  are best in smallest size and quality for photographic-types of images with  many colors.&nbsp;
 
So photoshop's  slice feature allows you to customize a large image into the fastest-loading  image possible, and it spits out the html table code to reassemble the image  seamlessly.&nbsp; It is a great time-saver.&nbsp; There are many useful capabilities  of the different image formats you should investigate, including interlacing  (where the whole picture is initially blurry and sharpens as more data is  loaded) and animated .gifs (where several files are layered on top of each  other, compressed into one file, and give the effect of flipping through  index cards).
 
==CONTENT==
 
So now you have  a web domain and server with a login, an FTP client to upload files, a web  page editor such as Frontpage, Hot Metal Pro, or the free open-source  application Nvu, and a graphic-manipulation  program such as GIMP or Photoshop.
 
This is a good  point to take a break from the practical considerations of software and  skills to build a website and work on developing the site itself.
 
My first  suggestion is that you write a mission statement and a business plan for  your website.&nbsp; Both are for your personal use and can be very brief.&nbsp; They  are merely to clarify what you want to achieve and who your target audience  is.
 
And then begin  developing the content, before designing the website.&nbsp; The fanciest site in  the world won't draw visitors if it lacks useful and interesting content for  the site's intended constituency.
 
I suggest using  the format I have used (i.e. a word document) and completely laying out all  of the content for your website.&nbsp; Content includes text, links, and graphic  images which support your goals for your website.&nbsp; Do it all in Microsoft  word or a similar text editor to avoid the temptation of twiddling with your  site design.
 
Remember:&nbsp;  Content is what counts.
 
==DESIGN  CONCEPTS==
 
So now with content in hand and tools to  build your site, you are ready to put it all together.&nbsp; The site map  for your domain should be clear to you.&nbsp; You don't have to get it  perfect on the first shot, and if you struggle hard on getting something to  work, put it down and write us.&nbsp; We will try and match you with help.&nbsp;
 
My suggestion is that you surf for the  free web template packages available on the net and put your first site  together by customizing one of these that comes close to your vision.&nbsp;  You will become very familiar with web design by doing so and be in a good  position to design your own site from scratch later on.&nbsp;
 
Something to  consider in your design is whether it will be an "Ice" design or a "Liquid"  design.&nbsp; "Ice" designs are typified by tables of specified width (because of  setting attributes or images loaded in them) that cause scroll bars to  appear when the web browser window is pulled smaller than some set width.&nbsp;  Liquid designs usually set the table width attributes as a percentage of the  window rather than a fixed width in pixels, and scale with the browser when  it is resized.&nbsp; There are advantages and downfalls to each, and it is  worthwhile researching the design philosophies behind both.
 
==MULTIMEDIA AND EXTENSIONS==
 
Video and audio  can be provided on a website either via a hyperlink to the multimedia file  (and depending on the client's computer to have appropriate software to play  the multimedia, such as RealPlayer, Apple Quicktime, or Windows Media  Player), or by embedding a player in the web page via code.&nbsp; I suggest  relying on the client to play multimedia files unless you are familiar with  coding or have access to someone who can help.&nbsp;
 
Background  music for your website can be provided in a very low-bandwidth manner by  having your html pull a midi file from your server.&nbsp; MIDI is a language  describing different instrument and notes rather than encoding the whole  sound spectrum such as a .wav or .rm file does.&nbsp; It is usually interpreted  by a midi driver on your client's computer and played on their soundcard.&nbsp;  It has significant limitations, particularly in terms of voice.&nbsp; You should  provide a means for the client to turn it off (a toggle switch on your web  page) as they may be listening to other music or prefer silence and find the  feature irritating.
 
There are many  add-ins you can incorporate into your website.&nbsp; Macromedia Flash allows  creation of sophisticated animations with audio effects.&nbsp; It can also be  used to develop slide-show types of presentations.&nbsp; There are a number of  such plug-ins and the software associated with generating the particular  type of media.
 
There are many  special effects that various browser companies have developed as  "extensions" to the standard html tags for their own browsers.&nbsp; Some are  good enough that many browser companies have implemented them.&nbsp; Microsoft's  IE has the most impressive range of such effects.&nbsp; This is why many sites  are labeled "Best if viewed in IE 4.0 or better".&nbsp; Such effects include  having the title text scroll across the top of the browser.&nbsp; If the page is  looked at in a browser that doesn't support the tag extension (such as  Firefox), the title is static and appears normally.&nbsp; Web sites built with  the extended tags and various plug-ins are sometimes referred to as "DHTML",  or dynamic html.
 
==WEB  SERVER ISSUES==
 
We have  discussed using javascripting for client-side functionality, such as  different images appearing when the mouse rolls over them.&nbsp; There is a great  deal of additional functionality available depending on your web host.
 
Web servers are  generally UNIX servers (often built on the Apache web server) or Microsoft  servers (built on Internet Information Server, or IIS).&nbsp; Both have  advantages and disadvantages.&nbsp; It is probably cheaper and you will likely  have better support in the community if you choose a UNIX server.&nbsp; </span>
 
If you are  using Frontpage, that application has a wonderful means to simplify managing  your website.&nbsp; Although at the outset it may be hard to imagine that  management being a big headache, as your site and the number of links grows  it becomes difficult to keep track of everything.&nbsp; If you are hand-coding  your html, there  are many situations that require changing links in a large number of pages and the by-hand  method is laborious.&nbsp; Frontpage will allow you to delete a page from your  site, for example, and it will automagically (with prompting) remove the  links from all affected pages.
 
In Frontpage  instead of using FTP, you can also use that application's "Publish" feature.&nbsp; It will  republish your whole website and maintains records to know which files have  changed and need pushed to the server.&nbsp; Microsoft IIS web servers support  Frontpage natively; most web hosts have installed "Frontpage Extensions" on  their Apache UNIX web servers to allow the same functionality.&nbsp; It eases  management of a website a great deal.&nbsp; There are third-party website  management applications available as well.
 
Just as you can  execute script on the client's web browser, or client-side, you can execute  script on your web server if your host package includes it.&nbsp; The  disadvantage of client-side scripting is that you have no way of knowing  whether they have scripting turned on or off to get the effect you are  seeking.&nbsp; You can add text and html tags between a &lt;noscript&gt; &lt;/noscript&gt;  tag to specify what happens if your script doesn't run, but your  functionality is limited.
 
There are  fundamental differences between server-side scripting for UNIX servers and  Microsoft/IIS servers.&nbsp; If your web host has enabled server-side includes (SSI,  or server scripting) for your account, there are a large number of free  applications available on the internet with detailed instructions for  deploying them.&nbsp; Such scripts are executed on the server and return their  results to the client web browser in standard html, transmitted via the http protocol.&nbsp; Server-side scripts can execute either from a request from the  client web browser (such as in response to a button being pushed) or  automatically when a page is requested from the server.
 
An example of a  server-side script executed in response to a request from the client web  browser involves an image map.&nbsp; This is, for example, a map of the country  which is intended to pull up a different web page depending on what region  is clicked on with the mouse.&nbsp; This functionality can be built into the html  code via client-side scripting, but if the client web browser has javascript  turned off (as many do), it is useless.&nbsp; A solution is to transmit the pixel  coordinate of the image that the cursor clicked on back to the server, and  let the server determine what State was intended and return that information  to the client web browser so that it can load the appropriate page.&nbsp; There  are easy-to-use and free code snippets to do this.
 
On Microsoft  IIS servers, server-side scripting is usually VBscript (although it can be  java or C++), and on Apache servers it is typically javascript, C, or Perl.&nbsp;
 
Other common  SSI applications include odometer-style page-hit counters, guest books,  feedback forms, etc.
 
Sometimes it is  desirable to push an html file to a client web browser that is customized  based on unique characteristics of that client.&nbsp; Web pages in general lack  what is called "persistency".&nbsp; If someone is on your home page, and clicks  on a link to another page in your web site, the requested page has no  information about that client other than their IP address and the page they  came from.&nbsp; This has a number of implications for the client's experience on  your website and the value of the logs generated for your domain.
 
Persistency is  sometimes desired, for example, if your site has a "shopping cart" system  where people buy things on various pages.&nbsp; This is a poor example but  conveys the idea.&nbsp; One way to do this is described below under server side  scripting.&nbsp; Another is through the use of cookies.&nbsp; Cookies are small text  strings stored on a client web browser and can only be accessed by the  domain that set them.&nbsp; They can either time-out and be deleted by the  browser quickly (after they leave your site) or stored indefinitely.&nbsp; They  can be used in the shopping cart example by maintaining a file on the server  of what's in the cart, indexed to the text value stored in the cookie.&nbsp; Many  people are paranoid of them and have them turned off severely limiting their  usefulness.
 
On the topic of  logs, your server will generate a log which you may or may not have access  to (depending on the nature of your web hosting account).&nbsp; Typically "free"  hosts will only give you the total disk space you are using and the total  bandwidth your site has consumed in a given period of time.&nbsp; Premium or  unrestricted accounts will give you control of your own logs.&nbsp; Such accounts  may include sophisticated web-based analysis tools for your logs which are  important.&nbsp; There are also third party tools that you can download your logs  to your computer and run the analysis on.&nbsp;
 
While most  people in our community will approach your site via proxies, some will not,  and it is fair on your part to establish an account which will allow you to  periodically erase the logs from your site (and thus the ip addresses of  visitors).&nbsp; If your site is even moderately successful you will have more  data than you can make sense of in the raw form.&nbsp; In my case, I twice peaked  at 100,000 unique ip address hits (which is not the same as total hits -  total hits could be one person bouncing your site for days on end).&nbsp; Those  followed my domain addressed being announced on Rick Robert's KFMB program  and then an Indianapolis evening news segment which clearly showed my domain  address.&nbsp;
 
Web site  statistics software will rank the most popular referrers for you so you can  see where your traffic is coming from, and provide data on how people  interact with your site so that you can see what's popular and what's not.&nbsp;  You can also estimate your audience by looking at time breakdowns and making  some assumptions (middle-of-the-night hits are typically European).&nbsp; You  should publish on your site your policy for purging your logs and if you are  not well known in the community consider enlisting someone to verify that  you are doing as you say.
 
In addition to  allowing a client web browser to call server-side scripting, both the Apache  and the IIS platforms allow a method to execute script upon receiving the  client web browser's request for a page, and have that script generate the  html returned.&nbsp; HTTP files generated in this manner typically have  extensions of .php (for UNIX servers) or .asp (for IIS servers).&nbsp; </span>
 
When the .php  or .asp file is requested from the server by a client web browser, the  server parses the script code in the beginning of the html file and executes  it on the server.&nbsp; The html file itself may have nothing but structural  headers (i.e. &lt;html&gt;, &lt;body&gt;) and the .php or .asp script.&nbsp; This is a very  powerful technology.&nbsp; It allows maintaining persistency for a user between  web pages on your site as you can append a variable (or "session id") to the  end of the url returned to the browser.&nbsp; For example, a  dynamically-generated (not to be confused with DHTML mentioned earlier) web  page might return with the url "www.pedfoundation.org/index.php?AX1B3.
 
Thus the next  http GET request from that client web browser will pass that variable back  to the web server.&nbsp; This is the method used by software that password  restricts access to portions of a website or powers most online shopping  carts.&nbsp; It avoids the problems of cookies such as the client having them  turned off.
 
The .asp and .php  technologies are used by bulletin board systems, chat servers, content  delivered from database queries, etc.
 
You can receive  and / or transmit RSS newsfeeds from your website.&nbsp; MSNBC provides a free  feed (as do many others) if you credit them.&nbsp; It can be used to fill a table  cell with the day's news headlines or many other items.&nbsp; Transmitting RSS  newsfeeds is more involved and worth investigating within our community.&nbsp; There is an opportunity to feed into major newsfeeds and have them carry our content.
 
==STYLE  SHEETS AND OTHER TECHNOLOGIES==
 
Cascading style  sheets are useful for managing the "look and feel" of a website.&nbsp; They are  separate html documents with specific formatting instructions linked to  variable names.&nbsp; Then, throughout the website, the designer can use the  variable name as an attribute rather than spelling out the specific  attributes each time you use the tag, such as the color and size attributes  of the font tag.&nbsp; In this fashion simply changing the color in the style  sheet changes it throughout your website.&nbsp; It is worth researching elsewhere  on this topic.
 
XML, or  eXtensible Markup Language, is an acronym you may encounter.&nbsp; It is a  standard developed in response to the fact that while HTML indicates how the  content should be rendered, it says nothing about the content itself.&nbsp; This  poses a problem for search engines and functions in determining what is  relevant on a web page.&nbsp; XML tags are user-defined and appear similar to  HTML tags.&nbsp; Some typical applications are html documents which pull and XML  data feed and format it according to the document's tags.&nbsp; The document is  then highly searchable.&nbsp; It is probably not a relevant technology to your  personal website.&nbsp;
 
==SEARCH  ENGINE OPTIMIZATION==
 
It is important  to understand how search engines rank your website and to optimize your  website to appear high in search results for the relevant keywords you are  designing around.&nbsp; You should freely link to others who maintain pro-MAA  websites in accordance with common FAQs (and are thus legal).&nbsp; Links should  have a describe text name rather than just the site name for the search  index's benefit.&nbsp; You should request as many people to link to you as  possible as well.&nbsp; Also, never provide a direct link to our enemies  websites.&nbsp; You only serve to boost their ranking by doing that.
 
Please contact  the pedfoundation for any assistance you require in building a personal  website.&nbsp; We hope to see thousands of new sites all cross-linked within the  next couple of years.&nbsp; I encourage you to do your part in building our  community.
 
Please keep in mind that this tutorial is  written for the novice at web design who wishes to create their own website,  and is written by an amateur himself.&nbsp; Rewrites are certainly welcome.
 
SOURCE: Archive.org archived copy of https://web.archive.org/web/20051029004327/http://www.pedfoundation.org/workspaces.html
This page was last modified 18 July 2005.&nbsp; All text is available under the terms of the GNU Free Documentation License  See Copyrights for details.&nbsp; Your use of this site constitutes agreement to our
 
BOYWIKI EDITOR'S NOTE: Not all the links in the original article are good. Some pages from this site were ''not'' archived.


{{stub}}
{{stub}}

Latest revision as of 10:46, 2 November 2015

Building a Personal MAA Website

This brief tutorial on designing and publishing a personal website is intended for an individual who has not done so previously and is not highly knowledgeable of the process.  This tutorial's intention is to lower the barrier of entry to on-line publishing for minor attracted individual's and contribute to an increase in the total number and level of quality of minor attracted community websites.

INTRODUCTION

The essence of a web page is a request that the user's client (his web browser) transmits to the server that the page resides on.  The protocol of this request is called HTTP and it contains specific pieces of information. 

Of concern with respect to security is that it carries the website URL that the browser had loaded last before visiting a new site (this was designed to give webmasters an idea of where the traffic to their site is coming from).  It also contains a number which uniquely identifies the requesting client (web browser).  This is the "IP" address and is masked if the client is approaching the web server via a proxy.

If you are running Microsoft Windows XP Professional, you can download for free and install the IIS Web Server on your personal machine.  I recommend you do so to facilitate a development environment for your website.  If you are running Linux you are probably a more sophisticated user than this tutorial is directed towards.

I assume the reader has a concept of what they would like to create in terms of general content for their website.  As such the next step is to secure a web domain.  Please first consider the following questions:

1.  Do you intend to abide by the "customary and usual" FAQs of on-line MAA community resources?  If you choose not to do so, you should prominently advise such on your index page (the first page someone arrives at on your site).  There is a well-developed set of rules that have been established by practical experience in terms of what is and what is not acceptable to maintain a legal site in the US, Canada, Europe, UK, and Australia. 

2.  Is your content bandwidth-intensive?  Discussing your plans with other knowledgeable people in the minor attracted community can probably provide an idea of what your hosting needs will be.

The minor attracted community has a long history of difficulty in finding website hosts who value our freedom of expression.  You might consider registering your own domain rather than having it hosted as a subdomain by someone else.  Be careful in the information you register the domain with; it will be publicly accessible and should not be your address or phone number unless you so desire.

FIRST STEPS

You have registered a domain or found someone to host your site as a subdomain (and if finances or anonymity concerns preclude you from doing that, please contact pedfoundation.org for help).  You have a logon to your web space on a host.  You may have web-based tools to manage your website.  You likely have access to e-mail tech support to solve host-specific problems in getting your website up and running.

Your first step is to acquire an FTP client and learn to use it.  It allows you to create and delete file directories on your web host, and to upload and download files between your computer and the web host.  Your design work takes place on your computer and the final result is published for testing.  Your web host should have instructions for configuring the FTP client to establish a connect with your site.  I have used AceFTP (shareware) and SmartFTP (freeware) with success.

In our discussion earlier of the client's web browser sending a HTTP request (GET) to your web server for a specific file (for example, your "home page" is usually called index.html), the web server will then return a HTTP message to the client.  The body of this message is the "web page", or the HTML code that the client's web browser will parse and display.

HTML CODE

You should familiarize yourself with HTML code and practice formatting documents with it. It does not display consistently across platforms, and that is one of the challenges of web design.  You should load all of the major web browsers on your machine (netscape, internet explorer, opera, mozilla, lynx, etc.) and look at your work in a variety of them, and at different windows sizes (i.e. maximized and as a smaller window).

The first group of html tags to become familiar with handle formatting text.  Tags take the format of <command>, and whatever the tag specifies continues until the browser reaches a closing tag like </command>. <b>text </b> bolds the text in between

<i>text </i> italicizes the text in between

<u>text </u> underlines the text in between

<font></font> Allows specifying the font, size, and color (i.e. <font color=#FFFFFF>)

Colors are specified in six digit hex codes.  There are good color pickers available as websites on the internet.  You simply click on the color and it gives you the hex.

<h1></h1> through <h6></h6>:  Using the header tags increases the font size of the text in between.  The header tag works in relation to the default text size for the client's browser.

There are similar formatting HTML tags for superscript, subscript, strike-through, setting a block of text off <blockquote>, paragraph formatting, line breaks <br>, and more.  You should research these and practice hand-writing html code.  You can do so in Notepad or in Word (making sure you Save As a plain text file).  Save it with an .HTML file extension and load it through the OPEN a FILE feature of a browser.

The next group of HTML tags to familiarize yourself with control display of lists.  There are tags for ordered lists (i.e. numbered items) and for unordered lists (i.e. offset with a bullet).  You can control the numbering scheme or the bullet employed.  Numbering is automatic and generated by the client's browser.  An example is:

<ol><li>one

<li>two</ol>

Produces:

1.  one

2.  two

Web browsers collapse space characters so you cannot depend on using your space bar to format a list.  You can safely assume that most web browsers will collapse multiple spaces to a single space.  There is a "trick" to doing it but it can have undesirable results.  I use it frequently in tables (discussed below) though it is considered poor design.  You can also use the &nbsp entity (not between < or >) to get multiple spaces.

Images are embedded in your web page via the <img src=www.yourdomain.yourpicture> tag.  When the browser parses the web page from the server, it sends additional HTTP (GET) commands for each of these imagine requests it encounters.  The <img> tag allows a number of attribute to be set, including the size to the display picture in the browser in pixels.

Hyperlinks can be attached to any object in your website including text, images, or objects such as Flash objects.  The html tag is the anchor, and the href attribute is specified with a URL to load when the anchor is triggered.  For example, <a href=www.pedfoundation.org>My Web Site</a>

It is good practice to look at the size of your picture in pixels and specify this in the attributes of the <img> tag.  If you do the browser then knows how much space to set aside and can finish positioning everything from the html page in the browser window.  If you don't, you get the effect of everything moving around when a picture finally loads.  Also, it is a good practice to specify a relevant name for the picture in the alt text attribute of the <img> tag.  It gives the search engines something to index and increase the relevancy of your page.  Also many people surf with images turned off or with text-only browsers (particularly vision-impaired individuals) and your alternate text is their only connection to what the image is.

The "trick" I mention to attempt to format a list without the <ul> or <ol> tags is to have a one pixel x one pixel transparent .gif image (.jpg doesn't allow transparency), and to specify its size attributes on loading.  For example, if you wanted to indent a sentence, you could place the <img src=images/spacer.gif> tag at the beginning of the sentence and use the width attribute to stretch the single pixel image out <img src=images/spacer.gif width=25>.  This is very handy in tables. 

Our next short topic is HTML tags related to the document.  A web browser recognizes the start of an web page by encountering the <html> tag, and recognizes the end of the web page by the </html> tag.

Typically immediately following the <html> tag are various meta tags that aren't necessarily relevant to your project.  If you use a what-you-see-is-what-you-get web editor such as Frontpage, it will (you can control this by the defaults) throw in the program that generated it, the user who generated it, and the time and date.  The important meta tag is <meta content="your keywords"> .  You should list all relevant keywords related to your web page in this meta tag.  Search indexes weight it in determining relevancy although it is not a strong factor.

The <body></body> tag identifies the content of your page.  You can specify as attributes of this tag background colors, the text that appears in the title bar of the browser, images to tile for the background (make sure the web graphics you find for this are "tiling", or seamless when placed side by side), and more.

SCRIPTING

You may encounter script following the <html> as well.  You can recognize it by the <script></script> set of html tags.  It will specify the scripting language, such as javascript.  This is code that is executed in the client's browser after the html document is loaded and parsed.  It can do any number of things; play music, provide roll-over and special graphic effects by flipping two images in the same spot, or even provide an online game on the client's computer. 

You do not have to be a programmer to use scripting.  Most people have vbscript turned off because of serious security problems with that language.  Search around the web for javascript apps you like; in most cases it is merely a matter of cutting and pasting the code into your html, and following the instructions provided with the code to customize it for your app.  Bear in mind that you shouldn't create a situation where the only way to do something is through your script, because many people turn it off for security reasons.  If your navigation system depends on javascript roll-overs (as the pedfoundation.org homepage does), for example, you should provide text hyperlinks at the bottom.

Scripting can appear anywhere in the html document.  It is sometimes placed at the bottom so that it executes after the rest of the page is parsed.

POSITIONING ELEMENTS

One topic is also the most problematic, how to position the various elements of your web page in the client's browser.  You do not know what size your client's browser is and you can make no assumptions about it, aside from perhaps a minimum that you feel a reasonable person won't shrink it down past.  640 x 480 pixels is perhaps a reasonable minimum to design for.  Someone looking at a site in a smaller browser window may get scroll bars.

When the client's browser parses your html page, it will arrange things in default orders.  For example, if you send a series of pictures (with no attempt to position them), the 640 x 480 sized browser window might tile the pictures one across and put each new successive one under the last.  Eventually a scroll bar will appear.  The 800 x 600 sized browser window might have room to display the pictures side by side for two of them before making a line break.  In this case the pictures would be tabled in two columns.  The browser does the best that it can.

There are three options for positioning elements on your web page (outside of the text-formatting specific tags mentioned earlier). 

The first is using the positioning feature of Cascading Style Sheets.  This is the preferred approach, and has somewhat of a learning curve to employ.  Not using the CSS approach, however, might garner you criticism from experienced web designers.

The second is using javascript to position elements, which should probably not be your approach.  Your website will fail terribly if the client has javascript turned off and it takes some work to learn the scripting language.

The third , and perhaps easiest to master, option for positioning items are tables.  It will take some time to get them to do what you want them to do in a variety of situations.  You can nest tables within tables and this is very convenient. 

In my opinion a beginning web designer should secure one of the web design packages and use it to learn tables.  I am partial to FrontPage as it comes standard with Office XP.  These applications will allow you to create tables in a WYSIWYG fashion, and then flip to looking at the html tags generating them.  I find it rare that the wysiwyg interface generates what I need without me working directly on the html, but it helps me keep track of everything particularly with multiple nested tables.  There are attributes set for cells, for rows, for columns, and for the whole table.  Some of these are positioning, borders, and the widths and heights in either percent of pixels.  Those size attributes will account for most of your struggle with getting a table to display your website content as you envision it.

We have now had a very brief overview of text formatting html tags, the structural tags such as <body>, scripting, and tables.  I encourage you to research and practice, with an emphasis on practice, of each of these topics.

GRAPHICS

And the graphics discussion is very simple.  If you are an artist, you likely use a vector-based graphics program such as Coreldraw.  These programs are useful for generating the raw graphics you will use on the web.  Web design doesn't require artistic talent however.  There are huge numbers of free graphic elements available on the internet.  Search Google for "free web graphics". 

As a web designer you will need a bit-mapped graphics program.  Paintbrush is a simple and inadequate example.  I prefer Photoshop; the GIMP (a GNU freeware application) has much of the same functionality of Photoshop.  Both programs allow a great deal of freedom in manipulating images and creating cool effects.  Both programs have functionality to optimize an image for the web, or compressing it as small as possible without losing quality.  Both programs allow you to design your graphics in layers and then flatten the layers out.  For example one layer might have a background of a woods and another layer the image of a person.  You can move the person around on that layer without disrupting the background.  You can apply filters for chiseled edges, pointillist artistic effect, etc.

I prefer Photoshop, even thought it is an expensive application, for these reasons.  First, it handles text much better than GIMP.  It is very difficult for me to get the text effects I am seeking in GIMP.  Second, Photoshop has a slice feature that allows you to cut a picture up before you save it in its final format (Photoshop's native format is .psd, and GIMP's is .pcx - both are layered graphic files and usually quite large).  After slicing in Photoshop you can optimize the file compression and format for each of the slices.

When saving in the .gif format, you can choose the number of colors (2-256).  The more colors, the larger the file.  Gif results in the smallest file sizes for images with fairly solid colors such as a blue sky or a logo.  Jpeg formats are best in smallest size and quality for photographic-types of images with many colors. 

So photoshop's slice feature allows you to customize a large image into the fastest-loading image possible, and it spits out the html table code to reassemble the image seamlessly.  It is a great time-saver.  There are many useful capabilities of the different image formats you should investigate, including interlacing (where the whole picture is initially blurry and sharpens as more data is loaded) and animated .gifs (where several files are layered on top of each other, compressed into one file, and give the effect of flipping through index cards).

CONTENT

So now you have a web domain and server with a login, an FTP client to upload files, a web page editor such as Frontpage, Hot Metal Pro, or the free open-source application Nvu, and a graphic-manipulation program such as GIMP or Photoshop.

This is a good point to take a break from the practical considerations of software and skills to build a website and work on developing the site itself.

My first suggestion is that you write a mission statement and a business plan for your website.  Both are for your personal use and can be very brief.  They are merely to clarify what you want to achieve and who your target audience is.

And then begin developing the content, before designing the website.  The fanciest site in the world won't draw visitors if it lacks useful and interesting content for the site's intended constituency.

I suggest using the format I have used (i.e. a word document) and completely laying out all of the content for your website.  Content includes text, links, and graphic images which support your goals for your website.  Do it all in Microsoft word or a similar text editor to avoid the temptation of twiddling with your site design.

Remember:  Content is what counts.

DESIGN CONCEPTS

So now with content in hand and tools to build your site, you are ready to put it all together.  The site map for your domain should be clear to you.  You don't have to get it perfect on the first shot, and if you struggle hard on getting something to work, put it down and write us.  We will try and match you with help. 

My suggestion is that you surf for the free web template packages available on the net and put your first site together by customizing one of these that comes close to your vision.  You will become very familiar with web design by doing so and be in a good position to design your own site from scratch later on. 

Something to consider in your design is whether it will be an "Ice" design or a "Liquid" design.  "Ice" designs are typified by tables of specified width (because of setting attributes or images loaded in them) that cause scroll bars to appear when the web browser window is pulled smaller than some set width.  Liquid designs usually set the table width attributes as a percentage of the window rather than a fixed width in pixels, and scale with the browser when it is resized.  There are advantages and downfalls to each, and it is worthwhile researching the design philosophies behind both.

MULTIMEDIA AND EXTENSIONS

Video and audio can be provided on a website either via a hyperlink to the multimedia file (and depending on the client's computer to have appropriate software to play the multimedia, such as RealPlayer, Apple Quicktime, or Windows Media Player), or by embedding a player in the web page via code.  I suggest relying on the client to play multimedia files unless you are familiar with coding or have access to someone who can help. 

Background music for your website can be provided in a very low-bandwidth manner by having your html pull a midi file from your server.  MIDI is a language describing different instrument and notes rather than encoding the whole sound spectrum such as a .wav or .rm file does.  It is usually interpreted by a midi driver on your client's computer and played on their soundcard.  It has significant limitations, particularly in terms of voice.  You should provide a means for the client to turn it off (a toggle switch on your web page) as they may be listening to other music or prefer silence and find the feature irritating.

There are many add-ins you can incorporate into your website.  Macromedia Flash allows creation of sophisticated animations with audio effects.  It can also be used to develop slide-show types of presentations.  There are a number of such plug-ins and the software associated with generating the particular type of media.

There are many special effects that various browser companies have developed as "extensions" to the standard html tags for their own browsers.  Some are good enough that many browser companies have implemented them.  Microsoft's IE has the most impressive range of such effects.  This is why many sites are labeled "Best if viewed in IE 4.0 or better".  Such effects include having the title text scroll across the top of the browser.  If the page is looked at in a browser that doesn't support the tag extension (such as Firefox), the title is static and appears normally.  Web sites built with the extended tags and various plug-ins are sometimes referred to as "DHTML", or dynamic html.

WEB SERVER ISSUES

We have discussed using javascripting for client-side functionality, such as different images appearing when the mouse rolls over them.  There is a great deal of additional functionality available depending on your web host.

Web servers are generally UNIX servers (often built on the Apache web server) or Microsoft servers (built on Internet Information Server, or IIS).  Both have advantages and disadvantages.  It is probably cheaper and you will likely have better support in the community if you choose a UNIX server. 

If you are using Frontpage, that application has a wonderful means to simplify managing your website.  Although at the outset it may be hard to imagine that management being a big headache, as your site and the number of links grows it becomes difficult to keep track of everything.  If you are hand-coding your html, there are many situations that require changing links in a large number of pages and the by-hand method is laborious.  Frontpage will allow you to delete a page from your site, for example, and it will automagically (with prompting) remove the links from all affected pages.

In Frontpage instead of using FTP, you can also use that application's "Publish" feature.  It will republish your whole website and maintains records to know which files have changed and need pushed to the server.  Microsoft IIS web servers support Frontpage natively; most web hosts have installed "Frontpage Extensions" on their Apache UNIX web servers to allow the same functionality.  It eases management of a website a great deal.  There are third-party website management applications available as well.

Just as you can execute script on the client's web browser, or client-side, you can execute script on your web server if your host package includes it.  The disadvantage of client-side scripting is that you have no way of knowing whether they have scripting turned on or off to get the effect you are seeking.  You can add text and html tags between a <noscript> </noscript> tag to specify what happens if your script doesn't run, but your functionality is limited.

There are fundamental differences between server-side scripting for UNIX servers and Microsoft/IIS servers.  If your web host has enabled server-side includes (SSI, or server scripting) for your account, there are a large number of free applications available on the internet with detailed instructions for deploying them.  Such scripts are executed on the server and return their results to the client web browser in standard html, transmitted via the http protocol.  Server-side scripts can execute either from a request from the client web browser (such as in response to a button being pushed) or automatically when a page is requested from the server.

An example of a server-side script executed in response to a request from the client web browser involves an image map.  This is, for example, a map of the country which is intended to pull up a different web page depending on what region is clicked on with the mouse.  This functionality can be built into the html code via client-side scripting, but if the client web browser has javascript turned off (as many do), it is useless.  A solution is to transmit the pixel coordinate of the image that the cursor clicked on back to the server, and let the server determine what State was intended and return that information to the client web browser so that it can load the appropriate page.  There are easy-to-use and free code snippets to do this.

On Microsoft IIS servers, server-side scripting is usually VBscript (although it can be java or C++), and on Apache servers it is typically javascript, C, or Perl. 

Other common SSI applications include odometer-style page-hit counters, guest books, feedback forms, etc.

Sometimes it is desirable to push an html file to a client web browser that is customized based on unique characteristics of that client.  Web pages in general lack what is called "persistency".  If someone is on your home page, and clicks on a link to another page in your web site, the requested page has no information about that client other than their IP address and the page they came from.  This has a number of implications for the client's experience on your website and the value of the logs generated for your domain.

Persistency is sometimes desired, for example, if your site has a "shopping cart" system where people buy things on various pages.  This is a poor example but conveys the idea.  One way to do this is described below under server side scripting.  Another is through the use of cookies.  Cookies are small text strings stored on a client web browser and can only be accessed by the domain that set them.  They can either time-out and be deleted by the browser quickly (after they leave your site) or stored indefinitely.  They can be used in the shopping cart example by maintaining a file on the server of what's in the cart, indexed to the text value stored in the cookie.  Many people are paranoid of them and have them turned off severely limiting their usefulness.

On the topic of logs, your server will generate a log which you may or may not have access to (depending on the nature of your web hosting account).  Typically "free" hosts will only give you the total disk space you are using and the total bandwidth your site has consumed in a given period of time.  Premium or unrestricted accounts will give you control of your own logs.  Such accounts may include sophisticated web-based analysis tools for your logs which are important.  There are also third party tools that you can download your logs to your computer and run the analysis on. 

While most people in our community will approach your site via proxies, some will not, and it is fair on your part to establish an account which will allow you to periodically erase the logs from your site (and thus the ip addresses of visitors).  If your site is even moderately successful you will have more data than you can make sense of in the raw form.  In my case, I twice peaked at 100,000 unique ip address hits (which is not the same as total hits - total hits could be one person bouncing your site for days on end).  Those followed my domain addressed being announced on Rick Robert's KFMB program and then an Indianapolis evening news segment which clearly showed my domain address. 

Web site statistics software will rank the most popular referrers for you so you can see where your traffic is coming from, and provide data on how people interact with your site so that you can see what's popular and what's not.  You can also estimate your audience by looking at time breakdowns and making some assumptions (middle-of-the-night hits are typically European).  You should publish on your site your policy for purging your logs and if you are not well known in the community consider enlisting someone to verify that you are doing as you say.

In addition to allowing a client web browser to call server-side scripting, both the Apache and the IIS platforms allow a method to execute script upon receiving the client web browser's request for a page, and have that script generate the html returned.  HTTP files generated in this manner typically have extensions of .php (for UNIX servers) or .asp (for IIS servers). 

When the .php or .asp file is requested from the server by a client web browser, the server parses the script code in the beginning of the html file and executes it on the server.  The html file itself may have nothing but structural headers (i.e. <html>, <body>) and the .php or .asp script.  This is a very powerful technology.  It allows maintaining persistency for a user between web pages on your site as you can append a variable (or "session id") to the end of the url returned to the browser.  For example, a dynamically-generated (not to be confused with DHTML mentioned earlier) web page might return with the url "www.pedfoundation.org/index.php?AX1B3.

Thus the next http GET request from that client web browser will pass that variable back to the web server.  This is the method used by software that password restricts access to portions of a website or powers most online shopping carts.  It avoids the problems of cookies such as the client having them turned off.

The .asp and .php technologies are used by bulletin board systems, chat servers, content delivered from database queries, etc.

You can receive and / or transmit RSS newsfeeds from your website.  MSNBC provides a free feed (as do many others) if you credit them.  It can be used to fill a table cell with the day's news headlines or many other items.  Transmitting RSS newsfeeds is more involved and worth investigating within our community.  There is an opportunity to feed into major newsfeeds and have them carry our content.

STYLE SHEETS AND OTHER TECHNOLOGIES

Cascading style sheets are useful for managing the "look and feel" of a website.  They are separate html documents with specific formatting instructions linked to variable names.  Then, throughout the website, the designer can use the variable name as an attribute rather than spelling out the specific attributes each time you use the tag, such as the color and size attributes of the font tag.  In this fashion simply changing the color in the style sheet changes it throughout your website.  It is worth researching elsewhere on this topic.

XML, or eXtensible Markup Language, is an acronym you may encounter.  It is a standard developed in response to the fact that while HTML indicates how the content should be rendered, it says nothing about the content itself.  This poses a problem for search engines and functions in determining what is relevant on a web page.  XML tags are user-defined and appear similar to HTML tags.  Some typical applications are html documents which pull and XML data feed and format it according to the document's tags.  The document is then highly searchable.  It is probably not a relevant technology to your personal website. 

SEARCH ENGINE OPTIMIZATION

It is important to understand how search engines rank your website and to optimize your website to appear high in search results for the relevant keywords you are designing around.  You should freely link to others who maintain pro-MAA websites in accordance with common FAQs (and are thus legal).  Links should have a describe text name rather than just the site name for the search index's benefit.  You should request as many people to link to you as possible as well.  Also, never provide a direct link to our enemies websites.  You only serve to boost their ranking by doing that.

Please contact the pedfoundation for any assistance you require in building a personal website.  We hope to see thousands of new sites all cross-linked within the next couple of years.  I encourage you to do your part in building our community.

Please keep in mind that this tutorial is written for the novice at web design who wishes to create their own website, and is written by an amateur himself.  Rewrites are certainly welcome.

SOURCE: Archive.org archived copy of https://web.archive.org/web/20051029004327/http://www.pedfoundation.org/workspaces.html This page was last modified 18 July 2005.  All text is available under the terms of the GNU Free Documentation License See Copyrights for details.  Your use of this site constitutes agreement to our

BOYWIKI EDITOR'S NOTE: Not all the links in the original article are good. Some pages from this site were not archived.