There are some terms that are used a lot in the world of digital, and they aren’t always used consistently. And, surprisingly, some of these terms aren’t defined well anywhere (that we could find). To make sure we’re consistent in our own writing, we created the Mojave Glossary of Digital...and we thought it would be nice to share it with you. If there’s anything you think we should add, please let us know!
Serving or rendering of pages, components, functionality, or content based on device detection or capabilities detection. Adaptive design can be employed in conjunction with, or as opposed to, responsive design.
Examples include loading different menu modules for mobile and desktop and suppressing video auto-loading on slow connections.
Editor’s note: the term “adaptive design” has been used variously over the years, and you may find definitions along the lines of “serving different websites for different devices”. That definition is not wrong; it’s out of date. Contemporary component-based web frameworks like React and Vue.js can offer adaptive functionality at the component level and the feature level.
The ability of computers to display (or exceed) human cognitive functions such as learning and problem solving. See also: artificial intelligence on Wikipedia
A unit of functionality that can be reused in different contexts. Common user experience components include buttons, menus, video players, and text editors.
An accumulated failure to reuse components, resulting in inconsistent functionality and higher cost of ownership. See also: technical debt
A canonical set of user experience components maintained as a single codebase and able to support more than one digital experience.
An isolated environment within an operating system for running programs. A single physical computer can run many containers at once with little memory overhead. From the point of view of a program running in a container, the container looks like a self-contained computer; neither the actual physical computer nor the other containers are visible. For most use cases, containers are more efficient than—and are gradually replacing—traditional virtual machines.
See also: OS-level virtualization on Wikipedia
The field of user experience design concerned with planning, structuring, creating, and managing content. Artifacts of content strategy include content audits, editorial strategies, content calendars, style guides, and many more.
See also: information architecture
A catch-all term for highly impactful digital initiatives, often reflecting a desire to short-cut solutions to complex problems.
(Of technical solutions:) providing capabilities associated with the demands of large, complex organizations and high-demand usage. Characteristics associated with enterprise solutions include: scalability, fault tolerance, auditability, regulatory compliance, data security, and the ability to integrate with other enterprise solutions.
Google’s toolkit for developing applications for mobile, desktop, and the web. It uses the Dart programming language and compiles to truly native instructions (unlike React Native) on iOS and Android. As of April 2020, support for web is in beta, and support for desktop applications is in development.
See also: Flutter website
The field within content strategy devoted to the organization, categorization, and findability of information. The artifacts of information architecture include user flows, content models, content hierarchies, sitemaps, tags, categories, controlled vocabularies, synonym dictionaries, and search configurations (e.g. ranking logic, filtering).
See also: content strategy
The ability of computer algorithms to process novel data correctly based on sample inputs and sample outputs, and to improve with the addition of new sample data. Examples include facial recognition, autocomplete, and fraud detection.
See also: machine learning on Wikipedia
Written or compiled to run directly on the target operating system and hardware, without emulation or virtualization.
Native iOS apps can be written in Swift and Objective C, platform languages created by Apple. Native iOS apps can also be written in Dart, using Flutter.
Native Android apps can be written in Java and Kotlin, platform languages selected by Google specifically for Android. Native Android apps can also be written in Dart, using Flutter.
Applications made with React Native use UI components written in platform languages: Swift or Objective C for iOS, and Java or Kotlin for Android. The application flow of a React Native app is controlled with Javascript (which is not native on either platform).
Both iOS and Android can leverage libraries written in C, C++, and other compiled languages.
Popular game engines like Unreal (which uses C++) and Unity (which uses C# and other languages) compile to native instructions for iOS and Android devices.
See also: Flutter, React Native
Iterative improvement of the technical performance or business performance of a website or application.
Functionality and communication based on attributes of a user. Three types of personalization are: one-to-one, algorithmic, and targeted:
See also: personalization (digital media and internet) on Wikipedia
A programming language recommended or mandated by an operating system provider. Examples include Objective C and Swift for iOS, as well as Java and Kotlin for Android.
Any execution of an idea—be it on paper, in a digital design, a physical prototype, or a computer program—that confirms whether or not the idea will work.
An execution of an idea—such as a design prototype or a happy path implementation—that conveys its intent, often to inform further development or collect feedback.
A mobile application development toolkit wherein UI components are implemented in platform languages (natively) for each target platform and application control flow is implemented in Javascript (not natively).
See also: React Native website
(Of a website or web application:) having a layout and appearance that scales and reconfigures based on viewport dimensions, using media queries and fluid grids.
See also: adaptive design
Not requiring human-to-human interaction for procurement and use.
Ironically, serverless infrastructure runs on servers; it’s just that you don’t have to think about the servers. In a serverless architecture, you deploy your application to the infrastructure provider, and the servers (and VM’s and containers) are managed automatically, behind the scenes. Serverless infrastructure allows organizations to worry about making great applications instead of worrying about load-balancing, scaling, hardware failure, and server security patches.
See also: serverless computing on Wikipedia
(In the fields of content strategy and information architecture:) the classification and organization of content, using hierarchies (trees), categories, tags, polymorphism (A is a type of B), associations (many-to-many, one-to-many, one-to-one), and lifecycle dependencies. Artifacts of taxonomy include UML class diagrams (or similar), trees, and mappings (usually in spreadsheets) for categories and tags.
The accumulated failure to address known problems in a codebase or larger technical system, such as redundant code, unsupported dependencies (older tools that no longer receive security patches and other updates), performance issues, security issues, and accessibility issues.
A visual representation of a web page or screen that communicates intended functionality but omits elements of visual treatment such as typography (instead using default fonts), color (relying instead on grayscale), photography, and minutia of layout.