As multitasking feature first appeared on the Macintosh
Makradar Technologies / / December 19, 2019
Each and every modern man enjoys multitasking features to their devices. It does not matter what it is: a smartphone, tablet, or home computer. Most people do not even think much about how to construct the operation of the system with multiple processes at the same time: we just We communicate on the network, working with different documents, listen to music and watch TV shows, deftly moving between multiple running programs. This story, whose author is Andy Gertsfeld contains no explanation of the complex distribution of memory and other boring technical manuals, but talks about how multitasking and thus appeared in the company's computers Apple.
The first commercial product, I worked after leaving Apple in March 1984, was Thunderscan - fairly cheap scanner for the Macintosh. Its creation took place in collaboration with a tiny company Thunderware. Work began in June 1984, and by the beginning of October, the project was almost complete.
Tom Petri, one of the two leaders Thunderware (the second was Victor Bull, with whom I worked on a thermal printer Silentype, who became the first project, I've created for Apple), I gave several presentations for various computer magazines to gain positive feedback necessary for promotion product. October 11, 1984 I went with Tim to the office in Hillsboro to demonstrate Thunderscan for Byte magazine.
Byte reviewer was John Markof. He was the author of the column about technology in the San Francisco Chronicle. John was considered one of the best journalists covering the personal computer industry. Tom spoke about Thunderscan, and later started a demo scan. John asked a few questions, written in the text editor of its IBM PC. During my next answer his phone rang.
Apologizing, John pressed the keys on the keyboard, and then on the computer screen text editor quickly changed to another application. He was on the phone for a minute or two, and then finish the conversation, return to the list of questions about Thunderscan using all of the same key combination.
"What did you just do? - I was interested in its software - you could switch to another program so quickly? "
"Oh, I use the Memory Shift. Have you not experienced this? - John says - is a DOS utility that allows you to keep in mind several applications and switch between them quickly. I often use it in recent years. " He demonstrated the process of switching a few times to show me the speed of this utility.
"You know, I think I can do something similar for the Macintosh», - I blurted out before consciously think things through.
Macintosh 512K deliveries began a few weeks ago. I tried to run multiple applications simultaneously on a 512K, but was cornered memory conflicts and other potential pitfalls. But now, after seeing reallocation in action, I had the idea, which, it seemed, not too difficult to implement.
"Yes, it would be great" - John agreed. I continued Thunderscan demonstration, but could not concentrate fully, thinking about switching between applications. It seemed to me that the creation of such utility - quite feasible task, the result of which will be extremely useful.
Tom Petri noticed my excitement because of the new ideas. After the presentation, he took me home, and recalled my obligations, taking me promise to finish the alpha release Thunderscan as soon as possible, before starting something new. We agreed on a list of tasks that I had to perform two coming weeks. Once the alpha version was ready, I was able to take a short break to work on the switch application to later re-immerse themselves in work on Thundescan, preparing version 1.0 by the end of November.
Polishing Thunderscan, I pondered the nuances of programming switch. Choosing between downloading the application into a single area that is optimal to use the memory, and the use of individual zones for better isolation of each program, I settled on the second version, although he was not sure of the correctness of this choice.
We had to solve a lot of small problems. The most important was the fact that the application is stored in a memory is global variables that should to be replaced during the switch, as each program has its own set of variables. Not all the points were obvious to me. I knew that my first experience is not ideal, but I'm confident coped with the debugging of all the inevitable problems.
A few days after the start of the final stage of work on Thunderscan I got very an interesting phone call from Jeff Harbers who was the manager of the team Macintosh applications Microsoft. It is reported that Microsoft has developed a very important strategic project, and they think that I would be an ideal candidate for its implementation. Jeff did not disclose other details on the phone, but he offered to fly to Seattle to discuss everything in person. I was intrigued enough to stop work on Thunderscan and sit in the plane.
Jeff picked me up at the airport and we headed to the main building of the company Microsoft, where we were joined by Neil Conze - a talented 23-year-old programmer at Macintosh. I knew him from the time of our joint work on adding features to an assembly language. He at that time was only 16 years old.
Jeff asked me what I was currently working on. I told him about Thunderscan, but when mentioned experiments with utility app switching his jaw dropped. Jeff could not believe that I actually said it.
"This is exactly what we wanted to talk! It's great that you are already working on it! "- Jeff exclaimed.
He explained that it is necessary to work hard to make it work consistently applications in small areas of the Macintosh 128K RAM. In addition, Lotus has recently announced a new software package for the Jazz Macintosh 512K, which allows you to quickly and easily switch between its functional areas. The purpose of the visit was to persuade me to write a similar application, switch on a contract with Microsoft.
Neil Conze presented potential project developed tools on the board. He proposed to use the same memory area, which I immediately refused, telling about the alternative approach, with separate areas, giving the greatest reliability.
My day in Microsoft completed a private meeting with Bill Gates. Jeff took me to his office and apologized and left us alone.
After the attendant exchange of courtesies, Bill looked up and asked me in the eye: "You really are a good programmer, is not it? I think you really have to be a good programmer. "
"I think so," - I replied, not knowing why he flatters me.
"I think so too. How do you think how much time it will take to implement this project? A month or two? It seems to me, a good programmer should handle this in a couple of months. "
"I do not know - I said - do not even know whether it is possible to implement."
"Let's see - he said a little condescending tone - it should not take more than ten thousands of lines of code, and a really good programmer is able to write at least a thousand rows in week. I think it will take you no more than ten weeks. "
I do not know what to answer, so I just kept silent and listened.
"What do you think, how much money can earn a good programmer? We pay our best employees about two thousand dollars a week. Do not you think that you have to pay more? "
"I do not know" - I replied. It became clear that Bill was trying to turn me on a very fast way to write this utility.
"If you get about four thousand dollars a week, - he continued - that in the end of the ten weeks you can get forty thousand."
I told him that I will do everything possible to ensure that this tool works well with applications from Microsoft. I wanted to do this in any case and without this proposal, because Microsoft programs have been very popular among users. We shook hands and I left the office on a positive note.
Back home in Palo Alto, I wanted to develop a concept of utility to switch programs, despite the ending dates of Thunderscan preparation.
In the end, I had to create a user interface for this utility. I have been working non-stop 20 hours, developing a core program. Incredibly it was nice to watch gradually improves the stability of the utility, solving regular problems with memory.
While working on his project, I noticed Bud Tribble, who returned to Apple in July 1984 for the post of Software Manager after a medical internship at the University of Washington and lived near me.
I asked Bud to himself, to demonstrate fast switching between MacPaint, MacWrite and MacDraw. He was impressed, but to my surprise, has complained that the transition takes place too quickly.
"And if someone will make this switch by accident? This can cause confusion, - he told me - it may be possible to use animation to create a smooth transition? ".
This idea seemed really good. We decided that changing the program must be scrolled horizontally, and all running applications can be clearly displayed in a small area of the screen. I quickly wrote the necessary code and was amazed at how great the program flashed across the screen.
I demonstrated this concept to your friends from Apple and some simple users. Everything positively embraced my project. Unfortunately, I have no time to Thunderscan revision, but I still fulfilled the promise, and he was ready at the end of November.
After a short break it was time to go back to the development of utilities to switch applications, I began to call Switcher. In early December, I had realized most of it, including the user interface.
In early January 1985, I received a phone call from Guy Kawasaki, who told me that Apple is interested in buying Switcher. The first step was to conduct a product presentation to Steve Jobs.
Going into his office, I was a little worried, assessing the project in a quarter of a million dollars, but he was sure that Steve never pay me so much. I was proud of their child, and I was interested in the reaction of Jobs on him. Running MacWrite, MacPaint, MacDraw and the Finder, I purposely showed off Switcher with animation, to later make a spectacular impression. I quickly switch between applications in both directions.
"Well, I saw enough - Steve interrupted me, - it's great. We would like to integrate this project into Mac ».
For a moment he stood and looked at me intently, as if he wanted to scare me.
"I do not want you to be used Apple».
"What do you mean?" - puzzled by his words, I asked him a question.
"You will not be able to finish the program without the information that you can get here. As a result, you have lost the desire to finish the project. "
"The program is ready exactly half. I doubt that if I pay honest, I'm not going to motivate to complete the work, "- I started to get angry.
After seeing me even more serious look, Steve announced a single number, without any explanation.
"One hundred thousand dollars".
"I do not know - I told him - I think that Switcher is much more expensive."
"Do not argue with me, - parried Jobs - a fair price, and you know it."
It seemed that I did not have any alternative, and I had to surrender to Steve pricing. With him it was indeed very difficult to argue. In the end, at the signing of a definitive agreement with Guy Kawasaki I was able to get the bonus, which in the future brought me another fifty thousand.
As expected, the most difficult part of the work on Switcher was to get him to work steadily with Microsoft applications. Developers have allowed themselves to various liberties with the system, have shied away from the usual instructions, which caused me some difficulties.
I had to translate the pseudo code to bytecode. Translation with six teams for subsequent debugging was quite painful for the Switcher.
One of the recent problems, I faced up to the first release Switcher in March 1985, It was the implementation of the possibility of "killing" the hung application without the need to shut down all immediately. I have added this feature in combination with the ability to monitor the status of running programs.
I had to choose a sufficiently rare combination of keys to start this function. I chose four buttons, which, as it seemed, it was very difficult to come across by chance, but still was surprised when I received a phone call from Jeff Harbers from Microsoft.
"I like this option forced the completion of the programs, but you'll have to change the keyboard shortcut, because we use this when working with Microsoft Word». Jeff explained to me that the Word is a very complicated editor and has a huge range of keyboard shortcuts.
Jeff did not offer anything concrete, but called me the next day, offering a different combination.
"We will change the Word in the next issue. The problem is that we have not come to find a safe key sequence. We just use them all, "- laughed at me, Jeff.
The release of the final version of the Switcher is officially held in April 1985. I supported several versions after launch, but eventually gave it to Phil Goldman, a talented programmer from Princeton, who has got a job at Apple. He began to develop MultiFinder, who became the receiver Switcher in 1987.
via Folklore.org