Software Jargon Nerd Glossary
People love words. Nerds love software jargon. But nerdy words have some dangerous tendencies. Sometimes the sayer has the definition wrong, sometimes the hearer doesn’t know the definition but doesn’t want to speak up. Here are a few common terms and some understandable definitions. Because words have consequences.
Simply: the abbreviation for application. In popular usage it has come to refer largely to native mobile applications – ones you’d download from your mobile device’s software marketplace. Also applies to web-based or desktop applications. Usually reserved for user-centered software.
AI; Artificial Intelligence
Currently used to describe software that appears to have human qualities: reacting to voice stimulus like Alexa or Siri, learning from user’s behavior or owner training like customer-service chat bots or advertising platforms which seem to know frightening amounts of details about viewers. Not necessarily about robots being ready to take over the world… yet. “Machine Learning” (or ML) sometimes is used interchangeably but isn’t the same thing. Instead ML is the subset of AI technology that influences the way a piece of software can learn through execution of code.
The relationship of the width and height of an image or display, as a number. The TV in your living room is probably 16:9 which means that for every 16 pixels of width there are 9 pixels of height. You might hear designers talk about images being “out of aspect ratio” which is how I would describe the right side of the below image:
The immense detail required to adequately describe the blockchain would be inappropriate in this setting. But you’ll get a lot of mileage out of understanding that the blockchain is a large ledger of transaction data. Once a transaction has been recorded, it cannot be changed. The entire ledger requires many parties’ data to provide the full account, and the details of each transaction are public to provide full accountability.
A storage mechanism to access frequently used data in which retrieval is faster than where the data was originally stored. When using the web, multiple layers of caches can cause confusion about the cause of out-of-sync issues or old content. See this image:
If there’s a mismatch between the data you know is right in the database and what you’re seeing in the web browser, there are 3 places it could be incorrect. And you almost never know how long ago any of those caches was updated.
Cloud – also “The Cloud”
In short, someone else’s computer. It’s not magic, but it does imply an advanced technology system. This can consist of storage or computing power virtualized over many data centers all around the world that appear to the user as a single storage or computing space.
An organized collection of data. Practically speaking, there will be a way to secure data and privileges to the right users and a way to access the right data without having to process all of it every time you need a small piece.
Distributed Denial of Service Attack. A denial of service attack overwhelms a system with traffic from the network. When you add the “distributed” modifier it means computers from multiple networks attack the same target.
A portmanteau of “development” and “operations.” This widely refers to all the things needed to help a software team do the job of delivering software that works. Configuring and securing servers, automating code deployment, scripting operating system updates, and other tasks adjacent to software development – but not precisely developing software.
The address of a single resource used to deliver data to or request data from a software system. Usually used when discussing or documenting APIs.
A class of software which controls functionality of a piece of hardware. Usually embedded in the read-only memory of the piece of hardware itself and usually semi-permanent. Historically, updating firmware has been an involved process.
General Data Protection Regulation. Start by talking to a lawyer – but know that if you have personal data about citizens of the European Union Economic Area (no matter where the citizen lives or where the data was collected), this likely applies to you and you should have a plan to conform.
Software without a graphical user interface. It does its job without the need to interact with a user via a screen or pointing device. Includes embedded systems, many internet-of-things devices, and voice assistants.
“If the web was Star Wars, this would be Galactic Basic.” – David Cooley; A data-interchange format easy for humans and easy for computers. That’s why it’s our favorite.
Literally, Payment Card Industry. But typically used as shorthand for PCI Compliance or PCI Scope, referring to the standards necessary to transmit or store payment cardholder data. I could never stress enough to find an expert to walk you through your PCI liability and compliance.
Occurs when two processes operate on the same piece of data in parallel but which process will complete first is unpredictable which makes the resultant data unpredictable. Happens very frequently in systems with asynchronous data operations over networks.
A secure way to remotely manage computers and the software that runs on them. Using SSH allows you to control servers across a network (like the internet) using encrypted commands and data so your files and information stay secure the entire time.
Serverless architectures are groupings of hardware that will grow and shrink in response to changes in demand on your application. The key benefit to running a serverless application is that you won’t need to worry about initializing your own servers, so you’ll never have too little power to maintain a growing user-base, and you’ll never worry about over-paying for server power that you aren’t using. Bonus fact: even serverless applications have to run on servers! You just won’t have to worry about maintaining those servers.
Software solutions usually require many different technologies to be leveraged, which rely on each other in parallel or are directly built atop one another. These building blocks are often referred to collectively as a stack. Think of a visual application running on your phone that relies on a database somewhere to keep track of transactions, and furthermore, the operating system that database relies on to function.
User Interface (design). The overall appearance and basic functionality of an interface, whether physical (i.e., you car’s dashboard) or digital (i.e., your online banking dashboard).
User Experience (design). What a user experiences while using a product’s interface. The needs and goals of the product’s targeted users are taken into account when laying out the interface and defining the information hierarchy and workflows to provide the most efficient and delightful experience possible.
A graphic file format created and editable by vector-editing programs such as Adobe Illustrator and CorelDraw. Vector graphics maintain their sharpness and clarity at any size. Formats include .ai (adobe illustrator), .eps (encapsulated postscript), and .svg (scalable vector graphic).