This thought provoking article by Roger Donnay, the author of dCLIP(tm) was originally posted on comp.lang.clipper by Andi Jahja of Indonesia. To make it more interesting, I have also added Terry Carmen's rebuttal of certain sections also posted on 29 June 1996. Just received an e-mail on 13th July 1996 from Roger giving his consent to publish this article.
BACK TO THE FUTURE
Like all other forward thinking programmers, I have been watching the horizon anxiously for the last several years. While staying firmly in the Clipper arena, I've done work in Windows via products like VO and VB and have played around with FoxPro and dBase for Windows. But my vision has been foggy. For the first time in many years, I've been groping for my direction. I've noticed that we've all been eyeing each other for clues. The leaders have been following. Microsoft seems to hold our future in its hands. We are bleeting like sheep. But I recently saw beneath the sheepskins. We are not followers! We have been hit in the back of the head with a big stick and sheepskins have been thrown over us. We're in a state of amnesia. It is inevitable that we will "come to" and remember wer'e not prey after all. Before our collective coma, programmers were the leaders, the discoverers, the thought pioneers. We must shake off our myopia quickly lest we all be led to slaughter. To regain our vision and perspective, we must step back and see the larger human picture, not just the technical parts we've been focusing on. This bigger picture presented itself to me recently at the 1995 CGDN Clipper/VO Conference in The Netherlands. On the last day of the conference, I was asked, in a panel discussion, to comment on the future of software development. The other panelists made predictions that included statements about Windows, SQL, OLE-2, multi-media, OOPS, and basically a universe that will have little or no resemblance to that in which most systems developers make their living today. I was fascinated by the technical nature of the panelists predictions and how they described this new world in detail as though it were a well-understood fact that it had to evolve by some pre-written script. It reminded me of the Popular Science magazines I used to read as a teenager. I recall reading how the world would automatically adapt to and accept all modern technology. There would be no resistance to change because those who promoted change did so for our own good with the goal of creating a better world for all mankind. Basically, the message we received was this:
"We'll build more factories with the latest robotic technology, put our unemployed to work, which will allow us to increase the goods and services in our economy and our money supply so we can pay higher wages and have more money for scientific research. We'll focus on creating new robotic technology so we can free up workers to do other things, like space technology research, and mining the asteroid belt so we can create spaceships that move faster than the speed of light to mine the universe. We'll invent a matter transformation machine so we can have unlimited resources without leaving the planet. Factories will be totally run by machines. Everyone will be guaranteed a job. Minimum wage will be 100 thousand dollars a year. College and Health Care will be free. We'll have unlimited money for education, college will be more user friendly, and if you can understand how an engine works you can be a physicist. Eventually, we'll colonize the universe and our new will make disease and death obsolete."
Many of us who believed the above predictions also believed that these changes would occur within our own life-time. As I listened to each person on the discussion panel, I was starting to realize that what was being described was a changing software and information universe that mirrored the above predictions for our changing physical and social universe:
"We'll build an information highway with the latest computer, software and communications technology, which will put our unemployed to work and allow us to increase the number of computers and logged on users. We'll focus on creating libraries of common sub-system objects to free up programmers to do other things like designing desktops and reports. We'll create a single standard for common user interface, a common language and a common protocol to make it possible for every single human being to be "computer-literate". No one will need to go to school to learn how to use the new computers. College will become obsolete. All the knowledge in the universe will exist on the information superhighway and access to this information will be faster than the speed of light. Anyone who understands how to use Windows will be guaranteed a job as a programmer. Eventually, we'll colonize the human mind and our new information system will make human error obsolete because the operating system will guide us through the depths of cyberspace."
Will this new world be created and maintained by a small number of monopolistic giants who will continue to make the rules while software developers and users happily comply and adapt to the "new paradigm"?
Not likely.
Ok, now that I have vented my emotions and basically put myself at risk of being labeled as another "paranoid programmer", let's be a little more realistic and pragmatic and view this changing world in a way that will give us some tools to better handle the transition for ourselves and our customers.
A BODY IN MOTION
At the CDGN I made the following statement:
"Operating Systems and Languages have a tendency to hang on much longer than we think they will. I predict that there will be a Clipper 5.4, 5.5, and even 6.0."
I made this prediction because of what I know about the process of change. As an Electronics Engineer, I spent as many years developing hardware as I did developing software and became acutely aware of how easy it is to evolve technology when human interface and compatability is NOT involved and how hard it is to evolve technology when human interface or compatability IS involved. For example, the evolution of hard-disk technology, memory technology and integrated circuit technology has leaped forward year after year, whereas the basic computer display and keyboard are not much different than those I was designing back in the late 70's.
Those of us who were around when IBM first introduced the PC in 1981 were amazed at how fast CP/M died after MS-DOS was introduced. This "instant death" phenomena led many to believe that DOS would die just as quickly after the introduction of Windows. PC Magazine predicted the death of DOS in 1988 yet it is still going strong 7 years later. There are several reasons why CP/M died so quickly but probably the main reason was because MS-DOS was almost a clone of CP/M but written for a different processor that was being mass produced and could access 10 times the memory. MS-DOS was NOT a new paradigm. In fact, converting CP/M applications to DOS was so simple that it required simply purchasing a cross-assembler or cross-compiler to convert 8080 code to 8086 code.
After the release of Visual Objects, many Clipper product distributors were gearing up for the death of Clipper by replacing advertising space for their Clipper products and training with advertising space for new Visual Objects add-ons and training. What happened next was not what was expected. Not only were the distributors dissatisfied with the poor performance in sales of VO add-ons but they were surprised at how Clipper add-ons continued to sell at the same rate even though advertising space had diminished. What they failed to take into account was that there is a "momentum" in the Clipper world that cannot be simply shifted to the VO world. Maybe they thought that this momentum would gravitate to VO in the same way that the momentum in the dBASE-III world easily shifted to FoxPro. Well, in retrospect it is easy to see that FoxPro does everything as well or better than dBASE and with no required "paradigm shift", whereas VO cannot even handle the simplest of Clipper applications.
Clipper is a body that has been in motion for 10 years, and being DOS-based, also brings with it the collective weight of 70 million DOS users. This momentum is not only impossible to stop but very difficult to even slow down.
THE NEW PARADIGM
At one time or another, most system developers have been confronted with a new paradigm that requires they take a different view of their world. Assembler programmers were confronted with C, C programmers were confronted with C++, mainframe programmers were confronted with microcomputers, procedural programmers were confronted with OOPS and event-driven programming. Windows is a new paradigm that offers great new opportunities for some programmers, and great new obstacles to others. The key to success in adapting applications to the new paradigm is not only knowing "how" an application should be converted but also knowing "if" and "when" it should be converted.
Even though many new paradigms bring excitement and opportunity, they also are a paradox, because while being pulled by customers to support the new methods, the same customers will resist using the methods they were pleading for. Why? Because people have difficulty adapting to change. Systems developers are people too. I try to balance my view of the future by looking at the past and watching human behavior. It is very unlikely that humans will behave any differently in the next 100 years than they did in the past 100 years just as it is unlikely that software developers will behave much differently in the next 5 years than they did in the past 5 years. We will continue to have the same prejudices, religions, fears, political alliances, learning disabilities, and overall dysfunction that has always kept us from fulfilling our vision of the "perfect world".
One of my customers is struggling with trying to decide on a development strategy for the next 2 years. He has a very powerful, data-driven, Clipper application that has evolved for nearly ten years. His business is growing faster than ever and he has never lost a sale to a competing Windows product, yet he is being pushed and pulled to convert his application to Windows. He said to me the other day: "I hear that in 2 years all DOS applications will be converted to Windows." I asked him if there was anything his application could do under Windows that it can't do under DOS and his answer was the same answer I get from most developers. They all say that their customers are asking for the following features:
1. Want to navigate the application with a graphical mouse. 2. Want consistent pull-down menus and better dialogue screens. 3. Want to suspend operation at any time and call up a different program, or the same program in another window to perform different operations. 4. Want to minimize the application window to the desktop with the click of the mouse. 5. Want to move the application window to any position on the desktop with the mouse. 6. Want to run other Windows programs without needing to quit the application. 7. Want to run the application in the background to handle tasks like indexing files, backups, etc. 8. Want to navigate data-entry screens with the mouse. 9. Want to run the application in a Windows memory environment.
What many Clipper developers (and their customers) do not realize is that 5 of the 9 requests listed above are already supported by Windows 3.1 and OS/2 in their "Windowed DOS boxes". The other requests are simply a matter of adding mouse support and better menus to their existing applications and linking in protected mode. This can normally be accomplished in a few weeks or a few months with the help of third-party libraries and DOS extenders for Clipper.
Developers can give their customers the features they want without the huge risk and development cost associated with converting an application to Windows. Eventually, as Windows development environments evolve and the tools and languages become more stable, it may be practical and desirable to complete the tranformation to run as a Windows application rather than in a DOS box window. The developer I mentioned above was wise enough to take my advice and spend a lot less time writing a new system and little more time educating his customers. He tells his customers: "You don't take a boat to Denver, and you don't take a car to China."
TOUGH LOVE
In the early 60's, manufacturing giants who made home appliances, hi-fi equipment and televisions tried to "push" a new paradigm for the home onto American consumers. The fallout from this debacle was a product which became known as the TV/Stereo Console. The objective was to create a product that would supply complete home entertainment in a neat package that was also a nice piece of furniture for the living room. It was quickly accepted that this was the wave of the future so these products gained immediate acceptance despite the fact that they were inferior in performance to systems that consisted of separate components. Such products no longer exist because the consumer "wised up".
In the 90's, Clipper programmers are being "pushed" by other developers to convert their legacy applications to Windows or to even drop support for these applications completely and move over to the new paradigm by finding new customers or by dragging the old customers, kicking and screaming, into the new world. True, some of the force comes from "pull" by customers who have already adapted to the new world but much of the customer pull comes from a misunderstanding of the nature of the new paradigm and how it affects the way we do our work. As each legacy application is converted to Windows (at enormous cost), the customer will wonder why he paid so much money to create an application that is less productive and less reliable than the Clipper application that served him so well for so many years. Eventually, the users will start to understand why they will be better served by programmers who can help them build a "hybrid" of new paradigm applications like word-processing and desktop publishing and old paradigm applications like database management and data-entry. This hybrid environment will consist of "bridges" between DOS, Windows, OS/2, UNIX and others. Software developers have a responsibility to their customers. We talked them into buying computers and software with the promise that we would always be there for them. We need to be honest with them and ourselves and resist the temptation to move them into an environment that we cannot support, that we do not believe in, or cannot return the investment of time and money. I once had a sign over the door in my office that read: "49 out of 50 people will tell you why something can't be done. 1 out of 50 will show you how it can be done." Clipper developers are unique. We are the 1 in 50. That's why we use Clipper instead of dBASE or FoxPro. We know when to use Windows, when to use OS/2 and when to use DOS. If your customer says he won't use a software product that isn't a Windows application, then I suggest you turn him over to a VB or FoxPro programmer and don't look back. Wait for VO. It isn't quite ready for most of us, but when it is, it will be great. Like the prodigal son, your customer will come home and all will be forgiven.
RIDING THE SMALL WAVES
Software developers often get in trouble because they cannot hear what their customer is saying or they respond to the rhetoric that the customer has picked up from the magazines and other developers rather than the real meaning of their message. Most of the time, customers want small changes, not sweeping changes to their working environment and their applications. Windows is such a major paradigm shift that simply converting Clipper applications to Windows is not possible. Computer Associates promised that this would be possible via their new product, Visual Objects (VO) but after the dust settled we all discovered that if we want to write Windows applications we had better start from scratch because the old application code is just not compatible. I fell victim to this kind of thinking myself and even wrote a white paper called "Migrating Clipper applications to Visual Objects". I wrote the paper while attempting to convert my Clipper library, and even though much of the code conversion was possible, the end result was an application that wasn't nearly as good as the original application running in a DOS box. I deluded myself and some of my customers into believing it was possible even though, deep in my soul, I knew it was not practical and would be a waste of time. I believe in Windows and I believe in Visual Objects. Windows is the operating system of the future and Visual Objects is the development language of the future. Both products are magnificent in concept and deserve to be highly successful. Some day, they will come together along with other third-party tools to give us the ability to create database applications that will soar above anything that can be accomplished in DOS. I don't believe, however, that the operating systems, the languages, the development tools, or the users are ready for the complete migration to Windows. Database applications require a much more stable environment than word- processing, desktop publishing, games, or graphics applications. Never has there been a less stable, or more complicated environment than what has been served up to us in this new paradigm. The big appeal for Windows is the promise that it will give us user- interface standards and connectivity standards that will make it possible for anyone, without training, to use a computer. It's understandable, if your'e developing an operating system for use in the home why you would set this as an objective. What isn't understandable is why we would want to establish this as the model for business. Business has never had any problem adapting to computer systems that require user- training. On the contrary, the most popular business applications, like Word Perfect and Lotus 123, were not at all user-friendly and sold millions of copies of after-market books and an entire industry was developed to help train the users.
When asked to predict the future I can't control my urge to get more philosophical than technical. My favorite philosphers are those who tell us how things "will be" rather than tell us how things "should be"., i.e. "Future Shock". In our business, we must not only be sensitive to future shock in our customers, but also to the effect of "Revision Shock" or we can find ourselves quickly out of business. MicroPro, the developers of WordStar, were the first in the microcomputer software business to be dealt this painful truth and they didn't survive. There are people who will always be looking for the "big bucks" or the "big thrill" by riding the leading edge of the technology wave. It takes a lot of skill and hard work to do this successfully. Most of us have been on this leading edge once or twice in our lives and have either succeeded or failed greatly. Others have jumped on the wave because of a fear of being left behind with nowhere to go. Those of us who have been around for awhile know that each technology wave is followed closely by smaller waves that are much less turbulent yet offer the same amount of opportunities. Experienced programmers and consultants have also discovered that it is better to respond to "pull" from their customers than to "push" from their suppliers. You should ask yourself "How much of my development efforts are being influenced by other software developers and how much is being influenced by my customers?" Here's an excerpt from a letter I received from Jan Blum, one of my customers whose Clipper application I have been maintaining for the past year. She says:
"It is a principle of nature that before and after every expansion, there is a contraction. The market and the society are the same. We've been expanding for a long time in the software and hardware world. Those of us in business are contracting for a minute now. We've spent a lot of money and are analyzing our return and catching our breath. We are not ready for more changes that don't work. We are feeling more cautious. I'm not near as ready to buy the latest, the newest, the hottest, the fastest. I don't envy those that do/can. I want something that is solid, not flashy. There is a little anger, a little fear, a sense of having been a guinea pig for the market. I'm contracting. I'll push forward again. But it will be AFTER a pause and I'll be wiser this time."
UNDERSTANDING OUR NICHE
The world of software development is so much different today than it was 10 years ago. For one, the "niche markets" are much larger than they were because the overall computer market has grown by an enormous factor. Each vertical market or niche market has a life of its own. These markets do not react to vaporware announcements and are much easier to predict and service than the larger horizontal markets.
Clipper is an example of a niche market that is still very much active on an international scale and will continue to be active for many more years. There are several reasons why I am making this prediction:
1. To many Clipper developers and database application users, Windows database applications have not yet made a strong enough case that they provide a better solution than a well-written Clipper application running in a Windows or OS/2 "DOS box".
2. DOS and Clipper are much more mature and stable than both the Windows operating system and Windows development platforms.
3. A Clipper developer with 5-10 years of xBase programming experience can develop a robust database application much quicker than a Windows developer with only 1-3 years of experience.
4. Most large Clipper applications under DOS load and run faster than most Windows applications with the same functionality.
5. Clipper applications will run on older hardware.
6. There are hundreds of thousands of Clipper legacy applications being used in businesses every day. It is far easier to upgrade an existing application with new features and a new look that use improvements in DOS (like Windows and OS/2 DOS boxes) than to convert it to Windows.
7. Converting a Clipper application to a Windows application is nearly impossible without completely rewriting the application.
Both Windows 95 and OS/2 have introduced a better DOS than DOS. This will give new life to Clipper legacy applications and make them work and look better without needing to change any code. Now it is possible to upgrade a Clipper application with full CUA compliance and mouse-support by simply using an add-on library or upgrading to Clipper 5.3 and a few minor code modifications. The new "better DOS-boxes" will give you a graphical mouse, sizable windows, user-selectable fonts, multi-user support and better memory-management.
THE NEW POLITICAL LANDSCAPE
The conventional wisdom in the software world is basically an understanding that Windows is a "black-hole" that will swallow up everything else including DOS, OS/2 and maybe even UNIX. Programmers have resigned themselves to the fact that one way or another they will be working for Microsoft or will have to go back to the farm. This new wave of thinking comes from the enormous influence of MicroSoft and their desire to control our workplaces and eventually our homes. It seems to me that many
Clipper developers are accepting this as some kind of "fate" rather than seeing it as an "opportunity". Possibly this attitude comes from the fact that most products on the shelves at your local computer store say "MicroSoft" on the label and every PC comes preloaded with MS-DOS and Windows. There are those of us who have no problem living in a world in which a single monopolistic giant tells us "the way things ought to be" and will adapt very well to this new system. I can only predict that this may be the way of the near future (next 5 years) but is certainly not the way of the 21st century.
Who would have ever thought that Big Blue (IBM) would be the underdog in this new "race for cyberspace", but I'm suddenly finding myself rooting for them with a vengeance. Why? Because we need choices. We all became Clipper programmers because Clipper was a much better choice than the "more popular" dBASE. MicroSoft's monopolistic practices are crying out for U.S. government invervention and it is very likely that a MicroSoft "break-up" will occur before the end of the century that will lead to the "De-Installation of Windows". IBM is betting heavily that this will happen and have invested a lot of money in OS/2. Several million developers and users are also believers and have jumped on the OS/2 platform. In fact, the publishers of OS/2 Professional Magazine refuse to install a single Windows product on their computers.
CONCLUSION
The more some things change, the more others tend to stay the same. Would you rather read a book or constantly gaze at a computer screen? Is a push-button transmission really better than a stick-shift? Will a mouse replace a keyboard for data-entry? When will the world adopt the metric system? The future has some interesting surprises in store for us, but fortunately, the Gaia principle will keep us from self-destructing. I look forward to writing my final article about Clipper just before my retirement in the year 2035.
Biography
Roger Donnay is the president and founder of Donnay Software Designs, a Boise, Idaho, USA firm specializing in the development of programming tools, dynamic-linking systems, and database management systems for Clipper.
Roger is the author of dCLIP (tm), a DBMS library, IDE library, dynamic-link system and tutoring system for Clipper and Time-Cube (tm), an appointment scheduler for Clipper.
Send your comments to:
DONNAY Software Designs P.O. Box 16330 Boise, ID 83715-6221
Voice - 208-331-2516 Fax - 208-331-2621 BBS - 208-331-2623 CIS - 73227,1225
Subject: Re: Back To Future
Date: 29 Jun 1996 15:12:41 GMT
From: tpcarmen@servtech.com (Terry Carmen)
Organization: Meadowbrook Software
Newsgroups: comp.lang.clipper
In article <4r2878$8t3@server2.rad.net.id>, Andi Jahja says... > >I Would like to Share The Following Article of Roger Donnay:
Nice aritcle, but he's missing the point.
I don't especially care if my customers want a DOS app, or a Windows app or a Unix app or something to run on an HP-41 calculator. If they have a need (real or perceived) and money, that's all the justification that's necessary.
Unless they want something that simply won't work as they expect it to, it's not my responsibility or (or even option) to "reeducate" them.
Donnay says "If your customer says he won't use a software product that isn't a Windows application, then I suggest you turn him over to a VB or FoxPro programmer and don't look back."
"Let them eat cake"? Send them over here, I'm thinking of buying a new car and would like to pay cash.
He also says "Wait for VO. It isn't quite ready for most of us, but when it is, it will be great. Like the prodigal son, your customer will come home and all will be forgiven."
Not likely.
The effort required to get back a lost customer is almost the same as is required to find a new customer (sometimes more, sometimes less, depending on what they think of you).
Once they have found that you can't (or worse can, but won't) fill their needs, they'll be gone like a puff of smoke in a hurricane.
The dark reality is that, for whatever reason, Windows comes on pretty much every PC built, and people are conditioned to want it.
It makes them feel good if they can buy software that does what they want and runs under Windows.
When they can't buy software that does what they want, the only reasons they come up with are:
[1] They're using the wrong O/S
or
[2] Their software vendor is incompetent
The answer isn't #1, since Bill Gates is a billionaire and is by definition rich and sucessful, and they do not blame themselves because they have purchased the same thing millions of other people have.
Guess which one they pick?
It's much easier (and more profitable and usually better) to give people what they want, instead of what you think they should have.
If they say "Windows" and you say "DOS", there's a good chance they'll say "goodbye."
Terry