Background
- Application programming interface
Defined interface that lets software systems communicate by specifying the available calls, how to make them, and the data formats exchanged.
- Computer appliance
Computing device pairing hardware and software engineered for one well-defined function, deployed as a sealed unit that cannot be repurposed for general computing.
- Edge computing
Distributed computing paradigm that places computation and storage near data sources, cutting latency and bandwidth versus centralized cloud data centers.
- Fog computing
Distributed architecture placing compute, storage, and network services between edge devices and the cloud, defined by Cisco in 2012 and standardized as IEEE 1934-2018.
- Just enough operating system
Operating system philosophy that reduces the OS to the minimum components a specific application needs, shrinking attack surface, memory footprint, and maintenance.
- Lightweight linux distribution
Linux distribution engineered to use far less RAM and processor capacity than full-featured distributions, suited to constrained, embedded, and legacy hardware.
- Security through obscurity
Reliance on secrecy of design or implementation as a primary security mechanism, rejected in professional practice since Kerckhoffs' principle of 1883.
- User experience design
Multidisciplinary design practice covering every aspect of a user's interaction with a company and its products, coined by Donald Norman at Apple in the early 1990s.
- User interface design
Discipline of designing human-machine interfaces to maximize usability and user experience, governed by the dialogue principles of the ISO 9241 standard.
- Virtual appliance
Pre-configured virtual machine image combining a minimal operating system with a specific application, distributed as a self-contained unit for compatible hypervisors.