Image Image Image ImageImage
Creative Services for
Roughly Drafted
Daniel Eran

Image Image

Unraveling The Copy/Paste Development Myth
According to proponents of this myth, complex software development is a something like making funny madlibs from refrigerator magnets. Pick out features, line them up appropriately, and voila: an operating system! They're wrong, here's why.

Page 1 | 2
Mac OS X Copy/Paste?
During the early development work on Mac OS X, Apple presented diagrams that greatly simplified the engineering effort involved with merging NeXTSTEP and Apple's own Mac System 7. Aqua, the "advanced look and feel," sat atop boxes for Classic, Carbon, and Cocoa, which sat atop boxes for Quicktime and Darwin. Was the development of Mac OS X simply child's play?

Four years after acquiring NeXT, Apple still only had an early beta for Mac OS X. Clearly, the development work involved was complex. With further examination, the resulting product was very different internally than NeXTSTEP 4.2, and bore little relationship at all to Mac OS 7.5. With the obvious rapid advances those same developers made with Mac OS X in the five years since that beta, it's pretty clear there was a lot of difficult engineering work going on.

Microsoft Copy/Paste?
I've complained before about Microsoft's placeholder-ware, but the company does employ one of the largest software engineering and development forces on the planet. Do they copy/paste?
Consider the five years Microsoft spent working on a graphical UI for DOS. They had MS-DOS, and as the first major developer for the original Macintosh, they had early access to Apple's intellectual property for the novel design of a graphic interface. What work was left? Couldn't they just copy/paste all that together?

It actually took Microsoft longer to develop the primitive and largely derivative Windows 3.0 interface for DOS than it took Apple to build the Macintosh from scratch after only a brief inspirational tour of Xerox PARC.

Nearly twice as long! About a decade vs. about five years at Apple. Counting Windows 95 as the first approximation of the Mac interface on DOS, and it took Microsoft almost three times a long, or 15 years.

Now consider the eight years it took Microsoft to migrate its DOS-based Windows users over to an NT-based operating system. No copy/paste here; Microsoft found it extraordinarily difficult to fit together existing technologies required for backward compatibility; complete an entirely new kernel and operating environment; and create an API that could accommodate development across both NT and DOS based versions of the Windows product.

Is there any question left that it's incredibly difficult to figure out how to shoehorn two projects together, and then successfully implement that plan? Having access to two technologies does not mean it's a slam dunk to integrate them together. Interdependencies are often far more complicated than even the best laid plans may have suggested.

Further, something that might sound like a good idea on paper may be so complex and difficult to actually build, that it simply can not be finished before it becomes obsolete or before reasonable expectations of return or utility could justify committing the time and effort involved to complete it.
More Nails in the Coffin
If the simplistic premise of copy/paste development was not a myth, we wouldn't have nearly as much failure in software development. Apple's Copland fiasco could have simply copy/pasted the Mac System 7 on top of the TaligentOS. Microsoft could have delivered Longhorn back in 2004, with features in tact. Apple could copy/paste WINE into Mac OS X, and we'd be one step closer to that Utopian System the Runs All Software Imaginable.

Anyone who thinks that having access to two technologies means that they can successfully be slapped together without much time or effort simply does not understand how engineering or development works. It may sound incisive (or obvious) when somebody scribbles up conjecture about yanking this or that technology out and stuffing in a buzzword compliant bit of something else, or but it's really just uninformed and misleading.

You may have already guessed where this was going:

Unraveling the Mac OS X Needs a Linux Kernel Myth

| | Digg


More Journal Entries | More Tech Articles | Get Tech Support | My Resume | Links | Contact RoughlyDrafted

Articles Copyright © 2006 Daniel Eran. All rights reserved.
Suggestions and comments welcome. Contact RoughlyDrafted.

Read more about:
Click one of the links above to display related articles on this page.