As it is back to school month, we thought we would bring you the ABCs of software development...
September - a bittersweet time. The summer blues have kicked in but many of us secretly welcome back a semblance of routine. It is also a season of fresh starts - new school, new subjects, new teachers! On the ‘back to school’ theme, we thought we would give you the ABC’s of software development. ‘So sit yourself down, take a seat! It's easy as, as simple as, Do re mi, A B C, 1 2 3!
What is an Algorithm?
Algorithm: a process or set of rules that, when followed, will accomplish a task. In computing, algorithms are used to complete tasks such as calculations, data processing and automation.
Application or App
What is an Application or App?
Application or App: a program that is designed to carry out specific functions that are not related to the operation of the device/computer itself. They can be desktop apps, mobile apps or web apps.
Application Programming Interface or API
What is an Application Programming Interface or API?
Application Programming Interface or API: is software that specifically enables two different applications or pieces of software to talk to each other - a translator of sorts. It will translate an input and provide instruction to the application on what action to take and vice versa, translate and deliver the application’s response back to the other application. The use of an API makes a programmer’s job far easier whilst improving the user experience (UX). An example: you are using an API when you use one bank to access a bank account at another bank.
What is the Back-end?
Back-end: is a ‘server’ software. In layman's terms, it is the underlying invisible structure that makes the front-end (see below) possible. Think of a building, the back-end is the equivalent to the hidden structure and utilities.
What is Beta testing?
Beta testing: is the final round of testing a product before it goes ‘live’ (available for use by clients or rolled out within a business). Its purpose is to highlight and eradicate as many bugs or usability issues as possible, in a controlled setting, with select users i.e. the client or a select pool of customers.
What is a Browser?
Browser: is the app you use to browse the web. Notable browsers include Chrome, Firefox, or Safari.
What is a Bug?
Bug: An error or flaw in the coding of a website or app that prevents it from performing as expected.
What is a Cache?
Cache: a hardware or software component that stores data so that when future requests are made for that same data it can be delivered faster i.e. when you repeatedly visit a website it will load up all the various elements more quickly. ‘Have you cleared the cache?’ is a tale as old as time in software development. If a developer has made changes to a website but you can’t see them, it is most probably because your stored cache is remembering the previous version. Learn how to clear your cache here: How do I clear a single website from the cache? How can I reset Chrome’s cache fully?
Call to Action or CTA
What is a Call to Action or CTA?
Call to Action or CTA - in computing terms, the calls to action on your website are the buttons that result in an action or a conversion: signing up to a newsletter, adding to cart or downloading a file.
Cascading Style Sheets or CSS
What is a Cascading Style Sheet or CSS?
What is the Cloud?
Cloud: is the internet and servers hosted on the internet. As opposed to ‘on-premise’, which is where information more traditionally was stored on servers on a local/private network.
What does Cloud-based mean?
Cloud-based: is any software program or application that is accessed, managed and stored, via the internet, instead of locally on your computer or local network. Examples of cloud based applications include Google Drive, Microsoft OneDrive, Apple iCloud and Dropbox.
Content Management System or CMS
What is a Content Management System or CMS?
Content Management System or CMS: a program where you can create and maintain your website’s content all in one place. Well known content management systems include WordPress or Drupal.
What are Cookies?
Cookies: are small pieces of data stored in a web browser after a user has visited a website. Their purpose, to identify users and improve their internet browsing experience. They do this by remembering information about your visit to a website - login details, address or phone number - so that when you visit the site again, your experience is quicker and more useful to you. How does it work? As soon as you connect to a website, the cookies start storing data; you will no doubt have been presented with a pop up window asking whether you accept or reject cookies. Each piece of data stored in a cookie is labelled with an unique ID code pertaining to you and your computer. So when you visit the website again, the cookie is exchanged between your computer and the network server, it will recognise this unique ID code and bring up the relevant information that best serves you.
Customer Relationship Management or CRM
What is Customer Relationship Management or CRM?
Customer Relationship Management or CRM: is software or an application that helps businesses manage and foster relationships with existing and prospective customers. It centralises all communications and streamlines processes by collating, analysing and maintaining information regarding clients so that sales, customer service and profitability opportunities can be monopolised and improved on.
What is Data?
Data - is the representation of information.
What is a Database?
Database - is an organised and structured collection of data that is stored electronically. Think of lots of Excel or Google Sheets stored and seamlessly working together, without the traditional limitations of a spreadsheet.
What is Debugging?
Debugging - is the process of detecting, locating and removing bugs (errors) in a website or app.
What is Deploying?
Deploying: is the process of taking a copy of some software code and putting it where it can be used by users. In other words making it ‘live’ and available for use on a system by users and other programs.
Development Operations or DevOps
What is Development Operations or DevOps?
Development Operations or DevOps: combines the practice of software development with IT operations. Both areas are critical to the delivery and maintenance of software but often their visions don’t quite align. The hybrid role of DevOps was created to remedy this problem, closing the gap between the two disciplines. It is a relatively recent innovation within software delivery that gained instant popularity. It has proven to speed up the processes and promote an even greater scalability all whilst facilitating a continuous, smooth sailing delivery.
What is a Domain?
Domain: is the registered part of a web address. Ours is appdrawn.com
What is an End User?
End User: are the individuals that will use the software product. Distinct from ‘users’ who might be the ones who facilitate or manage how ‘end users’ use a given software product.
What are Fields?
Fields: Can mean multiple things in computing. It is a basic building block within data collection. When you fill out a form online, each box you enter information into is a separate field, so name, address, number, email etc. In a database, a category (column) is also referred to as a field.
What is a Firewall?
Firewall: is a security device which acts a little bit like your own digital bouncer. The firewall monitors the incoming and outgoing traffic (visitors) to a website and decides whether to allow or block traffic to said website, according to a set of defined security protocols. It protects a secure network from unsecured networks, unauthorised access and any other security threats.
What is a Framework?
Framework: is pre-prepared software that you can use to build other software. Designed and tested products of fellow software developers, frameworks are verified, solid foundations on which to build your software which save you starting entirely from scratch. There are back-end and front-end frameworks. Again to bring it back to the analogy of a building, a back-end framework is a little bit like prefabricated construction. It provides the basic structure but there is still a lot of work to be done to make the building usable such as plastering and services etc. A front-end framework is like an IKEA bookcase; you have all the parts to create a stylish piece of furniture which you can then dress with accessories. The same principle applies with software frameworks; there are still plenty of higher-level functionalities that can and need to be added to make it work. There are various frameworks available suited to different programming languages.
What is the Front-end?
Front-end: The front-end is the part of the software that a client, or site viewer, can see and interact with. To continue the analogy above (see back-end) its equivalent in a building is the interior design.
What does Full Stack mean?
Full Stack: Full stack technology refers to a computer system application in its entirety i.e. both the front-end and back-end. Full stack developers work on both the front and back end of website development.
What is Google?
Google: the most popular search engine in the world. It leapt ahead of the competition by providing more accurate search results than ever before.
What is Hardware?
Hardware: the physical parts of a computer or any other electronic device.
What is Hosting?
Hosting: is like the real estate of the world wide web. Website owners rent or buy space to house or host their website on the internet. The content of a website - the HTML, CSS, images - needs to exist or be housed on a server somewhere, in order to be ‘located’ or viewable by other users online. In this analogy the hostname is the address, the hosting is housing and the server is the specific type of house (flat, bungalow, terrace, detached etc). The internet acts as a road network between servers.
What is a Hostname?
Hostname: is both the domain name and any prefixes such as ‘www.’. An example would be ‘www.appdrawn.com’ as opposed to ‘appdrawn.com’ which is just a domain name.
Hypertext Markup Language or HTML
What is Hypertext Markup Language or HTML?
Hypertext Markup Language or HTML: is the standard markup language used heavily in conjunction with HTML and CSS. A little bit like an IKEA instruction manual, web developers (the Swedish furniture makers in this scenario) write a series of coded instructions known as HTML files that specify how a web page’s content should be constructed i.e. how the elements should be organised, formatted and displayed. When a user visits a web page, the server sends these HTML files to your browser, which reads them and builds the desired web page accordingly.
What is the Internet?
Internet: is the network in which the ‘web’ and all other internet services run on.
What is a Keyword?
Keyword: has multiple meanings within software development. In website design, keywords are used within a website’s content, meta tags and alt text to improve its search engine rankings. The keywords articulate what the content on a website is about, to make it more discoverable to the relevant users and increase a website’s visibility.
In the context of computer programming, keywords are reserved words within a programming language that serve specific functions. They are kind of like an efficiency tool or a form of shorthand for computer programmers writing code. They are the most direct way of providing an instruction i.e. 4 words instead of 40! Naturally, this makes the code more readable but it also reduces the room for error, making it more maintainable. Because they are standardised rules with set functions they help bring clarity to the structure and logic of a program. Although there are specific keywords for different programming languages, there exists a lot of crossover or similarities, making it easy for programmers to switch between languages.
What is a Linux?
Linux: is an operating system which was designed specifically to be ‘free of charge’. Initially, it had no graphical user interface and every user input was done via written commands. Nowadays, there are a lot of graphical interfaces for it and it has become the basis of Android, a mobile operating system.
What is a Markup Language?
Markup Languages: is a computer language that uses simple ‘tags’ to communicate to a web browser how to identify, present and format the data on a web page. The most well known markup language is HTML. Others include XML (Extensible Markup Language), KML (Keyhole Markup Language), MathML (Mathematical Markup Language) and SGML (Standard Generalised Markup Language). The use of a markup language is essential for content to be viewable via a browser.
What are Meta Tags?
Meta Tags: are snippets of text that summarise a web page’s content. They do not feature on the web page itself but are found in the <head> section of a page’s HTML code. They are a little bit like the blurbs you find on the back of books - a description of the content that awaits inside. In this scenario, the prospective reader is a search engine such as Google. Google scans a web page’s meta tags, determines what your web page is about and then ranks it accordingly. Therefore, meta tags are critical to SEO. They are called “meta” tags because they are data about the data on your page. So meta!
What is a Mobile App?
Mobile App: an application (app) that is used and accessed on a mobile device.
What is Navigation?
Navigation: is how users move through a website or application. For a website, it is how they move between the various pages. Navigation tools consist of the navigation or menu bar normally featured at the top of a website (you can read about the various web menu icons The Ultimate Web Menu Icon Glossary), links in the footer or by various buttons sprinkled throughout (Sign Up, Contact Us or Learn More). For a computer, the navigation is how a user moves through the various computer menus. For Windows it all starts with a click of the ‘Windows’ button. On a Mac all your applications can be found in the dock or via the finder on a Mac. Navigation on the whole is achieved by moving your mouse around the screen to click the various icons and links but can also be achieved using the keyboard.
What is a Network?
Network: is a collection of 2 or more computers or devices that are connected together, enabling communication and data exchange.
Open Source Software (OSS)
What is Open Source Software (OSS)?
Open Source Software (OSS): is software code that is available to the public - for free or for a fee - for download and use. Like photography, vectors, fonts and designs, the extent to which programmers can modify or distribute the OSS will depend on the licence.
What are Opening/Closing Tags?
Opening/Closing Tags: are used to indicate the start and finish of a singular HTML element. An opening tag is denoted by the fact it ends with ‘>’ and a closing tag by the fact it ends with ‘/>’.
What is an Operating System?
Operating System: is the software that manages the physical device itself (computer, tablet, phone, etc) and provides a basis for other software ‘programs’ to be installed and run. It is the single most important software in the functioning of computers; without an operating system, a computer is utterly useless. It is a little bit like the brain of a human body.
What is a Page Template?
What is a Plugin?
Plugin: is a software add-on that extends the capabilities of another computer program, app or web browser. These new functionalities are added to the host program or software without altering the host itself. Well known examples of plugins are ‘ad blockers’ or ‘password managers’ that let you add functionality to your web browser.
What is a Programmer?
Programmer: is a role or job title within software development. A programmer is responsible for coding, testing, implementing and maintaining programming language ‘code’.
What are Programming Languages?
QA (Quality Assurance)
What is QA (Quality Assurance)?
QA (Quality Assurance): is a combination of proactive (testing) and reactive (reviewing) processes and practices that aim to ensure the highest quality of a product.
What is Resolution?
Resolution: is a measure of the visual quality (sharpness and clarity) of a digital image, photo or video. It is denoted by two values - width and height - in the unit of pixels. You may be familiar with the standard common resolution 1920p x 1080p (Full HD) from YouTube. Basically, the more pixels a graphic contains, the more detailed information the image can offer. Therefore, the higher the resolution, the sharper and clearer a graphic will appear. The higher the resolution, the more you can zoom into an image and it does not end up a blurry mess! The resolution of an image or graphic, will determine how large it can be rendered on a screen without compromising on the quality.
What is Responsive Design?
Responsive Design: is when the elements of a website can reconfigure their layout or adapt to the screen of the device they are being viewed on. In 2014, internet usage on mobile devices exceeded the usage of desktop devices for the first time ever. This is very much still the case today and inspired the “mobile-first” approach within website design i.e. designing primarily with a phone and tablet in mind and then - of secondary importance - making it look good on a laptop or desktop.
SaaS (Software as a Service)
What is SaaS (Software as a Service)?
SaaS (Software as a Service): is a software delivery model whereby the customer can access the software over the internet for a subscription fee. Well known examples of SaaS products include Google Workspace, Zoom, Adobe Creative Cloud or Spotify. It is a popular approach to software delivery because it can reduce upfront costs significantly. With the software being hosted on the service provider's servers, the customer avoids having to make any hefty investments for new infrastructure to cope with and use the software. Being delivered online, SaaS products provide flexibility and are more accessible - a tool conducive to the evermore appealing working from home lifestyle!
What is a Server?
What is a Sitemap?
Sitemap: is a file containing a list of all the pages and sections within those pages on your website, and how they all relate. It is like a contents page and a map all in one. The purpose of a sitemap is to help search engines like Google discover, trawl and index your website more efficiently. It establishes the hierarchy of your website’s pages; which ones are the most important and contain the most useful information. A sitemap is a very important contributing factor to SEO.
What is Software?
Software: also referred to as a computer program or application/app, is basically a set of instructions that tells a computer what to do. Software will translate a user’s commands into a set of instructions in computer language (binary code) so that the computer can understand and execute the user’s wishes.
What is Testing?
Testing: is the process of running a software program to ensure it is defect free and meets all the requirements. There are various software testing techniques that can be used to check that the code you have written stands up and works as expected for e.g. unit testing, end-to-end testing or performance testing.
User Experience (UX)
What is User Experience (UX)?
User Experience (UX): is a word that describes and encompasses all aspects of an end-user's experience of using a software product. How intuitive or easy the software was to use and navigate? How aesthetically pleasing and engaging the design was?
User Interface (UI)
What is User Interface (UI)?
User Interface (UI): includes all the points of interaction between a human and a device. That includes the keyboard, mouse, display screen and even the design displayed on the screen. The latter can be more specifically referred to as the Graphical User Interface (GUI).
URL (Uniform Resource Locator)
What is a URL (Uniform Resource Locator)?
URL (Uniform Resource Locator): An entire web address, for example “https://www.appdrawn.com/about-us”.
What are Vector images?
Vector images: the storing of images or pictures as a series of lines, as opposed to dots. This way images can be scaled to any size with no loss of quality. The most common example of a vector file format is SVG.
What is a Web App?
Web App: an application (app) that is used and accessed over the internet.
What is a Website?
Website: a collection of web pages that share the same domain name.
What is a Widget?
Widgets: is a software component displayed on the desktop of a computer or the home screen of a mobile phone, that offers at-a-glance insights of your most used apps’ most important data, without having to open the app in full. For example, the weather widget detailing the current temperature and relevant weather icon.
What is a Wireframe?
Wireframe: is the basic structure - the skeleton if you like - of a piece of software or a website. Void of anything stylistic - fonts, colour and images - it is the minimalist version of a piece of software that demonstrates how it will function and how all the elements piece together. Sometimes the word ‘mockup’ is used interchangeably with wireframe. However, a mockup is more of a stylised visual overview that demonstrates the user journey. It will show what every page will look like and what links to what without having worked out all the nuts and bolts that technically make it happen.
Extensible Markup Language (XML)
What is Extensible Markup Language (XML)?
Extensible Markup Language (XML): is a markup language that is similar to HTML. Whereas HTML is more concerned about the display of information on a web page, XML is concerned with what the information is and how it is organised. HTML uses predefined tags seeing as XML you can use your own tags, which provides more flexibility. XML code can also adapt in real time in accordance with external sources. For example, the temperature readings on a weather forecast - BBC or Met Office - will be XML code, which reacts to live thermometer readings. Exchange rates are constantly subject to change and again will be written with XML code.
What is YouTube?
YouTube: is a really popular video sharing website which was purchased by Google in 2006.
What are Zip Files?
Zip Files: a file that contains a collection of other files, compressing them (a bit like vacuum pack bags for clothes) thus making it easier to transfer them all in one go. The receiver will be able to open up the files within, which are unaltered.