Glossary of Terms


HyperText Markup Language (HTML) is the standard markup syntax for elements which are designed to be displayed on the web. It allows developers to instruct web browsers on where to display common visual elements such as headings, images and paragraphs, as well as more complex elements for displaying data and interactive forms.

Cascading Style Sheets (CSS), is the standard language used to assign styling and layout to documents written in a markup language, such as HTML.

In its simplest form, this may include specifying a particular set of fonts to use, text and background colours and image sizes. More complex examples include custom patterns and animations, button effects, and features which allow websites to be displayed differently depending on the size of the device being used to browse.

JavaScript (JS) is a programming language which is most commonly implemented for client-side functionality, and allows websites to be more dynamic and interactive by altering page appearance, and even loading new content directly to the page without needing to refresh the browser.

These glossary elements are an example of JavaScript in action - clicking on a each section triggers some code which shows and hides the description. If you're on a mobile device, the menu button which shows and hides the navigation buttons also uses JavaScript.

C# and PHP are programming languages which are commonly used for writing the server-side functionality behind a web application. Libraries and frameworks are also available which make use of these programming languages, for example ASP.NET for C#, and Laravel for PHP.

This website uses ASP.NET for page navigation and the Contact form, and my blog is a WordPress website which is written in PHP.

A database is the location where data for a web application is stored, and can include anything from configuration data to customer orders. Databases are often hosted separately to an application and are accessed remotely. In order to maintain security and data integrity, databases are often hidden behind various layers of security, and the data is backed-up regularly.

Structured Query Language (SQL) is a type of query syntax employed by database administrators to create, read, update and delete records stored in a database.

A library is a collection of resources and behaviours which builds on existing technologies to make certain programming tasks simpler, more efficient, and helps to avoid lots of repeated functionality.

jQuery is a JavaScript library, which is well known for simplifying tasks such as selecting and manipulating specific elements on a web page. Tasks such as this can be done directly with JavaScript, but jQuery makes it much easier.

Bootstrap is a CSS library which implements JavaScript functionality and includes templates for common website components such as buttons, tables, forms, and navigation. These templates allow developers to create great looking websites without the need to start completely from scratch each time.

UX

User eXperience (UX) is a reference to the overall usability of a web application, in its simplest form - is it a good or bad experience? The way a website is designed and the ways in which the various features function and interact with each other helps determine whether a user will have a positive or negative experience with a website, and will often be a key factor in determining whether they will continue to use the website, or look elsewhere for the information, products or services they require.

UI

A User Interface (UI) is what makes up the visual and semantic elements of a web application and includes the overall layout and appearance of elements such as headers, footers, navigation, and content. An attractive, clear and intuitive UI is one of the main factors which determines the quality of the user experience (UX).

Responsiveness is a term used to describe features of a website which can be viewed on any number of devices with varying screen dimensions, without any detriment to the user experience.

This website was built with responsiveness in mind and can be viewed just as easily on a mobile phone as it can on a larger desktop monitor. There are noticeable differences, on mobile phones for example, the navigation buttons are collapsed vertically and visibility is triggered by a menu button to save viewport space, whereas on desktop computer they're displayed horizontally across the screen.

Accessibility is a term used to describe the features of a website which allow users with physical impairments to browse unimpeded using a variety of assistive technologies.

This website was built with accessibility in mind. For example, the high contrast colours for the text and background help users who may suffer from colour blindness to read the content; appropriate HTML markup and attributes are used throughout to allow screen readers to understand the semantics of the website structure, and element outlines indicate when certain selectable elements are in focus for users who may be unable to use a mouse.

Client-side

'Client-side' refers to any visual or functional elements or actions which are rendered by your web browser. You can see two examples on this page:

  • If you hover over a page link in the navigation bar, or social media icon in the heading, you will notice that it changes colour and provides feedback to the users to indicate that it's a clickable element, similar to a button - this is done with a CSS 'stylesheet'.
  • The other example is these Glossary and FAQ sections, which are styled using CSS, and controlled and animated using scripts written in JavaScript.

Server-side

'Server-side' refers to any functionality which requires interaction from the server on which a website is hosted.

The simplest example of this is when you navigate to a different web page, you are requesting resources from the server, in most cases this will include the page itself (e.g. a HTML file), along with any static images, styles (CSS files) and scripts (JavaScript files).

An example on this website is my Contact form, which uses server-side validation, and allows users to send emails to me with code that works behind the scenes.

