San Diego web design, development and database programming

May 2007

Speak Geek: Web Industry Lingo for Normal People, Part 2

Hey there. Welcome back to our "Speak Geek" Series. Last month we conversated (yes I know that's not a real word, but it's still fun to say) about everyday design terms and phraseology (yes that actually is a real word.)

In this month's edition of "Speak Geek" we'll explore the wonderful world of web programming and web application development. If you thought designers spoke a weird language, you'll absolutely love trying to speak programmer. We'll try and guide you along the project life cycle and explain some of the commonly used, and often intimidating, terms used by the technically inclined.

Project Planning Phase

Systems Analysis - This refers to work performed to study or analyze an existing system. A system can be a simple set of pages comprising a web site, or a complex web application with lots of interactive functionality. In order to maintain or enhance an existing site or application, a developer must understand how the original project was built. After having a good understanding of the existing system, developers are better equipped to solve problems and/or design possible fixes or enhancements.

Requirements Analysis - This term can mean two different things. Let's start by defining the first part of the term: requirements. Requirements, on one hand, can refer to the specific objectives you (the client) have pertaning to the project. For example, one of your requirements could be to have a website that has a contact form that your customers can use to contact you. Another requirement could be an online store.

Within this context, the term requirements analysis refers to work performed to understand exactly what you (the client) would like to achieve with your project and the various implications involved in achieving those objectives.

On the other side of the coin, requirements could refer to the technology and tools required to achive the project objectives. After the initial requirements analysis in which we try to understand what needs to be done, this second phase of requirements analysis will help us understand what we will need in order to do the project. For example, if your site will be using an online store, one of the requirements involved in making this work, is to set up some mechanism to handle product and transaction data (i.e. a database).

Design Specifications - A successful project depends on having good plans or specifications. Specifications explain the specifics of the project.

Database Design - A well designed database is not going to make sense to the casual observer. That is because people and computers think differently! Especially in cases where your application handles a lot of data, a lot of painstaking work goes into making sure that your data is handled efficiently. The better the database design, the more responsive and efficient your site will be. The quicker your site is, the more likely users will visit your website and use the tools you are providing.

Application Development Phase

Client-side - First off, what is a client? In short, a client is any software program that is installed on a person's computer that interacts with the internet. Internet Explorer is a client. Firefox is a client. Client-side therefore, refers to any processing that happens on the visitor's client. The actual rendering of a web page is done client-side. The client receives the information from the server and then performs the needed processing to display the web page on the screen.

Server-side - A server is computer that sits on the sending end of an internet transaction. The server "serves" the web page or other web-based information and transmits the data over the internet to a client. Thus server-side processing involves any number crunching or organization of data pulled from a database or any "thinking" performed by a website.

Query - This is just a fancy word for asking a question or requesting some information. For instance, if I were to type the words "lifted trucks" into a search engine, I am actually submitting a query to the search engine to give me any and all web pages about "lifted trucks".

Form Processing - This refers to the manipulation of information that gets input into a form on a web site in response to a user query. This could include compiling all the information into an email that is sent to a live person or putting all the data into a database. Additionally, processing can result in providing the site visitor with information related to the visitor's input. For example, form processing ocurrs when you type search criteria into a search engine. The form input is processed, and the search (or query) results are to the client.

Form Validation - This is the most time consuming part of creating web forms. All good web forms have some sort of validation; meaning there is some mechanism that checks what users input into a form. For example, for a phone-number field, form validation will check to see that a correctly formatted phone number was entered into the field. If necessary, it will notify the user and prompt to try again. Good form validation will effect enhanced user experience. No one likes to fill out forms and be told there is an error with no explanation.

Form Validation can be carried out client-side but can be easily bypassed. The best way to do form validation is on the server side because the information from the client is now completely in the control of the server. If you were exchanging a large amount of money with a stranger, would you trust the other person's word that all the money is there and accounted for? Of course not! You would more than likely want to count the money yourself, right? Same principle.

Configuration - Put more simply, this means to set something up. This often relates to setting something up to particular specifications to meet certain needs.

Admin panel - An admin panel is set of web pages provided by the website builder that will allow you to manage the content of your site without needing to have any web development skills or experience. An admin panel could allow you to update your own web pages, change the fonts, the colors, the text, etc. The development of such a tool often costs extra. Having an admin panel is a great way to stay in control of what is on your website.

Quality Assurance

Glitch - This is an old-school term and in most contexts is synonymous with the word bug.

Bug - There's a funny little story that beginning programmers are told to explain the origin of this term. Back in the days when computers where the size of large rooms, a computer operator was having issues with the results returned from the computer. He knew the output was incorrect, but couldn't figure out what was wrong with his program. Everything seemed to be configured properly. He ended up climbing into the computer to check the components, and he found an insect among the circuitry. The bug was the cause of the computer malfunction. Thus, a bug is the word commonly used to describe a situation where something isn't working the way it's supposed to.

Error - An error in technical terms can occurr when software code is completely non-functional. This differs from a bug in that a bug doesn't necessarily hinder the software/website from returning any information. The information returned is just incorrect. An error ocurrs when a web page simply won't render.

Enhancement - This term is a little tricky. Clients often submit requirements and agree to a project plan, and then are unsatisfied with the final results. Often the requirements were not specific enough and did not include certain particulars. So what happens is the developers put together an application and it doesn't quite meet the original idea in the client's head. These "extras" that the client is desiring, which where not included in the contract are reffered to as enhancements. These enhancements, which were outside of the scope of the agreed upon terms can be added to the completed application at an additional charge.

Debugging - This is the process of correcting bugs in a web application or website.

Pre Delivery

Migration - This refers to the moving of a website or web application from one server to another. Because not all servers are configured alike, the migration process can sometimes be troublesome. A web application that works on one server might not always work on another. After a web application is migrated the server might require some configuration changes to make the web application work properly in it's new home.

Often times, delays in development are a result of miscommunication and a pile of unknowns. For a humorous example of what we mean, check out this funny article from a fellow web design firm in Australia: If Architects Had to Work like Web Designers!

We hope you found this tip useful! To read more Tools and Tips to help your business grow and succeed online click here.

Best Wishes!
Your santex-net team