The input is all the sources of action for your app. But it’s a lot harder to see when we’re writing an iOS app with a UI, lots of different features, periodic tasks, etc. Take a string, count the words, print out the result. This pattern is easy to see when the program is a UNIX tool. The output is the result of doing something with the input.