Innovative Small Systems, Inc. Web site and software development


FAQ

Some Useful Links

The ICANN (Internet Corporation for Assigned Names and Numbers) site lists accredited Domain Name Registrars.

You can do a look up, called a Whois Search, to see if the Domain Name you want is available.

See if your web page (or this page!) markup validates at W3C's Markup Validator

One of the experts on web site usability: Jakob Nielsen on Usability and Web Design

Internet Basics

What does it take to set up a web presence?

Terminology

The Internet consists of servers (applications running on a computer) that respond to clients that connect and request those services. A particular service end point is designated by its URI (Uniform Resource Identifier), a naming scheme that identifies both the server and the service desired. The part of the URI that identifies the server is called the Domain Name. The Domain Name Service (or "DNS") provides the routing information needed to deliver requests to the appropriate servers.

Domain Names

The Domain Name system relies on delegation to cope with the enormous number of servers on the Internet.

The process starts with the part of the domain name following the last dot. part of the domain name is called the Top Level Domain or ("TLD"). Familiar TLD include ".com", ".org", ".us", and "ca". There is only a handful of TLDs and each maintains a database that contains an entry for every domain name with the same TLD. The organization behind a TLD determines the rules under which the name may be used. For example, conflict resolution for ".com" names is under US law, while that for ".ca" names are governed by Canadian law. Regional TLDs such as "us" or "ca" have additional rules that govern their use.

Most of the actual work in locating a server from a name is delegated by the TLD to domain registrars, independent agencies certified by the TLD to manage the database needed translate names into routing information.

Well known registrars include NetworkSolutions.com and Register.com. There are many others such as DomainsAtCost.com, DomainsAtCost.ca and 10Dollar.ca (the latter two in Canada) that charge much less for registrations.

You need the services of a registrar to register a domain name because the registrar is responsible for managing names with the appropriate TLD registry.

The one area of domain registration where your attention is crucial is the Contact Information. Three contacts are required for registration: Administrative Contact (who controls the name), Technical Contact (who controls how the name is hosted), and Billing Contact (who pays for the registration). Your registration can be terminated for invalid contact information and you will certainly have a difficult time correcting any problem if the Administrative Contact information is not correct.

We see many domains in which the web developer has set up a domain for a client with the web developer listed as the Administrative Contact for the domain. This means that the web developer and NOT the client "controls" the domain name. This situation can become a problem when the web developer and client part company, sometimes to the point of "conflict resolution" described above.

The other crucial registrar's role is the opportunity for the domain Administrative Contact to designate the next server to contact in locating the servers for the domain. Most registrars provide a web-based control panel to manage the contact information. This panel also provides an interface to specify the name servers for the domain. These settings determine who hosts your domain.

Beyond the bond required for certifcation, the registrar's cost for registering a name is around $12/year. It is hard to make real money just registering names, so there is usually a raft of additional services presented, most offering some sort of additional security. Sometimes domain registration is bundled with hosting by a hosting company acting as a reseller for a bulk registrar or some registrars also provide their own hosting services.

The result can make a visit to the registrar a confusing experience. Registration practices and fees will vary wildly depending out how the registrar has packaged his product. If you do this yourself, be careful, and compare prices. We do not recomend registration bundled with hosting unless you are sure you will never want to change your hosting arangement.

We will handle the registration details for you if you wish. If we perform the registration details for you, we will enter you as the Administrative Contact, you will receive the administrative credentials via email, and forward them to us so that we can maintain the registry information for you.

The last stop on the domain name trail is the name server run by your hosting provider. This is where requests are finally routed to the computers that service the requests. Requests for particular services often come in bunches, so the results of the domain name lookups are cached and the lookup path traced out above is skipped. There is generally a resolver cache on your PC, another cache maintained by the DNS servers your PC uses. As a result, domain name changes can take a while (think "days") to propagate.

Hosting

The services associated with your domain name are almost always provided by a computer or computers that provide the same services for many domain names. This is sometimes called virtual hosting.

Virtual hosting only becomes a problem if the computer hosting the domain cannot handle the load. This was often our experience before we set up our own dedicated server. Many web sites now use scripting and databases to generate their content dynamically. It is extremely difficult to isolate such sites on a server that host 1000s of domains (not a hypothetical case). This applies to both resource utilization and data security. Dynamic applications are also subject to breakage in "big box" environments because environment dependencies are often unknown to the system maintainers.

