Input, processing, output
Think about the last time you ordered coffee through an app.
You selected a drink, tapped Pay, and a moment later your phone displayed a message: “Order confirmed — ready in 8 minutes.”
Something happened between those two moments, and it was not magic. The software followed a process with three basic stages:
Input → Processing → Output
This pattern appears throughout technology. Software receives something, performs work using it, and produces a result.
Input
An input is information or an action that enters a system.
When you use a coffee app, your inputs might include the drink you selected, the size you chose, the café location, and your payment information. Tapping the Pay button is also an input because it tells the application to begin processing your order.
But inputs do not always come directly from a person. One software system can provide information to another, and a sensor, a file, a database, or another application can also provide input.
Processing
Processing is the work the software performs using the input it receives.
After you submit your coffee order, the application may calculate the price, apply a discount, check whether the café is open, confirm that the drink is available, verify your payment, and save the order. All of that is processing.
This is often the stage where the most important decisions happen, with the software following its instructions and rules to determine what should happen next.
For example, the application might follow rules such as:
- Do not accept an order if the café is closed.
- Add an extra charge for certain customizations.
- Apply a reward after the customer earns enough points.
- Reject the payment if the card is declined.
But the software is not making these decisions the way a person thinks through a problem. It is following rules created by the people who designed and built the product.
Output
An output is the result produced by the system after processing the input.
In the coffee app, the confirmation message on your screen is one output, the receipt sent to your email is another, and the order appearing on the café’s screen is a third.
Nor does an output need to be something a user can immediately see. The application may save the order in a database, send information to another system, or update your rewards balance in the background.
And one system’s output can become another system’s input. When the coffee app sends the order to the café’s system, that order becomes an input for the café’s screen.
The complete coffee-order process
The coffee-order example can now be described using the full pattern.
Input: You select a drink, choose a location, provide payment information, and tap Pay.
Processing: The application checks the order, calculates the price, verifies the payment, saves the purchase, and sends the order to the café.
Output: You receive a confirmation, the café receives the order, and your rewards balance may be updated.
The real process contains many smaller steps, but they can still be organized using the same basic model.
One more glimpse behind the curtain: that processing did not happen in one place. Parts of it ran on your phone, parts ran on a distant computer, and even within one machine the work was split across separate threadsRecognition — just know it existsthreadA single sequence of work a computer executes. Programs often run several threads at once to do multiple things at the same time. That’s all you need for now.. That word gets a dotted underline because it’s a recognition term, which means your goal is just to not flinch when you hear it. The solid-underlined terms are the ones you’re actually mastering.
Why this mental model is useful
Input, processing, and output give you a simple way to understand unfamiliar technology.
Consider a search engine. Your search words are the input, finding and ranking relevant pages is the processing, and the list of results is the output.
Or consider a calculator. The numbers and operation you enter are the input, the calculation is the processing, and the answer is the output.
A photo application works the same way. The photo you select and the filter you choose are the inputs, applying the filter is the processing, and the edited photo is the output.
This model can also help you follow technical conversations.
- If users are entering information in the wrong format, the team may be discussing an input problem.
- If a discount is being calculated incorrectly, the team may be discussing a processing problem.
- If a confirmation email is not being sent, the team may be discussing an output problem.
Real software systems can be much more complicated than this three-stage model, with many connected inputs, processing steps, and outputs, but the model gives you a useful starting point whenever a system feels overwhelming.
The mental model to remember
Software generally follows a simple pattern:
Input is what enters the system.
Processing is the work the system performs.
Output is the result the system produces.
The output of one system can become the input of another, creating a longer chain of connected actions.
Your coffee app applies a “buy 9, get the 10th free” discount automatically at checkout. Which part of the pipeline is that?
▼ answer the check to continue ▼