A History of Progress
John Campbell on Progress-konsultti eteläisestä Kaliforniasta. Hänen yrityksessään White Star Software työskentelee todellisia Progress-guruja. Toiminta keskittyy asiakaskohtaiseen koulutukseen, konsultointiin ja julkaisutoimintaan. Neljästi vuodessa ilmestyy Progressions-aikakauslehti.
John julkaisi jo 80-luvulla ensimmäisen Progress-aiheisen kirjansa - Programmer's Progress. Sitten versioon 8 perustuen ilmestyi massiivinen - puhelinluettelon kokoinen - Making Good Progress.
Oheinen kappale - A History of Progress - on viimeksi mainitusta kirjasta, jonka käyttämisen John ja Connie Campbell ovat antaneet lahjana Suomen Progress Software Oy:n 10-vuotispäivän merkeissä:
Copyright John Campbell, www.wss.com.
Kuvassa John ja Connie Campbell Bostonissa 1993 (valokuva Teppo Määttänen)
A History of Progress
Fostered by the intellectual climate of university towns, Silicon Valley and its myriad hardware and software companies grew up surrounding Stanford University. The aerospace industry which spawned dBase grew up around Caltech, and the Route 128 Corridor of Massachusetts grew up in the vicinity of the college complex in Cambridge. MIT is where our story about Progress Software begins.
No one person would take credit by themselves for the origination of Progress, and the history of Progress could begin at almost any point in time with the story of any one of the founders. Perhaps one of the most interesting and critical events which led to the beginning of Progress was the story of Harold Adler. He was a classic entrepreneur who, during the early years of computing, when time sharing was in its heyday, decided to become more educated about computers and took some classes at MIT. One of those classes was being taught by Chip Ziering, who was a teaching assistant at that time. Chip apparently impressed Adler enough that he approached Chip about joining a company that Adler was founding in order to create a software package for manufacturing management on time-share systems.
At the same time that he was finishing his studies, Chip began his association with Mitrol (which is an acronym for Manufacturing Information Control with a nod to
MIT). Chip joined the development team which included some of the other founders of Progress. Together, they created a wonderfully rich development called MIMS (Mitrol Industrial Management Systems). As a company, Mitrol became quite successful with clients such as Philips, Shell and other international corporations. Although Mitrol was purchased by GEISCO, MIMS survives to this day, which says a good deal for the quality of the work done back in the '70's.
MIMS was written for the VM and MVS mainframe environments. It uses a CODASYL network database, and is written in PL/1. MIMS as a language was designed to handle manufacturing problems and has many unique features, such as the ability to do MRP planning with a single command (albeit with 72 arguments) called PLAN. It also contains such unique features as the ability to automatically sum a column of values in a set of detail records and place it into a calculated field in the parent. The combination of talented developers, entrepreneurial spirit of Adler, and that little bit of luck assured the success of Mitrol in its early days.
Mitrol's success spurred several of its employees to begin to think about developing an environment for open systems that would not only be good for manufacturing, but would be a general development language. One part of the challenge was to be able to take something which was proprietary and make it available to the world. Another part was to take the vast amount of learning about what worked and what didn't and apply it to a new language.
In the waning months of the 1970's, the plans for forming the company that would eventually become Progress Software Corp. (PSC) began to take shape. Chip
recruited two other developers, Clyde Kessel and Mary Szekely, who were enthusiastic about the idea. It took a lot of planning and a big leap of faith, so it was almost two years before anything substantive took place. Realizing that they also needed someone with business savvy, they began looking for another partner. Eventually, they linked up with Joseph Alsop who knew of Chip through Joseph's business associations with people on Mitrol's board of directors. Together in 1980 they decided to create a company called Data Language Corporation (DLC). The name says a lot about the original concept of the company: the product was to be both a database AND a language rather than one or the other.
Although the product was still a gleam in everyone's eye, they began to call it Spectrum. Later, it became known by the name Relational Data Language or RDL. Interestingly enough, the acronym RDL survives in the computers at PSC as the moniker for the current compiled development version of Progress. Thus, when
Progress is still in its pre-alpha state, it is called RDL. And when it is compiled it is addressed by the current revision number, such as RDL8.3A. DLC, as Data
Language Corp. came to be known in those days, was acronymically compliant. (The acronym DLC survives to this day as the default directory where Progress is
Many of the ideas that went into the early conceptual framework of RDL were quite radical for their time. In 1978 there was no such thing as a personal computer and in 1980 Unix had by no means proven that it was going to be a mainstream operating system. Yet it appeared to the founders that open systems had a future which would have a broader base than mainframe computing. It was a big gamble, and yet it seemed to be a risk worth taking. And so, the company was incorporated in December 1981, and development began in the spring of 1982 when Mary came to work for DLC.
So while the gentlemen sat around the table planning the scope of RDL, Mary realized that the nature of the database and many of the other architectural components would be independent of the compiler and interpreter upon which the language would be based. In 1982, DLC acquired a 3-station Wicat— the first commercially available Unix system, which Mary began to use to develop the compiler for RDL. Some of the early development was also done on Mary's PC, which had only a single floppy drive.
Chip worked on the design of the language, and Clyde picked the development language to begin working on the database. At the time, Pascal was the logical choice for developing an application. Although dBase and SuperCalc (the two big products of the day) were written in assembler, both Borland's and Apple Computer's products were all written in Pascal. Interestingly enough, Clyde picked "C," which was by no means a mainstream language in 1981.
To the great credit of the developers, most of the decisions about the architecture of RDL were very insightful and would prove to have lasting value as the environment matured. For example, the decision to make RDL "crash proof" has been one of its strongest suits since the day it was introduced. Another decision was to separate user functions from database functions in a manner that we now call client-server. Still another was the variable length record. The database was designed to be very good for OLTP (on-line transaction processing) and so there was no question that the level of granularity for data retrieval should be at the row level rather than at the page level. Many of the original algorithms which were written back in the '80's still have some semblance within the product today. Things have changed, but many of the underlying principles are still relevant.
The language itself was designed to be highly procedural. MIMS was not, and a great deal of what people learned came from dealing with the problems that end users encountered trying to accomplish things with MIMS. Not that MIMS was inadequate, but like any language it had its limitations.
The developers were very clear about the strengths that they wanted the database and language to have. They shared a passion for creating the best development
technology around, and this passion continues to exist in the company to this day.
One of the earliest decisions that had to be made as far as development was concerned was what to do about the code that would be executed. An easier decision was that the code would not be pure executable (binary), and therefore, the source code could be portable across machines. A more difficult decision was how to structure the size of that code. These decisions were made well prior to the implementation of the PC, and before hard drives were commonplace on small computers. This lack of ample disk storage left the developers with an interesting trade off. If they used a two byte offset pointer for the code they could generate object code with a maximum size that was quite large. However, each individual command would be tokenized into a slightly greater size than if a single byte pointer were used, in which case the code would be more compact but could only have a maximum size of 63K. At that time hard disks were five to ten megabytes in size, and cost roughly $500 per MB; roughly $12-1300 in today's money, whereas drives today cost pennies per MB. Not only that, but most of the commercially available CPUs at the time could not address more than 64K of memory. Consequently, they decided to use a single byte pointer and thus make the maximum size of any individual RDL program be 63K; thus allowing "more instructions per megabyte." This was only one of the many decisions made by the developers of RDL based on the best information available at the time, but which had consequences that would be totally unforeseen as the computing environment changed dramatically over the next several years.
Once the founders decided to begin to build RDL they took an office in the back rooms of a dentist's practice on the second floor of a small strip mall in the town of Billerica, Mass. Billerica was geographically central to the homes of the founders, and PSCs' offices have never been more than a few miles from those simple
beginnings. For the next couple of years they spent their time busily developing Relational Data Language. The roof leaked, and the noise of the people coming to the dance studio downstairs was often distracting, but everybody was filled with the passion of developing a new product.
Clyde became the hardware maestro, and set up the patch panel for the three-user system. When it came time to do their first port, the developers had to write their own programs (a la laplink of today) in order to be able to transfer the programs which generated the database, the compiler, etc. It took hours to move the programs, and hours more to compile and build the application. Some of the early systems in addition to Wicat were Cadmus, Fortune, Pixel, AT&Ts 3B2 and Plexus —all Unix-based systems.
The developers were quite excited about their product and decided to take it to Comdex in 1983. This product was the infamous Version 1, which was never taken to market. Nor was it ever intended for market—Comdex was for exposure to potential customers and feedback from developers. Needless to say, at the point it was time to go to Comdex, Data Language Corporation still did not have a big budget, and could not pay people to come to Las Vegas to support the booth. However, the product was so exciting that Glen Meader (who became one of the earliest employees of DLC) and two or three others volunteered to go for free to Las Vegas to help show off the product. Mary Szekely's teenage daughters were recruited to hand out promotional literature at the booth. The response was encouraging, and everyone returned to Boston excited about creating a commercial release. By early 1984, they had pulled in some venture capital, and hired Chad Carpenter among others to prepare the product for release.
How should DLC position itself in the marketplace? This was one of the most important questions the sales and marketing staff had to ask themselves. Other vendors such as Unify and Informix worked on OEM deals with the hardware vendors: they provided the software to the vendors at steep discounts, and the hardware vendors either bundled the software with their systems or sold it through their own sales force. By this time, many of the vendors had signed the agreements and weren't looking for new partners; besides, the discounts weren't appealing to the people at DLC. As DLC looked at Ashton-Tate, it seemed that selling directly to developers made more sense than trying to use a hardware resales channel. The decision was made to market the product to VARs/ISVs as well as directly to developers.
After the Comdex show, a few astute developers got wind of this nifty new product in the wings. One of the earliest pieces of publicity was a review for Byte
Magazine by Jon Roland, who is still a Progress programmer today. Beta copies of the product were distributed to friends and associates such as Arthur Fink, who had been a colleague at Mitrol. Arthur provided feedback from a developer's point of view, and eventually built a consulting practice around Progress which is active to this day. Chip invited some Scandinavian contacts he knew from Mitrol to visit Boston and take a look at the product. At the time, the only thing demonstrable was the syntax analyzer, and yet these Scandinavians were excited enough about what they saw to consider building a distribution network for this new product-to-be. This was the beginning of the strong international presence which Progress Software has always held.
The response to the product was quite gratifying. Among the early customers was Bell South under the aegis of John Harlow, the founder of United Systems, who
bought over 175 units in 1984. Another big contract was with a company called Applied Data Research of Princeton. ADR bought the source code to RDL to distribute on its own proprietary systems. This brought almost $3 million to DLC in one check and was one of the biggest and most exciting boosts to the company's early fortunes.
1983 saw the release of Version 2.2 of Progress (it was never released under the name RDL) with some interesting changes from Version 1. Among other things, the earliest version of Progress did not have r-code. However, most of the commands and structure were in place. Although a few of them were given slightly different names such as prompt-for which originally was ask-for. Some of the changes between the original and the released version are somewhat intriguing. Many people know the rules of Progress blocks and down frames. One of the things that was removed from the original version was the command no-indent. Originally, Progress was designed so that each successive frame of nested blocks was indented three characters from the previous frame to help mimic standard paper forms.
One of the very earliest employees of Data Language Corp. was Chad Carpenter, who played the role of Executive Vice President of the company for many years
after its founding. In the early days this meant that Chad was involved in almost everything at DLC, including providing training sessions for the early public classes held in Billerica and Bedford, producing the first training manual, and helping get the product packaged and out the door. Another early employee was Dean Carmeris who was involved with tech support, consulting services, manufacturing and almost everything else to do with customer service.
At the same time that the founders of DLC went to the Comdex Show, they changed the name of the product from Relational Data Language to Progress, although
they kept the original company name, Data Language Corporation. They moved out of the strip mall into a commercial building at the end of a cul-de-sac called
Manning Road in Billerica. Clyde, Mary and Chip spent weekends crawling around the plenum of the new building pulling wires and setting up a new patch panel before they moved in. The company was still so small that there was no one else to help with the move, so the founders rented a truck and did the work themselves.
But the size of the company was belied by the professionalism it presented to the outside world. Even though Progress' first set of documentation was mimeographed and stapled together, its first commercial documentation was well polished and professionally typeset and printed in two three-ring binders which were burgundy and silver in color and imprinted with a logo that was vaguely reminiscent of the pins of a computer chip.
The quality of the documentation, support and training grew in quality and quantity under the guidance of Chip and Dean; the product development moved ahead under the guidance of Chip, with the able support of Mary and Clyde, while the day-to-day management of the company continued to fall to Joe. The passion for excellence showed through, and more and more people were getting excited about this new, unknown but highly usable language called Progress.
Several astute developers saw the potential of Progress in the early days, and decided to write commercial applications with the language. Most of the other database vendors did not have a VAR base, but DLC continued to cultivate this market with a vision of building a strong tier of resellers who were motivated and qualified to sell the product. The first applications catalogue that PSC produced was less than 1/4" thick and only contained about 50 entries. This was the beginning of a long-standing trend of cultivating resellers which continues to this day. Among the early pioneers were the founders of Shaker computer, who decided to write a construction management package in Progress. At approximately the same time, Paul Guggenheim wrote a sales management package in Progress. Others began developing accounting, retail management and a host of other business programs.
A small sandal manufacturer in Southern California decided to create their own manufacturing software after Hewlett-Packard announced it was dropping support for their current package. Karl and Pam Lopker now run one of the biggest VARs for Progress, QAD. The implementation of this package, mfg/pro, was one of the more encouraging developments for the founders: since they had come from a manufacturing background, the development of a manufacturing system was sure to be an acid test of the work they had done. Needless to say, things worked out well . . . QAD's sales are sometimes almost as large as Progress'. It is said that over $1 billion of product written in Progress is sold each year.
During this time, large numbers of distributors in Europe (including the Mitrol connection) became very interested in Progress and began selling it. One distributor, in
particular, Modern Software Europe, or MSE, undertook a very aggressive campaign to sell Progress. Unfortunately, this distributor, with offices in several Scandinavian and Northern European countries, became so aggressive in their sales that they became over-extended. Not surprisingly, their primary creditor was DLC. The business problems of this company were a double-edged sword for DLC. Since it spelled lost revenue, it hurt Progress' income. In the end, it provided DLC with the opportunity to acquire the company and turn the distributorships into several international Progress subsidiaries. Through a combination of good fortune and astute business dealings, DLC was able to buy the assets of MSE in 1985, and has had an exceptionally strong presence in Europe ever since.
Based on their experience of the international success of Mitrol, DLC cultivated distributors in other parts of the world as well. Some of them eventually became
subsidiaries of DLC, and others remain independent distributors to this day. Australia and England were two of the major distributors which DLC acquired during that time. DLC's strong commitment to the international market has been borne out by the fact that over half of its revenue has always come from international sales.
By 1985, dBase was the standard for PC-based programmable data bases and Oracle and Informix were still young companies. Progress was a very functional
language, but there were still many features missing. With the introduction of Version 3, the developers had added simple networking, validation, and some nice reporting features like break-by. DLC continued to grow, particularly with its VAR base and international distribution channels. The development team had moved from Wicat to Fortune to Plexus Computers. The number of operating systems that Progress supported began to diversify—Sun, Xenix, Pyramid, Convergent. Progress continued to attract an enthusiastic following of application developers who began to turn out significant, sophisticated products for resale, thus providing a ready marketing channel that DLC did not have to cultivate. Throughout this time, DLC continued to open sales offices across the country and throughout the world.
Version 4, released in 1986, included heterogeneous networking—the client and server could be on different machines! There were numerous performance
improvements, more language features, and Progress supported yet even more operating systems.
Not too many months later, DLC had outgrown their offices on Manning Road, and began looking around for new space. They found a building in the Oak Park area and began planning their move for the fall of 1987. Guess who wired the patch panels for the new offices at 10 Oak Park? Even though there were more employees, it was still a do-it-yourself affair which had the air of a party rather than a corporate move. The building was big enough that the founders needed help in pulling the wires, but it was still a "family affair." This helped bring people together—everyone was used to doing a little bit of everything in the company.
The product had long since been known as Progress, and it had become evident that this was a highly recognizable name. The decision was made to change the name of the company from Data Language Corporation to Progress Software Corporation (PSC). Ironically, although the idea had been discussed for some time, the move prompted the change, since the company had to reprint all its stationery anyway. Not surprisingly, the company grew rapidly over the next few years. Desk space was at a premium: new employees found themselves in cubicles squeezed into hallways, and the manufacturing facility, which was in the basement, used the elevator shaft to store shipping boxes.
Version 5 saw the advent of SQL, shared memory and multi-threading as well as some changes to the much-loathed time-stamp. SQL was particularly important
because other databases such as Sybase were making major inroads in the marketplace. Even though the Progress 4GL was substantially more powerful than SQL, many clients, including a lot of government agencies, would not acquire Progress because it did not support SQL. Ironically, a large number of SQL directives are merely tokenized in the Progress 4GL. However, the SQL standard was in high demand in the mid to late 1980's. The multi-threading features of Version 5 provided for significant improvement in terms of throughput and the number of users who could access the database simultaneously.
PSC's first user conference was hosted by MSE in Holland in 1986. The next year, PSC put on a European conference in Vienna. It was not until 1988, in Hyannisport, Mass. that PSC held its first North American Conference. At this conference, Progress developers in the US got together in numbers for the first time to learn about the community, share technical tips and get to know the members of the Progress staff. From the outset, one of the things which set this conference apart from so many other industry conferences was the high accessibility of the staff—both the technical staff and the management group. (The '88 international conference was held in Stockholm).
The following year, 1989, continued to see PSC grow as a company and prepare for a new release of the language. The highlight of the year for the North American Progress community was the conference at the beautiful Hotel Coronado in San Diego. In Europe, people remember eating dinner with numerous dignitaries—at Mme. Tussaud's wax museum!
By 1989 PSC had been involved for a couple of years in developing an object-oriented environment called Future Shock. This project was being developed in what was called the Nashua Skunk Works, in New Hampshire. (Interestingly enough, this office is still in existence, although it currently houses the database group). Future Shock was originally written in Forth and modeled after the Macintosh Hypercard environment. It was then rewritten in C++ and, after significant investment the product was ultimately shelved for a variety of reasons. Some problems were with marketing (many companies had suffered by introducing products which competed with their flagship). Other problems were technical—many of them to do with performance and future development issues.
But the people at PSC learned a lot, and were building a cadre of talented developers. The development staff had grown from the original single developer in 1983, to the core development staff of four in 1984, to a staff of several dozen when Version 6 was released in 1989. This version had significant new features including client-server support, a totally rewritten dictionary, the introduction of a report writer, dataservers (which were called gateways at the time) federated or multiple database support, significant new administration tools and a host of other features.
The documentation, which had evolved from the ring-bound set to a spiral bound burgundy and silver set (and which now included database administration manuals!) was refurbished, along with a new logo and color scheme. The new logo was four red swoosh stripes on a glossy black background.
The company and its image were coming of age. The 1990 conferences which were held in Hilton Head in the US and Paris in Europe, hosted almost 2000 developers total. Hilton Head also saw the introduction of Programmer's Progress, the first commercial book about Progress.
Excitement grew as Progress Software Corporation prepared to go public . . . this would provide capital for growth and was a further sign of the success of the product and the company. The corporate balance sheet was very strong, the product was attractive, the management team was seasoned: the public offering in the late summer of 1991 was a resounding success: the stock "came out" several dollars higher than even the best estimates.
Things continued to go well: the company continued to grow, the product continued to mature, and the business infrastructure became more robust. The application
catalogue included more and more VARs, the number of sales offices both nationally and internationally increased, and the size of the development staff continued to grow. There was also a significant change in PSC's release philosophy. Whereas in Versions 2 through 5 no new features were added between whole number releases, Version 6 saw the introduction of new language features, database features and other administration and tool options were delivered in incremental releases from 1989 through 1992.
During the course of Version 6, the new dictionary and the Results report writer were introduced. These were the work of a young programmer named Tony Lavinio who reputedly got a job at PSC Software by demonstrating his knowledge of the date algorithm in Progress. This algorithm was based on Chip's birthday. Tony joined the numerous other dedicated programmers working under Bill Phelan, who was product manager for both Version 6 and Version 7.
By 1991, when the conferences were held in Orlando and Geneva, the product was continuing to show its advance into the more complex world of distributed
computing. During the next year, PSC Software released Version 6.3, which not only enhanced the dataserver and continued to improve the client-server algorithm, but also provided Symmetric MultiProcessing (SMP) support, as well as distributed databases, two-phase commit and numerous performance related issues. There were even rumors of a GUI release.
At the 1992 computer conferences, which hosted 800 in Phoenix and an equally large number in Geneva, there was significant talk of the GUI version. There was much discussion about such hot topics as multi-threaded transactions, component servers, and other ideas which would be necessary to support a GUI environment. In the interim, PSC had hastily released a "windows compliant" version which would support mouse actions for choose and cursor placement. The first release was quickly replaced when it was realized that MS Windows, being the different environment it was, did not support many functions in the same way DOS did—users could not even print from the first Windows release! PSC learned quickly, and the new release satisfied the growing demand for products which ran under Windows.
As time passed, PSC continued to grow both in terms of size and sales. With over 100 developers working on the product by 1992, and the company topping $100 million in sales during that fiscal year, Progress was starting to move up in the ranks of the major database vendors. However, there was stress and strain on the company. Between moving to a new headquarters, (too big a project for Clyde) coordinating such a huge development staff with the other branches of the company, and a product release cycle which was getting out of hand, Progress was showing the classic symptoms of growth pains many a major company goes through. There was significant pressure from the investment community for the quick release of Version 7, which was against Progress' philosophy of "release no product before its time."
However, the rules had changed, and so by 1993, Version 7 was finally released. It was heartily welcomed at the users conferences in Boston and Munich. It was
evident that this was a product which still needed to mature; but here it was at last, a GUI version which had complete compatibility with the old language. (This
compatibility was unlike that of some vendors such as Ingres, which suffered drastically from the lack of compatibility between its old Quel language and the new GUI version).
Needless to say, there was significant new functionality in Version 7 and, of course, new color schemes for the Progress documentation which now numbered in the
dozens of manuals. In addition to the event and GUI paradigms there were significant changes to the database. PSC also introduced a totally rewritten dictionary, a new Results, a third-party report writer, translation manager and a debugger. The index manager was rewritten for performance, and there were innumerable enhancements to improve both referential integrity and programming flexibility. It was through the efforts of the core team, and key new members including Gus Bjorklund, Amnon Weisman, Pete Slikowski, Tim Sargent and Bill Ferro who finally got the product pushed out the door. No wonder it took so long: there were more new features in V7 than V2 through V6 added together!
The GUI development tool was a significant step for Progress, since it was completely written in the 4GL. The initial developer of this new GUI tool, called the UIB, was Ross Hunter (a college friend of Chip), who modeled it rather shamelessly after Visual Basic, which was the only working model on the market at the time. Ross was soon joined by Bill Wood, and the two served as the core for the development of the UIB for several years. In fact, were it not for the development of this tool by these talented programmers (later joined by Gerry Seidl), Version 7 might have had significant difficulties in being accepted by the market. Any GUI language is complex, and without a development tool such as the UIB, most programmers would go elsewhere to develop GUI applications. Although the development of the UIB was one of several causes for the lateness of the release of V7, had the development effort not been undertaken in the 4GL, a lot of deficiencies in the underlying kernel would not have been discovered, and V7 might well have been a commercial disaster.
By 1994 the product had matured significantly. Many of the early problems had been cleared up. In fact, the second release of V7 was almost exclusively refinements and bug fixes on the first. By the time of the conferences—held in Dallas and Amsterdam—there were a number of applications developers who had products to display using the new GUI interface. There were changes in the old guard, however. Clyde took a "leave of absence" which really was a nice way of saying he was ready to retire. Clyde, always the iconoclast of the group—he had waist-length hair until the week of the original Comdex conference—spent his spare time doing such things as traveling to the North Pole on a Soviet ice breaker and riding his bicycle on a 300KM nonstop loop around a lake in Sweden on midsummer's eve. He had worked hard at both Mitrol and PSC, and had decided he wanted to retire at 40. Chad stepped back from his role as executive VP, and Chip moved out of his role as head of the development team. The company was prospering, and it seemed that it was time to let go a little, and bring in some new faces.
It was evident by the 1995 Orlando conference (which was billed as a worldwide conference), that the company had matured significantly. There was plenty of hoopla and press acceptance of the new product. The stock prices were doing well, and some vendors were actually coming to market with GUI releases. PSC's infrastructure became significantly more integrated as it grew and significant changes in the product in each successive release were reflected in the large number of replacement documents shipped with each upgrade, which occurred approximately every six months during 1994, '95 and '96.
With the advent of Version 7, PSC began to acknowledge the need to move its architecture from a client-centric approach to a more distributed model. It began to shift more of the functionality back towards the server, and began to talk about the enhancements to support more distributed processing. In addition, the database group, who eventually moved into the offices formerly inhabited by the Future Shock group, began working on upgrading its database and introducing more advanced administration tools, more flexible backup and deployment options for higher availability, as well as a new structure to support more flexible database requests through query optimization.
Rumors of an object-oriented 4GL surfaced in 1994; this seemed to be confirmed during 1995 with the demonstration of a prototype object-oriented syntax. (In the end, it was decided that Java was becoming the standard for object-oriented languages and the OO-4GL concept was dropped per se). On the 4GL side, the "Shell Methodology" was introduced. This early beginning of an object-oriented approach to 4GL programming was the work of George Kassabgi, John Sadd and several others in the consulting group. Several major clients adopted this new technology, which was released after the 1995 Orlando conference as Version 8 Smart Objects.
As the GUI marketplace matured, PSC decided to make a foray into the Visual Basic world. The first effort was to build an object-oriented visual basic compiler.
(Microsoft introduced their own . . .) Later Progress acquired Crescent Software, a developer of VB tools. This gained PSC more recognition in the GUI world, and provided a strong support infrastructure for Crescent, but didn't accomplish as much as PSC would have liked in terms of bringing it closer to the Microsoft world.
Even with the acquisition of Crescent and a spate of marketing, PSC was still having a difficult time gaining acceptance for its Version 7 release. During this period of growth and the ensuing struggles over V7, several tactical errors were made. An early release, which could have supported database triggers, was bypassed. Another release, which could have supported event-driven programming in character mode (with no GUI support) and would have been a great boon to programmers, was also nixed. There had been numerous problems with Vermont Views, the new screen handler PSC had acquired, and so character support was uneven in the beta program. Thus, by the time Version 7 was released, it was wrongfully perceived as a GUI only product, and even three years later, approximately 35% of Progress users had not converted to V7 character mode in spite of all the obvious benefits. Thus, Version 8 was targeted as a meaningful move, since it signaled an end-of-life cycle for Version 6 at some point in the future. Unfortunately, V8 did not support character mode or Unix servers for almost a year after its release, so once again PSC was in the position of appearing to be moving toward a GUI-only environment in spite of repeated public assurances to the contrary.
Progress finally began to acknowledge that the company image needed a little help; there was a concerted effort to boost brand awareness through the VAR channels and in the general public. This included a new image, the "Powered by Progress" logo which was made into tattoos, decals and disk images for everyone to sport.
By the conferences of 1996—Boston and Brussels—PSC had seen numerous changes in upper management, much to the consternation of the user community, so a major effort was put on to show solidarity at the conference. With PSC stock at its low, these shows were designed to indicate support for the Internet by introducing distributed components, or remote procedures, which had been designed as early as 1992. However, major products such as MFG/PRO needed these features, as did the Internet product, so they were finished in time for a release as version 8.1 in late 1996.
During the months prior to the worldwide conference in Boston in 1997, PSC had introduced two versions of its WebSpeed product for internet support. A lot of
resources were diverted from other projects to develop and support this product, and so by early 1997 it was apparent that the company had to refocus on some of its core strengths. The different releases of V8 continued to introduce stronger database features for high availability, easier disaster recovery and administration, while continuing to improve the performance of the database itself. This included distributed components, which were another step in the direction of multi-tier client server, sometimes jokingly referred to as a "buffed client" (as opposed to a "fat" or a "thin" client).
The next several versions will be aimed at satisfying the critics of the Progress database. These releases are under the guidance of talented database developers such as Gus Bjorklund, Britt Johnston, Jeff Owen and Rich Tucker. Intended to enhance both availability and large database support, the database is designed to allow distribution of tables to specific disk locations, isolation of data and indexes together, SQL query optimization and numerous other high-end performance issues which the top tier customers demand. In addition, PSC is actively developing an object-oriented language which most likely will be Java compliant. Look for Smart Beans, which will be Java-flavored smart objects, and still more features to move Progress squarely into both the 'net world and the object-orientation required by the business world.
Progress Software Corporation has always been run in a fiscally conservative fashion, and has always grown based on its profit rather than on borrowing. In one
manner, this has hurt PSC, since it has been somewhat slow to come to market with new features. On the other hand, the product has usually been very solid when it was released, and support and service has generally been good, because the company has been able to keep up with the measured growth. Although PSC has suffered from an identity problem, it has always had a loyal following. The passion for excellence still survives among its developers, while at the corporate level the acknowledgment that the company needs a higher marketing profile is a step in the right direction.
From a business perspective, PSC has gained enough momentum that it can grow significantly in the coming years. The successful weathering of so many business
milestones shows that the company has matured and can continue to grow without any severe logistical or administrative headaches. From a technical perspective, the successful transition to a GUI and event driven paradigm bode well for the future of PSC, both in its ability to continue to improve its product and its ability to deploy and support that product.
With a clear focus on the support of enterprise application development and a well integrated company staff, PSC stands a good chance of being a major player in the database market in the coming decade. Progress Software has managed its growth and its product well and everyone involved can be proud of the strong technical and financial record that it has established.