Be forewarned that selection of a hosting provider is similar to selecting a registrar: fees and prices vary wildly and you must read the fine print to know exactly what you are getting. In general, you get what you pay for. If you have a simple site and can deal with little or no support, by all means go with the cheapest available - at this point in time (May 2008), that can be as little as $2/month!

In making your decision, don't forget the email associated with the domain. The usual setup is to use one or more forwarders on the domain to route email to the email account you get from your Internet access provider. In the emails you send, you use your access provider's outgoing mail server to send mail but set the 'ReplyTo' address to the forwarder address so replies are routed by the domain. This allows you to change access providers without disturbing your correspondence.

If you actually want mail based at the domain, web-based mail is your only viable alternative. Because of widespread abuse of the email protocol by broadband users, most access providers now block outgoing mail except through their own outgoing mail servers. Web-based mail uses the web to move the content of messages between a web client and the server, but the actual messages reside only on the host.

We do not make money on hosting, so our primary aim is to address our clients' needs and to not pack as many accounts as possible into the available resources. The extra time needed to accommodate your special needs at setup time is minimal, so there is no complicated pricing structure nor any built-in restrictions.

Web Site Construction

Web pages are constructed from text using a markup language, HTML, to tag portions of the text with special significance. The original intent was to provide document semantics enhanced with embedded media and interactive forms. These features were largely abused by a generation of web developers to control the appearance of page presentation. This madness spilled over into a browser competition to render the most pleasing page from any mixture of "tag soup".

As a result, we are left with four major browser families, each family composed of many different versions, each version with its own quirks and bugs. As if that were not enough, there is a growing legion of other clients outside the major browser families. This includes at least a hundred different search engines that might visit your pages and attempt to digest their content, and a growing number of "smart devices" with similar intentions.

This situation can be remedied to a large extent by using another markup standard, Cascading Style Sheets ("CSS"), to separate presentation details from content and semantics. This makes the job of non-visual agents much simpler and provides a framework for dealing with browser variability. Once presentation is removed from the HTML, the structure of pages can be validated to ensure they will be acceptable to all agents conforming to the HTML specification.

Like HTML itself, CSS only provides the means of doing this and authoring tools provide little guidance on how to best achieve this separation. Sadly, CSS does not help with browser variability since that is now where browser eccentricities are localized. CSS also does not help with another disturbing current trend that subverts site structure for the needs of whiz-bang visual presentation. It is not uncommon nowadays to see sites that are entirely inaccessible without javascript!

Well-structured pages are accessible pages - pages that place the least burden on the client, wether that is an off-beat browser variant, a screen reader used by the visually impared, or a "bot" indexing the contents of your page. Free tools are availble to test the correctness of pages, so it is very hard to understand why so many pages on the web are nowhere close to well formed.

Sites that do not make a real effort to accomodate site visitors cannot thrive. You can't afford to ignore to javascript adverse, the non-Microsoft Browser, or other non-visual clients.

Web Site Basics

What are the components of a good web site?

Content

The cornerstone of your site is content. There is no substitute. Design and presentation should enhance your content, not obscure it.

If you are planning on incorporating timely information into your site, make sure you understand the commitment required to keep up to date. Not keeping your site timely erodes your credibility and wastes your visitors' time. The web does not need more out-of-date information!

The organization of your content will largely determine your web site's navigation. Accumulating information from a screen is difficult in general, so on-screen presentation must make an effort to provide information in easily digestible chunks. Since this affects navigation, the art is to make the content work in a shallow, easily-understood hierarchy.

Courtesy

Visitors come to your web site voluntarily and can leave it in a click. You can't force them to stay. Encourage them to make return visits by providing an engaging environment.

