Saturday, January 31, 2009

On the Meaning of Application and "App"

In judging the latest crop of laptops from Apple, specifically the 17in/8 hour MacBook Pro, there are mostly the same complaints and compliments. The design is great, a considered evolution of aesthetic and revolution of structure. There aren't BluRay drives, and the batteries are only removable from some of the models. Glossy screens are irritating to some, as they always have been, and will be, for eternity. The GPU is nice, could be better, or is more than adequate, pick your poison, and all are waiting for 10.6 to see how dual cores and dual GPUs can be made to work. End review.

Consider the iPhone. It runs OS X. Many have called it an Apple laptop for your hand. The App Store has given it something new, "signed software multi-functionality", but not "applications", at least not as the Mac (and wider) computing community has come to define the term. Bound up in "applications" when in context with "OS X" or "Apple", are implied functions that are simply not there in our App Store iPhone.

"Applications" include versatile options for user transport of the result of running this code and performing, or applying, its function. Consider not Palm Desktop or some complex app that has conduits and pipelines for all sorts of proprietary data from other applications. Rather, look at the "output" of iTunes. A session with iTunes alone increments play counts, destroys and creates anew lists it keeps of user play order desire, moves files around main storage, interacts and alters hardware both peripheral and integral to it per user wishes implicit and explicit. 

Some clarifications. "As per user wishes" or more simply "a session with", are both phrases with implied meaning. The user may want to purchase a song and put it on an iPod. They don't have to explicitly do the store hosting, song encoding, or iTunes to computer-speaker work. They don't do the nuts and bolts of the HD to iPod move beyond a GUI dragging action. User wishes are something user sessions try to accomplish, with varying accuracy. Examples of inaccuracy with output abound; an MP3 CD burned in iTunes that does not work in the old boom box run off the car power in the tour van.

"Application" as the term of art exegesized here has other latent implications. A program which instantiates a computing function in the set of functions superfluous to the operating system, such that it runs alongside the operating system. The advent of multitasking, or even time-sharing cooperative-tasking, meant "application" implied operating as one among many in userspace. Whether the computer juggled things to make applications seem to be working all at once, or they "actually were" as today on multi-core systems, is irrelevant. Expectations of, and popular use of, "application" as term has come to mean be there and useful, but not to the exclusion of other computing.

So, the App Store vends not a single "application", only lots of "App" code that can be used on the iPhone under OS X. Some Apple bundled App work approaches conforming to the meaning of "application", but only through "push notifications." Even the wildest-eyed anticipator of the Push Notifications SDK release does not hope for something that yields applications. 

User output after a session with an App is universally trivial. An On the Go playlist yields just that, and visible only on the iPhone, or in one row as an entry on Desktop iTunes. User output with an App like Notes is determined before the user pens a single word, save for the user's creativity.

Apps are not applications. The absence of Copy and Paste, filesystem access, dialog boxes, user access to user session output outside of the session originating program, the dearest aspects of our applications, are not part of the App as we have received it from Apple.

A Mac OS X-model for true iPhone applications would mean an ecosystem explosion, like the iPod had, not diktats reporting high App Store acceptance. iPhone external monitors? iPhone external keyboards? iPhone apps that take the output of all the chat protocols (Facebook to AIM) and agglomerate as formatted Note? I have to restrain myself lest I get too excited.

I only do work to break out App from application here.

No comments: