Кіріспе

Lotus Improv – 1991 жылы NeXTSTEP платформасы үшін, содан кейін 1993 жылы Windows 3.1 үшін шығарылған Lotus Development компаниясының тоқтатылған электрондық кесте бағдарламасы. 1994 жылы Windows платформасында сатудың баяулауынан кейін әзірлеу уақытша тоқтатылды және 1996 жылдың сәуір айында Lotus компаниясын IBM сатып алғаннан кейін ресми түрде аяқталды. Improv электрондық кесте бағдарламасының жұмыс істеу принципін қайта қарап, жаңа электрондық кестелерді құруды және қолданыстағыларын өзгертуді жеңілдетуге бағытталған әрекет болды. Дәстүрлі электрондық кестелерде барлық деректер, формулалар және жазбаларды сақтау үшін экрандағы жасушалар қолданылатын. Improv бұл ұғымдарды бөліп, жасушаларды тек деректерді енгізу және нәтижелерді көрсету үшін пайдаланды. Формулалар, макростар және басқа да нысандар жасушалардан тыс орналасқан, бұл өңдеуді жеңілдетуге және қателерді азайтуға мүмкіндік берді. Improv барлық формулалар үшін атаулы диапазонды қолданды, жасуша мекенжайларының орнына. Lotus 1-2-3 немесе Microsoft Excel сияқты кең таралған өнімдермен салыстырғанда коммерциялық сәттілікке жете алмаса да, Improv белгілі бір салаларда, әсіресе қаржылық модельдеуде үлкен қолдау тапты. Бұл арнайы нарықтарда өте ықпалды болды және Lighthouse Design-ның Quantrix сияқты әртүрлі платформаларда бірнеше аналогтарын тудырды. Apple Inc. компаниясының Numbers бағдарламасы Improv-ке ұқсас формула және атау жүйесін қолданады, бірақ дәстүрлі электрондық кесте ортасында жұмыс істейді.

Өмірбаян

Бастапқы электрондық кестелер тік және көлденең сызықтармен салынған қағаз болды, ол бухгалтерлік есепке арналған жекелендірілген жұмыс парағы еді. Пайдаланушылар деректерді «ұяшықтар» деп аталатын парақтың тіктөртбұрышты аймақтарына енгізіп, одан кейін шығыс мәндерін алу үшін деректерге формулаларды қолданды, олар басқа ұяшықтарға жазылды. Беркли профессоры Ричард Маттессич қаржылық модельдеу және бизнес үшін «не болса» есептеулер үшін электрондық кестелерді пайдалануды жақтады, бірақ басқа сценарийді іске асыру үшін оны қайта есептеуге көп уақыт кетсе, есептеу аяқталған кезде кіріс деректерінің ескіріп қалуын атап өтті. 1964 жылы ол өзгеріс нүктесінен бастап барлық есептеулерді компьютер арқылы жүргізуді ұсынды, осылайша парақты бірнеше күннің орнына секундтар ішінде жаңартуға болады. Бизнес мектептерінде электрондық кестелерді модельдеуді оқыту жиі кездесетін, көбінесе қағаз нұсқаларына ұқсас схемамен белгіленген тақталарды пайдалану арқылы жүзеге асырылды. Тақта қолдану қателерді түзетуді жеңілдетті және парақты сыныппен бөлісуге мүмкіндік берді. 1979 жылы Дэн Бриклин осындай құрылғыны пайдаланып, оны жаңадан енгізілген жеке компьютерлерде іске қосуға тырысты. Боб Франкстонмен бірге екеуі алғашқы электрондық кесте, VisiCalc-ті жасап, 1979 жылы Apple II компьютерінде жариялады. Morgan Stanley компаниясының Бен Розен бұл бағдарламаны көргеннен кейін: «VisiCalc компьютер индустриясын басқаратын бағдарламалық құрал болуы мүмкін» деп жазды. VisiCalc үлкен жетістікке жетті, сондықтан көптеген көшірмелер пайда болды. Олардың бірін бұрынғы VisiCalc бағдарламашысы Митч Капор жасады. Оның Lotus 1 2 3 нұсқасы VisiCalc-тен де табысты болды, себебі ол жаңа IBM PC-де жұмыс істеді және оған сәйкес келді. Lotus 1 2 3 алғашқы айда 60 000 данамен сатылды, ал Lotus көп ұзамай әлемдегі ең ірі бағдарламалық қамтамасыз ету компанияларының біріне айналды.

АТГ

