The Year of The App

The App DiariesHaving lived through "The Year of UNIX" in the 80s (it was proclaimed each and every year but the world didn't seem to notice), I am loath tiptoe into proclaiming another "Year Of" but it seems hard to escape apps these days.

I've worked with apps now for some fifteen years - a neat trick, you might say, because the term has only recently come into widespread use. But, although the term is new, the concept has been around for a while. (I first encountered it in the world of OpenDoc.)

"App" is obviously an abbreviation of something - either application or applet. In the last couple of years, "app" has taken on a very specific meaning that is far beyond an abbreviation for something else. Unlike some other concepts in the world of technology, apps did not emerge fully formed; they have evolved over time, and, in fact, perhaps some historian of technology in the future will even write a treatise on that evolution using terms such as "proto-app." Fortunately, we have our hands full just dealing with the here-and-now.

Here is my description of apps. It's not a definition, just a description. It centers around the main features of apps.

  • Complex Environment Apps run inside a complex environment. Traditional applications such as word processors, spreadsheets, and games run inside operating systems on computers of all sizes and shapes. Operating systems provide support for utility functions and common methods for interacting with the hardware. Today's apps can run in environments that are, indeed, operating systems (iPhone OS),  that are web pages (Facebook), or that are enhanced browsers (Safari for iPhone web apps). The environment provides more services than an operating system of yore. Not only are there more services, but these are more focused services (the entire social web structure of friends on Facebook, for example).  These environments are available as parts of devices (iPhone, for example), and development tools are frequently free or open source. Even in the case of iPhone, access to the development tools for iPhone OS is available for $100, and most of the tools are free. Because apps run in these complex and specialized environments, the next feature is possible:
  • Small and Focused The complex environment provides support services to apps freeing them from reimplementing those features. This means that apps often do one thing and do it well and in innovative ways. 

  • Low Cost and Speedy Development The complex environment that makes it possible for apps to be small and focused leads to a very speedy development cycle with associated low costs. The barrier to entry for most apps is relatively low both in terms of cost and in terms of technology skills. For most apps and their environments, web designers can join the ranks of programmers. The major skills are HTML, CSS, and JavaScript. The most common programming language (it is actually a non-compiled scripting tool) is PHP. (iPhone OS apps are compiled using Objective-C, so they are the exception that proves the rule. iPhone Web apps to fit into this paradigm perfectly because they use HTML, CSS, and JavaScript without a compiler or Objective-C. This set of tools is what makes iPhone Web apps so attractive to many developers. And, no, iPhone Web apps have nothing to do with cutting corners or "jailbreaking" the iPhone: Apple supports them explicitly and developed the major tool - Dashcode - for their development.)

This combination of features makes the development of software available to a broader range of people than ever before. It is reminiscent of Jose Marti's remark 150 years ago: "In the future, everyone will be a photographer." 

With these three features, you can see why I can argue that OpenDoc in the early 1990s was a precursor of the world of apps. Unfortunately, it got caught up in the platform wars of that time and suffered from the lack of a business model for developers. With apps today, there are several business models, but they are less important because the investments in individual apps are significantly less than they were in OpenDoc parts.

If you consider these three features, you can even reasonably suggest that projects such as Drupal themes and modules can be thought of as apps or at least app-like. 

The App Diaries in this space will be examining some of the features of apps and the world of apps. Find it on where you can register (no cost, no sharing of email addresses) and leave comments or suggestions. 

You can keep up to date with the RSS feed.