Internet and Web Development

We have many years of experience developing and managing internet software ranging from low level network diagnostics to software which handles higher level internet protocols such as email, domain name services, custom client-server environments, and of course web services, including web site design.  We also have extensive experience with computer security including implementing firewalls.  Whatever your networking or internet development needs might be, we can handle them.  As most people will be interested in web development, the remainder of this page is about considerations for chosing a web developer as well as pointers for the design of your web site.

Design Philosophy

Before chosing web designers/developers, doing preliminary sketches of your site, or even deciding what you want on the site, you should first think about what you are trying to accomplish with your web site, why you want one, and more importantly, who will be visiting your site and what is it that they will want from it.  I am constantly amazed at how many sites have failed to take this one simple step.  A web site as an advertising medium is not in any way similar to advertising on radio, television, magazines, newspapers, etc., all of these media attempt to gain the attention of a prospective customer and get them to followup on the advertisment.  A web site is completely different, you have the customer's attention before they ever visit your site (otherwise they wouldn't be visiting your site), so you want your site to keep their attention by providing them with the information they want (text, graphics, photos, audio, movies, etc.), preferably in the quickest possible manner.  Many studies have been done of the behaviour of people browsing the internet, and one thing they show consistently is that we are impatient, we want the information we are looking for as quickly as possible, and don't want to be subjected to junk that is irrelevant to our needs.  Examine your own web browsing habits, how often do you click on a link before a web page finishes loading?  How often when you encounter a site that takes a long time to load or gives you problems, do you just give up and go to some other site?  How about the sites with fancy animations on their home page, do you sit and enjoy the animation, or do you immediately look for a way to skip past it?

A classic example of terrible web design which is unfortunately all to common, is the home page that requires the visitor to sit through a long (and often expensive) flash animation.  Your web site is the online equivalent of your show room or office, when someone visits your site, they are in essence walking through your front door!  Over the years, we have all seen flashy, attention getting, TV commercials for used car dealerships. What would you think of a used car dealership if you walked in through their front door, and before they would allow you to look at vehicles or talk to a salesman, rolled out a cart with a VCR and TV so you could watch a video tape of their current TV commercial? You would undoubtedly think they are complete idiots and walk out, yet this is exactly what every web site that puts up a flash animation as their front page is doing! It doesn't matter if you provide a link to bypass the animation, you still in essence rolled out the cart the moment they walked through the door, rather than hooking them up with the information they were looking for. This doesn't mean you can't use flash and other visual effects, rather that your first goal is to meet the needs of your customer, usually by providing them quick access to the information they are looking for, which might include viewing multi-media presentations on products which they have selected.  The lesson here is to put yourself in your customer's shoes for every aspect of the design of your web site.

What does this mean for the design of your site?

  • On a site of any significant size, your home page should load very quickly and act as an index to allow customers to find what they are looking for in the shortest amount of time possible.  Specifically, it should not contain any Java or Flash, only minimal use of graphics and any pictures should be heavily compressed.
  • A picture may be worth a thousand words, but it doesn't always tell what people want, be sure to provide comprehensive textual information with minimal pictures, and provide separate pages for people who want to look at pictures.

Selecting a Web Developer

