How many of you have used an electronic spreadsheet, like Microsoft Excel? Very good. Now, how many of you have run a business with a spreadsheet by hand, like my dad did for his small printing business in Philadelphia? A lot less.
Хто з вас користувався електронними таблицями, такими, як Microsoft Excel? Добре. Тепер, хто з вас мав справу з таблицями, складеними від руки, як мій тато робив це для маленького друкарського бізнесу у Філадельфії? Набагато менше.
Well, that's the way it was done for hundreds of years. In early 1978, I started working on an idea that eventually became VisiCalc. And the next year it shipped running on something new called an Apple II personal computer. You could tell that things had really changed when, six years later, the Wall Street Journal ran an editorial that assumed you knew what VisiCalc was and maybe even were using it.
Але ж саме так це робилося сотні років. На початку 1978 я почав працювати над ідеєю, що з часом втілилася в VisiCalc. А наступного року вона встановлювалась на новинці, яку назвали персональним комп'ютером Apple II. Можна сказати, що зміни справді відбулися, коли шість років потому, журнал Уолл Стріт надрукував передовицю, яка припускала, що ви вже знаєте, що таке VisiCalc
Steve Jobs back in 1990
і, напевно, вже користувалися нею.
said that "spreadsheets propelled the industry forward." "VisiCalc propelled the success of Apple more than any other single event." On a more personal note, Steve said, "If VisiCalc had been written for some other computer, you'd be interviewing somebody else right now."
Стів Джобс у 1990 сказав, що "електронні таблиці стимулювали розвиток промисловості". "VisiCalc сприяла розвитку Apple більше, ніж будь-яка інша поодинока подія". У особистих записах Стів відмітив: "Якби VisiCalc був написаний для якогось іншого комп'ютера, то ви б тепер брали інтерв'ю у когось іншого".
So, VisiCalc was instrumental in getting personal computers on business desks. How did it come about? What was it? What did I go through to make it be what it was? Well, I first learned to program back in 1966, when I was 15 -- just a couple months after this photo was taken. Few high schoolers had access to computers in those days. But through luck and an awful lot of perseverance, I was able to get computer time around the city.
Тож, VisiCalc був важливим засобом у поширенні комп'ютерів для бізнесу. Як же так сталося? Що це було? Який шлях я подолав, щоб створити її саме такою? Ну, вперше я вивчав програмування у 1966, коли мені було 15 - лише декілька місяців опісля того, як це фото було зроблене. Небагато школярів мали доступ до комп'ютерів у ці дні. Але завдяки везінню та завзяттю я зміг отримати доступ до комп'ютерів у місті.
After sleeping in the mud at Woodstock, I went off to MIT to go to college, where to make money, I worked on the Multics Project. Multics was a trailblazing interactive time-sharing system. Have you heard of the Linux and Unix operating systems? They came from Multics. I worked on the Multics versions of what are known as interpreted computer languages, that are used by people in noncomputer fields to do their calculations while seated at a computer terminal.
Після спання в бруді у Вудстоку я попрямував до Массачусетського технологічного інституту, де для заробітку я працював на проекті Multics. Multics був новаторською інтерактивною системою з розподіленням часу. Ви чули про операційні системи Лінукс та Юнікс? Вони походять з Multics. Я працював над версією Multics, яка відома як інтерпретована комп'ютерна мова, що використовувалась людьми у некомп'ютерних галузях, які виконували розрахунки, сидячи за комп'ютерними терміналами.
After I graduated from MIT, I went to work for Digital Equipment Corporation. At DEC, I worked on software for the new area of computerized typesetting. I helped newspapers replace their reporters' typewriters with computer terminals. I'd write software and then I'd go out in the field to places like the Kansas City Star, where I would train users and get feedback. This was real-world experience that is quite different than what I saw in the lab at MIT.
Після того, як я закінчив МІТ, я пішов працювати на Діджитал Еквіпмент Корпорейшн. У DEC, я працював над програмним забезпеченням для нової галузі комп'ютерного набору тексту. Я допомагав газетярам замінити репортерські друкарські машинки комп'ютерними терміналами. Я написав програмне забезпечення, а потім виїздив у місця такі, як Канзас-Сіті стар, де я навчав користувачів та вислуховував відгуки. Це був досвід у реальному світі, який був дуже відмінним від того, що я бачив у лабораторіях МІТ.
After that, I was project leader of the software for DEC's first word processor, again a new field. Like with typesetting, the important thing was crafting a user interface that was both natural and efficient for noncomputer people to use. After I was at DEC, I went to work for a small company that made microprocessor-based electronic cash registers for the fast-food industry. But I had always wanted to start a company with my friend Bob Frankston that I met on the Multics project at MIT.
Після цього я став керівником проекту програмного забезпечення для першого текстового редактора DEC, це ще одна нова галузь. Нарівні з друкарським набором, важливим стало створення інтерфейсу користувача, який би був природнім та ефективним для використання не комп'ютерщиками. Після DEC я пішов працювати у маленьку фірму, яка створювала електроніку на основі мікропроцесорів для касових апаратів індустрії фаст-фудів. Але я завжди прагнув створити компанію з моїм другом Бобом Франкстоном, якого я зустрів на проекті Multics у МІТ.
So I decided to go back to school to learn as much as I could about business. And in the fall of 1977, I entered the MBA program at Harvard Business School. I was one of the few percentage of students who had a background in computer programming. There's a picture of me from the yearbook sitting in the front row.
Тож я вирішив повернутися до навчання, щоб дізнатися якомога більше про бізнес. Восени 1977 я включився у програму MBA у Гарвардській школі бізнесу. Я був одним з небагатьох студентів, які мали навички у комп'ютерному програмуванні. Це моя фотографія з фотоальбому, я в першому ряду.
(Laughter)
(Сміх)
Now, at Harvard, we learned by the case method. We'd do about three cases a day. Cases consist of up to a few dozen pages describing particular business situations. They often have exhibits, and exhibits often have words and numbers laid out in ways that make sense for the particular situation. They're usually all somewhat different. Here's my homework. Again, numbers, words, laid out in ways that made sense. Lots of calculations -- we got really close to our calculators. In fact, here's my calculator. For Halloween, I went dressed up as a calculator.
У Гарварді нас навчали методом аналізу конкретних справ. Ми розглядали до трьох справ за день. Справа надавалася у вигляді більш, ніж дюжини сторінок опису конкретної ситуації. Вони часто мало додатки, і додатки часто містили слова та цифри, які розміщені були так, щоб пояснювати ситуацію. Зазвичай вони мали різноманітні форми. Це моя домашня робота. Знову: цифри, слова, викладені таким чином, щоб мати сенс. Багато розрахунків, ми були дуже близькі з нашими калькуляторами. Ось мій калькулятор. На Хелоуін, я одягся, як калькулятор.
(Laughter)
(Сміх)
At the beginning of each class, the professor would call on somebody to present the case. What they would do is they would explain what was going on and then dictate information that the professor would transcribe onto the many motorized blackboards in the front of the class, and then we'd have a discussion. One of the really frustrating things is when you've done all your homework, you come in the next day only to find out that you made an error and all of the other numbers you did were wrong. And you couldn't participate as well. And we were marked by class participation.
На початку кожної справи професор викликав когось, щоб презентувати справу. Викликаний пояснював умови ситуації, потім диктував дані, які професор записував на багатьох автоматизованих дошках, встановлених у класі, а потім ми дискутували. Найбільш засмучувало, якщо ви виконували домашнє завдання, приходили наступного для і виявлялося, що ви зробили помилку, і всі наступні розрахунки також були невірними. Тож ви не могли брати участь в обговоренні. А нам ставили оцінки за участь в обговореннях.
So, sitting there with 87 other people in the class, I got to daydream a lot. Most programmers in those days worked on mainframes, building things like inventory systems, payroll systems and bill-paying systems. But I had worked on interactive word processing and on-demand personal computation. Instead of thinking about paper printouts and punch cards, I imagined a magic blackboard that if you erased one number and wrote a new thing in, all of the other numbers would automatically change, like word processing with numbers. I imagined that my calculator had mouse hardware on the bottom of it and a head-up display, like in a fighter plane. And I could type some numbers in, and circle it, and press the sum button. And right in the middle of a negotiation I'd be able to get the answer. Now I just had to take my fantasy and turn it into reality.
Тоді, сидячи з 87 іншими учасниками у класі, я багато мріяв. Більшість програмістів на той час працювала на мейнфреймах, створюючи системи для інвентаризації, розрахунку заробітної плати, платіжні системи. Але я працював над інтерактивним текстовим процесором і розрахунками за особистими запитами. Замість того, щоб обмірковувати паперовий друк та перфокарти, я уявляв магічну дошку, на якій, якщо ви витираєте одне число і вписуєте нове, то всі інші числа будуть автоматично змінені, наче текстовий процесор з цифрами. Я уявляв, що до мого калькулятора можна підключати мишку та дисплей, як на приладовій панелі винищувача. Щоб я міг надрукувати декілька чисел, обвести їх та натиснути кнопку суми. І прямо посередині перемовин я зможу отримати відповідь. Тепер мені залишилося лише втілити свої фантазії у реальність.
My father taught me about prototyping. He showed me mock-ups that he'd make to figure out the placement on the page for the things for brochures that he was printing. And he'd use it to get feedback from customers and OKs before he sent the job off to the presses. The act of making a simple, working version of what you're trying to build forces you to uncover key problems. And it lets you find solutions to those problems much less expensively.
Мій батько навчив мене працювати з прототипами. Він показав мені макети і наказав розібратися, як розміщувати на сторінці елементи, що будуть друкуватися на брошурах. Він використовував макети для отримання відгуків від клієнтів і затвердження проектів до того, як він відправляв роботу до друку. Діяльність по створенню простої, робочої версії того, що ти намагаєшся збудувати, заставляє вас виявити базові проблеми. І дозволяє вам знайти рішення цих проблем найпростішим чином.
So I decided to build a prototype. I went to a video terminal connected to Harvard's time-sharing system and got to work. One of the first problems that I ran into was: How do you represent values in formulas? Let me show you what I mean. I thought that you would point somewhere, type in some words, then type in some somewhere else, put in some numbers and some more numbers, point where you want the answer. And then point to the first, press minus, point to the second, and get the result. The problem was: What should I put in the formula? It had to be something the computer knew what to put in. And if you looked at the formula, you needed to know where on the screen it referred to. The first thing I thought was the programmer way of doing it. The first time you pointed to somewhere, the computer would ask you to type in a unique name. It became pretty clear pretty fast that that was going to be too tedious. The computer had to automatically make up the name and put it inside. So I thought, why not make it be the order in which you create them? I tried that. Value 1, value 2. Pretty quickly I saw that if you had more than a few values you'd never remember on the screen where things were.
Тож я вирішив побудувати прототип. Я попрямував до відеотерміналу, зв'язаного з Гарвардською системою розподілення часу, і почав працювати. Одна з перших проблем, з якими я зіштовхнувся була: як представити значення у формулах? Я покажу, що я маю на увазі. Я думав, що можна вказати місце, надрукувати щось, потім надрукувати ще щось, розмістити декілька чисел і ще декілька чисел, вказати, де саме ти хочеш отримати відповідь. А потім вказати на перше число, натиснути мінус, вказати друге та отримати результат. Проблема була така: що потрібно вписувати у формулу? Це повинно бути чимось, про що комп'ютер знає, де його брати. І якщо ви дивитесь на формулу, вам необхідно знати, де на екрані те, на що вона посилається. Першою думкою було використати програмістський підхід. Спочатку вказуєте щось, щоб комп'ютер попрохав вас ввести унікальне ім'я. Досить швидко стало цілком ясно, що це занадто нудно. Комп'ютер повинен автоматично створювати імена. Тож я думав, чому б не створювати імена у порядку, в якому ви вводите їх? І пробував так: значення1, значення2. Дуже швидко я побачив, що якщо у нас більше, ніж декілька значень, то ми не зможемо запам'ятати, де вони на екрані.
Then I said, why not instead of allowing you to put values anywhere, I'll restrict you to a grid? Then when you pointed to a cell, the computer could put the row and column in as a name. And, if I did it like a map and put ABC across the top and numbers along the side, if you saw B7 in a formula, you'd know exactly where it was on the screen. And if you had to type the formula in yourself, you'd know what to do. Restricting you to a grid helped solve my problem. It also opened up new capabilities, like the ability to have ranges of cells. But it wasn't too restrictive -- you could still put any value, any formula, in any cell. And that's the way we do it to this day, almost 40 years later.
Тоді я сказав: чому б замість того, щоб дозволяти вам розміщувати значення будь-де, не використати сітку? Тоді, коли ви вказуєте клітинку, комп'ютер повинен сприймати рядок і колонку ,як ім'я. Отже, якщо я зроблю наче карту і розташую букви ABC по горизонталі та числа по вертикалі, то коли ви побачите B7 у формулі, тоді будете точно знати, де це на екрані. Якщо вам буде потрібно надрукувати формулу, ви будете знати, що робити. Обмеження вас сіткою допомогло вирішити задачу. І відкрило нові можливості, наприклад, можливість використовувати діапазон клітинок. Але це не страшне обмеження - ви можете розміщувати будь-які значення, будь-які формули у будь-які клітинки. Саме так ми чинимо і зараз, майже через 40 років.
My friend Bob and I decided that we were going to build this product together. I did more work figuring out exactly how the program was supposed to behave. I wrote a reference card to act as documentation. It also helped me ensure that the user interface I was defining could be explained concisely and clearly to regular people. Bob worked in the attic of the apartment he rented in Arlington, Massachusetts. This is the inside of the attic. Bob bought time on the MIT Multics System to write computer code on a terminal like this. And then he would download test versions to a borrowed Apple II over a phone line using an acoustic coupler, and then we would test.
Ми з моїм другом Бобом вирішили, що створимо цей продукт разом. Я зробив багато роботи, розбираючись, як саме програма повинна поводитись. Я написав пам'ятку у якості документації. Це також допомогло мені переконатись, що інтерфейс користувача, який я розробив, може бути пояснений коротко і ясно для звичайних людей. Боб працював на горищі приміщення, яке він орендував у Арлінгтоні, Массачусетс. Це всередині горища. Боб купував час на MIT, щоб друкувати програмний код на такому терміналі. А потім він завантажив тестову версію на запозичений Apple II через телефонну мережу, використовуючи акустичний адаптер, і ми змогли тестувати.
For one of these tests I prepared for this case about the Pepsi Challenge. Print wasn't working yet, so I had to copy everything down. Save wasn't working, so every time it crashed, I had to type in all of the formulas again, over and over again. The next day in class, I raised my hand; I got called on, and I presented the case. I did five-year projections. I did all sorts of different scenarios. I aced the case. VisiCalc was already useful.
Для одного з таких тестів я використав кейс Pepsi Challenge. Друк ще не працював, тож я був вимушений переписувати все. Зберігання не працювало, тож кожного разу, коли система падала, я повинен був друкувати усі формули знову і знову. Наступного дня у класі, я підняв руку. Мене викликали, і я презентував кейс. Я показав п'ятирічний прогноз, я показав усі типи найрізноманітніших сценаріїв. Я виконав кейс, VisiCalc вже був корисним.
The professor said, "How did you do it?" Well, I didn't want to tell him about our secret program.
Професор спитав: - Як ви зробили це? Мені не хотілося розповідати йому про нашу секретну програму.
(Laughter)
(Сміх)
So I said, "I took this and added this and multiplied by this and subtracted that."
І я сказав: - Я взяв це і додав це, і помножив на це, потім відняв те.
He said, "Well, why didn't you use a ratio?"
Він каже: - А чому ви не використали пропорцію?
I said, "Hah! A ratio -- that wouldn't have been as exact!" What I didn't say was, "Divide isn't working yet."
- Пропорція не була б такою точною! Я ж не скажу: - Ділення ще не працює.
(Laughter)
(Сміх)
Eventually, though, we did finish enough of VisiCalc to be able to show it to the public. My dad printed up a sample reference card that we could use as marketing material.
Зрештою, ми достатньо завершили VisiCalc, щоб показати його публіці. Мій батько надрукував нам просту брошурку, яку ми змогли використати як маркетинговий матеріал.
In June of 1979, our publisher announced VisiCalc to the world, in a small booth at the giant National Computer Conference in New York City. The New York Times had a humorous article about the conference. "The machines perform what seem religious rites ... Even as the believers gather, the painters in the Coliseum sign room are adding to the pantheon, carefully lettering 'VISICALC' in giant black on yellow. All hail VISICALC!" (Gasp) New York Times: "All hail VISICALC."
У липні 1979, наш видавець анонсував VisiCalc світу на маленькому стенді на величезній Національній комп'ютерній конференції у Нью-Йорку. Нью-Йорк Таймс опублікував гумористичну статтю про конференцію: "Машини виконують щось схоже на релігійний ритуал... Навіть, як віряни, збираються художники в Колізеумі та додають до пантеону обережно намальоване "VISICALC" велетенськими чорними літерами по жовтому. Хай живе VISICALC!" (Ойкає) Нью Йорк Таймс: "Хай живе VISICALC!"
(Laughter)
(Сміх)
That was the last mention of the electronic spreadsheet in the popular business press for about two years. Most people didn't get it yet. But some did.
Це було останньою згадкою електронних таблиць у популярній діловій пресі протягом наступних двох років. Більшість ще не зрозуміла, що це. Але дехто зрозумів.
In October of 1979, we shipped VisiCalc. It came in packaging that looked like this. And it looked like this running on the Apple II. And the rest, as they say, is history.
У жовтні 1979 ми випустили VisiCalc. Він поставлявся у пакунках, які виглядали ось так. І він виглядав ось так, запущеним на Apple II. А все інше, як то кажуть, то вже історія.
Now, there's an awful lot more to this story, but that'll have to wait for another day. One thing, though, Harvard remembers. Here's that classroom. They put up a plaque to commemorate what happened there.
Страшенно багато чого можна додати до цієї розповіді, але хай то залишиться до наступного разу. Ось ще дещо: Гарвард пам'ятає. Це той самий клас. Вони розмістили дощечку в пам'ять про те, що тут сталось.
(Applause)
(Оплески)
But it also serves as a reminder that you, too, should take your unique backgrounds, skills and needs and build prototypes to discover and work out the key problems, and through that, change the world.
Але це ще й нагадування, що ви також можете використати ваш досвід, потреби та оточення, щоб побудувати прототип для вирішення та обробки важливих проблем, і, завдяки цьому, змінити світ.
Thank you.
Дякую.
(Applause)
(Оплески)