# What Is An Application?

**Canonical:** https://apievangelist.com/2019/07/18/what-is-an-application/

<p>I have struggled asking this question in many discussions I&rsquo;ve had  around the world, at technology conferences, on consulting projects, and  in the back rooms of dimly lit bars. What is an application? You get  ten different answers if you ask this question to ten different people.  I&rsquo;d say the most common response is to reference the applications on a  mobile device. These are the relevant. Most accessible. The most active  and visible form of application in our modern life. Older programmers  see them as desktop applications, where younger programmers see them as  web applications, with varying grades of server applications in between.  If you operate at the network layer, you&rsquo;ve undoubtedly bastardized the  term to mean several different things. Personally, I&rsquo;ve always tried to  avoid these obvious and tangible answers to this question, looking  beyond the technology.</p>
<p>My view of what an application is stems from a decade of studying the  least visible, and least tangible aspect of an application, its  programming interface. When talking to people about applications, the  first question I ask folks is usually, &ldquo;do you know what an API is&rdquo;? If  someone is API savvy I will move to asking, &ldquo;when it comes to  application programming interface (API), who or what is being  programmed? Is it the platform? The application? Or, is it the end-user  of the applications?&rdquo; I&rsquo;ve spent a decade thinking about this question,  playing it over and over in my end, never quite being satisfied with  what I find. Honestly, the more I scratch, the more concerned I get, and  the more I&rsquo;m unsure of exactly what an &ldquo;application&rdquo; is, and precisely  who are what is actually being programmed. Let&rsquo;s further this line of  thinking by looking at the definitions of &ldquo;application&rdquo;:</p>
<ul>
<li>noun - The act of applying.</li>
<li>noun - The act of putting something to a special use or purpose.</li>
<li>noun - A specific use to which something is put.</li>
<li>noun - The capacity of being usable; relevance.</li>
<li>noun - Close attention; diligence.</li>
<li>noun - A request, as for assistance, employment, or admission to a school.</li>
<li>noun - The form or document on which such a request is made.</li>
<li>noun - Computers A computer program designed for a specific task or use.</li>
<li>adjective - Of or being a computer program designed for a specific task or use.</li>
</ul>
<p>This list comes from my friends over at Wordnik  (https://www.wordnik.com/words/application), who I adore, have an API  (https://developer.wordnik.com/), and who have contributed to this  discussion by playing a leading role in introducing the API sector to  the OpenAPI (fka Swagger) specification to the API community. That is  whole other layer of significance when it comes to the semantics and  meaning behind the word application, which I will have to write more  about in a future post. In short, words matter. Really, words are  everything. The meaning behind them. The intent. The wider understanding  and belief. This is why APIs, and web applications like Wording are  important. Helping us make sense of the world around us. Anyways, back  to what is an application?</p>
<p>I like the first entry on the list &mdash; the act of applying. But, each  of these definitions resonate with my view of the landscape. Yet, I&rsquo;d  say that the most common answer to this question hover towards the  second half of this list, not the first half of it. Most application  developers would say they are programming the application&mdash;the interface  is for them. If you are an API developer you believe that are the one  programming the application, where higher up on the platform decision  making chain, they are the ones programming the application, and  applying their vision of the world. Something that isn&rsquo;t always visible  at the lower levels, by API developers delivering APIs, the application  developers consuming them, or the end-users of the tangible applications  being delivered. I see the end desktop, web, or mobile as an  application. I see the API as an application. I see the network  connecting the two as an application. I also see the wider ideology  being applied across all these layers, even when it is out of view to  the outer layers.</p>
<p>One of the biggest imbalances in my belief system around technology, a  result of be operating at the lower levels of business, institutional,  or government, is that I am the one &ldquo;applying&rdquo; and &ldquo;programming&rdquo;. I was  developing and delivering the application. These interfaces served me.  After studying the machine closer. Tracking on the cycles. Documenting  the results over the course of many cycles. I began to realize that  there is more to this &ldquo;application&rdquo; thing than what I&rdquo;m seeing. Maybe I  was too close to the gears and the noise of the machine to see the  bigger picture. I&rsquo;m in the role of application developer not because I&rsquo;m  good at what I do. I&rsquo;m there because I conveniently think I&rsquo;m in  control of this supply chain. As I worked my way up the supply chain,  and became an API developer I continue to believe that I was the one  &ldquo;applying&rdquo; and &ldquo;programming&rdquo;. However after over a decade of doing that,  I&rsquo;m realizing that I am not the one calling the shots. I&rsquo;m applying  something for someone else, and that applications were much more than  just an iPhone or Android application, or even a TCP, FTP, STMP, HTTP,  HTTP/2, or other protocol application. How you answer this questions  depends on where you operate within the machine.</p>
<p>After climbing my way up through the layers of the machine, and  finding my way to hatch at the top, finally getting some air in my  lungs&mdash;-I still do not find myself in a better position. With more  knowledge, just comes more concerns. Sometimes I wish I could climb back  down to the lower levels, and enjoy the warmth and comfort of the inner  workings of the machine. However, no I can&rsquo;t find comfort in the toil  that used to comfort me online late into the night. I can&rsquo;t ignore what  we are applying when we work in the service of the application. We are  doing the hard work to mine, develop, integrate, and extract value. We  are doing the dirty work of applying the vision of others. We are doing  the hard work of laying the digital railroad tracks for the Internet  tycoons. We are imposing their vision on the world. The special use or  purpose of APIs do not always serve us. The usability and relevance is  only minimally focused on us. The close attention and diligence is  centered on maximum extraction and value generation for the platform.  All wrapped in a computer program, designed for a specific task or use.  Obfuscating the true application, with digital eye candy that keeps us  always connected, and always open to something new being applied or  directed in our life.</p>