In my experience over 90% of web sites are broken, is yours one of them?  By broken, I mean that the web pages seen by many visitors to the site, display in a manner which makes it extremely difficult if not impossible to use at least some significant aspect of the web site.  If you want your web site done right, you need to understand what causes the majority of problems, and more importantly, hire web developers who understand these problems and how to prevent them (most web developers, no matter how experienced do not).  If you currently have a web site and would like to do some basic tests on it you could try doing the following (if you don't currently have a web site, you could do the following and then try browsing the internet):

Change the settings on your browser configuration to do the following (you might want to note the current settings so you can change them back):

    1. Turn off support for Java
    2. Turn off support for Javascript
    3. Turn off support for Flash
    4. Turn off support for cookies
    5. Turn off automatic image loading
    6. If you are using a Microsoft based computer and web browser, turn off support for Active/X
    7. Set your minimum font sizes much larger and make your font selections override the settings from the web page
    8. You could also play with the color settings and force your selections to override those of the web pages, but depending on your web site and the colors you choose, this may or may not show any problems, even if there is a problem with the site

Now try visiting your web site and following a few local links on it (or just browse some of your favorite sites on the internet), if a site is properly designed and implemented, you should have no problems finding your way around the site, some features will of course be unavailable, but the site should still be usable in a reduced capacity. In our experience, the odds are heavily against your site working in this mode, many sites are completely inaccessible, simply showing a blank home page!  One final test worth trying if your web server is on your local network, or if you have a high speed internet connection, is to find a low speed connection and try using your web site, many recent web designs seem to assume that everyone has a DSL or cable connection to the internet. Even in wealthy countries, many people do not have access to high speed internet.

All of the features in the above test can be turned off or overridden by users for good reasons (assuming their browser even supports all of them), and many people visiting your web site will either have some or all of them disabled/overridden, or will be using a browser that doesn't even support these features.  While all of the above features which were disabled have appropriate uses on some web sites, the majority of the time they are used both inappropriately and incorrectly.  The changes to the font, color settings, and image loading features were to show a number of serious design and/or implementation problems that occur very frequently on web sites.

There are two core problems with most broken web sites:

  1. They often are created completely disregarding compliance with the HTML standards (HTML is the language that web sites use to tell your web browser how to display each web page)
  2. They assume that everyone who visits the site is using the same: web browser, operating system, configuration options, and display size as the developer.

The problem with the first one is that because web browsers are designed to understand HTML that is written in accordance with the standards, any new revision of the web browser the page was designed on may not be able to display the web page correctly, and all other browsers probably won't be able to display the web page correctly at all.  The problem with the second one should be obvious to anyone, not everyone is using the same or even similar computers, browsers and configuration options.

If your web developer doesn't understand these issues, they shouldn't even be considered for a commercial web site, their competence (or lack of it) is a reflection on your company, and if visitors to your site experience difficulties using it, they will go elsewhere, costing you customers.

Web Development Considerations

Security

Security should be at the top of your list of considerations, though many people fail to even put it on their list at all.  Do your web developers understand how network break-ins occur?  Do they even understand basic networking?  Most web developers don't understand any of these things, which greatly increases the chance that your server could end up displaying "prank" web pages (or worse) put up by some bored child.  Far worse, if your site is involved in e-commerce, is your customer data (possibly including credit card numbers) being put at risk?  DeaTech Research has extensive networking experience including network security and firewalling.

Site Visitors

Who is likely to be visiting your web site?  What kind of internet connection and computer equipment do they have?  These considerations should radically affect the design of your web site.  A site designed to cater to electrical engineers can reasonably assume the users have high speed internet access and reasonably recent computers running the latest software, where a site related to building houses using natural materials with traditional techniques (another field DeaTech Research is involved in) is more likely to encounter users from all walks of life, many using old computers, out dated software, and with very low speed internet connections from all over the world, which requires a very different set of design considerations and limitations.

Java

Note: this discussion refers to Java running on the user's web browser, which is entirely different from running Java on your web server which can be very advantageous.

Java while it is a good language for implementing complex features, it should be considered a last resort and only used if the desired feature cannot be implemented in any other way.  The problem with Java is that because of it's features it can be readily abused by obnoxious or badly designed web sites (overloading your computer, opening lots of advertising windows, etc.), so a large number of people browse with this feature turned off to prevent problems.  If you want someone to use a Java feature of your web site, they will need some incentive to turn it on, so there is no point in using Java unless it is for something that the user is really going to want to use.  The best example I have seen of a good reason to use Java was an internet site that provided live seminars which allowed people to ask questions, and talk to other people in the seminar.  Of course, many people do leave Java turned on, so there is no harm in providing a feature using Java, but why pay to have Java development done for only part of your web site visitors, particularly if there is any alternative approach which will serve all of your visitors.

Javascript

Javascript while it does not allow for the level of abuse that Java does, it can still be abused, so many people opt to leave it turned off as well.  Javascript, unlike Java has a number of features which can be used to provide minor enhancements to standard a web page, without in any way affecting the page for users who have Javascript disabled.  For these minor features, there is no reason not to use them (though there is often no overwhelming reason to use them either), but it is important to test the pages with Javascript turned off, since the use of Javascript for even these simple features often causes web designers to forget to include buttons that are needed to submit forms for the non-Javascript visitors to the page.  Sometimes it is desirable to do something more complex with Javascript which requires actually writing programs in this language, for this it is important to keep in mind that Javascript is a in fact a "programming language", and most "web developers" are not professional programmers and do not have the the necessary programming skills to write real software, so you should be careful who you choose to do this type of work, as mistakes on their part will reflect badly on your company when they show up on your web site.  Because of the large number of broken web sites these days which absolutely require javascript in order to function, this is the language that is most likely to be available and enabled on any web browser, so it is the most logical choice if you need to run software on a user's computer.

Flash

Flash can be a nice feature and a good way to provide sophisticated animation capabilities, however, make sure that its use is actually an enhancement that visitors to your site want and care about, otherwise you are simply wasting money.

Cookies

Cookies are tags left on the computers of people visiting your site, they are often used for tracking users as they move around your site and remembering them when they return. Cookies are usually unnecessary, though generally useful for e-commerce sites. Privacy is a growing concern for many people, use cookies sparingly and delete them when no longer needed.

Pictures

Pictures are wonderful, useful, things to have on a web site, but your site should be usable without them.  Many companies hire graphic designers to do their web site design, unless they are also professional web developers, this is usually a major mistake, they lack sufficient understanding of all the issues of web development to make a site which gracefully degrades when features are disabled, particularly the use of pictures.  You might be thinking at this point, who browses the internet without looking at the pictures?  Lots of people:

  • The blind
  • People with very limited bandwith - rural areas with poor phone lines or marginal cellular access
  • People in other countries - much of the world still pays for each byte transfered or a high premium if they exceed a certain number of bytes per month.
  • People using hand held devices with small screens

It is important to note here, that at least one major retailer has been sued for having a web site that was not usable by the blind.

Active/X

Aside from the fact that this browser feature is only available on Microsoft platforms, it has also been the source of probably more web browser security holes than any other feature by a wide margin.  People with any security concerns typically keep it turned off, making this one of the features least likely to be available on any particular browser.  Developing for this is a bad idea and a waste of your money, use Javascript instead, or do without the desired feature.

Fonts and Colors

While the use of special font styles, sizes and color selections can make web pages more visually appealing to you, it is important to keep in mind that people's preferences for different color schemes are highly cultural as well as physiological (some color combinations give me headaches), fancy fonts often reduce readability, and correct font sizes depend heavily on: screen size, resolution, and the viewer's vision. Because of these things, use of font and color effects should be very limited in scope and designed to rely heavily on the user's brower settings rather than your web developer's monitor and vision.

Why DeaTech Research Inc.?

You have probably noticed that this web site is fairly plain and simple, nothing fancy and fairly generic (some of the articles do have advertising added around the edges), this is all that is needed for a site of this type.  We have developed a number of sites ranging from simple static HTML pages, to much more sophisticated sites including e-commerce and custom server-side programming. In recent years we have switched to using Drupal as a content management system which allows our customers to easily perform their own web site updates.  The important thing is that we have the knowledge and understanding of both end users and the internet necessary to handle any type of internet or web development project.