Lotus компаниясы 1986 жылы озық технологиялар тобын құрды. Олардың алғашқы міндеттерінің бірі – электрондық кесте құруды жеңілдету болды. Дайын электрондық кестелерді пайдалану оңай еді, бірақ көптеген қолданушылар оны жасауды бастау үшін кестенің қандай болу керектігін көзге елестету қиындықтарын сезінді. Деректер бағандар бойынша немесе қатарлар бойынша енгізілуі керек пе? Аралық мәндер кестеде сақталуы керек пе, әлде жеке кестеге сақталуы керек пе? Қанша орын қажет болады? ATG-дағы әзірлеуші Пито Салас осы мәселені шешуге кірісті. Бірнеше ай бойы қолданыстағы нақты мысалдарды зерттегеннен кейін, деректер, деректерді қарау тәсілдері және оларға әсер ететін формулалар – мүлдем бөлек түсініктер екені анық болды. Дегенмен, барлық жағдайларда қолданыстағы электрондық кесте бағдарламалары қолданушыдан осы барлық элементтерді бір (көбінесе жалғыз) кестедегі ұяшықтарға енгізуді талап етті. Бұл функционалдық үйлесімділік шатасуға себеп болды, себебі қай ұяшықта қандай дерек сақталғанын түсіну қиын еді. Бұл ұяшық басқа жерде қолданылатын кіріс мәні ме? Бұл есептеу үшін қолданылатын аралық мән бе? Немесе бұл есептеу нәтижесінде алынған шығыс мәні ме? Білудің қауқымы жоқ. Осы түсінік жаңа электрондық кесте үшін идеяларға жол ашты, ол деректерді, формулаларды және шығыс көріністерін нақты бөліп, деректер мен формулаларды соңғы пайдаланушыға ыңғайлы форматта біріктіретін еді. Сонымен қатар, жаңа өнім қолданушыларға деректерді «мақсатына қарай» топтастыруға мүмкіндік береді, оған кестедегі орнына сілтеме жасаудың орнына атау беруге болатын еді. Бұл деректерді кестеде жылжытса, есептеуге ешқандай әсер етпейді деген сөз. Салас сондай-ақ, қолданыстағы электрондық кестелердің ең әлсіз бөлігі көбінесе шығыс деректерін қарау тәсілдері екенін атап өтті. Кіріс, есептеулер және шығыстар бір кестеде араластырылғандықтан, макетті өзгерту деректер жылжыса, қиын жағдайларға әкелуі мүмкін еді. Деректер мен формулалар бөлек болған соң, бұл мәселе болмай қалды. Салас осы бөлінудің көптеген кәдімгі тапсырмаларды, олар қолданыстағы электрондық кестелерде ұзақ есептеулерді қажет ететін, көріністі өзгерту арқылы дерлік тегін орындауға болатынын көрсетті. Мысалы, егер электрондық кестеде ай сайынғы сату тізімі болса, ай сайынғы сатуды қорытындылайтын шығыс бағаны болуы мүмкін. Бірақ егер оны жыл бойынша жинақтау қажет болса, әдетте басқа формула бағаны және басқа шығыс кестесі қажет болар еді.

Арқалық шығанақ

1986 жылдың жазының соңында Салас IBM PC-де Modeler деп аталатын жүйенің слайд-шоу сияқты демонстрациясын жасады. 1987 жылдың ақпанында ол Глен Эдельсонды C++ тілінде жұмыс істейтін нұсқасын іске асыру үшін жалдады. Жоба бойынша жұмыс істеген кезде, негізгі идеяның жақсы екендігі және әсіресе қаржылық модельдеу үшін өте пайдалы екендігі анық болды. Көктемнің соңында олар Бонни Салливанды жобаның техникалық талаптарын жазуға, ал Джефф Андерхолмды қаржы индустриясына бағытталған жаңа бағдарламаның нарығын зерттеуге жалдады. Сол жазда команда Modeler-ді бірнеше қаржы компанияларына көрсетті және өте жағымды пікірлер алды. Бір жыл өткен соң, 1988 жылдың қыркүйегінде, командаға Modeler-ді іске асыруды бастауға рұқсат берілді. DOS және Macintosh OS сияқты бірнеше платформаны қарастырғаннан кейін, команда мақсатты платформа OS/2 екенін шешті, ол сол кезде коммерциялық кеңістікте перспективті жүйе саналды. Жобаға "Бэк Бей" деген кодовое атау берілді, ол Бостонның Бэк Бей аймағының атымен аталды, сондай-ақ Флаффи Банни есімді талсық таңдалды. Келесі айда, 1988 жылдың қазан айында, Стив Джобс Lotus компаниясына жаңа NeXT компьютерін көрсету үшін келді. Back Bay-ді көрген соң, ол бірден қызығып, оны NeXT платформасында дамытуға ынталандыра бастады. Lotus командасы да NeXT-ке қызықты, бірақ OS/2 платформасындағы жұмысты жалғастырды. Бұл күткеннен қиын болды; сол кезде OS/2 өте тұрақсыз болды, ал олардың Presentation Manager интерфейсі әлі де даму сатысында еді. Даму жобасы жақсы ілгерілемеді.

