Diffusion of Innovations
Communications and Journalism 595
I took this class in 1995 from Dr. Everett M. Rogers, who wrote the classic textbook
in the field "Diffusion of Innovations", which is now in its fourth edition.
I enjoyed the class, and learned a lot from Ev. As I go through life and see
new projects, I'm constantly amazed at how much people don't know about this
topic. I consider knowledge of it vital to anyone who wants to change the world.
I highly recommend that you read Ev's book. I found it one of the most profound
books that I've ever read. But, I also found it to be one of the most profoundly
boring books that I've ever read. I forced myself to read it, reading paragraphs
over and over again until I understood them. I'm really glad that I did, because
I took away some really powerful ideas. But, I had to work at it. Ev, if you're
reading this, please let me suggest again that you try to find a ghost writer.
Here's my term paper from the course. You may notice that it looks slightly
unfinished in places. Ev is a really easy grader. I took him this rough draft,
to show that I had actually done some work, and asked for an extension. He took
it and gave me an A instead.
NeXTStep
An Innovation that (so
far) has failed
by Pat McGee
November 1994
Diffusion of Innovation
Communications and Journalism
595
Prof. Everett Rogers
Abstract
NeXT was founded in 1985 by Steve Jobs, one of the co-founders
of Apple Computer. The stated goal was "to build computers that change
the world...." In late 1989, they finally delivered the production
version of their world-changing software. Customers responded by staying
away in droves, and the company lost money continuously until 1994. Estimates
of the cumulative losses range up to $250,000,000.
What does Diffusion Theory have to say about this company?
With more attention to theory, could this story have had a different outcome?
NeXT, the company
NeXT Computer, Inc. was founded by Steve Jobs in September
1985, shortly after he lost a battle with John Sculley for control of
Apple Computer. He collected a small group of bright ex-Apple employees,
and challenged them to make a product that would change the world. The
initial target customers were colleges and universities, a market that
Apple had used with great effect in the introduction of the Macintosh.
[Stross 93]
After a legal battle with Apple which was settled in
January 1986, NeXT started serious design work. They unveiled their first
'personal workstation' on 12 October 1988 to an exhultant crowd in Davies
Symphony Hall in San Francisco.
The hardware combined several specialized components.
NeXT was one of the first users of the Motorola 68030 processor, and they
included a digital signal processing chip, several direct memory access
channels, and a 250 Megabyte read/write optical disk drive in each system.
Each of these components was used in other systems, but only as expensive
add on's. NeXT combined them into every computer delivered with the intention
of raising the 'lowest common denominator'. In this way, software developers
could assume that all of these features were present in every machine
and design their programs to use these features.
NeXTStep, the product
As innovative as the hardware was, the software was the
real innovation. The software, called NeXTStep, was based on several components.
The window system used Display PostScript, licensed from Adobe. The compiler
used a language called Objective-C, from StepStone. They were combined
using a new program called Interface Builder.
All those things were put together in a way that allowed
a program developer to quickly connect pre-programmed pieces together
in novel ways to accomplish the desired task. Objective-C supports a technique
called 'run-time binding'. When a program is running, it can load a subroutine
from a file, link to it, then call it. Most other languages use 'compile-time
binding', which requires the connections be done when the programmer compiles
the program. Other C and C++ compilers do not yet support run-time binding,
more than 10 years after the introduction of Objective-C.
Run-time binding is the key to the Interface Builder
and the Appkit, the two most innovative parts of NeXTStep. A developer
could point to an icon on the screen that represented a subroutine, drag
it into a window representing the program being developed, and instantly
use the added functionality. This dramatically shortened the 'think-program-test'
cycle, which substantially improved the productivity of the programmers
using it.
To show the effectiveness of NeXTStep, consider the development
of Lotus Improv. In a time when large projects were routinely delivered
years late and millions of dollars over budget, the Improv development
team delivered in 18 months a product that had been scoped for 2 years.
They were under budget a substantial, but undisclosed amount. This revolutionary
product was available only on the NeXT for several years. [???]
Context and Competition
When the NeXT computer was first announced, the world
was substantially different than it is today. Many of the ideas used in
the first NeXT computer are now routinely used in other systems. NeXT
continues to innovate, and by some estimates, retains a one to two year
technology lead on the competition. This is down substantially from the
time of first delivery, when they commercially introduced ideas that were
not otherwise available for three to four years.
When NeXTStep was first delivered, it was not clear whether
Objective-C or C++ would be the mainstream successor to C. X Windows was
battling with NeWS (from Sun Microsystems and very similar to Display
PostScript) for preeminence as the preferred solution for doing windows
over networks. There were more versions of Unix than there were workstation
manufacturers, and there were lots of those. Smalltalk (an object oriented
language) was a research curiosity, and companies that sold tools for
developers sold compilers and subroutine libraries. If you wanted to create
a GUI (graphical user interface), you either used a graphical tool to
place objects on a window, then told the tool to generate C code you could
compile, or you wrote the C code directly.
Now, thanks at least in part to NeXT, state-of-the-art
developer tools include visual programming systems and integrated user
interface builders. Everything is object oriented, even COBOL and FORTRAN.
Many interface developer tools similar to the first version of Interface
Builder are available, and many can generate code for any of several different
hardware platforms.
Other parts of the industry have moved in other directions.
There are fewer major workstation manufacturers, and fewer operating systems
for them. Smalltalk is now selling better than NeXTStep. C++ and X Windows
are everywhere, Objective-C is a bit player, and NeWS has disappeared.
How much more different could the world be now if NeXTStep
had diffused faster? That's a question that probably can't be answered,
but we can look at why NeXTStep did not diffuse faster than it did. To
start answering that question, first we need to examine theoretical factors
affecting rate of diffusion.
These theoretical factors can be divided into two main
groups. The first group to be examined include factors related to the
industry as a whole. Then, characteristics of the innovation will be examined.
Finally, some more recent history and possible future
trends will be examined.
Industry Factors
Industries typically go through several stages in their
journey from research to commodity. The first stage of an industry is
often composed of many very small firms, each one "Two men in a Garage".
After this, stages typically involve increasing concentration of production
into the hands of fewer, larger companies, decreasing prices, increased
sales, increasing standardization, and increased barriers to entry for
new firms.[Rogers 82, p141-143]
There are several distinct parts to the computing industry,
and different parts are in different stages at the same time. At the current
time, there appear to be distinct markets for computer hardware, operating
systems, and program development environments. These are in approximate
order of appearance and development.
During the period NeXT has been in existence, the market
for computer hardware has shown considerable consolidation, especially
in the workstation market. Hewlett-Packard and Apollo have merged, and
other firms have left the market.
It is not clear how to compare the markets for workstation
hardware and operating systems. Before 1975, every hardware vendor had
their own proprietary operating system; some had more than one. Since
then, there has been a steady consolidation toward Unix and its variants.
Now, there are companies that sell only operating systems for various
hardware platforms, SunSoft and Microsoft being the two leading examples.
The market for program development environments is still
in its initial stages, with many new firms entering the market. During
the last ten years, the tools available for this market have moved further
upstream in the development process, to address problems closer to the
beginning of a programs life.
NeXT, with its first product, attempted to join all three
of these markets at the same time with a single product.
It should be no surprise that they first ran into problems
in the hardware market. They were unable to stay current with the state
of the art. Other companies were putting a lower percentage of sales,
but a much higher total amount into hardware research and development.
This resulted in NeXT hardware trailing the state of the competition in
speed and cost/performance ratio, two very, very important factors in
this market. [Thiegpen 94]
This resulted in NeXT dropping their hardware business
entirely in February 1993. NeXT, Inc. (nee NeXT Computer, Inc.) was now
in the software business exclusively. Market consolidation had claimed
yet one more victim. [Find some articles about this]
Now, let us turn our attention from an industry focus
to a focus on the innovation. For the remainder of this discussion, I
will focus only on NeXTStep as a software product.
Types of Adopters
Before considering the innovation, let's talk about the
potential adopters.
Computer application programs become available through
two main mechanisms. The first one to be used, in the late 1940's and
1950's, was that companies who bought computers hired their own programmers
to develop applications just for that company [Goldstine 80]. This is
still the typical method for programs that are now called "Mission
Critical Custom Applications" (MCCAs) [Stross 93, p 311]. In this
model, the company, or a unit of a company, may be considered the unit
of adoption. Both the end users and the programmers are employed by the
company, and the decision to adopt a specific computer innovation is made
as a group decision.
About a decade later, the market segmented as some companies
realized that other companies needed many of the same programs as they
did. So, companies started selling programs. This became, in time, the
shrink-wrap software market. In this market, there are two types of units
of adoption, the developers and the end users.
Another market exists, that of free software. However,
this can be considered to be essentially similar to the shrink-wrap software
market except that the coin of the realm is admiration and other intangibles,
instead of money.
So, there are three types of adopters relevant to the
further discussion: companies who develop and use MCCAs, developers who
sell applications, and end users who buy these applications. Each of these
types of adopters had different reasons to adopt NeXTStep, and each will
be considered separately.
NeXTStep found a home in companies who wanted custom
applications for their employees and greatly valued quick development
time (e.g. Swiss Bank, many firms
in the securities industry.) This is a market that NeXT continues to sell
well into today [ref?].
The reception of NeXTStep among the developer community
was initially quite good. Many innovative programs were first developed
on NeXTStep. Some have been ported to other computers (e.g. Lotus Improv).
Others remain available only on the NeXT (e.g. ???). Much of this activity
was found on college campuses and research institutions, where doing innovative
things was valued over commercial success. In the commercial community,
however, interest was not as intense, and has never gotten past a fairly
low level.
Among general end users, NeXTStep has essentially been
ignored. [ref?].
There are many reasons for these results. What follows
is a discussion based on the theory of diffusion of innovation, with an
additional factor that seems to have been relevant, but is not considered
in that theory.
Relative Advantage
Relative
advantage is "the degree to which an innovation is perceived as being
better than the idea it supersedes" [Rogers 82, p 213]. This includes
such factors as profitability, social status, and satisfaction.
For companies with MCCAs, NeXTStep offers several advantages,
all of which can be related to the time necessary to produce such applications.
NeXTStep allows corporate developers to develop applications in a fraction
of the time and money required for competing systems. This allows companies
to deploy those applications faster, thus making it possible to take advantage
of emerging markets much more quickly.
This speed of development is also a relative advantage
for developers. Using NeXTStep makes it possible to substantially reduce
time to market for an idea, thus allowing a company to bring an idea to
market before their competitors.
However, those applications only ran on NeXT computers.
If a potential customer for that application had another computer, the
customer had to either buy an additional computer for the new application,
or to replace their computer and all of their applications with similar
ones that ran on the NeXT computer. In many cases, the second alternative
was not viable because many types of programs that were available for
other computers were not available on NeXT computers. Even if they were
available, this was an expensive alternative. The other alternative, buying
an additional computer, was even more expensive.
This substantially decreased the relative advantage of
NeXT computers for end users. In general, unless an end user needed a
capability that was available only on NeXTStep, that person could not
justify adopting this innovation. Since there were very few capabilities
available just for NeXTStep, there were few end users for whom adopting
gave them a relative advantage.
Compatability
Compatability has several different dimensions. Among
them are compatability with existing culture and practice and with previously
adopted innovations, and compatability with the needs felt by the potential
adopter. [Rogers 82, p223]. Of course, each company has a different set
of current practices, previous innovations, and felt needs.
For companies with MCCAs, NeXTStep can be very compatible
with existing culture because the applications can be developed to be
compatible with existing company business practices. Applications developed
internally, as MCCAs usually are, typically are more compatible with the
felt needs of the users than those purchased from outside.
However, if the business unit has previously adopted
a standard computer system, NeXTStep will be incompatible with that choice.
This could cause additional costs in duplication of computer system for
those users who need NeXTStep computers in addition to their company standard
computer.
Programming for NeXTStep involves learning a new system.
Many parts of NeXTStep are compatible with other workstations (e.g. C,
bsd Unix, PostScript), but others are not (e.g. Objective-C, AppKit, Interface
Builder). Learning to effectively use these elements is essential to getting
the most value out of NeXTStep, but because they are not compatible with
other systems, it does take some time.
For developers, new computer systems are always incompatible
to some extent with their current practice and systems. NeXTStep builds
on many compatible elements (C, bsd Unix, PostScript), but adds new incompatible
elements (Objective-C, AppKit, Interface Builder). For developers who
previously worked on X Windows, NeWS, or Macintosh, the event driven programming
paradigm is the same, but for programmers coming from the DOS world, this
is a major incompatability. On the subject of needs, however, NeXTStep
can be very compatible with the tasks typical of developers.
For end users, compatability has several elements. Macintosh
users find applications on the NeXT very similar to use. However, the
lack of application programs in many areas can make the NeXT very incompatible
with the users needs.
Complexity
Complexity is "the degree towhich an innovation
is perceived as relatively difficult to understand and use." [Rogers
82, p230]. Of course, complexity must be measured by the potential adopters,
and is relative to other innovations that have been tried or rejected.
For this measure, it is more appropriate to consider
corporate MCCA developers together with independent developers, and to
consider corporate MCCA users together with other end users.
For developers, NeXTStep is less complex than X Windows
or Macintosh, the two main competitors when it first came out. Programming
on any event-driven system, as all three of these are, is more complex
than writing an in-line program, but NeXTStep is the simplest to learn
of these three.
Applications developed for NeXTStep tend to be very similar
in complexity to Macintosh programs and therefore less complex to use
than those for DOS systems.
Trialability
If an innovation can easily be experimented with, it
has high trialability. Trying out an innovation before making the decision
of whether or not to adopt it is a way of reducing the uncertainty involved.
For corporate customers, trying out any new programming
system is troublesome. New computers and operating systems have to be
purchased. Programmers have to be sent to classes. A trial project has
to be selected. The project has to be implemented in such a manner as
to allow comparison of results. The results have to be evaluated. All
this consumes resources, which have to be diverted from productive work.
Only innovations that promise a substantial relative advantage can make
it through this labrynth.
Trialability for developers became better last year,
when a tutorial book on NeXTStep programming finally appeared [Garfinkel
93]. Before that, the only way to really succeed in trying out NeXTStep
was to go to a week-long class. The documentation that came with the system
explained how to use the various tools, but didn't explain the philosophy
of the best way to use them. Therefore, it was difficult to try out the
system and actually get any results.
End users who needed application types that were available
found NeXTStep very easy to try, as long as they could locate a machine
to experiment with. However, running NeXTStep applications on other operating
systems is impossible, and running NeXTStep on a computer other than one
specially configured for it is problematical. This makes it very difficult
to try NeXTStep without knowing a current user, or buying a machine just
for the trial.
Observability
Innovations that have very visible results are said to
be highly observable. This makes it easier for potential adopters to find
out about the benefits of the innovation.
Observing the results of adopting NeXTStep can be done
in several ways. For potential corporate adopters, looking at the results
of other corporate adopters can be very instructive. These results can
be not only seeing the programs that are developed and used, but seeing
the financial results from getting services and products to market faster.
However, most businesses do not reveal relevant financial results except
in the most general terms. Observing the programs that are developed can
also be problematical, especially if the programs are critical to the
financial success of the developing company. This tends to be less true
if the potential adopter is not in competition with the past adopter,
but can still be a problem.
Developers can also observe the results of other developers;
the application programs. Looking at applications that others have developed
gives an observer indications of what can be done with NeXTStep. To some
extent, this can also show how long it took to get those results, as the
number of hours per year that an individual developer can spend tends
to be roughly the same. If several applications are developed by one person
each, and they have significantly larger functionalitys than applications
for other systems, then much of the difference can be assumed to be because
of the development environment.
For end users, observability is mainly the ability to
see that other people can get their work done. The ability to get work
done strongly depends on the availability of application programs with
which to do that work, which depends on the type of work to be done. This,
in turn, depends on the rate of adoption among developers of that type
of application. Since NeXTStep was not adopted by developers of all types
of applications, not all types of applications are available. So, observability
for end users varies across types of applications. If the type of application
that the end user needs is available, it is possible to observe the results
of adopting.
Risk of Adoption
This is a characteristic that I have not seen addressed
in theoretical discussions, but was widely discussed by potential and
actual adopters following the introduction of NeXTStep. It was widely
perceived that if a company made an investment in NeXTStep, and NeXT did
not become a viable market force, then the company would be forced to
discontinue the adoption. This discontinuance could potentially be very
costly, losing the investment with no return from the benefits. Other
possible losses are the opportunity costs, the amount of money that could
have been made by adopting some other innovation. This perceived risk
seems to have influenced many potential adopters to not further consider
the benefits of adoption.
Risk is already implicitly a part of diffusion theory.
As people move through the various stages of considering adoption of an
innovation, they reduce their uncertainty
(risk by another name) about the innovation. But, for some innovations,
risk is an additional explanatory factor in how fast the innovation is
adopted. Potential adopters usually recognize that higher potential payoffs
are often accompanied by higher risk.
Different people and groups have different amounts of
risk tolerance. Some companies and people are very risk averse. If an
innovation is not very likely to pay off, these companies will not consider
adopting that innovation. Others have slack resources that can be used
for more risky innovations, where they are not betting the company on
any particular adoption decision.
For an innovation with a high risk factor, the number
of potential adopters is reduced, so the rate of adoption over the entire
population is accordingly slower.
The semiconductor hardware market is also characterized
by considering risk in adopting innovations. For example, adoption of
the Advanced Micro Devices 2901 chip was slowed because they were only
available from AMD [Rogers 84, p49]
Different developers had different views of the acceptability
of this risk, and of the potential rewards for entering the market. Large
companies typically thought the potential rewards were too small for the
amount of risk involved. Small companies had smaller sales needs to turn
a profit, so they thought the reward to risk ratio was sufficient to justify
entering the market.
Corporate decision makers typically saw a high risk from
adoption of NeXTStep. Deciding to make mission critical applications dependent
on a product from a small company with so few sales as NeXT was perceived
as a high risk move.
End users also typically saw a high risk from adoption
of NeXTStep. Selecting a new computer system was a major investment. Selecting
a system from a small company usually made the risk unacceptably high.
I feel this was a large factor in the non-adoption of NeXTStep among end
users. To quote an old industry saying "Nobody ever gets fired for
buying IBM."
Summary of factors
<summary table here>
In light of what we have learned from diffusion theory,
what could NeXT have done differently to cause their innovation to diffuse
faster?
What could NeXT have done differently?
This is not an attempt to criticize NeXT in hindsight.
It is an attempt to understand what happened, in light of theory that
existed at the time NeXT started. Most of this analysis could have been
done anytime in the last 12 years. Nonetheless, there is some unavoidable
element of hindsight involved.
NeXT attempted to compete in three different markets
at the same. In the hardware market, they were competing with much larger
companies that could spend more money pushing the state of the art. All
of the early hardware innovations (Digital Signal Processing chip, lots
of Direct Memory Access channels, the read/write 250 megabyte optical
disk) were subsequently dropped well before NeXT left the hardware business
completely. While it was not recognized at the time that an industry consolidation
was under way, such events were common in other industries, and were predicted
by theory to happen regularly.
Could NeXT have recognized this in time to avoid this
expensive mistake?
At the time NeXT started, they believed that it was absolutely
necessary to sell hardware for their software to run on. This has proved
to be an invalid assumption. However, at the time the decision was made,
only a few companies were selling system software without also selling
hardware (e.g. Microsoft, Digital Research). Mostly this software was
sold to hardware manufacturers, who bundled it with their hardware. [ref?]
It is probable that this was not an industry direction that could have
been predicted to change in the near term.
However, the decision to closely couple the window system
with the operating system was a decision that should have been recognized
at the time as being risky and unnecessary. This decision meant that it
would be difficult to ???
The Tide Turns?
As this is being written, NeXT claims to have had three
quarters of profitability, and be well on their way to a fourth. True,
the rumored amounts of profits don't begin to repay the hundreds of millions
of dollars of investment.
NeXT is now attracting corporate partners to deliver
the technology that NeXT has developed to users of other hardware platforms.
NeXT has developed a specification, called OpenStep, that ???
The NY Times said that NeXT and Microsoft were close
to announcing a deal in which NeXT would announce that the NeXTStep development
environment would be available for future versions of Microsoft Windows
[NY Times 94A]. Even though later stories have backed off from the earlier
claims that Microsoft was funding the development of the product [NY Times
94B], this would still be very encouraging news for NeXT investors and
adopters, as well as to Windows developers struggling with other, harder
to use tools.
These currents give hope to NeXTStep devotees that their
favorite development environment may yet have a long and prosperous life.
Conclusion
NeXT, Inc. has had problems, many self-generated, many
others as a result of unforseeable market forces. I've tried to show the
effects of some of these forces from a theoretical perspective. It is
my belief that if someone at NeXT had done this analysis nine years ago,
they could have avoided many of these problems with comparatively little
effort.
Bibliography
[Garfinkel 93] "NeXTStep Programming: Step One:
Object-Oriented Applications", Simson L. Garfinkel and Michael K.
Mahoney, Springer-Verlag, 1993.
[Goldstine 80] "History of computing', Harry Goldstine.
[Kawasaki 92] "Selling the Dream", Guy Kawasaki,
1992.
[NY Times 94A] "??", New York Times, 31 October
1994, page C-1.
[NY Times 94B] "??", New York Times, ? November
1994, page ??.
[Rogers 82] "Diffusion of Innovation", Everett
M. Rogers, 1982.
[Rogers 84] "Silicon Valley Fever", Everett
M. Rogers & Judith K. Larson, Basic Books, 1984.
[Stross 93] "Steve Jobs and the NeXT Big Thing",
Randall E. Stross, 1993.
[Thiegpen 94] Personal interview, Robert Thiegpen, former
NeXT salesman.
|