Tripod(ID:5247/tri009)


Alan Cooper, Cooper Interaction Design, 1987

Advanced shell script for windows, evolved into vb


Related languages
Tripod => Ruby   Renaming

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.