NEXT нұсқасы

OS/2-мен бірнеше ай күрескеннен кейін, 1989 жылдың ақпан айында оны NeXT платформасына көшіруді шешті. Джобс бұл шешімді естігенде командаға үлкен гүл шоғын жіберді. Одан да маңыздысы, ол NeXT-тің бағдарламалық жасақтама сарапшыларының бірі Брюс Блумбергті Lotus командасына NeXTSTEP-ті үйрету үшін жіберді. Алдымен алаңдататын мәселе болған нәрсе, іс жүзінде үлкен артықшылыққа айналды; бағдарламаның артқы бөлігі C++ тілінде, ал алдыңғы бөлігі Objective C тілінде жазылғандықтан, бағдарламаны бөліп, қателерді табу өте оңай болды. Сонымен қатар, NeXT Interface Builder командасына басқа платформаларда мүмкін болмаған жылдамдықпен әртүрлі интерфейстермен тәжірибе жасауға мүмкіндік берді, және жүйе осы кезеңде қарқынды дамыды. 1989 жылдың сәуір айында қайта келген Джобс команданы олардың категориялау жүйесі үшін сынады. Ол мәзірлер мен жеке терезелерді пайдаланбай, экрандағы категориялар мен деректерді тікелей басқаруды талап етті. Бұл Improv-тің ең танымал мүмкіндіктерінің біріне, «плиткалар» (tiles) категориясына әкелді, бұл белгілер нәтижелерді секундтар ішінде қайта реттеуге мүмкіндік берді. Джобс үнемі қолдау көрсетіп, команданы өнімді жақсартуға ынталандырды. Блумберг NeXT NeXTSTEP 2.0 жүйесін шығару процесінде болғандықтан, техникалық мәселелерге көмектесуге әрқашан дайын болды. Improv for NeXT 1991 жылдың ақпан айында жарық көрді, нәтижесінде Джобс гүлдермен бірнеше жүк машинасын жіберді. Бағдарлама бірден сәттілікке ие болды, ірі компьютерлік басылымдардан және ерекше жағдайларда, іскерлік журналдардан мақтаулар мен жақсы пікірлер алды. Improv NeXT-тің «өлтiрушi» қосымшасы болуы мүмкін деген бұрынғы болжамдар расталды, және бастапқыда Improv-ты іске қосу үшін ғана мыңдаған машиналар қаржы нарығына сатылды. Бұл NeXT компаниясына осы нарықта бекініп қалуға мүмкіндік берді, тіпті Apple Inc. компаниясы сатып алғаннан кейін де 1990-шы жылдардың соңына дейін сақталды.

Windows нұсқасы

NeXT-те шыққаннан кейін ("Black Marlin" деп аталатын нұсқасы), Windows ("Blue Marlin") және Macintosh ("Red Marlin") жүйелеріне көшіру әрекеттері жасалды. NeXTSTEP үшін API және бағдарламалау тілі Windows және Macintosh жүйелік бағдарламалық жасақтамаларынан мүлдем өзгеше болғандықтан, көшіру өте қиынға соқты. Lotus Improv for Windows v2.0 (1.0 нұсқасы болған жоқ) 1993 жылдың мамырында, Windows 3.1 жүйесінде жұмыс істейтін күйі шығарылды. NeXT нұсқасындағыдай, Windows нұсқасы да сыншылардың жоғары бағасын алды, Byte журналы оның "пайдалану ыңғайлылығы ерекше" екенін атап өтті. Жағымды пікірлерге қарамастан, Windows-та сату өте баяу болды. 1994 жылдың наурыз айында Lotus бұл мәселені шешу үшін Improv бағдарламасын 1 2 3-ке қосымша ретінде қайта позициялауға тырысты, бірақ бағдарламалардың Improv-тің 1 2 3 форматындағы деректерді оқу мүмкіндігінен басқа ортақ ештеңесі болмады. Бұл сатуға ешқандай әсер етпеді, ал 2.1 нұсқасының шағын жаңартуынан кейін, 1994 жылдың тамызында әзірлеу тоқтатылды. Жоба 1996 жылдың сәуіріне дейін белгісіздік күйінде қалды, содан кейін IBM Lotus компаниясын сатып алғаннан кейін өнім ресми түрде тоқтатылды.

Импровизациядан кейін

