hy "smith"? There are many different kinds of smiths: silversmiths,
locksmiths, coppersmiths, and of course blacksmiths. All these
professions have one thing in common--they use a set of simple, yet
specialized tools to create something that someone (either themselves, or
a client) has designed in their head. From the inception of an idea to
the finished product, their methods all follow a common sequence,
regardless of the medium they work with.
The first step involves an assessment of the available tools. If suitable tools aren't available, new tools are built--perhaps modifications of existing designs, perhaps something completely new--that will get the job done. A hammer for straightening, a hammer for thinning the metal, tongs to remove hot pieces from the forge, tongs to hold the piece a certain way--once a set of tools has been assembled, materials are gathered and production can begin. Existing pieces may be used in the final piece, designs borrowed from a common knowledge, with new additions suitable for each job, created as needed. Smiths may consult other people in their trade to learn new tricks--the work is dynamic, changing according to the whims of the smith.
Building a Web site involves the same sort of process. Available tools are examined for suitability--is the NCSA server on a Unix workstation better for this, or can I run it on a Mac? Should I use an HTML editor, or will MS Notepad or Emacs do just as well? If there is nothing suitable, then something must be built that will do the job.
One example is the Apache server--it originated as patches to the NCSA server--people using existing pieces to create something that better-suited their needs. Like a blacksmith building wheels based on a master's design, Web sites can be built upon existing, proven designs. It is up to the smith to decide where to make changes, and when to create new pieces.
One of the important parts of this whole process, be it building wheels or building web sites, is the availability of tools to do different jobs. Why spend time designing something that has already been created? Think of the public CGI libraries available as a set of hammers for specific purposes. There is an e-mail hammer, an order-form hammer, a guestbook hammer--these can all be modified to suit your particular application.
But if you don't know about these tools, then they do you no good. If you don't know about the techniques and tools that your fellow smiths are using, then you miss out on the work that has been done before you as well as the inspiration that may be sparked from examining someone else's ideas.
WEBsmith is a guide to the tools, designs, and ideas that make up the Web.