Your visitors will appreciate the care you take to produce a site that:

  • is attractive and loads quickly
  • works well in the four major browser families
  • provides alternatives to visual features such as javascript, Flash, or other media requiring a plug-in or special features.
  • is easy to read (and print, if necessary)
  • allows information to be found quickly
  • is considerate of people with disabilities and special needs (see http://www.w3.org/WAI.new/gettingstarted/Overview.html)
  • provides links to useful information - even if that link is to another site

In the era of javascript frameworks, it is often forgotten that much of the world still operates at dial-up speeds. Worse, if you should seek relief by disabling javascript, you are likely to find your self locked out of the site's content! Sites that bake animated content into every page deserve similar criticism. Example:

Packaging content in PDF format unnecessarily is another common form of abuse. The PDF format should be used only for information that has particular printing requirements (for example: registration forms). The PDF format cannot be easily searched, requires the entire document to be downloaded before access, and has accessibility issues.

Consistency

Create a user-friendly web site by using a consistent theme (logo and color scheme) throughout the site. Full navigation should appear on every page because visitors may arrive at any page on your site via a search engine.

Convention plays a big part in making your site easy to understand. Studies that track eye movements of web users indicate that initial visual attention traces out an "F" pattern on the screen. Similar studies also indicate that the initial assessment of the web page is often determined in the first second that the page is viewed. Food for thought.

Continuity

Select your web site name carefully and maintain it. It takes time for sites to get established on the web. An effective Internet presence requires continuity. A common mistake is to abandon existing links for a new site design. In this situation, it would be better to put up a custom error document to direct visitors to the new site navigation or, better yet, set up a server level redirection to to the appropriate page.

Relationships

Your web site can allow you to establish ongoing relationships with your visitors by allowing them to interact with you

  • Blogs, polls, and forums provide avenues for sustained relationships
  • Provide forms visitors can submit to request information
  • Publish information that changes daily in a RSS feed.
  • Publish information that changes monthly in a mailing list

It is also important to consider your relationships with other web sites. Sites with related content or goals can work together to promote each other.

We specialize in sites requiring dynamic content.

We have accumulated a toolkit over the years that makes adding custom features to a site easy without the need to resort a full fledged 'system'.

We'll work WITH you to transform your business image and message into an effective web site that is attractive, accurate, easy to use, and accessible to the widest possible audience...

... from concept through development to hosting and maintenance

The Development Process

How does ISSI develop a web site?

Our Approach

We use Server Side Includes (SSL) to maintain page consistency across a site and implement simple page control. For example, SSL assembles the page you are looking at from header, and footer fragments - both of which include a navigation fragment. This lets us change the navigation for the entire site in one place.

We also keep document structure as simple as possible. Style information can be almost entirely eliminated from page markup by using a "named region" approach. After suffering through many migrations from older markup to CSS styling, we hope that this will avoid another migration in the future.

More interactive features are built using a technology known as LAMP (Linux,Apache,Mysql,Php) with development often taking place on the equivalent environment (WAMP?). We have accumulated a toolkit of interactive components over the years that can provide off-the-shelf solutions to many needs. Our toolkit is largely based on the Smarty template engine, and includes an ecommerce package that can be fully integrated into a site.

We try to best match our approach to your needs. If you have a limited amount of slowly changing content to manage in your site, we would probably want to structure the data in an XML file and manage the data using FTP. More dynamic information would be managed in a database. Once a schema has been constructed, simple back-end (user management interface) and front-end components can be quickly assembled from stock components. In our experience, getting the data into a database is often the largest problem since custom scripting is often required to perform the import from an existing source.

We try to avoid the "if all you have is a hammer, the whole world looks like a nail" mentality in our approach. Remember that choosing a "system" to manage your content can effectively limit future flexibility and you may be making a risky bet without a clear vision of how that "system" will evolve. Example:

Authoring

We sometimes use Dreamweaver for final polish and link checking. But our pages are much more engineered than the output of most authoring tools and, as a result, much of our markup is hand coded. All critical site components (css, include files, script) are managed by source control. Our development machines are configured to be as close to the production environment as possible (backups from the production environment can be directly imported).

We validate pages at W3C and test with IE7, Firefox, Safari, and Opera. We still occasionally check pages with IE6 but this involves booting a virtual machine and is quite painful.

All design is iterative. Once you have agreed to a written proposal that satisfies your requirements, we will prototype the design for your approval. We prefer to prototype sites on our server because it provides a better basis for evaluating how the site will perform in real world conditions. We setup the prototype in a not generally known place on your domain or a not generally known sub domain on ours depending on circumstance. We adjust the prototype as necessary until you are satisfied. This is all included in our original estimate as long as there is no substantial deviation from the original agreement.

What are your hosting policies?

The Platform

We have been managing at least one server from the RedHat family since February 2003 with a cumulative downtime of only a few hours over that entire period. Our current setup was upgraded to the latest and greatest at the beginning of April 2008. Our server is leased from Superb Internet and physically located in Virginia near the top tier backbones.

We host only our web development clients or those known by us personally. Hosting the sites we develop ourselves improves our efficiency and gives us better control over our final product.

We are also quite security conscious and much more comfortable worrying about the devil we know than the devil we don't know. There is nothing like rummaging through server access logs to give you an appreciation of how careful you need to be to avoid becoming a statistic.

Services

We do not place arbitrary limits on either bandwidth consumption or disk space as long as they are within reason (we are working with a 2TB traffic allocation for the whole server). There are also no FTP, Mailbox, Email Forwarder, Domain Alias limits as long as they are also within reason. We will set upper limits for all resource as determined by your actual usage to provide a fallback if anything ever goes wrong with either one of your services or the resource management system.

Backups are performed at 4am EST every morning. Full server backups are made on Sunday. Daily site and database backups made daily.

Web traffic reports are provided by The Webalizer package. The reports can be private or public as you wish. If needed, you can also have full access to the last 5 days of the raw log rotation.

Email to domains on the server is processed by EXIM in a "Spamblocker" configuration using the SPAMCOP, SORBS, CBL, NJABL, and SPAMHAUS block lists. This setup rejects approximately 90% of the incoming mail connections without generating a "Did Not Deliver" storm (often called "backscatter"). The content of mailboxes on the server is additionally filtered by spamassassin.

Webmail clients Squirrelmail, Roundcube, and Ubemai are available to all mailboxes on the server.

What happens after the site is up?

Recurring Costs

We charge our clients for site maintenance by time spent. There is no retainer or other recurring fee for our services. There will be recurring charges for hosting, domain registration, and a security certificate (if needed). We often manage these registrations for our clients at little or no cost.

Monitoring your site

Most hosting providers provide some sort of web activity report. These reports are derived from the servers access logs and enumerate every request processed by the server. The details your are most interested in are "pages", "referrals", "search terms" and "errors".

  • Page statistics are important because that is where the bulk of your content is delivered. While the associated images and other media (sometimes called the "chrome") are important they are usually secondary to your message.
  • Referrals indicate how visitors arrive at your site. Referrals from other sites indicate that those sites are actively promoting your site. This information may be hard to interpret because the list is dominated in internal referrals. This is not unusual and may be an artifact of how the report was configured.
  • Search terms lists the keywords used in referrals by one of the search engines. While this may be useful, better information can be obtained directly from the search engine. See below.
  • Errors can point out problems that should be fixed. You will also sometimes see the tracks of others probing your site here.

If you are really interested in your site's search engine performance, investigate Google Webmaster Central.

After your site has been up a while you may also want to try out Alexa. Don't be discouraged by the numbers but do use the service to compare your site to you competitors. This site should also be a mandatory stop whenever you consider paying someone to link to your site.

Stay involved

To get the best return from your web investment you will need to keep your site looking fresh. A design may look good for a few years, but not indefinitely.

Web Site Promotion

What about Search Engine Optimization (SEO)?

If you need it, it probably can't help you

Search engine optimization techniques are sometimes classified into two broad categories: techniques that the search engines recommend as part of good site design, and techniques that attempt to providing results the search engines disapprove often using deception in an attempt to trick the search engines' ranking algorithm. These are sometimes known as "White Hat SEO" and "Black Hat SEO".

White Hat techniques are very similar to promoting web site accessibility. Something that should be built into a well-designed web page anyway. Accessible pages use the semantic constructs of HTML to their fullest, but still emphasize creating content for users. If you read Google's description on how to achieve a good ranking, it reads like a tract on how to build a well-formed web site.

Our personal view is that having to hire someone to implement SEO on your web site should be viewed as the penance for letting a clueless web designer corrupt the structure of your site for the sake of appearance.

A well-constructed site and a little market research into search key words (available from Google) should equal the long term benefit of any White Hat SEO. If you are fixated on search engine results, spend extra effort ensuring that you site is accurately indexed by adding a site map.

Black Hat techniques often include deceptions such as serving special pages to search engines, keyword spamming, or building link farms. If any SEO marketer claims there are other techniques that can improve your ranking, remember it is in the best interests of the search engine to provide results that are not affected by Black Hat techniques. If you earn the displeasure of a search engine you may have your listings yanked altogether such as happened to BMW AG at Google in 2006.

What about paying for links?

Buyer beware

In our view, a link adds as much credibility to the page hosting the link as page receiving the referral.

If considering such an arrangement, due dilegence should include a Google search for the site offering a link and a traffic check at Alexa.com. If the linking site is not touting its traffic, it may be because there is none. On the Alexa check, compare their traffic to yours. You may decide that they should be paying you for letting them use your link on their page!

If you do decide the pay for a link, be sure to check your traffic report to see what you are getting for your money.

The last advice applies doubly if you decide to go with pay-per-click advertising such as Google AdWords.

 

For a free 1-hour consultation, please contact us.