Improv-тің көңіл көншітпеген сатылымы және ПК платформасындағы кейіннен тоқтатылуы бағдарламалық қамтамасыз ету нарығындағы сәтсіздіктерді талдаудың көптеген мысалдарында оқулық ретінде пайдаланылды. NeXT платформасындағы сатылымды NeXT-тің нарықтағы шектеулі үлесімен түсіндіруге болады, бірақ ПК-дегі сәтсіздік басқа мәселе еді. Басты түсіндірмелердің бірі – NeXT-тегі шығарылымнан өзгеше, Windows нұсқасы 1 2 3-тен күшті ішкі қарсылыққа тап болды, сондай-ақ корпоративтік иммунитет мәселесі туындады. Lotus компаниясының сату және маркетинг тобы 1 2 3-ті сатуда жақсы білген, бірақ Improv-ті қалай сату керектігін білмеді, сондықтан таныс және түсінікті 1 2 3-ті сатты. Басқа түсіндірмелердің арасында Microsoft Excel Office жинағының бір бөлігі ретінде салыстырмалы түрде төмен бағамен ұсынылғандығы, сондай-ақ енгізу кезінде жасалған қателер, мысалы макро тілінің немесе кері қайтару функциясының болмауы да бар. Джоэл Спольски оның дизайнына кінә тағады, ол нақты нарыққа тым дәл бағытталған және Excel-дің ұсынып тұрған мүмкіндіктерінен кем екенін айтады. Improv 1990-шы жылдары жоғалып кеткенімен, бағдарлама индустрияда жақсы есте сақталады және Excel туралы кітаптарда әлі де еске алынады. Improv жоғалып кеткеннен кейін оның бірнеше клондары тез пайда болды. Олардың ішінде Lighthouse Design компаниясының Quantrix бағдарламасы қаржы нарығына бағытталған дерлік толық көшірме болды. Quantrix компаниясы Sun Microsystems сатып алған кезде Improv-тің тағдырына ұшырады. Sun Microsystems компаниясынан кеткеннен кейін Питер Мюррей интернет-провайдер (ISP) құрды, содан кейін GoFish деп аталған B2B компаниясын құрды, ал 2001 жылы Quantrix деген үшінші жаңа компания пайда болды.

Тұжырымдамалар

Improv-тың негізгі қағидасы – деректерді, деректерді көру тәсілдерін және формулаларды үш бөлек бөлікке бөлу болды. Электрондық кестеде тек енгізілген деректер ғана болады. Деректерді, әсерлі түрде, "осы жасушалардағы деректер" деп атаудың орнына, парақтағы әрбір деректер жиынтығына атау берілді және оларды санаттарға топтастыруға болады. Формулалар жеке бөлімге енгізіліп, деректерге олардың физикалық орны емес, ауқымы арқылы сілтеме жасалды. Деректерді көру тәсілдері – кейбіреулері электрондық кестелерге, ал кейбіреулері диаграммаларға ұқсас – динамикалық түрде құрылуы мүмкін және олардың саны шектеулі емес. Improv пен басқа жүйелердің арасындағы айырмашылықты түсіндіру үшін, өнімнің жалпы сатылуын есептеудің қарапайым міндетін қарастырайық, егер ай сайынғы сатылған бірліктер мен бірлік бағасы белгілі болса. Дәстүрлі электрондық кестеде бірлік бағасы бір бағанға, мысалы "А" бағанына, ал сату көлемі басқа бағанға, мысалы "В" бағанына енгізіледі. Пайдаланушы "С" бағанына "A1 * B1" формуласын жазады (әдетте @times(A:1, B:1) немесе =A1*B1 сияқты форматта). Содан кейін бұл формула С бағанындағы барлық жасушаларға көшірілуі керек, A1 сілтемесі A2, A3 және т.б. сілтемелеріне ауыстырылғанын қадағалап отыру қажет. Электрондық кесте оны біршама автоматтандыра алады, бірақ нағыз мәселе – формуланың мағынасын түсінбеуінде. Электрондық кестедегі кез келген өзгеріс көбінесе бүкіл парақтың дұрыс жұмыс істемей қалуына әкеледі. Improv-та деректерді "Бірлік бағасы" және "Бірлік сату" деп аталатын бағандарға енгізу жеткілікті. Содан кейін "Жалпы сату = Бірлік бағасы * Бірлік сату" формуласын жасауға болады. Егер "Жалпы сату" көрінісі жұмыс кітабына қосылса, жиынтықтар автоматты түрде сол жерде пайда болады, себебі электрондық кесте формуланың мақсатын "біледі". Бірақ Improv-тың нағыз күші жоба басталғаннан кейін ғана анық болды. Топтастыру жүйесінің арқасында айлық сатуды "1995" және "1996" сияқты топтарға біріктіруге және осы санатты "жылдар" деп атауға болады. Бірлік бағасын өнім түріне қарай топтастыруға болады, мысалы "киім" және "азық-түлік". Енді осы топтарды (кішкентай қойындылармен көрсетілген) сүйреп тастау арқылы көріністі жылдам өзгертуге болады. Бұл идея кейінірек бірнеше өнімдерде жиынтық кестелер (pivot tables) түрінде іске асырылды.