The Failure of ShrinkWrap
Software?
The first problem I had with Dave's essay is that
he never explains why shrink wrap software has
failed but instead seems to take it as an article
of faith. Specifcally I look at his opening
paragraphThe software industry has a dearly held
belief that installable applications can and
should be treated as packaged product, to be sold
to consumers at retail like a bottle of shampoo
or a box of dried pasta...What began as a
consumer phenomenon with things like Microsoft
Word, RealPlayer...has spread into the market for
enterprise software. Vendors make claims about
"integrated innovation" and "pre-tested
distributions" and "end-user programmability,"
but what they are doing is propagating the myth
that software can stand alone. Software companies
are desperately defending a business model that
has not stood the test of time.
and notice that he never backs up his claims which
is unfortunate because I agree with some of his
points but don't think he made very convincing
arguments. Before going into the meat of his
article there is one part of the introduction that
stirred my inner nitpick gene.
Of course, alternative business models to
software-as-shrinkwrap exist. Noise has been made
by software companies about an impending wave of
'software as a service'...but the same companies
have not yet cracked the business and technical
problems associated with creating reliable
consumer services that can be effectively tied to
shrinkwrap. Notable failures include Microsoft's
"Hailstorm" as well as Sun's several Java-based
services.
From where I sit, the core idea behind
Hailstorm was not to tie consumer services to
shrinkwrap software. The core idea was enabling a
new set of applications by creating shared schemas
for common forms of content and vendors expose this
content to various information aggregators. In fact
there are a number of similarities between
RSS,
news aggregators and the Hailstorm vision. From
the few demos and papers I read the main problems
with Hailstorm were that there was little incentive
I could see for vendors to expose such important
information to others and the service was
centralized.
The interesting thing is that RSS is slowly
reinventing the Hailstorm in a decentralized
manner. There is a common schema for news items
(RSS 2.0) and software that aggregates information
the user is interested in from disparate sources
both client-side or server-side (news aggregators).
People are slowly realizing the power of this and
already
there
is
sometalk
of shared schemas for calendar events. I don't
doubt that in the next year or two the information
aggregation space will end up looking a lot like a
decentralized form of Hailstorm. In fact,
there
already have been moves toward some degree of
centralization in ways that users will request
more and more.
I suspect this connection between information
aggregators and the most hyped XML Web Services
vision is why you find XML Web Services gurus from
various vendors such as
Don Box (Microsoft),
Mark Nottingham (BEA), and
Sam
Ruby (IBM) taking such an interest in RSS and
the like. I doubt that there is some sort of
conspiracy but there is probably the recognition
that RSS and the like have basically done what the
original XML Web Services hype claimed it would
do.
Anyway, back to the subject at hand.
Just like structures that are joined together
from component parts in the physical world,
things built using hardware, software, and
service components degrade in the face of change.
Because of this, they also demand constant
attention. The craft of making software-driven
machines is defined by a process of constant
rejiggering. Until tools and software systems
become far more advanced, the old dream of
mass-marketable, self-healing products will not
survive the harsh environment created by hostile
hackers, governments, corporate competitors, and
demanding consumers. Stand-alone PCs are
susceptible to viruses, cellphones are
susceptible to changing infrastructure, and even
things as simple as appliances are susceptible to
changes in the environment that surrounds them.
The right way to view software is as pliable
building material, rather than as finished
product.
I agree with the basic premise that software has to
keep evolving to deal with changing landscapes from
malicious hackers to competitive marketplaces.
Figuring out exactly how this evolution occurs is
the tough part. Automatic updates can only go so
far but they seem to be the best way we've come up
with to deal with the kind of problems Dave points
out (
hcrackers, changing network
environments, etc). I am unsure of how viewing
software as a building block of a larger system as
opposed to a finished product helps this vision but
I'll soldier on through the article.
Because of this, Doc's metaphor of the software
industry as the construction industry is nearly
perfect: those who build and maintain software
are like the millions of architects, builders,
and contractors who help us maintain and preserve
our homes, businesses, and public places in the
face of dryrot, hurricanes, vandals, changing
family sizes, and all of the other forces that
conspire to ruin them. The guild of craftsmen who
join software to service, software to device, and
software to other software are not factory
workers cranking out uniform widgets. They are
journeyman integrators who create vernacular
items matched to quotidian requirements. Of
course there is a mass market, but mass market
software, like any other prefab item, is destined
to be far less than perfect.
...
By adopting Doc's metaphor in place of the
shrinkwrap fallacy, society could begin to seek
the conventions, legal theories, and marketplaces
that will inevitably emerge to correct current
abusive practices, ownership disputes, and
liability issues. If hardware, software, and
services were commodities to be spliced together,
it would be easy to understand how to fit them
into our existing framework.
If I understand his metaphor correctly, instead of
buying a copy of Microsoft Word from the store a
person or company instead hires someone tp put
together a text editor with the features they want
(e.g. basic text editor + spellcheck + XML output
mode) and can hire others to maintain and update
this core package as needed. What surprises me
about his metaphor is that this is basically what
happened in the past where folks had to write their
own apps or hire contractors/consultants/etc to get
the applications they required and eventually this
lead to the shrinkwrap market. Customers (both
individuals and companies) prefer to deal with one
vendor and standardized packages than micromanaging
the software procurement process. Hiring
consultants is a last resort and I doubt that many
people want to move to a world where doing so is
the first step. Of course, this may also mean that
businesses have programmers on staff the way they
now have IT departments which I think is a step
backward because we should be trying to figure out
how to eliminate IT departments not make them
bigger.
Microsoft and the other companies who have built
their marketplace positions by cleverly
leveraging control of software integration
standards have an interesting choice to make.
Will the upcoming wave of network integration
standards such as Indigo reflect a desire
to make the life of the journeyman integrator
safer and more productive? Or will they point
toward yet another wave of sub-standard prefab
systems, rich in features, but difficult to
maintain and even more difficult to combine? Only
time will tell, but I am very skeptical that any
substantial change will occur.
As
Don Box pointed out Indigo is the code name of
Microsoft's implementation of network standards not
the standards themselves. The
network standards in question used to be called
GXA (short for Global XML Web Services
Architecture) although I'm not sure what they are
called now. As for whether XML Web Services really
will allow for better intergration, this has less
to do with the technology and more to do with the
vendors. Just as I mentioned earlier about vendors
needing incentive to expose valuable information
about their customers or products via Hailstorm
this is the same with XML Web Services. The fact
that web sites can syndicate their content as RSS
and thus benefit their readers who use news
aggregators does not automatically translate to the
fact that all sites will provide RSS feeds full of
metadata. The same is true of XML Web Services, it
will make it easier to interop but whether interop
actually happens depends on various vendors
supporting the technology. Another example, the
fact that XML is more open than binary file formats
hasn't made all vendors switch to using XML
(although various office product suites such as
Microsoft Office and Open Office have) file
formats. However there is market pressure for the
software industry to do a better job of
interoperating in diverse environments which makes
me confident that once the dust around XML Web
Services standards settles there will definitely be
an interoperability gain.
Of course, the market forces associated with
commodification will continue to put pressure on
the less socially efficient approach represented
by proprietary software integration mechanisms.
Practical people everywhere will continue to
recognize and adopt alternative approaches to
building software systems. Ultimately, the
friction between software-as-shrinkwrap and
software-as-commodity will lead to shrill and
contentious posturing in courtrooms and halls of
government,
I'm not sure what he means by commodification. When
I think of software as a commodity, I think of the
lowering of the initial cost of software caused by
movements like Free Software and Open Source.
However Dave's article is mainly about building
modular software that enables extensibility than it
is about giving out the source to your application
and allowing redistribution of [modified versions
of] said source. I guess one could argue that to
maintain software one needs source code but using
Dave's analogy does my plumber need the blueprints
to the house to fix a stoppage? Closer to home, do
anti-virus and firewall programs need the source
code to Windows to do their job?
All in all, an interesting but unconvincingly
argued essay from Dave Stutz.
#Clark for
President
I see
Howard Dean is pissed Wesley Clark is getting
support from members of the Democratic Party,
well I'm glad as hell about it. Howard Dean was
definitely too much of a leftist to win enough
mindshare to oust Bush but Clark on the other hand
looks like he'll get the support of the average
Joe. This is great, for a while I was worried that
the chances of 4 more years of
invade-countries-over-bullshit-reasons-while-turning-the-USA-into-a-police-state
where a 100%, now it looks like there is a fighting
chance to change that.
All I can say is
Clark for
President, biyatch.
#Are We Hot Or
What?
Tim Bray was
recently interviewed by C|Net and he had nice
things to say about the XML stuff we're doing here
at B0rg Central. Specifically
The XML standard is partly meant to set the
grounds for the free interchange of data. Are you
concerned about companies
piling proprietary stuff on top of the
standard?
...
To the extent that I've looked the (XML) formats
for Office 2003--I can deal with them. They're
not simple, but then, Word isn't a simple
product. But if need be, I could write a script
to process a Word XML file and extract the text
of all paragraphs with certain references--which
would have been a very daunting task with
previous editions of Word.
So, yeah, there's room for concern. As an
industry, we have to be vigilant to preserve open
access to our own data. But we are moving in the
right direction.
You've made some comments about XML being too
hard for developers. Does that still hold
true?
...
Having said that, in terms of interoperability
and openness and attractiveness in the
marketplace, it's more than worthwhile. The
answer is better software, and we're getting
that. In particular, the XML handling class in
.Net is a substantial step forward from
what's been available before in terms of the
amount of work required to get the job
done.
...
It's good to see our efforts getting credit every
once in a while. Thanks Tim.
#
--
Get yourself a
News Aggregator and subscribe to my
RSSfeedDisclaimer:
The above comments do not
represent the thoughts, intentions, plans or
strategies of my employer. They are solely my
opinion.