1. What is Web Development and Why do I Need It?
Web development is the process of making a web site run on the Internet. It does not involve designing what the pages will look like, registering a domain name or marketing — although some developers will be willing to do these services. What web development does involve is creating dynamic content for your site, programming the special features of your site, selecting and setting-up the right software to run on your server, assessing your hosting needs, and making sure that everything runs smoothly. Simply put, if you want your site to be interactive or dynamic, then you will need a web developer.
2. Before You Begin
Before you begin your web development project, decide on the features that you need developed. Below are some typical features for different types of web sites.
- General: Popular web development features that could be used on nearly any site include guest books, site searches, mailing lists, surveys, image maps, form handling, web-based administration and user tracking.
- E-Commerce: Web development features for e-commerce sites might include databases, catalog creation, order processing, tax and shipping calculation, payment processing, credit card verification, shopping carts, inventory management and site security.
- Informational/Magazine: Web development features for these sites may include user login, date/time updating, bulletin boards, site searching, and banner ad hosting.
- Museum: These sites almost always have site searching, mailing lists, site security and credit card verification (for membership sign-up). If the site is connected to a gift shop, it will have all of the features of an e-commerce site as well.
- Community/Social: Web development features for a community site include user login, mailing lists, discussion lists, discussion forums and chats.
- Auction: Web development features for these sites might include user login, credit card verification, payment processing, user uploads, email reminders, discussion forums, and a very significant database system.
Below are descriptions of many features commonly developed.
- Banner Ad Hosting: Hosting banner ads is a convenient way to generate revenue. To obtain the best prices for advertising space on your site, you will need a tracking system so that you can inform your clients about your users' demographics and what pages they visit.
- Catalog Creation: Creating uniquely designed web pages for every item may be inefficient. One alternative is to integrate your site with your inventory management systems so that a web page will be automatically created and placed on the site whenever a new product is entered into the system. This is likely to involve a significant amount of programming as well as order-processing and inventory software that can support this arrangement.
- Chats: These allow users to talk with each other or with customer service in real time via a text-based interface. Usually these are written in Java or Perl; however, you may be able to pay for a remote host rather than host the chats on your own site. You may also need to hire someone to monitor the content of the chat.
- Credit Card Verification: You will need to make arrangements for subscribing to this service from an existing provider. The whole process can be automated and integrated into your existing system. Some order-processing software can do this automatically, but some may not. You will also have the option of real-time verification if your users are paying to download information or software. At a minimum, credit card verification involves form handling and the use of a digital certificate. See Payment Processing for more information on accepting credit cards on your site.
- Database: If your web site will need to store large amounts of data (such as user IDs), you may need to integrate a database into your site. Databases typically require purchasing software that can be run on the server that hosts your site. Common database software packages are Oracle and SQL.
- Date/Time Updating: This is a simple option for sites that need to emphasize the timeliness of the content they provide. It's very useful for magazine and news sites so that their pages can be automatically updated to display the date and time rather than doing it manually each day or hour.
- Digital Certificates: These are necessary for encrypting data (e.g. credit card transactions) using SSL encryption. In order for your server to encrypt data, you will need to purchase a digital certificate. Currently these cost several hundred dollars and have options for different strengths of encryption and for international commerce.
- Discussion Forums: Sometimes referred to as bulletin boards, these act as online message boards built into your web site so that users can post messages to each other. They require having a user login so that messages can be properly attributed. They also commonly require frequent monitoring by a person in order to regulate the content displayed on the site. The discussion forum itself may require a significant amount of programming.
- Discussion Lists: Quite often organizations and communities use discussion lists to forward emails from one user to all members of the list. In addition to the added content that these allow you to provide your members, this is also a very good way to obtain email addresses for other promotions or announcements. You will have the option of compiling several messages into one email before it is sent out, and you will also have the option of requiring messages to be approved by a moderator before being sent out. You will need a server that can handle large numbers of emails.
- Email Reminders: You may want specific users to be notified by email every time a specific event occurs on your site (such as a bid).
- Form Handling: Any time you want users to supply information, you will need to have forms built into your web pages. Once the users submit the form, the server must do something with that information. Options include having the data compiled and sent to an email address, entering the data into a database, and coordinating the data to work with your order-processing software. Having the data compiled into an email simply requires an email address. The programming for an email response should require only a small amount of CGI-scripting. Coordinating the form data to automatically work with database or order-processing software is more difficult.
- Guest Book: This is a very basic feature which uses form handling to obtain and compile a list of your users' names, email addresses, telephone numbers, etc.
- Image Maps: These allow your site to respond differently when a user clicks on different portions of the same image. This involves creating the image and a little bit of CGI-scripting.
- Inventory Management: If most of your sales will be through the Internet, then you may find it useful to automatically update your inventory every time a sale is made. This can sometimes be handled by shopping cart or order processing software, although not all software has this capability. If you want this option, then you should let the developer know before deciding on the most appropriate software.
- Mailing Lists: To build an email mailing list (or a postal mailing list) you will need a small amount of form handling to obtain the names and addresses of your users. There may be a significant amount of programming involved if you want your mailing list to be compatible with an existing database. You may also need to have your server programmed so that you can send emails to everyone on the list.
- Order Processing: Most e-commerce sites use software that can handle payment processing, shipping and tax calculation, inventory management, etc. It is necessary to note how many items you plan to sell, since some software supports a limited number of inventory items. Your web developer can create this software or set up a generic version to run on your site.
- Payment Processing: Make arrangements with your merchant account provider so that your site can make credit card transactions official. A common option for payment processing is to purchase a software subscription from a company that can handle this efficiently. Incorporating payment processing into your site will involve obtaining a merchant account that is approved for online use, encrypting data using a digital certificate or SET, verifying the credit card online and coordinating with a merchant services provider for billing.
- Shopping Cart: This is software that runs on your server for collecting and recording the purchases of each consumer. Since many of these limit the number of items in the inventory, you will need to predict this number beforehand. Some versions incorporate other order-processing functions as well.
- Searching: Most on-site searches work by examining and cataloging all of the text on a web site. Having one built specifically for your site will most likely involve a significant amount of programming and it may involve using a separate server for handling the searches. Another option is to subscribe to a service that will provide you with a search tool that a developer can integrate into your site.
- Security: The most basic form of security involves data encryption. Encrypting the transmitted data requires using a digital certificate. You may also need to encrypt some of the contents of your server (such as passwords) for further protection. This is a fairly common practice solved by software. You may also need to create digital barriers in order to protect you servers. These barriers are called firewalls and often require using secondary servers. Virus scanning requires purchasing software and running it on your server. Backing up data can be solved in two ways. One is to save all the data on your server onto a series of tapes in case something goes wrong. Other back-up systems run a secondary server than can be used if one goes down.
- Surveys: Providing a survey for your users to use can be very simple. At a minimum, it will require some form handling to write all of the responses into a file and then compile the results. You may also want the survey results to be entered into a database.
- Tax/Shipping Calculation: Usually this will be handled by your shopping cart or order processing software; if not, then a web developer should be able to implement this without too much trouble. The complexity of the implementation will depend in part on the complexity of the rate structure.
- User Login: This will require some form handling to accommodate the user name and passwords. It will also probably involve some additional site security and password encryption in order to protect your users. For a large site this may involve using a separate server to handle the passwords. On most sites, user login features rely on cookies to track users. If your site contains sensitive information, then you may also need a log-out feature to delete the cookie when your user leaves.
- User Tracking: It is often important to track the number of visitors to your site, the number of visitors to each page, the number of unique IP addresses of your visitors, the frequency with which visitors return to your site, etc. This is often a fairly complex, but necessary, project.
- User Uploads: Allowing users to upload files to your web site is mostly a matter of form handling. However, you will also probably want to involve some virus-scanning before allowing these files to be downloaded by other users.
- Web-Based Administration: Some companies and organizations find it very useful to alter the content and databases of their site from a web-based interface, rather than altering the contents of the server directly. If you need this feature, you should definitely mention this, since it can be very costly to build, depending on the type of changes you will need to be able to make.
- Site Maintenance: Talk with your web developer to make arrangements for maintaining the site once it is up. If you don't intend to carry on a working relationship with your designer, change your password after the site has been uploaded.
- Instructions: When a developer creates a web page, they may need to give you instructions for maintaining the site on a regular basis. Make sure that you are given detailed instructions or guidance.
- Domain Registration: If you do not already have a domain name registered for your site, then you will need one. Talk to your developer or Web host and get their recommendations on securing your domain name.
- Marketing: Once your web site is up, you cannot expect visitors immediately. You will need to register your site with search engines. Depending on your budget, you may also want to pursue a more aggressive marketing campaign.
5. An Effective Project Outline
In order for your developer to build your web site in a timely and efficient manner, you must give them a good idea of what you want. The more you can guide the project with your ideas and specifications, the quicker and more productive the process will be. Providing a complete description of your needs will maximize efficiency.
- Size and Scope: Specify whether your project involves creating an entire web site, adding specific features to a site or modifying existing features. Also specify whether the developer will need to design any pages.
- Features: List all of the features that your developer will be responsible for. Include this list in your project description. Note which services the developer will need to set up for you.
- Inputs and Outputs: For each of the requested features, describe how the features will interact, what the outputs will be and what the inputs will be. Be as specific as possible; provide examples if possible. A detailed description of the parameters and output format is particularly important if you are developing scripts to be integrated into an existing web site.
- Constraints: Many web development projects will require the developer to work within an existing framework. If you already have a web host, server or network of servers, you will need to describe any existing systems. The developers will need to know what software and operating systems you are using, as well as any hardware constraints.
- Time Frame: Mention any time constraints or goals. If you have a large project, prioritize features so that part of the site can go live before it is completely finished. Since the amount of time that a project will take can vary greatly based on the complexity of the project and the size of the development firm, you may want to request that the developer provides an estimated time frame. Of course, developers can only do this accurately if you provide a complete project description.
- Other Services: If you need web hosting or web design services, then you have come to the right place..
6. Milestones in the Process
Each designer may work with you differently. In general, revisions and your feedback are an essential part of the process.
- Selecting a Developer: Before selecting a develper, you should consider his/her feedback, portfolio, client list, price and any other services that the bidder can promise in addition to what you have requested. Time frame: specified search duration.
- Design: If your developer is not the one designing the site, then it is generally easiest to have all of the visual elements, links and forms in place before talking to a developer. In most cases a separate designer will do this job. Time frame: ½ to 3 weeks.
- Hosting: Before a developer begins to write code and set up the software for your site, you will need to decide on a hosting or server configuration. This is important so that the developer understands the hardware constraints involved in the design. You may need to ask for input from your developer at this point. Time frame: 1 week
- Scripting: This step will incorporate the bulk of the project. The developer will most likely make each feature, one at a time, and then upload them to the site. This process will mostly involve writing new scripts and working with existing software to make all of the features function well together. Time frame: 1 week to 6 months. A typical e-commerce site might take 1-2 months to fully develop.
- Debugging: Once the site is up, it will need to be tested to make sure that everything works smoothly. This mostly involves testing to make sure that the site works in all of the ways as it is supposed to, including unusual situations. Time frame: Varies. Debugging a site can sometimes take as long as it took to build.
.com: Commercial Web site. This is the most common type of site.
.edu: Education Web site. (Institutional i.e. school, college or university)
.gov: U.S. Government Web site.
.net: Network Web site.
.org: Nonprofit Web site.
API: Application Program Interface. Communication interface for a program to communicate with an operating system or with a different program on the same computer.
B2B: Business to Business. Refers to a web site, which sells products primarily to other businesses.
B2C: Business to Consumer. Refers to a web site, which sells products primarily to consumers.
Bandwidth: Rate at which data can flow to and from a server.
Board or Bulletin Board: Area of a web site where users can display comments. Boards can be public or private. Also called a forum or forum board.
Browser: Program for viewing web pages. Microsoft Internet Explorer and Mozilla's Firefox are the two most popular browsers.
Chargeback: Fee charged to a merchant account holder when a transaction is successfully disputed by the cardholder.
Chatroom: Area of a web site where users can display comments and respond to other users' comments in real time.
Check Box: Type of form field that allows users to enter a yes-or-no response.
CGI: Common Gateway Interface. Scripting language that adds advanced functions to a web site. Primarily used with forms and databases.
Client Computer: The computer requesting data from a server.
Database: A data-storage program.
Digital Certificate: Licensed code used by servers to encrypt data via SSL.
Digital Signature: The digital analogy of a written signature. Code that identifies the sender of a message or order.
Discount Rate: Percentage of a transaction's value paid for handling a credit card transaction digitally.
Domain: Address of a computer on the Internet. Domain Names follow the format www."Domain".extension
Download: Copying files from a server computer to your computer.
Drop-Down Menu: Type of form that allows users to select from a list of choices.
EDI: Electronic Data Interchange. Network designed specifically for handling financial transactions between banks and corporations.
Firewall: A digital (and often physical) barrier between a client and a server.
Form: Area of a web site where a user can submit information in response to a question.
Front End: The interface of a web site that allows visitors to interact with the server.
FTP: File Transfer Protocol. A protocol for transferring large (and/or many) files to and from a web server.
Home page: The first page that is displayed to a visitor of your web site.
Hosting: To store web pages on a web server so that they will be available for access through the Internet.
html: Hypertext Markup Language. The formatting language used to create web pages.
HTTP: Hypertext Transfer Protocol. The language computers use to communicate on the Internet.
Hyperlink or Link: Connection that allows a user to jump from one web page to another.
Internet or 'Net: A world-wide network of computers that exchange messages and information over telephone lines or microwave links.
Internet Explorer: Popular web browser developed by Microsoft.
Intranet: A private group of corporate computers that exchange messages and information using the same technology as the Internet.
ISO: Independent Service Organization. An organization that processes online credit transactions.
ISP: Internet Service Provider. A company that sells access to the Internet.
LAN: A localized network of computers, usually contained within one building.
Merchant Account: Bank account established for receiving financial transfers from a credit card.
Merchant Bank: Financial institution which provides merchant accounts and processes online transactions.
Navigator: Popular web browser developed by Netscape.
Netiquette: Code of proper conduct for the Internet.
Network: Group of interconnected computers.
Perl: Programming language commonly used for web sites and CGI-scripts.
Posting: Sending files or information from your computer to a server computer.
Push Button: Type of form that sends data from other forms to the server.
Radio Button: Form field that can be used for users to either select yes-or-no or to select from a list of options.
Real time: Refers to updates or changes being made immediately.
Search Engine, Portal: A web site used for locating web pages based on content.
Secured Transaction: Information that the user enters and passes to the server, such as credit card numbers, is encrypted to prevent its misuse by outside parties.
Server: A computer that stores and delivers information. A web server stores web pages and delivers them to browsers that request them through the Internet.
SET: Secure Electronic Transaction. System developed by VISA and MasterCard for encrypting and conducting online credit card transactions.
Shopping Cart: Software system that keeps track of orders placed online.
SSL: Secure Socket Layer. System for encrypting data transmissions over the Internet. Requires a digital certificate.
Stickiness: Refers either to the amount of time the average user spends on a site or to the amount of time each user spends on a certain page.
Text Box: Form field that allows users to enter text such as name or address.
Upload: Copying files from a client's computer to a server.
URL: Universal Resource Locator. Also referred to as a Web site address or domain name. The complete address of a computer on the Internet. URL's follow the format http://www."domain".extension
Web or World Wide Web: The global information repository running on top of the Internet.
Webmaster: A person responsible for managing and maintaining a web site.
Web site: A group of web pages linked together.
ZIP: A common form of data compression that allows files to be transferred faster.
1. What is Web Development?
2. Before You Begin
3. Development Basics
4. Important Steps Afterwards
5. Posting an Effective Project
6. Milestones in the Process