Ruby(ID:5246/rub004)


Alan Cooper, Cooper Interaction Design, 1988

This was the renaming of the Tripod project for release by MS

Sold to Microsoft, who replaced back end to become VB.


Related languages
Tripod => Ruby   Renaming
Ruby => VISUAL BASIC   Evolution of

References:
  • Cooper, Alan "The One-Phrase Resume" view details External link: Online copy
  • Cooper, Alan "Why I am called 'the Father of Visual Basic'" view details External link: Online article Extract: History
    During the 1980s, my business consisted of inventing software and then selling it to publishers. In 1986 I adopted Microsoft Windows as my platform of choice. Not only did it do all of the expected GUI support things, but it had a unique and extremely desirable feature: using its dynamic link library (DLL) feature, you could create tools that configured themselves dynamically. The instant that I learned this I knew that Windows would have a huge and successful future. I learned one other very important fact about Windows at that time: its shell program was terrible.

    In my spare time I immediately began to write a better shell program than the one Windows came with. I called it "Tripod." Microsoft's original shell, called MSDOS.EXE, was extremely stupid, and it was one of the main stumbling blocks to the initial success of Windows. Tripod attempted to solve the problem by being easier to use and to configure. But it wasn't until late in 1987, when I was interviewing a corporate client, that the key design strategy for Tripod popped into my head. As this IS manager explained to me his need to create and publish a wide range of shell solutions to his disparate user base, I realized the conundrum that there is no such thing as an ideal shell. Every user would need their own personal shell, configured to their own needs and skill levels. In an instant, I perceived the solution to the shell design problem: It would be a shell construction set; a tool where each user would be able to construct exactly the shell that he or she needed for their unique mix of applications and training. Instead of me telling the users what the ideal shell was, they could design their own, personalized ideal shell.

    Once I had that vision, the particulars of the design fell into place with relative ease. There would be a palette of tools, and the user would be able to create "forms" and populate them with instances of the tools. The toolset would include standard controls like listboxes and pushbuttons, but would also have special, shell-specific varieties, like listboxes that automatically showed the contents of a directory.

    I began work on this new version of Tripod, and within a couple of months had a nearly complete, working prototype. I used C exclusively. One of the features that emerged during this period was the idea that the interface would be completely manipulable by drag and drop. The user could stitch two controls--I called them gizmos--together by right-clicking and dragging from one gizmo to another. A visual arrow connected them logically, going from an event at the first gizmo to a method of the second gizmo. Ultimately, Microsoft discarded the arrows, but the event/method model remains.


    Resources
    • Interview at webword.com
      You are the "Father of Visual Basic", what does that mean? What did the experience teach you?

      In early 1988 I invented a visual programming language called Ruby that I sold to Bill Gates. Ruby had a very well-developed direct-manipulation engine, but had a very weak programming language. However, I designed the language in such a way that it could be easily upgraded. Bill exchanged the entire language with his then moribund QuickBasic product, and Visual Basic was born. I like to say that "I did the visual, and Microsoft did the Basic."

      One of the most impressive lessons from VB is the power of a good design. Almost every programming tool available today uses the interaction paradigm first established with Visual Basic. While the underlying languages--the techy, programmer part--changes from product to product, they all look and work the same. What's more, the visual programming tool is now embedded in every Microsoft Office component and in many third party applications.

      One other lesson: If you examine the history of Microsoft's products, you will find several failures and many, many huge successes. But you will find very few products that were clearly, obviously successful in their very first release. Visual Basic is a notable exception to that pattern. The very first version of VB was a huge commercial and critical success, despite how technically weak it was compared to its current incarnation. I attribute this to the fact that VB was DESIGNED, whereas most all other Microsoft products are just programmed (Microsoft will claim that they have been designed, but, referring to your first question, there is a big difference between PROGRAM design and PRODUCT design.).  

      MS Windows, for example, was bad enough to be the laughing stock of the industry for the first five years of its life. It took five major releases before the laughter subsided. MS Word, for another example, wasn't generally considered a successful product until it had undergone several major revisions. Those revisions are a LOT more expensive than a few months of design.

      external link