|
Imagine you have to explain to a non-technical person what exactly
a "software application" is. It's obviously some sort of
packaging construct for certain functionality, but why exactly some
functionality is found in one application, but other functionality
requires the user to run a different one seems completely artificial
to me — and probably to most end users who have not been
"educated" yet.
Of course, I can explain it historically: an application is whatever runs
in a given address space allocated by the operating system's loader, after
jumping on the main() symbol. But this definition hasn't quite
been true for some while as applications often run several independent
processes, sometimes even across the network.
Take Microsoft Office: Is Word an application, and Excel another? Or is
Office the application, and Word and Excel and so forth are just different
entry points? What about Internet Explorer and ActiveX controls in general?
There are only three useful left-overs of the application concept that I
can think of:
- The application as a unit of distribution, as in "I installed
application XYZ today, it came on a CD."
- The application as a unit of licensing, as in "I bought (well,
licensed) application XYZ today, it cost me ."
- The application as the entity that is branded, as in "You should
really check out the XYZ application, it's very cool."
The application as a unit of distribution has been mortally wounded since
the always-on internet with demand downloads, and will be even further as rich
client approaches such as IBM's advance further and proliferate (example: where
exactly does the Eclipse application start and
end?)
The application as a unit of licensing has always been frayed at the edges, at least
for more complex applications that often have many licenseable feature sets. And I'm
sceptical about how long it can remain to be useful as a unit of branding, now that
the technical boundaries between "applications" are blurring.
Remember OpenDoc? It was a commercially unsuccessful, but technically
astute attempt at replacing the "today's application-centered user model
with a document-centered one" (Luca
Deri). The unit of distribution and of licensing in OpenDoc was the part
editor, together with part (i.e. data) templates. OpenDoc probably fell
over the third part, which was that the established vendors of software that
should really have been ported to OpenDoc were unwilling to do so.
But it proves that the concept of the application can be re-thought, and
for situational computing, it makes very little sense as the roles of
distribution, licensing and branding are quite different from traditional,
application-centric computing.
|