Another example of server-side functionality which you are likely to encounter on a regular basis is user authentication, which occurs whenever you log into an account (such as web email). The server has to perform actions to ensure the credentials you've provided are correct, and that you have permission to access the account.

A 'stack' can refer to the technology employed by a particular application, as well as a developer's range of expertise.

  • The LAMP stack is a common technology stack used for WordPress web applications and consists of the Linux operating system, an Apache web server, a MySQL database, and the PHP programming language
  • A 'front-end' developer is someone who would work mainly with the visual and client-side (UI) elements of a website
  • A 'back-end' developer is someone who primarily focuses on server-side functionality, including work with databases
  • A 'full-stack' developer is someone who works with all aspects of an application, and is just as comfortable working on UI as they are with a database

An Application Programming Interface is a set of functions and procedures which allows users to access specific features or data from online resources using a well-defined and documented request structure.

Some APIs are free to use and are publicly accessible, others may incur usage charges. An example which you can use for free is Google Translate. If you've ever requested a translation via Google, then you've made a request to the API to process a string of text from one language into another language.

A Content Management System (CMS) is a type of web application which allows users to directly edit sections of their website. A developer would build the initial website, and then hand over the administrator credentials to allow the website's owner to edit content such as text and images, or add new products to an e-commerce website, without the need to hire a developer for every single change. The most popular CMS at the moment is WordPress, which powers over 35% of websites globally.

Hosting refers to a service provided by a hosting company who own and maintain an array of remote servers (computers) which are responsible for holding all of the files needed for a web application to function and serving them to users whenever a resource is requested.

This website is hosted on a server provided by Amazon Web Services, which I configured and maintain myself, but many other popular services exist which don't require as much technical know-how, for example, HostGator and GoDaddy.

A domain is the human-readable address where a website lives, for example, this website's domain is www.tomjones.dev, Google's UK website domain is www.google.co.uk. A domain consists of the 3 main elements:

  • a sub-domain, such as 'www' or 'blog'
  • a name, such as 'tomjones' or 'google'
  • , and
  • a Top Level Domain (TLD), such as '.dev' or '.co.uk'

Domain names are essential for public-facing websites because the remote server address used to connect to and view a website actually resolves to a series of characters known as an IP address. These characters have no meaning or association to the company or service to which they relate, and as such are very difficult to remember or share.

HyperText Transport Protocol (HTTP) is the protocol used for transmitting documents and media across a network. The most common usage is the communication between a web server and a web browser. In its simplest form, a user requests access to a resource (such as a web page) via a web browser (such as Google Chrome), the web server then responds with the requested file and the web browser displays it.

HTTPS refers to a Secure variant of HTTP which ensure that data sent between two locations is encrypted. This encryption is guaranteed with a digitally signed Secure Sockets Layer (SSL) certificate. An encrypted connection prevents hackers from intercepting and reading data in transit, and can be identified by the lock symbol shown on the address bar in most popular browsers. Encryption is especially important when submitting personal or financial data.

This website uses HTTPS and the certificate information can be viewed by clicking on the lock symbol in the address bar. SSL security was included on this website to ensure that any personal data which may be submitted from my Contact form is securely encrypted before being transmitted.

Frequently Asked Questions


If you own or manage a brick-and-mortar store, or advertise your products and services via word of mouth and brochures, you'll understand that your reach is often limited to the immediate area in which you're based.

Detailing your offerings on a website provides customers with an avenue to enquire and purchase your goods and services online instantly, and gives your brand a global reach.

Simple answer? Get in touch!

However if you have an idea of what you want, consider the following points when gathering your requirements:

  • Provide a brief description of the business
    • Do you sell products or services?
    • What are they?
    • Who's the target audience?
  • Do you have an existing website which needs a redesign, or need a new one building?
  • What do you want from the website?
    • An online presence/more exposure?
    • An online store?
    • To simplify or automate an existing process (e.g. booking/contact forms)?
    • What features would it NEED to have in order to fulfil its purpose?
    • What features would you LIKE to have that would make it more useful/appealing?
  • Design
    • Do you have a unique brand style/colour scheme?
    • Do you have a custom design in mind, or existing websites you like the look of?
    • Do you need images/logos to be designed/supplied?
  • Do you need to be able to edit the content yourself or will it be mostly static once developed?
  • Domain/hosting
    • Do you own a domain already or have a name in mind (e.g. mybusinessname.com)?
    • Do you have a hosting provider/server for your website?
  • What is your budget for the website? Consider:
    • how much turnover or exposure you expect to generate from the website
    • how much will you and your customers benefit from the website