(Был мәҡәлә программа менән тәьмин итеүҙең киләһе быуынының ҙур өлөшө ни өсөн серверҙарға нигеҙләнәсәген, был программалаусылар өсөн нимә аңлатасағын һәм ни өсөн был яңы төр программа тәьминәте стартаптар өсөн ҙур мөмкинлек булып тороуын аңлата. Ул BBN Labs-та яһалған сығышҡа нигеҙләнгән.)
1995 йылдың йәйендә дуҫым Роберт Моррис менән икәүләп стартап башларға булдыҡ. Ул ваҡытта Netscape компанияһының IPO-һына әҙерлек буйынса PR-кампания ҡыҙған осор ине, һәм матбуғатта онлайн-коммерция тураһында күп һөйләнеләр. Ул ваҡытта Интернетта барыһы ла ҡулдан эшләнгән утыҙ самаһы ғына ысын магазин булғандыр. Әгәр онлайн-магазиндар күп буласаҡ икән, уларҙы эшләү өсөн программа тәьминәте кәрәк буласаҡ, шуға күрә беҙ уны үҙебеҙ яҙырға булдыҡ.
Тәүге бер аҙна тирәһе беҙ уны ябай десктоп ҡушымтаһы итеп эшләргә йыйынғайныҡ. Һуңынан бер көндө, браузерҙы интерфейс сифатында ҡулланып, программаны үҙебеҙҙең веб-серверҙа эшләтеү фекере килде. Беҙ программаны Интернет аша эшләрлек итеп үҙгәртеп яҙып ҡараныҡ, һәм тап ошо юлдан барырға кәрәклеге асыҡланды. Әгәр программабыҙҙы серверҙа эшләрлек итеп яҙһаҡ, был ҡулланыусылар өсөн дә, үҙебеҙ өсөн дә күпкә еңелерәк булыр ине.
Был яҡшы план булып сыҡты. Хәҙер, Yahoo Store булараҡ, был программа тәьминәте яҡынса 14 000 ҡулланыусыһы булған иң популяр онлайн-магазин төҙөүсе булып тора.
Беҙ Viaweb-ты башлағанда, программаның серверҙа эшләүе тураһында әйткәнебеҙҙе бер кем дә тиерлек аңламай ине. Бер йылдан һуң Hotmail эшләй башлағас ҡына кешеләр быны аңлай башланы. Хәҙер барыһы ла был алымдың уңышлы булыуын белә. Беҙҙең кем булғаныбыҙға хәҙер атама ла бар: ҡушымта хеҙмәттәрен күрһәтеүсе, йәғни ASP.
Минеңсә, программа тәьминәтенең киләһе быуынының ҙур өлөшө ошо моделдә яҙыласаҡ. Хатта иң күп юғалтыуҙар кисерәсәк Microsoft та ҡайһы бер нәмәләрҙе өҫтәл өҫтө компьютерынан күсереүҙең ҡотолғоһоҙ булыуын күрә һымаҡ. Әгәр программа тәьминәте өҫтәл өҫтөнән серверҙарға күсһә, был эшләүселәр өсөн бөтөнләй башҡа донъя буласаҡ. Был мәҡәләлә беҙ, ошо яңы донъяның тәүге килеүселәре булараҡ, күргән ғәжәп нәмәләр бәйән ителә. Программа тәьминәте серверҙарға күскән дәрәжәлә, бында тасуирлағандарым — ул киләсәк.
Киләһе нәмә?
Өҫтәл өҫтө программалары дәүеренә кире ҡарағанда, кешеләрҙең элекке автомобиль хужалары сыҙаған ҡыйынлыҡтарға һоҡланғаны кеүек, беҙҙең дә шул уңайһыҙлыҡтарға түҙеп торғаныбыҙға аптырарбыҙ тип уйлайым. Тәүге егерме-утыҙ йылда машина хужаһы булыу өсөн автомобилдәр буйынса эксперт булырға кәрәк ине. Ләкин автомобилдәр шул тиклем ҙур отош ине, хатта эксперт булмаған бик күп кеше лә уларға эйә булырға теләне.
Компьютерҙар хәҙер ошо этапта. Өҫтәл өҫтө компьютерына эйә булһағыҙ, уның эсендә нимә барыуы тураһында үҙегеҙ белгегеҙ килгәндән күпкә күберәк белергә мәжбүр булаһығыҙ. Әммә АҠШ-тағы йорт хужалыҡтарының яртыһынан күберәгендә компьютер бар. Әсәйемдең электрон почта өсөн һәм иҫәп-хисап алып барыу өсөн ҡулланған компьютеры бар. Бер йыл тирәһе элек ул Apple-дан яңы операцион система версияһына ташлама тәҡдим иткән хат алып борсолғайны. Компьютерҙы бары тик хат яҙышыу һәм иҫәп өсөн ҡулланырға теләгән алтмыш биш йәшлек ҡатын яңы операцион системалар ҡуйыу тураһында уйланырға мәжбүр икән, бында ниҙер дөрөҫ түгел. Ябай ҡулланыусылар хатта «операцион система» тигән һүҙҙәрҙе лә белергә тейеш түгел, «ҡоролма драйверы» йәки «патч» тураһында әйтеп тә тораһы түгел.
Хәҙер ҡулланыусыларҙы система администраторы булыуҙан ҡотҡарасаҡ программа тәьминәтен еткереүҙең икенсе юлы бар. Веб-ҡушымталар — ул веб-серверҙарҙа эшләүсе һәм ҡулланыусы интерфейсы сифатында веб-биттәрҙе файҙаланыусы программалар. Уртаса ҡулланыусы өсөн был яңы төр программа тәьминәте өҫтәл өҫтө программаларына ҡарағанда еңелерәк, арзаныраҡ, мобильерәк, ышаныслыраҡ һәм йыш ҡына ҡеүәтлерәк буласаҡ.
Веб-нигеҙле программа тәьминәте менән күпселек ҡулланыусыларға үҙҙәре ҡулланған ҡушымталарҙан башҡа бер нимә тураһында ла уйларға кәрәкмәйәсәк. Бөтә буталсыҡ, үҙгәреүсән нәмәләр ҡайҙалыр серверҙа ятасаҡ һәм бындай эштәрҙе яҡшы белгән кешеләр тарафынан көйләнеп торасаҡ. Һәм шулай итеп, программа тәьминәтен ҡулланыу өсөн һеҙгә ғәҙәттә компьютер үҙе лә кәрәкмәйәсәк. Һеҙгә бары тик клавиатураһы, экраны һәм веб-браузеры булған берәй нәмә генә кәрәк буласаҡ. Бәлки, уның сымһыҙ Интернет бәйләнеше булыр. Бәлки, ул һеҙҙең кәрәҙле телефонығыҙ ҙа булыр. Ул нимә генә булһа ла, ҡулланыусылар электроникаһы буласаҡ: хаҡы 200 доллар самаһы торған һәм кешеләр уны нигеҙҙә корпусының нисек күренеүенә ҡарап һайлаған нәмә. Хәҙер телефондар менән булған кеүек, аппарат тәьминәтенә ҡарағанда Интернет хеҙмәттәре өсөн күберәк түләйәсәкһегеҙ. [1]
Сиртеүҙең серверға барып етеүе һәм кире ҡайтыуы өсөн секундының ундан бер өлөшө тирәһе ваҡыт кәрәк буласаҡ, шуға күрә Photoshop кеүек көслө интерактив программа тәьминәтен ҡулланыусылар иҫәпләүҙәрҙең барыбер өҫтәл өҫтө компьютерында барыуын теләр. Әммә күпселек кешенең компьютерҙы ниндәй маҡсатта ҡулланыуына ҡараһағыҙ, секундтың ундан бер өлөшө тотҡарлыҡ проблема булмаясаҡ. Әсәйемә өҫтәл өҫтө компьютеры ысынында кәрәкмәй, һәм уның кеүек кешеләр бик күп.
Ҡулланыусылар өсөн отош
Минең өйөм янында бамперына «уңайһыҙлыҡҡа ҡарағанда үлем яҡшыраҡ» тип яҙылған машина бар. Күпселек кеше, күпселек осраҡта, иң аҙ эш талап иткән вариантты һайлаясаҡ. Әгәр веб-нигеҙле программа тәьминәте еңһә, был уның уңайлыраҡ булыуы арҡаһында буласаҡ. Һәм ул ҡулланыусылар өсөн дә, эшләүселәр өсөн дә шулай булыр кеүек күренә.
Тик веб-нигеҙле ҡушымтаны ҡулланыу өсөн һеҙгә бары тик Интернетҡа тоташҡан браузер ғына кәрәк. Шулай итеп, һеҙ веб-ҡушымтаны теләһә ҡайҙа ҡуллана алаһығыҙ. Программаны өҫтәл өҫтө компьютерына ҡуйғанда, уны тик шул компьютерҙа ғына ҡуллана алаһығыҙ. Унан да яманырағы, файлдарығыҙ шул компьютерҙа ҡамалып ҡала. Кешеләр селтәрҙәргә өйрәнгән һайын, был моделдең уңайһыҙлығы асығыраҡ күренә бара.
Бындағы тәүге аҙым веб-почта булды. Хәҙер миллионлаған кеше электрон хаттарығыҙға ҡайҙа ғына булһағыҙ ҙа инеү мөмкинлеге булырға тейешлеген төшөнә. Әгәр һеҙ хаттарығыҙҙы күрә алаһығыҙ икән, ни өсөн календарығыҙҙы күрмәҫкә? Хеҙмәттәштәрегеҙ менән документты тикшерә алаһығыҙ икән, ни өсөн уны мөхәррирләй алмайһығыҙ? Ни өсөн һеҙҙең ниндәй ҙә булһа мәғлүмәттәрегеҙ алыҫтағы өҫтәлдә ятҡан ниндәйҙер компьютерҙа ҡамалып ҡалырға тейеш?
«Һеҙҙең компьютер» тигән бөтә төшөнсә юҡҡа сыға һәм «һеҙҙең мәғлүмәттәр» менән алмашына. Һеҙ мәғлүмәттәрегеҙгә теләһә ниндәй компьютерҙан инә алырға тейешһегеҙ. Дөрөҫөрәге, теләһә ниндәй клиенттан, ә клиент компьютер булырға тейеш түгел.
Клиенттар мәғлүмәт һаҡларға тейеш түгел; улар телефон кеүек булырға тейеш. Ысынында улар телефонға әйләнергә мөмкин, йәки киреһенсә. Клиенттар бәләкәйләнгән һайын, мәғлүмәттәрегеҙҙе уларҙа һаҡламау өсөн тағы бер сәбәп барлыҡҡа килә: үҙегеҙ менән йөрөткән нәмә юғалырға йәки урланырға мөмкин. Кеҫә компьютерығыҙҙы (PDA) таксиҙа ҡалдырыу — диск ватылыу кеүек, тик мәғлүмәттәрегеҙ юҡҡа сығыу урынына башҡа берәүҙең ҡулына эләгә.
Бары тик веб-нигеҙле программа тәьминәтендә мәғлүмәттәрегеҙ ҙә, ҡушымталар ҙа клиентта һаҡланмай. Шуға күрә уны ҡулланыу өсөн бер нимә лә ҡуйырға кәрәкмәй. Ә ҡуйыу (установка) булмағас, уның хата менән барыуы тураһында борсолорға ла кәрәкмәй. Ҡушымта менән операцион системағыҙ араһында тап килмәүсәнлек тә була алмай, сөнки программа һеҙҙең операцион системала эшләмәй.
Уны ҡуйырға кәрәк булмағанға күрә, веб-ҡушымтаны «һатып алыр» алдынан һынап ҡарау еңел һәм ғәҙәти хәл буласаҡ. Һеҙ теләһә ниндәй веб-ҡушымтаны, ул тәҡдим ителгән сайтҡа инеп кенә, бушлай һынап ҡарай алырға тейешһегеҙ. Viaweb-та беҙҙең бөтә сайт ҡулланыусыларҙы һынау версияһына йүнәлткән ҙур уҡ кеүек ине.
Демо-версияны һынап ҡарағандан һуң, хеҙмәткә яҙылыу өсөн ҡыҫҡа форманы тултырыуҙан башҡа бер нимә лә талап ителмәҫкә тейеш (ҡыҫҡараҡ булған һайын яҡшыраҡ). Һәм был ҡулланыусы башҡарырға тейешле һуңғы эш булырға тейеш. Веб-нигеҙле программа тәьминәте менән һеҙ яңы сығарылыштарҙы өҫтәмә түләмәйенсә, бер ниндәй ҙә эш эшләмәйенсә, бәлки хатта был турала белмәйенсә лә алырға тейешһегеҙ.
Яңыртыуҙар хәҙерге кеүек ҙур тетрәнеү булмаясаҡ. Ваҡыт үтеү менән ҡушымталар һиҙҙермәйенсә генә ҡеүәтлерәк була барасаҡ. Был эшләүселәр яғынан бер аҙ тырышлыҡ талап итәсәк. Уларға программа тәьминәтен ҡулланыусыларҙы бутамаҫлыҡ итеп яңыртып булырлыҡ итеп проектларға тура киләсәк. Был — яңы проблема, ләкин уны хәл итеү юлдары бар.
Веб-ҡушымталарҙа һәр кем бер үк версияны ҡуллана, һәм хаталар табылыу менән төҙәтелә ала. Шуға күрә веб-нигеҙле программа тәьминәтендә өҫтәл өҫтө программаларына ҡарағанда хаталар күпкә аҙыраҡ булырға тейеш. Viaweb-та бер ваҡытта билдәле булған ун хата булғанмы икән, шикләнәм. Был өҫтәл өҫтө программаларына ҡарағанда бер нисә тапҡырға яҡшыраҡ.
Веб-ҡушымталарҙы бер нисә кеше бер үк ваҡытта ҡуллана ала. Был берлектәге эш ҡушымталары өсөн асыҡтан-асыҡ отош, ләкин ҡулланыусылар бының мөмкин икәнен төшөнгәс, быны күпселек ҡушымталарҙа теләй башлар тип фараз итәм. Мәҫәлән, ике кешегә бер үк документты үҙгәртергә рөхсәт итеү йыш ҡына файҙалы буласаҡ. Viaweb бер нисә ҡулланыусыға бер сайтты бер үк ваҡытта мөхәррирләргә мөмкинлек бирҙе, был беҙ ҡулланыусылар ошоно теләр тип көткәнгә ҡарағанда, программаны дөрөҫ яҙыу юлы шул булғанға күрә эшләнде, әммә күптәр быны теләп сыҡты.
Веб-ҡушымтаны ҡулланғанда, мәғлүмәттәрегеҙ хәүефһеҙерәк буласаҡ. Диск ватылыуҙары бөтөнләй үткәндә ҡалмаясаҡ, ләкин ҡулланыусылар улар тураһында бүтән ишетмәйәсәк. Улар сервер фермалары эсендә буласаҡ. Веб-ҡушымталар тәҡдим иткән компаниялар ысынында резерв күсермәләр эшләйәсәк — сөнки уларҙа бындай нәмәләр тураһында борсолған ысын система администраторҙары буласаҡ ҡына түгел, ә кешеләрҙең мәғлүмәттәрен юғалтҡан ASP бик, бик ҙур бәләгә тараясаҡ. Кешеләр диск ватылыу арҡаһында үҙ мәғлүмәттәрен юғалтҡас, бик ныҡ асыулана алмай, сөнки асыуланырға тик үҙҙәре генә бар. Компания улар өсөн мәғлүмәттәрен юғалтһа, улар күпкә нығыраҡ асыуланасаҡ.
Ниһайәт, веб-нигеҙле программа тәьминәте вирустарға аҙыраҡ бирешәсәк. Әгәр клиент браузерҙан башҡа бер нимә лә эшләтмәһә, вирустарҙы ебәреү ихтималлығы аҙыраҡ һәм урында зыян килтерерлек бер ниндәй ҙә мәғлүмәт юҡ. Ә серверҙарҙың үҙҙәренә һөжүм иткән программа уларҙың бик яҡшы һаҡланғанын күрер ине. [2]
Ҡулланыусылар өсөн веб-программалар аҙыраҡ стресслы буласаҡ. Минеңсә, уртаса Windows ҡулланыусыһының эсенә ҡараһағыҙ, был тасуирламаға тап килгән программа тәьминәтенә ҡарата ғәйәт ҙур һәм эшкәртелмәгән тиерлек теләк табырһығыҙ. Иреккә сығарылһа, ул ҡеүәтле көскә әйләнергә мөмкин.
Код ҡалаһы
Эшләүселәр өсөн веб-ҡушымта менән өҫтәл өҫтө программаһы араһындағы иң күҙгә ташланған айырма — веб-ҡушымтаның бер бөтөн код киҫәге булмауында. Ул бер ҙур бинар файл урынына төрлө типтағы программалар йыйынтығы буласаҡ. Шуға күрә веб-ҡушымта проектлау бина төҙөүгә ҡарағанда ҡала проектлауға оҡшаған: биналар менән бер рәттән һеҙгә юлдар, урам билдәләре, коммуналь хеҙмәттәр, полиция һәм янғын һүндереү бүлектәре, шулай уҡ үҫеш өсөн дә, төрлө фажиғәләр өсөн дә пландар кәрәк.
Viaweb-та программа тәьминәте ҡулланыусылар туранан-тура аралашҡан шаҡтай ҙур ҡушымталарҙы, шул программалар ҡулланған программаларҙы, проблемаларҙы эҙләп даими фонда эшләп торған программаларҙы, ватылған осраҡта нәмәләрҙе яңынан тоҡандырырға тырышҡан программаларҙы, статистика төҙөү йәки эҙләү өсөн индекстар яһау өсөн ваҡыты-ваҡыты менән эшләп торған программаларҙы, ресурстарҙы таҙартыу (garbage collection) йәки мәғлүмәтте күсереү йә тергеҙеү өсөн махсус эшләткән программаларыбыҙҙы, ҡулланыусы ролен уйнаған (етештереүсәнлекте үлсәү йәки хаталарҙы асыҡлау өсөн) программаларҙы, селтәр проблемаларын диагностикалау программаларын, резерв күсермәләр яһау программаларын, тышҡы хеҙмәттәргә интерфейстарҙы, реаль ваҡыттағы сервер статистикаһын күрһәткән шкалалар йыйынтығын йөрөткән программа тәьминәтен (ҡунаҡтар өсөн ҙур уңыш, әммә беҙҙең өсөн дә алмаштырғыһыҙ), асыҡ кодлы программа тәьминәтенә үҙгәртеүҙәрҙе (шул иҫәптән хаталарҙы төҙәтеүҙе) һәм бик күп көйләү файлдарын һәм параметрҙарын үҙ эсенә алды. Тревор Блэквелл беҙҙе Yahoo һатып алғандан һуң, магазиндарҙы һүндермәйенсә, бөтә ил буйлап яңы серверҙарға күсереү өсөн иҫ киткес программа яҙҙы. Программалар беҙгә пейджерға хәбәр ебәрҙе, ҡулланыусыларға факстар һәм электрон хаттар ебәрҙе, кредит карталарын эшкәртеүселәр менән транзакциялар үткәрҙе һәм үҙ-ара сокеттар, торбалар (pipes), http һорауҙары, ssh, udp пакеттары, уртаҡ хәтер һәм файлдар аша һөйләште. Viaweb-тың ҡайһы бер өлөшө хатта программаларҙың булмауынан ғибәрәт ине, сөнки Unix хәүефһеҙлегенең төп серҙәренең береһе — кешеләр серверҙарығыҙға үтеп инеү өсөн файҙалана алған кәрәкмәгән ярҙамсы программаларҙы эшләтмәү.
Был программа тәьминәте менән генә бөтмәне. Беҙ сервер конфигурациялары тураһында уйланып күп ваҡыт үткәрҙек. Беҙ серверҙарҙы үҙебеҙ өлөштәрҙән йыйҙыҡ — өлөшләтә аҡсаны һаҡлау өсөн, өлөшләтә үҙебеҙ теләгән нәмәне теүәл алыу өсөн. Беҙҙең провайдерҙың (upstream ISP) бөтә төп селтәрҙәргә (backbones) етерлек тиҙ бәйләнеше бармы-юҡмы икәнен уйларға тура килде. Беҙ бер-бер артлы RAID тәьминәтселәре менән осрашып торҙоҡ.
Ләкин аппарат тәьминәте бары тик борсолоу өсөн генә түгел. Уны үҙегеҙ контроль аҫтында тотҡанда, ҡулланыусылар өсөн күберәк эшләй алаһығыҙ. Өҫтәл өҫтө ҡушымтаһы менән билдәле бер минималь аппарат тәьминәтен талап итә алаһығыҙ, ләкин күберәк өҫтәй алмайһығыҙ. Әгәр серверҙар менән үҙегеҙ идара итһәгеҙ, тейешле аппарат ҡорамалдарын ҡуйып ҡына, бер аҙымда бөтә ҡулланыусыларығыҙға кешеләргә пейджерға хәбәр ебәрергә, йәки факс ебәрергә, йәки телефон аша бойороҡтар ебәрергә, йәки кредит карталарын эшкәртергә һәм башҡаларҙы эшләргә мөмкинлек бирә алаһығыҙ. Беҙ һәр ваҡыт аппарат тәьминәте ярҙамында яңы мөмкинлектәр өҫтәү юлдарын эҙләнек, был ҡулланыусыларҙы ҡыуандырғанға ғына түгел, ә аппарат саралары өҫтөнән туранан-тура контроле булмаған (йә өҫтәл өҫтө программаларын һатҡанға, йә веб-ҡушымталарҙы провайдерҙар аша ҡайтанан һатҡанға күрә) дәғүәселәрҙән үҙебеҙҙе айырып тороу юлы булараҡ та ҡулланылды.
Веб-ҡушымталағы программа тәьминәте бер бинар файл түгел, ә программалар йыйынтығы буласаҡлыҡтан, уны теләһә нисә төрлө телдә яҙырға мөмкин. Өҫтәл өҫтө программаһын яҙғанда, ҡушымтаны төп операцион система менән бер үк телдә — йәғни C һәм C++ телдәрендә — яҙырға мәжбүр тиерлек булаһығыҙ. Шуға күрә был телдәр (бигерәк тә менеджерҙар һәм венчур инвесторҙары кеүек техник булмаған кешеләр араһында) «етди» программа эшләү өсөн телдәр тип һанала башланы. Ләкин был өҫтәл өҫтө программаларын еткереү ысулының эҙемтәһе генә ине. Серверға нигеҙләнгән программа тәьминәте өсөн үҙегеҙ теләгән теләһә ниндәй телде ҡуллана алаһығыҙ. [3] Бөгөн иң яҡшы хакерҙарҙың күбеһе C һәм C++ телдәренән бик алыҫ булған телдәрҙе ҡуллана: Perl, Python һәм хатта Lisp.
Сервер программалары менән һеҙгә ниндәй тел ҡулланырға кәрәклеген бер кем дә әйтә алмай, сөнки бөтә системаны, хатта аппарат сараларына тиклем, үҙегеҙ контроль итәһегеҙ. Төрлө телдәр төрлө бурыстар өсөн яҡшы. Һәр береһе өсөн ҡайһыһы иң яҡшыһы булһа, шуны ҡуллана алаһығыҙ. Ә дәғүәселәрегеҙ булғанда, «булдыра алаһығыҙ» тигәндең мәғәнәһе «тейешһегеҙ» тигәнде аңлата (беҙ быға һуңыраҡ кире ҡайтырбыҙ), сөнки был мөмкинлектән һеҙ файҙаланмаһағыҙ, уны дәғүәселәрегеҙ эшләйәсәк.
Беҙҙең дәғүәселәрҙең күбеһе C һәм C++ ҡулланды, һәм был уларҙың программаларын күрәләтә насарыраҡ итте, сөнки (башҡа сәбәптәр менән бер рәттән) уларҙың CGI скрипттарының хәлһеҙлеген (statelessness) урап үтерлек юлдары юҡ ине. Берәй нәмәне үҙгәртмәксе булһағыҙ, бөтә үҙгәрештәр ҙә аҫтында «Яңыртырға» (Update) төймәһе булған бер биттә булырға тейеш ине. Башҡа ерҙә яҙғанымса, күптәр әле лә тикшеренеү теле тип һанаған Lisp ҡулланып, беҙ Viaweb мөхәррирен өҫтәл өҫтө программаһы һымаҡ эшләтә алдыҡ.
Сығарылыштар (Релизтар)
Был яңы донъялағы иң мөһим үҙгәрештәрҙең береһе — сығарылыштарҙы (релизтарҙы) эшләү ысулы. Өҫтәл өҫтө программалары бизнесында релиз яһау — ҙур травма, унда бөтә компания берҙән-бер, гигант код киҫәген сығарыу өсөн тир түгә һәм тартыша. Процесҡа ла, килеп сыҡҡан продуктҡа ла ҡарата асыҡ сағыштырыуҙар үҙенән-үҙе күҙ алдына килә.
Сервер программалары ярҙамында һеҙ үҙгәрештәрҙе үҙегеҙ өсөн яҙған программалағы кеүек үк индерә алаһығыҙ. Программа тәьминәтен ваҡыты-ваҡыты менән ҙур шартлау урынына бер-бер артлы килгән яйлап үҙгәрештәр серияһы итеп сығараһығыҙ. Өҫтәл өҫтө программаларын етештереүсе ғәҙәти компания йылына бер йәки ике сығарылыш яһай ала. Viaweb-та беҙ йыш ҡына көнөнә өстән бишкә тиклем сығарылыш яһай инек.
Был яңы моделгә күскәс, программа тәьминәтен эшләүҙең уны сығарыу ысулына ни тиклем ныҡ бәйле булыуын аңлайһығыҙ. Өҫтәл өҫтө программалары бизнесында күргән иң ҡыйын проблемаларҙың күбеһе сығарылыштарҙың һәләкәтле тәбиғәтенә бәйле.
Йылына бер генә яңы версия сығарғанда, хаталар менән күпләп эш итергә ынтылаһығыҙ. Сығарыу ваҡытына тиклем күпмелер ваҡыт ҡалғас, һеҙ яңы версия йыяһығыҙ, унда кодтың яртыһы йолҡоп алынған һәм алмаштырылған була, был иһә иҫәпһеҙ-һанһыҙ хаталар килтереп сығара. Һуңынан сифатты тикшереүселәр (QA) төркөмө килеп инә һәм уларҙы һанай башлай, ә программалаусылар исемлек буйынса эшләп, уларҙы төҙәтә. Ғәҙәттә улар исемлектең аҙағына барып етмәй, һәм, ысынында иһә, аҙағы ҡайҙа икәнен бер кем дә белмәй. Был быуанан сүп-сар һөҙөп сығарыуға оҡшаған. Программа эсендә нимә барыуын бер ҡасан да аныҡ белмәйһегеҙ. Иң яҡшы осраҡта һеҙ статистик яҡтан ғына дөрөҫлөк алаһығыҙ.
Сервер программалары менән үҙгәрештәрҙең күбеһе бәләкәй һәм яйлап бара. Был үҙенән-үҙе хаталарҙың барлыҡҡа килеү ихтималлығын кәметә. Был шулай уҡ программа тәьминәтен сығарыр алдынан нимәне иң ныҡ ентекле һынарға кәрәклеген белдерә: һеҙ иң һуңғы үҙгәрткән нәмәне. Һөҙөмтәлә кодты күпкә яҡшыраҡ контролдә тотаһығыҙ. Ҡағиҙә булараҡ, уның эсендә нимә барыуын яҡшы беләһегеҙ. Һеҙ, әлбиттә, сығанаҡ кодты яттан белмәйһегеҙ, ләкин уны уҡығанда, ниндәйҙер серҙе асырға тырышҡан детектив һымаҡ түгел, ә приборҙар панелен күҙәтеүсе осоусы кеүек уҡыйһығыҙ.
Өҫтәл өҫтө программалары хаталарға ҡарата билдәле бер фатализм тыуҙыра. Һеҙ хаталар менән тулы нәмәне сығарыуығыҙҙы беләһегеҙ һәм хатта бының орхон компенсациялау механизмдарын (мәҫәлән, патч сығарылыштарын) булдырғанһығыҙ. Шулай булғас, тағы бер нисәү өсөн ниңә борсолорға? Тиҙҙән һеҙ ватыҡ икәнен белгән бөтөн мөмкинлектәрҙе сығара башлайһығыҙ. Apple был йыл башында ошолай эшләне. Улар сығарылыу ваҡыты инде дүрт тапҡыр кисектерелгән яңы ОС-ты сығарыу өсөн баҫым аҫтында ине, ләкин программа тәьминәтенең ҡайһы бер өлөшө (CD һәм DVD-ларҙы хуплау) әҙер түгел ине. Сығыу юлы? Улар ОС-ты тамамланмаған өлөштәрһеҙ сығарҙы, һәм ҡулланыусылар уларҙы һуңыраҡ ҡуйырға мәжбүр буласаҡ.
Веб-программалар менән һеҙ бер ҡасан да программа тәьминәтен эшләмәҫ элек сығарырға мәжбүр түгелһегеҙ, һәм ул эшләү менән уны шунда уҡ сығара алаһығыҙ.
Тармаҡ ветераны: «Программа тәьминәтен эшләмәйенсә сығармау тураһында әйтеү яҡшы яңғырай, ләкин яңы версияны билдәле бер датаға еткерергә вәғәҙә биргәндә нимә була?» — тип уйларға мөмкин. Веб-программалар менән һеҙ бындай вәғәҙә бирмәҫ инегеҙ, сөнки бер ниндәй ҙә версиялар юҡ. Программағыҙ яйлап һәм өҙлөкһөҙ үҙгәрә. Ҡайһы бер үҙгәрештәр башҡаларына ҡарағанда ҙурыраҡ булырға мөмкин, ләкин версиялар идеяһы веб-программаларға тәбиғи рәүештә тап килмәй.
Әгәр берәйһе Viaweb-ты хәтерләһә, был сәйер яңғырауы мөмкин, сөнки беҙ һәр ваҡыт яңы версиялар тураһында иғлан итеп торҙоҡ. Был тик PR маҡсатында ғына эшләнде. Беҙ белдек: тармаҡ матбуғаты версия номерҙары аша фекер йөрөтә. Улар ҙур сығарылыш өсөн, йәғни версия номерындағы яңы тәүге һан өсөн һеҙгә ҙур мәҡәлә бирәсәк, ә нөктәнән һуңғы яңы һанды аңлатҡан ваҡ сығарылыш өсөн иң күбе бер абзац яҙасаҡ.
Беҙҙең ҡайһы бер дәғүәселәр өҫтәл өҫтө программаларын тәҡдим итә ине һәм уларҙың ысынында версия номерҙары бар ине. Һәм был сығарылыштар өсөн (уларҙың булыу факты үҙе үк беҙгә уларҙың артта ҡалғанлығының дәлиле булып күренде) улар төрлө яҡлап яҡтыртыу ала ине. Беҙ ҙә ситтә ҡалырға теләмәнек, шуға күрә үҙ программабыҙға ла версия номерҙары бирә башланыҡ. Бер аҙ реклама кәрәк булғанда, беҙ һуңғы «релиздан» бирле өҫтәгән бөтә яңылыҡтар исемлеген төҙөй торғайныҡ, программаға яңы версия номерын йәбештерә инек һәм яңы версияның шунда уҡ ҡулланыуға әҙер булыуы тураһында пресс-релиз сығара торғайныҡ. Ғәжәп, бер кем дә беҙҙе бының өсөн ғәйепләмәне.
Беҙҙе һатып алған ваҡытҡа беҙ быны өс тапҡыр эшләгәйнек, шуға күрә беҙ 4-се версияла инек. Дөрөҫ хәтерләһәм, 4.1 версияһы. Viaweb Yahoo Store булып киткәс, рекламаға бындай өмөтһөҙ ихтыяж бүтән булманы, шуға күрә программа үҫеүен дауам итһә лә, версия номерҙары тураһындағы бөтә идея тыныс ҡына ташланды.
Хаталар (Багтар)
Веб-программаларҙың икенсе төп техник өҫтөнлөгө — хаталарҙың күбеһен ҡабатлап күрһәтә (reproduce) алыуығыҙ. Ҡулланыусыларҙың мәғлүмәттәре туранан-тура һеҙҙең дискта тора. Әгәр берәйһе программағыҙҙы боҙһа, өҫтәл өҫтө программаларындағы кеүек нимә булғанын самаларға тырышырға кәрәкмәй: улар һеҙҙең менән телефон аша һөйләшкән арала уҡ хатаны ҡабатлап сығара алырға тейешһегеҙ. Ҡушымтағыҙ эсенә хаталарҙы күреү өсөн код яҙылған булһа, бәлки һеҙ уның тураһында беләһегеҙҙер ҙә инде.
Веб-программалар тәүлек әйләнәһенә ҡулланыла, шуға күрә һеҙ эшләгән һәр нәмә шунда уҡ ҡаты һынау аша үтә. Хаталар тиҙ асыҡлана.
Программа етештереүсе компанияларҙы ҡайһы саҡта хаталарҙы төҙәтеүҙе (debug) ҡулланыусыларға йөкмәтеүҙә ғәйепләйҙәр. Ә мин тап ошоно яҡлайым да инде. Веб-программалар өсөн был ысынында яҡшы план, сөнки хаталар аҙыраҡ һәм ваҡытлыса ғына. Программаны яйлап сығарғанда, башта уҡ хаталар күпкә аҙ була. Хаталарҙы ҡабатлап булғанда һәм үҙгәрештәрҙе шунда уҡ сығара алғанда, күпселек хаталарҙы улар барлыҡҡа килеү менән табырға һәм төҙәтергә була. Бер ҡасан да беҙҙә рәсми хаталарҙы күҙәтеү (bug-tracking) системаһы менән мәшғүл булырлыҡ дәрәжәлә хата күп булманы.
Әлбиттә, үҙгәрештәрҙе сығарыр алдынан һынарға кәрәк, шуға күрә бер ниндәй ҙә ҙур хата сығырға тейеш түгел. Ҡотолғоһоҙ рәүештә үтеп ингән һирәк хаталар сикке осраҡтарға ҡағыласаҡ һәм кемдер шылтыратып зарланғанға тиклем уларға юлыҡҡан бер нисә ҡулланыусыға ғына ҡағыласаҡ. Хаталарҙы шунда уҡ төҙәтеп торғанда, уртаса ҡулланыусы өсөн дөйөм һөҙөмтә — хаталарҙың күпкә аҙыраҡ булыуы. Уртаса Viaweb ҡулланыусыһы хатаны ғүмерендә бер күргәнме икән, шикләнәм.
Яңы хаталарҙы төҙәтеү иҫкеләренә ҡарағанда еңелерәк. Үҙегеҙ яңы ғына яҙған кодта хатаны табыу ғәҙәттә шаҡтай тиҙ була. Ул килеп сыҡҡас, йыш ҡына сығанаҡҡа ҡарамай тороп та нимә боҙоҡ икәнен беләһегеҙ, сөнки эстән генә был турала борсола инегеҙ инде. Алты ай элек яҙған нәмәгеҙҙә хатаны төҙәтеү (йылына бер тапҡыр сығарһағыҙ, был уртаса осраҡ) күпкә күберәк хеҙмәт талап итә. Һәм кодты яҡшы аңламағанға күрә, уны йәмһеҙ итеп төҙәтеүегеҙ йәки хатта тағы ла күберәк хата индереүегеҙ ихтимал. [4]
Хаталарҙы иртә тотҡанда, ҡушма хаталар ҙа аҙыраҡ була. Ҡушма хаталар — бер-береһенә тәьҫир иткән ике айырым хата: баҫҡыстан төшкәндә абынаһығыҙ, һәм тотҡосҡа барып йәбешкәндә, ул ҡулығыҙҙа ҡала. Программа тәьминәтендә был төр хатаны табыу иң ҡыйыны, һәм улар иң яман эҙемтәләргә килтерергә ынтыла. [5] Традицион «барыһын да ватырға һәм һуңынан хаталарҙы һөҙөп алырға» тигән алым үҙенең тәбиғәте буйынса бик күп ҡушма хаталар тыуҙыра. Ә бәләкәй үҙгәрештәр серияһы менән сығарылған программа үҙ асылы менән уларҙы тыуҙырмай. Иҙән һуңыраҡ берәй нәмәгә ҡыҫылып ҡалыуы мөмкин булған теләһә ниндәй ят әйберҙәрҙән даими рәүештә һеперелеп таҙартылып тора.
Функциональ программалау тип аталған алымды ҡулланыу ярҙам итә. Функциональ программалау эргәләге эҙемтәләрҙән (side-effects) ҡасыуҙы аңлата. Был коммерция программаларына ҡарағанда ғилми мәҡәләләрҙә күберәк осрай торған нәмә, ләкин веб-ҡушымталар өсөн ул ғәйәт файҙалы булып сыға. Бөтә программаларҙы тик функциональ код итеп кенә яҙыу ҡыйын, ләкин ҙур өлөштәрен ошо рәүештә яҙырға була. Был программағыҙҙың шул өлөштәрен һынауҙы еңеләйтә, сөнки уларҙың торошо (state) юҡ, һәм был даими рәүештә бәләкәй үҙгәрештәр индергән һәм һынаған шарттарҙа бик уңайлы. Мин Viaweb мөхәрриренең күп өлөшөн ошо стилдә яҙҙым, һәм беҙ үҙебеҙҙең RTML скрипт телен саф функциональ тел иттек.
Өҫтәл өҫтө программалары бизнесындағы кешеләргә быға ышаныуы ҡыйын булыр, ләкин Viaweb-та хаталар уйынға тиерлек әйләнде. Сығарылған хаталарҙың күбеһе сикке осраҡтарға ҡағылғанға күрә, уларға тап булған ҡулланыусылар мөмкинлектәр сиген киңәйтеүсе алдынғы ҡулланыусылар булырға тейеш ине. Алдынғы ҡулланыусылар хаталарға ҡарата ярлыҡаусыраҡ, бигерәк тә уларҙы үҙҙәре һораған ниндәйҙер яңы мөмкинлекте өҫтәгәндә индергәнгә күрә. Ысынында иһә, хаталар һирәк булғанға һәм уларҙы күреү өсөн ҡатмарлы нәмәләр эшләргә кәрәк булғанлыҡтан, алдынғы ҡулланыусылар хата табыуҙары менән йыш ҡына ғорурлана ине. Улар ярһыу менән түгел, ә беҙҙе еңгән кеүек, тантана тойғоһо менән техник ярҙамға шылтырата торғайны.
Ярҙам хеҙмәте (Саппорт)
Хаталарҙы ҡабатлап сығара алһағыҙ, был клиенттарға ярҙам күрһәтеүгә ҡарашығыҙҙы үҙгәртә. Күпселек программа компанияларында ярҙам хеҙмәте клиенттарҙың күңелен күреү өсөн генә тәҡдим ителә. Улар һеҙгә йә билдәле бер хата буйынса шылтырата, йә үҙҙәре ниҙер дөрөҫ эшләмәй һәм һеҙ нимә икәнен аңларға тейешһегеҙ. Ике осраҡта ла уларҙан өйрәнә алырлыҡ әллә ни нәмә юҡ. Шуға күрә һеҙ ярҙам һорап шылтыратыуҙарға программалаусыларығыҙҙан мөмкин тиклем айырырға теләгән ҙур бер мәшәҡәт тип ҡарайһығыҙ.
Viaweb-та эштәр бөтөнләй улай ҡоролманы. Viaweb-та ярҙам хеҙмәте бушлай ине, сөнки беҙ клиенттарҙы ишетергә теләнек. Берәйһенең проблемаһы булһа, хатаны ҡабатлап күрһәтеү һәм шунда уҡ төҙәтеү сығарыу өсөн, беҙ уның тураһында шунда уҡ белергә теләй инек.
Шуға күрә Viaweb-та эшләүселәр һәр ваҡыт ярҙам хеҙмәте менән тығыҙ бәйләнештә торҙо. Ҡулланыусыларға ярҙам хеҙмәте хеҙмәткәрҙәре программалаусыларҙан утыҙлап аҙым алыҫлыҡта ултыра ине һәм теләһә ниндәй эште ысын хата (баг) тураһындағы хәбәр менән өҙә алыуҙарын белә ине. Беҙ хатта етди хатаны төҙәтеү өсөн директорҙар советы ултырышын да ҡалдырып сығып китә торғайныҡ.
Ярҙам хеҙмәтенә ҡарата ҡулланған ҡарашыбыҙ барыһын да бәхетлерәк итте. Ҡулланыусылар бик ҡәнәғәт булды. Ярҙам хеҙмәтенә шылтыратып, үҙеңде мөһим яңылыҡ килтергән кеше итеп тойоу ниндәй булыуын күҙ алдына килтерегеҙ генә. Ярҙам хеҙмәте хеҙмәткәрҙәренә лә был оҡшай ине, сөнки был уларға ҡулланыусыларға әҙер яуап ҡағыҙҙарын уҡып ултырыу урынына ысынында ярҙам итеү мөмкинлеген бирҙе. Ә программалаусыларға оҡшаны, сөнки улар хаталар тураһында тоноҡ икенсел хәбәрҙәр ишетеү урынына уларҙы үҙҙәре ҡайтанан тергеҙеп (репродуцирлап) ҡарай алды.
Хаталарҙы шунда уҡ, хәрәкәт өҫтөндә төҙәтеү сәйәсәтебеҙ ярҙам хеҙмәткәрҙәре менән хакерҙар араһындағы мөнәсәбәттәрҙе үҙгәртте. Күпселек программа тәьминәте компанияларында ярҙам хеҙмәте хеҙмәткәрҙәре — аҙ түләнгән тере ҡалҡандар, ә хакерҙар — донъя яратыусы Алла Тәғәләнең бәләкәй күсермәләре. Хаталар тураһында хәбәр итеү процедураһы нисек кенә булмаһын, ул ғәҙәттә бер яҡлы: хаталар тураһында ишеткән ярҙам хеҙмәткәрҙәре ниндәйҙер форма тултыра, ул ахыр сиктә (бәлки, QA аша) программалаусыларға барып етә, ә улар уны башҡарылаһы эштәр исемлегенә өҫтәй. Viaweb-та барыһы ла бөтөнләй башҡаса ине. Ҡулланыусынан хата тураһында ишеткәндән һуң бер минут эсендә үк ярҙам хеҙмәткәре программалаусының янында баҫып тора һәм уның: «Ҡәһәр һуҡҡыры, һин хаҡлы, был ысынлап та баг», — тигәнен ишетә ала ине. Хакерҙарҙан «һин хаҡлы» тигәнде ишетеү ярҙам хеҙмәткәрҙәрен шул тиклем ҡыуандырҙы. Улар беҙгә хаталарҙы бесәйҙең яңы ғына үлтергән сысҡанын хужаһына өмөт менән килтереүе кеүек алып килә торғайны. Был шулай уҡ уларҙы хатаның етдилеген баһалауҙа һаҡыраҡ булырға мәжбүр итте, сөнки хәҙер уларҙың үҙ дәрәжәһе һәм намыҫы һынала ине.
Беҙҙе Yahoo һатып алғандан һуң, ярҙам хеҙмәтен программалаусыларҙан алыҫҡа күсерҙеләр. бары шунан һуң ғына беҙ уларҙың ғәмәлдә сифат контроле (QA) һәм билдәле бер кимәлдә маркетинг та булып торғанын аңланыҡ. Хаталарҙы тотоуҙан тыш, улар ҡулланыусыларҙы бутаған функциялар кеүек тоноғораҡ, хатаға оҡшаш нәмәләр тураһындағы ғилемде һаҡлаусылар ине. [6] Улар шулай уҡ үҙенсәлекле фокус-төркөм ролен дә үтәне; беҙ уларҙан ике яңы функцияның ҡайһыһы ҡулланыусыларға нығыраҡ кәрәклеген һорай ала инек, һәм улар һәр ваҡыт хаҡлы булып сыҡты.
Эске рух
Программа тәьминәтен шунда уҡ сығара алыу ҙур илһамландырғыс көс булып тора. Йыш ҡына эшкә барып барғанда мин программаға индергем килгән үҙгәреш тураһында уйлай һәм шул уҡ көндө уны тормошҡа ашыра торғайным. Был ҙурыраҡ функциялар өсөн дә эшләне. Хатта ниндәйҙер нәмәне яҙыу ике аҙна ваҡытты аласаҡ булһа ла (бик аҙ проекттар оҙағыраҡ ваҡыт ала ине), мин уның һөҙөмтәһен программала эш тамамланыу менән үк күрәсәгемде белә инем.
Әгәр сираттағы релизды бер йыл буйы көтөргә тура килһә, мин был идеяларҙың күбеһен һандыҡ төбөнә һалып ҡуйыр инем, кәм тигәндә бер аҙ ваҡытҡа. Әммә идеяларҙың үҙенсәлеге шунда: улар яңы идеялар тыуҙыра. Яҙырға ултырғас, килеп сыҡҡан фекерҙәрҙең яртыһы яҙыу барышында уйлап табылғанын һиҙгәнегеҙ бармы? Программалар яҙғанда ла шулай уҡ була. Бер идеяны тормошҡа ашырыу өҫтөндә эшләү һеҙгә тағы ла күберәк идеялар бирә. Шуға күрә берәй идеяны ситкә ҡағып ҡуйыу һеҙгә уны тормошҡа ашырыуҙың тотҡарланыуы менән генә түгел, ә уны тормошҡа ашырыу алып киләсәк бөтә идеялар менән дә баһалана. Ысынында, идеяны ситкә ҡағыу хатта яңы идеялар тыуыуын тотҡарлай: һеҙ ниндәйҙер яңы функция тураһында уйлай башлау менән, һаҡлағысҡа күҙ һалаһығыҙ ҙа: «әммә минең сираттағы релиз өсөн эшләргә теләгән яңы эштәрем болай ҙа күп бит инде», — тип уйлайһығыҙ.
Ҙур компаниялар яңы функцияларҙы тормошҡа ашырыу урынына уларҙы планлаштыра. Viaweb-та беҙ ҡайһы саҡ ошо сәбәпле ҡыйынлыҡтарға осрай инек. Инвесторҙар һәм аналитиктар беҙҙән киләсәккә ниндәй пландарыбыҙ барлығын һорай торғайны. Дөрөҫ яуап шул булыр ине: беҙҙең бер ниндәй ҙә пландарыбыҙ юҡ ине. Беҙҙә яҡшыртырға теләгән нәмәләр тураһында дөйөм идеялар бар ине, әммә уларҙы нисек эшләргә икәнен белһәк, күптән эшләгән булыр инек. Киләһе алты айҙа беҙ нимә эшләргә йыйына инек? Иң ҙур еңеү килтерерҙәй тойолғанды. Был яуапты бирергә ҡыйманыммы-юҡмы, белмәйем, әммә хҡиҡәт шулай ине. Пландар — һандыҡ төбөндә ятҡан идеяларҙың икенсе исеме генә. Яҡшы идеялар башыбыҙға килгәндә, беҙ уларҙы шунда уҡ эшләй инек.
Viaweb-та, күп кенә программа тәьминәте компанияларындағы кеүек үк, кодтың күпселек өлөшөнөң аныҡ бер хужаһы бар ине. Әммә берәй нәмәгә хужа булһағыҙ, һеҙ уға ысынында хужа инегеҙ: программаның ошо өлөшөнөң хужаһынан башҡа бер кем дә сығарылышты раҫларға (йәки хатта уның тураһында белергә) тейеш түгел ине. Берәй нәмәне ватыуҙан коллегаларың алдында ахмаҡ булып күренеү ҡурҡыуынан башҡа бер ниндәй ҙә һаҡлау юҡ ине, һәм был етә лә аша ине. Беҙҙе күҙ йомоп, уйламай-нитмәй код яҙып алға ырғылғанбыҙ кеүек тойғо тыуҙырғанмындыр бәлки. Беҙ ысынлап та тиҙ эшләнек, әммә программаны теге серверҙарға сығарыр алдынан бик ныҡ уйлана торғайныҡ. Ышаныслылыҡ өсөн иғтибарлы булыу яй эшләүгә ҡарағанда мөһимерәк. Иғтибарлы булғанға күрә, Хәрби-диңгеҙ флоты пилоты 40 000 фунт ауырлыҡтағы самолетты сәғәтенә 140 миль тиҙлектә, төндә сайҡалып ятҡан авианосец палубаһына ябай үҫмерҙең бейгелде бысаҡ менән киҫеүенә ҡарағанда хәүефһеҙерәк ултырта ала.
Программалар яҙыуҙың был ысулы, әлбиттә, ике яҡлы ҡылыс кеүек. Был насар идеяларҙы авторҙары үҙҙәре түгел, ә комитеттар тота торған урта ҡул хеҙмәткәрҙәрҙән торған ҙур компанияға ҡарағанда, бер-береһенә ышанған яҡшы программалаусыларҙың ҙур булмаған командаһы өсөн күпкә яҡшыраҡ эшләй.
Брукс киреһенсә
Бәхеткә күрә, Веб-нигеҙле программа тәьминәте ысынында аҙыраҡ программалаусы талап итә. Бер ваҡыт мин инженерлыҡ бүлегендә 100-ҙән ашыу кеше эшләгән уртаса ҙурлыҡтағы десктоп программалары компанияһында эшләнем. Шуларҙың 13-ө генә продукцияны эшләү менән шөғөлләнә ине. Ҡалғандары барыһы ла сығарылыштар, башҡа платформаларға яраҡлаштырыу (портлау) һәм башҡалар менән булыша ине. Веб-нигеҙле программа тәьминәтендә һеҙгә (иң күбе) шул 13 кеше генә кәрәк, сөнки бер ниндәй сығарылыштар, порттар һәм башҡалар юҡ.
Viaweb бары өс кеше тарафынан яҙылған. [7] Миңә гел күберәк кеше алырға баҫым яһай торғайнылар, сөнки беҙ компанияны һатҡыбыҙ килде, ә һатып алыусылар өс кенә программалаусыһы булған компания өсөн ҙур хаҡ түләүе ауыр буласағын белә инек. (Сиселеш: беҙ күберәк кеше ялланыҡ, әммә улар өсөн яңы проекттар булдырҙыҡ.)
Программа тәьминәтен аҙыраҡ программалаусы менән яҙа алғанда, был һеҙгә аҡсанан да күберәкте һаҡларға ярҙам итә. Фред Брукс The Mythical Man-Month китабында билдәләп үткәнсә, проектҡа яңы кешеләр өҫтәү уны яйлата ғына бара. Төркөмдә эшләүселәр араһындағы бәйләнештәр һаны төркөм ҙурайыу менән экспоненциаль рәүештә үҫә. Төркөм ни ҡәҙәр ҙурыраҡ булһа, улар программаларының бергә нисек эшләйәсәген һөйләшеүҙәр үткәреп йыйылыштарҙа шул ҡәҙәр күберәк ваҡыт үткәрәсәк, һәм көтөлмәгән үҙ-ара тәьҫир итешеүҙәрҙән шул ҡәҙәр күберәк хаталар килеп сығасаҡ. Бәхеткә күрә, был процесс кире яҡҡа ла эшләй: төркөмдәр бәләкәйләнгән һайын, программа эшләү экспоненциаль рәүештә нәтижәлерәк була бара. Viaweb-та эшләүселәрҙең ысын йыйылыш үткәргәнен һис кенә лә хәтерләмәйем. Төшкө ашҡа барғанда әйтә алырлыҡтан артыҡ бер ваҡытта ла бер ни ҙә әйтергә тура килмәне.
Әгәр бында ниндәйҙер кире яҡ булһа, ул — бөтә программалаусыларға ниндәйҙер кимәлдә система администраторҙары ла булырға тура килеүендә. Һеҙ программа тәьминәтен серверҙа тотаһығыҙ (хостинг) икән, кемдер серверҙарҙы күҙәтергә тейеш, ә ғәмәлдә быны дөрөҫ итеп программаны яҙған кешеләр генә эшләй ала. Viaweb-та беҙҙең система шул тиклем күп компоненттарҙан тора һәм шул ҡәҙәр йыш үҙгәрә ине, программа менән инфраструктура араһында аныҡ сик юҡ ине. Бындай сикте үҙ белдегең менән билдәләү беҙҙең дизайн мөмкинлектәрен сикләгән булыр ине. Һәм шуға күрә, беҙ ҡасан да булһа бер көндө («бер-ике айҙан») барыһы ла тотороҡло булыр ҙа, беҙ берҙән-бер эше серверҙар өсөн борсолоу булған кешене яллай алырбыҙ тип өмөт итһәк тә, был бер ҡасан да тормошҡа ашманы.
Продуктты әүҙем үҫтергән саҡта бының башҡаса булыуы мөмкин түгелдер, тип уйлайым. Веб-нигеҙле программа тәьминәте бер ҡасан да һеҙ яҙған, репозиторийға һалған һәм өйгә ҡайтып киткән нәмә булмаясаҡ. Был — тере нәмә, ул ошо минутта һеҙҙең серверҙарҙа эшләп тора. Яман бер баг бер генә ҡулланыусының процесын өҙөп кенә ҡалмаясаҡ; ул уларҙың барыһын да ҡыйратыуы бар. Әгәр кодтағы хата дисктағы мәғлүмәтте боҙһа, һеҙ уны төҙәтергә тейешһегеҙ. Һәм башҡалар. Беҙ серверҙарҙы һәр минут һайын күҙәтеп тороу мотлаҡ түгеллеген аңланыҡ (тәүге йылдан һуң), әммә яңыраҡ үҙгәрткән нәмәләрегеҙҙе һис шикһеҙ күҙ уңында тоторға кәрәк. Төн уртаһында яңы код сығарып, шунан һуң тыныс ҡына өйгә ҡайтып китә алмайһығыҙ.
Ҡулланыусыларҙы күҙәтеү
Серверҙа эшләгән программалар менән һеҙ үҙ кодығыҙға яҡыныраҡ булаһығыҙ. Һеҙ шулай уҡ үҙ ҡулланыусыларығыҙға ла яҡыныраҡ була алаһығыҙ. Intuit компанияһы ваҡлап һатыу магазиндарында һатып алыусылар менән танышып, уларҙың артынан өйҙәренә барырға рөхсәт һорауы менән билдәле. Әгәр һеҙ ҡасан да булһа кемдеңдер һеҙҙең программаны беренсе тапҡыр ҡулланыуын күҙәткәнегеҙ булһа, уларҙы ниндәй көтөлмәгән хәлдәр көтөп торғанын яҡшы аңлайһығыҙҙыр.
Программа тәьминәте ҡулланыусылар уйлағанса эшләргә тейеш. Әммә, ышанығыҙ, уларҙы үҙ күҙегеҙ менән күҙәтмәйенсә, уларҙың нимә уйлаясағын һеҙ бер нисек тә белә алмаясаҡһығыҙ. Ә сервер нигеҙендәге программа уларҙың тәртибе тураһында бығаса күрелмәгән мәғлүмәт бирә. Һеҙ бәләкәй, яһалма фокус-төркөмдәр менән генә сикләнмәйһегеҙ. Һеҙ һәр ҡулланыусы эшләгән һәр сиртеүҙе (кликты) күрә алаһығыҙ. Нимәгә ҡараясағығыҙҙы ентекләп уйларға кәрәк, сөнки ҡулланыусыларҙың шәхси тормошона ҡыҫылырға ярамай, әммә хатта иң дөйөм статистик һайланма ла бик файҙалы булырға мөмкин.
Ҡулланыусыларығыҙ үҙ серверығыҙҙа булғанда, һеҙгә, мәҫәлән, бенчмарктарға таянырға кәрәкмәй. Бенчмарктар — ул яһалма имитацияланған ҡулланыусылар. Сервер нигеҙендәге программа менән һеҙ реаль ҡулланыусыларҙы күҙәтә алаһығыҙ. Нимәне оптималләштерергә икәнен хәл итеү өсөн, серверға инеп, процессорҙы (CPU) нимә нығыраҡ ҡулланғанын күреү генә етә. Һәм ҡасан оптималләштереүҙе туҡтатырға кәрәклеген дә беләһегеҙ: ахыр сиктә беҙ Viaweb мөхәррирен CPU түгел, ә хәтер ҡулланыуы менән сикләнгән хәлгә еткерҙек, һәм ҡулланыусыларҙың мәғлүмәттәре күләмен кәметеү өсөн бер ни ҙә эшләй алмағанлыҡтан (ябай бер ни ҙә), ошо урында туҡтаһаҡ та була икәнен белдек.
Сервер нигеҙендәге программа тәьминәте өсөн һөҙөмтәлелек бик мөһим, сөнки ҡорамалдар (аппаратура) өсөн һеҙ үҙегеҙ түләйһегеҙ. Һеҙ бер серверҙа хеҙмәтләндерә алған ҡулланыусылар һаны һеҙҙең капиталь сығымдарығыҙҙың бүлеүсеһе булып тора, шуға күрә программағыҙҙы бик һөҙөмтәле итә алһағыҙ, дәғүәселәрҙән арзаныраҡ һатып та, табыш алыуығыҙҙы дауам итә алаһығыҙ. Viaweb-та беҙ бер ҡулланыусыға тура килгән капиталь сығымды яҡынса 5 долларға тиклем төшөрҙөк. Хәҙер был хатта аҙыраҡ булыр ине, бәлки уларға тәүге ай өсөн иҫәп-хисап ебәреү хаҡынан да арзаныраҡтыр. Программағыҙ яраҡлы дәрәжәлә һөҙөмтәле булһа, бөгөн аппаратура ғәмәлдә бушҡа килә.
Ҡулланыусыларҙы күҙәтеү һеҙгә оптималләштереүҙә генә түгел, дизайнда ла йүнәлеш бирә ала. Viaweb-та RTML тигән сценарийҙар теле бар ине, ул алдынғы ҡулланыусыларға үҙ биттәренең стилдәрен яһарға мөмкинлек бирҙе. Беҙ RTML-дың бер төр тәҡдимдәр йәшнигенә әүерелгәнен күрҙек, сөнки ҡулланыусылар уны алдан билдәләнгән бит стилдәре улар теләгәнде эшләй алмаған осраҡта ғына ҡуллана ине. Мәҫәлән, башта мөхәррир төймәләр панелен биттең арҡырыһына ҡуя ине, әммә бер нисә ҡулланыусы RTML ярҙамында төймәләрҙе һул яҡҡа теҙеп ҡуйғас, беҙ быны алдан көйләнгән стилдәрҙә бер вариант (ысынында иһә төп көйләү) итеп эшләнек.
Ниһайәт, ҡулланыусыларҙы күҙәтеп, уларҙың ҡасан ауырлыҡтарға осрағанын йыш ҡына аңларға була. Ә ҡулланыусы һәр ваҡыт хаҡлы булғанға күрә, был — һеҙгә төҙәтергә кәрәк булған нәмәнең билдәһе. Viaweb-та яңы ҡулланыусыларҙы йәлеп итеүҙең төп асҡысы онлайн һынап ҡарау (тест-драйв) ине. Был маркетинг белгестәре әҙерләгән слайдтар теҙмәһе генә түгел ине. Беҙҙең тест-драйвта ҡулланыусылар программаны ысынлап ҡулланды. Был яҡынса биш минут ваҡытты алды, һәм аҙаҡта улар ысын, эшләп торған кибет төҙөп ҡуйҙы.
Тест-драйв — беҙҙең бөтә тиерлек яңы ҡулланыусыларҙы йәлеп итеү юлыбыҙ ине. Күпселек Веб-ҡушымталар өсөн дә был шулай булыр тип уйлайым. Әгәр ҡулланыусылар тест-драйвты уңышлы үтә алһа, уларға продукт оҡшаясаҡ. Әгәр буталып ҡалһалар йәки күңелдәре ялҡһа — оҡшамаясаҡ. Шуға күрә күберәк кешенең тест-драйвты үтеүенә өлгәшеү өсөн эшләнгән теләһә ниндәй аҙым беҙҙең үҫеш тиҙлеген арттыра ине.
Мин тест-драйв үткән кешеләрҙең эҙҙәрен (кликттарын) өйрәндем һәм билдәле бер аҙымда уларҙың буталып, браузерҙың «Артҡа» (Back) төймәһенә баҫыуын асыҡланым. (Әгәр Веб-ҡушымталар яҙырға маташһағыҙ, «Артҡа» төймәһенең иң ҡыҙыҡлы философик проблемаларҙың береһенә әйләнеүен күрерһегеҙ.) Шуға күрә мин шул урынға ҡулланыусыларға эшенең бөтөп килеүен хәбәр иткән һәм уларға «Артҡа» төймәһенә баҫмаҫҡа иҫкәрткән яҙыу өҫтәнем. Веб-нигеҙле программа тәьминәтенең тағы бер шәп яғы — индерелгән үҙгәрештәрҙән шунда уҡ яуап алыу: тест-драйвты тамамлаусылар һаны 60%-тан шунда уҡ 90%-ҡа тиклем күтәрелде. Ә яңы ҡулланыусылар һаны тамамланған тест-драйвтар һанына туранан-тура бәйле булғанлыҡтан, беҙҙең килем үҫеше ошо бер үҙгәрештән генә 50%-ҡа артты.
Аҡса
1990-сы йылдар башында мин бер мәҡәлә уҡыным, унда кемдер программа тәьминәте яҙыу — ул яҙылыу (подписка) бизнесы, тигән ине. Тәүҙә был бик циник белдереү һымаҡ тойолдо. Әммә һуңыраҡ мин бының ысынбарлыҡты сағылдырыуын аңланым: программа әҙерләү — ул өҙлөкһөҙ барған процесс. Минеңсә, кешеләрҙе һеҙгә аҡса түләүҙе дауам итһендәр өсөн өҫтәмә яңы версиялар һатып алырға һәм ҡуйырға мәжбүр итеү урынына, асыҡтан-асыҡ подписка өсөн түләү алыу күпкә таҙараҡ һәм намыҫлыраҡ. Һәм, бәхеткә күрә, подписка — Веб-ҡушымталар өсөн хаҡ түләтеүҙең тәбиғи юлы.
Ҡушымталарҙы серверҙа тотоу (хостинг) — был компаниялар бушлай программалар (freeware) тултыра алмаҫлыҡ ролде уйнайсаҡ өлкә. Ҡушымталарҙы хостингта тотоу — ҙур стресс һәм ысын сығымдар талап итә. Бер кем дә быны бушҡа эшләргә теләмәйәсәк.
Компаниялар өсөн Веб-ҡушымталар — килемдең идеаль сығанағы. Һәр кварталды буш биттән башлау урынына, һеҙҙә даими килеп торған килем ағымы бар. Программағыҙ яйлап ҡына үҫешкәнлектән, яңы моделебеҙ уңышһыҙ булыр тип борсолаһы түгел; ғәмәлдә бер ниндәй ҙә яңы модель кәрәкмәй, әгәр ҡулланыусылар нәфрәт иткән берәй нәмә эшләһәгеҙ, уны шунда уҡ беләсәкһегеҙ. Түләнмәгән иҫәп-хисаптар менән проблемағыҙ булмай; кемдер түләмәһә, хеҙмәтте һүндереп кенә ҡуя алаһығыҙ. Һәм юлбаҫарлыҡ (пиратлыҡ) мөмкинлеге бөтөнләй юҡ.
Ошо һуңғы «өҫтөнлөк» проблемаға ла әйләнеүе бар. Билдәле бер кимәлдәге пиратлыҡ программа тәьминәте компаниялары өсөн файҙалы. Әгәр ниндәйҙер ҡулланыусы һеҙҙең программаны бер ниндәй хаҡҡа ла һатып алмаясаҡ булһа, уның урланған күсермәне ҡулланыуынан һеҙ бер ни ҙә юғалтмайһығыҙ. Ысынында иһә һеҙ отаһығыҙ, сөнки ул — һеҙҙең программағыҙҙы стандартҡа әйләндерергә ярҙам итеүсе тағы бер ҡулланыусы, йәки ул һуңыраҡ, мәктәпте тамамлағас, уның күсермәһен һатып алыуы ихтимал.
Мөмкинлек булғанда, компаниялар хаҡ дифференциацияһы (дискриминацияһы) тип аталған нәмәне эшләргә ярата, был һәр клиенттан ул түләй алған тиклем күберәк хаҡ алыуҙы аңлата. [8] Программа тәьминәте хаҡ дифференциацияһы өсөн айырыуса ҡулай, сөнки сикке сығымдар (marginal cost) нулгә яҡын. Бына ни өсөн ҡайһы бер программаларҙы Sun машиналарында йөрөтөү Intel машиналарына ҡарағанда ҡыйбатыраҡ тора: Sun ҡулланған компания аҡса янларға теләмәй һәм уларҙан тартынмайынса күберәк аҡса алырға була. Пиратлыҡ — ғәмәлдә хаҡ дискриминацияһының иң түбән баҫҡысы. Минеңсә, программа эшләүсе компаниялар быны яҡшы аңлай һәм пиратлыҡтың ҡайһы бер төрҙәренә аңлы рәүештә күҙ йома. [9] Ә сервер нигеҙендәге программа тәьминәте менән уларға башҡа берәй сиселеш уйлап табырға тура киләсәк.
Веб-нигеҙле программа тәьминәте, бигерәк тә десктоп программалары менән сағыштырғанда, яҡшы һатыла, сөнки уны һатып алыуы еңел. Кешеләр башта берәй нәмәне һатып алырға ҡарар итә, ә һуңынан һатып ала — былар ике айырым аҙым, тип уйлауығыҙ бар. Viaweb-ҡа тиклем, был һорау тураһында бөтөнләй уйлаған саҡта, мин дә шулай тип уйлай торғайным. Ысынында иһә икенсе аҙым беренсеһенә йоғонто яһай ала: әгәр берәй нәмәне һатып алыу ҡыйын булһа, кешеләр уны үҙҙәренә кәрәкме-юҡмы икәне тураһында фекерен үҙгәртәсәк. Һәм киреһенсә: һатып алыу еңел булһа, һеҙ күберәк һатасаҡһығыҙ. Amazon булғанға күрә мин күберәк китап һатып алам. Веб-нигеҙле программа тәьминәте — донъяла һатып алыу өсөн иң еңел нәмә, бигерәк тә онлайн-демоны яңы ғына ҡарап сыҡҡан булһағыҙ. Ҡулланыусыларға кредит картаһы номерын индереүҙән тыш күп эш эшләргә тура килмәҫкә тейеш. (Уларҙы күберәк эшләргә мәжбүр итеү — үҙ башығыҙға.)
Ҡайһы саҡта Веб-программаларҙы ҡайтанан һатыусылар сифатында сығыш яһаусы интернет-провайдерҙар (ISP) аша тәҡдим итәләр. Был — насар идея. Серверҙарға һеҙ үҙегеҙ идара итергә тейешһегеҙ, сөнки аппаратураны ла, программа тәьминәтен дә өҙлөкһөҙ яҡшыртып торорға кәрәк. Серверҙар өҫтөнән туранан-тура контролде ҡулдан ысҡындырһағыҙ, Веб-ҡушымталар эшләүҙең күпселек өҫтөнлөктәрен юғалтаһығыҙ.
Беҙҙең бер нисә дәғүәсебеҙ ошо юл менән үҙ аяғына балта сапты — ғәҙәттә, минеңсә, сөнки улар был ҙур потенциаль каналға ҡыҙыҡҡан костюм кейгән етәкселәр ҡулы аҫтында ҡалды һәм уның аша һатырға өмөт иткән продуктын боҙасағын аңламаны. Веб-нигеҙле программа тәьминәтен ISP аша һатыу — ул сушины сауҙа автоматтары аша һатыу кеүек.
Ҡулланыусылар
Клиенттар кем буласаҡ? Viaweb-та улар башта айырым шәхестәр һәм бәләкәйерәк компаниялар ине, һәм Веб-ҡушымталар өсөн был ғәҙәти ҡағиҙәгә әйләнер тип уйлайым. Был — яңы нәмәләрҙе һынап ҡарарға әҙер булған ҡулланыусылар, бер яҡтан улар һығылмалыраҡ булғанға, икенсе яҡтан яңы технологияның арзаныраҡ сығымдарын теләгәнгә күрә.
Веб-ҡушымталар йыш ҡына ҙур компаниялар өсөн дә иң яҡшы сиселеш буласаҡ (тик улар быны һуңыраҡ аңлаясаҡ). Иң яҡшы интранет — ул Интернет. Әгәр компания ысын Веб-нигеҙле ҡушымталар ҡулланһа, программа яҡшыраҡ эшләйәсәк, серверҙарға идара итеү яҡшыраҡ буласаҡ һәм хеҙмәткәрҙәр системаға теләһә ҡайһы ерҙән инә аласаҡ.
Был алымға ҡаршы дәлилдәр ғәҙәттә хәүефһеҙлек мәсьәләһенә ҡайтып ҡала: әгәр инеү хеҙмәткәрҙәр өсөн еңелерәк булһа, яуыз уйлылар өсөн дә шулай буласаҡ, имеш. Ҡайһы бер эрерәк сауҙагәрҙәр клиенттарҙың кредит карталары мәғлүмәттәре үҙ серверҙарында хәүефһеҙерәк булыр тип уйлап, Viaweb-ты ҡулланырға икеләнә ине. Быны дипломатик рәүештә аңлатыу еңел түгел ине, әммә ғәмәлдә мәғлүмәттәр уларҙыҡына ҡарағанда беҙҙең ҡулда күпкә хәүефһеҙерәк ине. Хәүефһеҙлек менән идара итеү өсөн кем яҡшыраҡ белгестәр яллай ала: бөтә бизнесы серверҙарҙы тотоуҙан торған технология стартапымы, әллә кейем-һалым һатыусыһымы? Хәүефһеҙлек өсөн яуаплы яҡшыраҡ кешеләребеҙ булыуҙан тыш, беҙ был хаҡта күберәк борсола ла инек. Әгәр кейем һатыусыһының серверҙарына кемдер баҫып инһә, был иң күбендә бер генә һатыусыға ҡағылыр ине, моғайын, баҫырылып ҡалыр ине һәм иң насар осраҡта бер кешене эштән бушатырҙар ине. Әгәр кемдер беҙҙекенә баҫып инһә, был меңәрләгән сауҙагәргә йоғонто яһар ине, бәлки CNet-та яңылыҡ булып сығыр һәм беҙҙең бизнесты юҡҡа сығарыр ине.
Аҡсағыҙҙы хәүефһеҙ һаҡларға теләһәгеҙ, уны өйҙә матрас аҫтында тотаһығыҙмы, әллә банкка һалаһығыҙмы? Был дәлил сервер хакимиәтенең һәр яғына ла ҡағыла: хәүефһеҙлеккә генә түгел, өҙлөкһөҙ эшләү ваҡытына (uptime), үткәреү һәләтенә, йөкләмәне идара итеүгә, резерв күсермәләргә һ.б. Беҙҙең йәшәүебеҙ ошо нәмәләрҙе дөрөҫ башҡарыуға бәйле ине. Сервер проблемалары беҙҙең өсөн иң ҙур тыйылған нәмә булды, уйынсыҡ яһаусы өсөн хәүефле уйынсыҡ йәки аҙыҡ етештереүсе өсөн сальмонелла таралыуы кеүек.
Веб-ҡушымталар ҡулланған ҙур компания ошо кимәлдә IT-хеҙмәттәрҙе аутсорсингҡа бирә. Ни тиклем ҡырҡа яңғырамаһын, минеңсә, был дөйөм алғанда яҡшы идея. Компаниялар компания эсендәге система администраторҙарына ҡарағанда был юл менән яҡшыраҡ хеҙмәтләндереү алыусан. Система администраторҙары ҡырыҫ һәм иғтибарһыҙ булып китергә мөмкин, сөнки улар дәғүәселек баҫымына туранан-тура дусар булмай: һатыусы клиенттар менән эшләргә тейеш, ә етештереүсе көнәркәштәрҙең программалары менән иҫәпләшергә тейеш, ә система администраторы, ҡарт буйҙаҡ кеүек, үҙен тыйып тороусы тышҡы көстәрҙән мәхрүм. [10] Viaweb-та беҙҙе тәртиптә тотоусы тышҡы көстәр етерлек ине. Беҙгә шылтыратыусы кешеләр ябай хеҙмәттәштәр генә түгел, клиенттар ине. Әгәр берәй сервер эленеп ҡалһа, беҙ урыныбыҙҙан һикереп тора торғайныҡ; хәҙер ҙә, йылдар үткәс, был хаҡта уйлау ғына ла миндә адреналин ташҡыны уята.
Шуға күрә ғәҙәттә Веб-ҡушымталар ҙур компаниялар өсөн дә дөрөҫ яуап буласаҡ. Әммә өҫтәл компьютерҙары (десктоптар) менән булған кеүек, улар быны иң һуңғы булып аңлаясаҡ. Һәм өлөшләтә шул уҡ сәбәп менән: ҙур компанияларҙы ҡыйбатыраҡ нәмәгә мохтаж булыуына ышандырыу ҙур аҡса торасаҡ.
Бай клиенттарҙа, хатта арзан сиселештәр яҡшыраҡ булғанда ла, ҡыйбатлыраҡ сиселештәрҙе һатып алыуға һәр саҡ ынтылыш бар, сөнки ҡыйбатлы нәмәләр тәҡдим иткән кешеләр уларҙы һатыу өсөн күберәк аҡса тотона ала. Viaweb-та беҙ даими рәүештә ошо хәлгә осрай инек. Беҙ бер нисә ҙур клиентты үҙ серверҙарында яһалған махсус онлайн-кибет өсөн ярты миллион доллар түләһәләр, яҡшыраҡ буласағына ышандырған Веб-консалтинг фирмаларына отоп бирҙек. Ғәҙәттә, уларҙың хәле яҡшырманы, быны Раштыуа алдынан сауҙа осоро еткәс һәм уларҙың серверына йөкләмә артҡас, бер нисәүһе үҙ күҙе менән күрҙе. Viaweb был сауҙагәрҙәр алған нәмәнән күпкә камилыраҡ ине, әммә беҙҙең уларға быны еткерерлек хәлебеҙ юҡ ине. Айына 300 доллар алып, беҙ клиенттарға презентациялар үткәреү өсөн яҡшы кейенгән һәм ышаныслы һөйләшкән кешеләр командаһын ебәрә алмай инек.
Ҙур компаниялар өҫтәмә түләгән сумманың ҙур өлөшө — был уларға ҡыйбатлы нәмәләрҙе һатыу хаҡы. (Әгәр Оборона министрлығы унитаз ултырғыстары өсөн мең доллар түләй икән, был өлөшләтә унитаз ултырғысын мең долларға һатыу бик ҡыйбатҡа төшкәнгә күрәлер.) Һәм был сәбәптәрҙең береһе — ни өсөн интранет өсөн программа тәьминәте, насар идея булыуына ҡарамаҫтан, үҫешен дауам итәсәк. Сөнки ул ябай ғына ҡыйбатыраҡ. Был ҡатмарлы хәлгә ҡаршы бер ни эшләп булмай, шуға күрә иң яҡшы план — башта бәләкәйерәк клиенттарға йүнәлеү. Ҡалғандары ваҡыт үтеү менән үҙҙәре киләсәк.
Серверҙың вариҫы
Программаларҙы серверҙа тотоу — яңылыҡ түгел. Ысынында иһә был иҫке модель: мэйнфрейм (ҙур ЭВМ) ҡушымталарының барыһы ла сервер нигеҙендә. Әгәр сервер нигеҙендәге программа шундай шәп идея икән, ни өсөн ул үткән юлы еңелде һуң? Ни өсөн шәхси өҫтәл компьютерҙары мэйнфреймдарҙы ҡыҫырыҡлап сығарҙы?
Башта өҫтәл компьютерҙары етди хәүеф һымаҡ күренмәне. Тәүге ҡулланыусылар барыһы ла хакерҙар — йәки ул ваҡытта аталғанса, һәүәҫкәрҙәр ине. Уларға микрокомпьютерҙар арзан булған өсөн оҡшаны. Тәүге тапҡыр кеше үҙенең шәхси компьютерына эйә була алды. «Шәхси компьютер» (персональный компьютер) тигән һүҙбәйләнеш хәҙер телдең бер өлөшөнә әйләнде, әммә ул тәү башлап ҡулланылғанда, бөгөнгө көндә «шәхси юлдаш» (персональный спутник) тигән кеүек, аңлы рәүештә ҡыйыу һәм ҡылансыҡ яңғырай ине.
Ни өсөн өҫтәл компьютерҙары еңеп сыҡты? Минеңсә, сөнки уларҙың программалары яҡшыраҡ ине. Ә микрокомпьютер программаларының яҡшыраҡ булыуының сәбәбе — уларҙы бәләкәй компаниялар яҙа алыуында ине.
Күптәр стартаптарҙың иң тәүге осоронда ни тиклем нескә һәм тотороҡһоҙ булыуын аңламайҙыр, тип уйлайым. Күп кенә стартаптар осраҡлы рәүештә тиерлек башлана — төп эше булған йәки уҡып йөрөгән ике-өс егет киләсәге өмөтлө күренһә, компанияға әйләнеүе мөмкин булған берәй нәмәнең тәүге вариантын (прототибын) яҙа. Был ҡурсаҡ осорондағы селәүсен (личинка) этабында теләһә ниндәй етди тотҡарлыҡ стартаптың үҫешен тамырынан өҙә ала. Мэйнфреймдар өсөн программа яҙыу башта уҡ үтә ҙур көс талап итә ине. Программа яҙыу ҡорамалдары ҡыйбат торҙо, ә клиенттар эре компаниялар булғанлыҡтан, уларға һатыр өсөн абруйлы күренгән һатыу бүлеге кәрәк буласаҡ ине. Мэйнфрейм ҡушымталарын яҙыу өсөн стартап асыу кистәрен үҙеңдең Apple II компьютерында нимәлер яҙыштырыуға ҡарағанда күпкә етдиерәк эш булыр ине. Һәм шуға күрә мэйнфрейм ҡушымталарын яҙыусы стартаптар күп булманы.
Өҫтәл компьютерҙарының барлыҡҡа килеүе бик күп яңы программалар тыуыуына этәргес бирҙе, сөнки улар өсөн ҡушымталар яҙыу яңы тыуған стартаптарға өлгәшерлек маҡсат булып тойолдо. Программа яҙыу арзан ине, ә клиенттар компьютер магазиндары аша йәки хатта почта аша барып етерлек айырым кешеләр буласаҡ ине.
Өҫтәл компьютерҙарын киң ҡулланыуға сығарған ҡушымта VisiCalc — беренсе электрон таблица булды. Ул сарҙаҡта эшләгән ике егет тарафынан яҙылған, әммә бер мэйнфрейм программаһы ла булдыра алмаған нәмәләрҙе башҡарҙы. [11] VisiCalc үҙ заманында шул тиклем алға китеш булды, хатта кешеләр Apple II-не уны эшләтеп ҡарау өсөн генә һатып ала башланы. Һәм был яңы ағымдың башы булды: шәхси өҫтәл компьютерҙары еңде, сөнки уларға стартаптар программа яҙҙы.
Был юлы сервер нигеҙендәге программа тәьминәте яҡшы буласаҡ һымаҡ, сөнки уны стартаптар яҙасаҡ. Компьютерҙар хәҙер шул тиклем арзан, хатта беҙ эшләгән кеүек, өҫтәл компьютерын сервер сифатында ҡулланып та эште башларға була. Ҡыйбат булмаған процессорҙар эш станциялары (workstation) баҙарын баҫып алды (хәҙер был һүҙҙе хатта ишетмәйһегеҙ ҙә) һәм серверҙар баҙарының да күпселек өлөшөн биләп бара; Yahoo серверҙары, Интернеттағы иң ҙур йөкләмәләр менән эшләһә лә, өҫтәл компьютерығыҙҙа булған шул уҡ арзан Intel процессорҙары менән эшләй. Ә программаны яҙып бөткәс, уны һатыу өсөн һеҙгә бер Веб-сайт булыуы ғына етә. Беҙҙең ҡулланыусыларҙың барыһы ла тиерлек сайтҡа ауыҙҙан-ауыҙға күскән хәбәрҙәр һәм матбуғаттағы телгә алыуҙар аша туранан-тура килде. [12]
Viaweb типик башланғыс стартап ине. Беҙ яңы компания асыуҙан ҡурҡа инек, һәм тәүге бер нисә айҙа үҙебеҙҙе теләһә ҡайһы ваҡытта туҡтата аласаҡ эксперимент үткәрәбеҙ тип йуата инек. Бәхеткә күрә, техник ҡыйынлыҡтарҙан башҡа ҡаршылыҡтар аҙ булды. Программа яҙған саҡта беҙҙең веб-сервер программа яҙыу өсөн ҡулланылған өҫтәл компьютеры үҙе булды, ул тышҡы донъяға dial-up линияһы аша тоташтырылған ине. Был этапта беҙҙең берҙән-бер сығымдарыбыҙ — ашау һәм торлаҡ хаҡы ғына булды.
Бөгөн стартаптар өсөн Веб-ҡушымталар яҙыуға сәбәптәр тағы ла күберәк, сөнки десктоп өсөн программалар яҙыу күпкә ҡыҙыҡһыҙыраҡ булып китте. Әгәр һеҙ хәҙер десктоп программа яҙырға теләһәгеҙ, быны Microsoft шарттарында эшләргә, уларҙың API-ларын ҡулланырға һәм уларҙың хаталы операцион системаһының етешһеҙлектәрен урап үтергә мәжбүрһегеҙ. Әгәр бик уңышлы килеп сыҡҡан нәмә эшләй алһағыҙ ҙа, һеҙ бары тик Microsoft өсөн баҙарҙы тикшереүсе генә булып сығыуығыҙ ихтимал.
Әгәр компания стартаптар уның өҫтөндә үҙ проекттарын төҙөрлөк платформа яһарға теләһә, ул уны хакерҙарҙың үҙҙәре ҡулланырға теләгән нәмәгә әйләндерергә тейеш. Тимәк, ул ҡыйбат булмаҫҡа һәм яҡшы проектланған булырға тейеш. Mac тәү башлап сыҡҡанда хакерҙар араһында популяр ине, һәм уларҙың күбеһе уның өсөн программалар яҙҙы. [13] Windows осрағында быны һирәгерәк күрәһегеҙ, сөнки хакерҙар уны ҡулланмай. Программа яҙыуға оҫта кешеләр хәҙер, ғәҙәттә, Linux йәки FreeBSD ҡуллана.
Беҙ десктоп программалары яҙыу өсөн стартап асмаҫ инек тип уйлайым, сөнки десктоп программалары Windows-та эшләргә тейеш, ә Windows өсөн программа яҙыр алдынан уны үҙебеҙгә ҡулланырға тура килер ине. Веб иһә беҙгә Windows-ты ситләтеп үтергә һәм Unix-та эшләгән программаларҙы браузер аша туранан-тура ҡулланыусыларға еткерергә мөмкинлек бирҙе. Был — егерме биш йыл элек персональ компьютерҙар барлыҡҡа килгән ваҡыттағы кеүек, иреккә сығарыусы яңы өмөт.
Microsoft
Элек персональ компьютерҙар яңы барлыҡҡа килгәндә, һәр кем ҡурҡҡан гигант IBM ине. Хәҙер быны күҙ алдына килтереүе ҡыйын, әммә мин был хисте бик яҡшы хәтерләйем. Хәҙер иһә ҡурҡыныс гигант — Microsoft, һәм улар үҙҙәренә янаған хәүефкә IBM кеүек үк һуҡыр түгелдер тип уйлайым. Ни тиһәң дә, Microsoft үҙ бизнесын тап IBM-дың «һуҡыр зонаһында» төҙөнө.
Мин алда әсәйемә өҫтәл компьютерының ысынында кәрәк булмауы тураһында әйткәйнем. Ҡулланыусыларҙың күбеһенә лә ул кәрәкмәйҙер. Был — Microsoft өсөн проблема, һәм улар быны белә. Әгәр ҡушымталар алыҫтағы серверҙарҙа эшләһә, Windows бер кемгә лә кәрәкмәйәсәк. Microsoft ни эшләр? Улар десктопты контролдә тотоуҙарын был яңы быуын программаларын булдырмау йәки сикләү өсөн ҡуллана алырмы?
Минең уйымса, Microsoft сервер менән өҫтәл компьютерының ниндәйҙер гибридын уйлап табасаҡ, унда операцион система үҙҙәре контролдә тотҡан серверҙар менән бергә эшләйәсәк. Иң кәмендә, теләгән ҡулланыусылар өсөн файлдар үҙәктә тороп ҡулланырлыҡ буласаҡ. Microsoft, әгәр мөмкинлеге булһа, клиент сифатында бары тик браузер ғына ҡалдырып, барлыҡ хисаплауҙарҙы тотошлай серверға күсереү кеүек сикке аҙымға барыр тип көтмәйем. Сөнки клиент өсөн һеҙгә браузер ғына кәрәк икән, клиент яғында һеҙгә Microsoft кәрәкмәй, әгәр Microsoft клиентты контролдә тотмаһа, улар ҡулланыусыларҙы үҙҙәренең сервер ҡушымталарына өндәй алмай.
Минеңсә, Microsoft-ҡа йенде шешәлә тотоп ҡалыу бик ҡыйын буласаҡ. Клиенттарҙың төрҙәре шул тиклем күп буласаҡ, хатта уларҙың барыһын да контроль аҫтында тотоу мөмкин булмаясаҡ. Ә әгәр Microsoft-тың ҡушымталары бары тик ҡайһы бер клиенттарҙа ғына эшләһә, конкуренттар теләһә ниндәй клиентта эшләгән ҡушымталар тәҡдим итеп, уларҙы еңә аласаҡ. [14]
Веб-ҡушымталар донъяһында Microsoft өсөн үҙенән-үҙе билдәләнгән урын юҡ. Бәлки, улар үҙҙәренә урын таба алыр, әммә десктоп ҡушымталары донъяһында хакимлыҡ иткән кеүек был яңы донъяла хакимлыҡ итерҙәр тип уйламайым.
Уларға конкурент аяҡ салыуҙан бигерәк, үҙҙәре үҙ аяҡтарына абынасаҡ. Веб-программаларҙың үҫеше менән улар техник проблемалар менән генә түгел, үҙҙәренең алданыуҙары менән дә осрашасаҡ. Уларға үҙҙәренең булған бизнесын ҡорбан итергә («каннибаллаштырырға») кәрәк, әммә уларҙың быға барыуына ышанмайым. Уларҙы ошо дәрәжәгә еткергән шул уҡ бер яҡлы ныҡышмалыҡ хәҙер уларға ҡаршы эшләйәсәк. IBM тап ошондай уҡ хәлдә ине, һәм улар уны еңә алманы. IBM микрокомпьютерҙар бизнесына һуңлап һәм теләр-мәсбүр инде, сөнки үҙҙәренең төп килем сығанағына («һауын һыйырына») — мейнфреймдарға хәүеф янауын теләмәне. Microsoft та шулай уҡ десктопты ҡотҡарырға теләүҙән тотҡарланасаҡ. Һауын һыйыры арҡағыҙҙағы ҡәһәр һуҡҡан ауыр йөккә әйләнеүе бар.
Сервер ҡушымталарында бер кем дә өҫтөнлөк итмәйәсәк тип әйтмәйем. Ваҡыт үтеү менән кемдер өҫтөнлөк алыр, моғайын. Әммә минеңсә, микрокомпьютерҙарҙың тәүге көндәрендәге кеүек, шатлыҡлы хаостың яҡшы ғына оҙон осоро буласаҡ. Был стартаптар өсөн шәп ваҡыт ине. Бик күп бәләкәй компаниялар сәскә атты, һәм быны улар шәп нәмәләр яһап башҡарҙы.
Стартаптар, әммә тағы ла көслөрәк
Классик стартап — тиҙ һәм рәсми булмаған, әҙ кеше һәм аҙ аҡса менән эш итә. Был аҙ һанлы кешеләр бик ныҡ эшләй, һәм технология улар ҡабул иткән ҡарарҙарҙың тәьҫирен арттыра. Әгәр улар еңһә, ҙур еңеү яулай.
Веб-ҡушымталар яҙыусы стартапта стартаптарға хас барлыҡ нәмә иң юғары нөктәһенә еткерелә. Һеҙ продуктты тағы ла әҙерәк кеше һәм тағы ла аҙыраҡ аҡса менән яҙа һәм сығара алаһығыҙ. Һеҙ тағы ла шәберәк булырға тейешһегеҙ һәм тағы ла иркенерәк, рәсмиһеҙерәк эш итә алаһығыҙ. Һеҙ үҙ продуктығыҙҙы, тура мәғәнәһендә, фатирҙың залында ултырған өс егет һәм провайдерҙа урынлашҡан сервер менән башлай алаһығыҙ. Беҙ тап шулай эшләнек тә.
Ваҡыт үтеү менән командалар бәләкәйерәк, шәберәк һәм иркенерәк була барҙы. 1960 йылда программа эшләү мөгөҙ күҙлекле, тар ҡара галстуклы ир-аттар тулған бүлмәне аңлата ине, улар көнөнә ун юл кодты тырышып IBM бланктарына яҙа ине. 1980 йылда был офиста джинсы кейеп, vt100 терминалдарында баҫып ултырған һигеҙ-ун кешенән торған команда ине. Хәҙер был зал бүлмәһендә ноутбуктар менән ултырған бер-ике егет. (Һәм джинсы кейеү иркенлектең сиге түгел икәнлеге асыҡланды.)
Стартаптар стресс менән бәйле, һәм был, ҡыҙғанысҡа ҡаршы, Веб-ҡушымталарҙа ла иң юғары нөктәгә етә. Күп кенә программа компанияларында, бигерәк тә башында, эшләүселәр үҙ өҫтәлдәре аҫтында йоҡлаған осорҙар була. Веб-программаларҙың ҡурҡыныс яғы шунда: бының ғәҙәти хәлгә әйләнеүенә бер нәмә лә ҡамасауламай. Өҫтәл аҫтында йоҡлау тураһындағы тарихтар ғәҙәттә былай тамамлана: «ниһайәт, беҙ уны баҙарға сығарҙыҡ та барыбыҙ ҙа өйгә ҡайтып бер аҙна йоҡланыҡ». Веб-программалар иһә бер ҡасан да «сығарылып бөтмәй». Һеҙ нисә ваҡыт теләйһегеҙ, шул тиклем тәүлегенә 16 сәғәт эшләй алаһығыҙ. Ә булдыра алғас, һәм көнсөлдәрегеҙ ҙә булдыра алғас, һеҙ шулай эшләргә мәжбүр булаһығыҙ. Булдыра алаһың икән — эшләргә тейешһең. Был кире яҡҡа эшләгән Паркинсон ҡануны кеүек.
Иң яманы — сәғәттәр түгел, ә яуаплылыҡ. Программистар менән система администраторҙарының йола буйынса һәр береһенең үҙ хәстәрлеге бар. Программистар хаталар (багтар) тураһында борсолорға тейеш, ә система администраторҙары — инфраструктура хаҡында. Программистар көнө буйы башкөллө башланғыс кодта ултырырға мөмкин, әммә билдәле бер мәлдә улар өйгә ҡайтып, барыһын да онота ала. Система администраторҙары эште бер ҡасан да тулыһынса ташлап китә алмай, әммә төнгө сәғәт 4-тә саҡыртып алғанда ла, ғәҙәттә уларға артыҡ ҡатмарлы нәмә эшләргә тура килмәй. Веб-ҡушымталарҙа иһә стресстың ошо ике төрө берләшә. Программистар система администраторына әйләнә, әммә эште түҙерлек иткән аныҡ билдәләнгән сиктәрһеҙ.
Viaweb-та беҙ тәүге алты айҙы бары тик программа яҙыу менән үткәрҙек. Беҙ иртә стартаптарға хас оҙон сәғәттәр буйы эшләнек. Десктоп программалары компанияһында был беҙ иң ауыр эшләгән осор булыр ине, әммә ҡулланыусыларҙы серверыбыҙға ҡабул итә башлаған киләһе этап менән сағыштырғанда, ул ял кеүек тойолдо. Viaweb-ты Yahoo-ға һатыуҙың (аҡсанан ҡала) икенсе иң ҙур файҙаһы — бөтә нәмә өсөн төп яуаплылыҡты ҙур компанияның иңдәренә ауҙара алыу ине.
Десктоп программалары ҡулланыусыларҙы система администраторы булырға мәжбүр итә. Веб-программалар иһә быға программистарҙы мәжбүр итә. Дөйөм алғанда стресс аҙыраҡ, әммә программистар өсөн күберәк. Был мотлаҡ насар яңылыҡ түгел. Әгәр һеҙ ҙур компания менән ярышҡан стартап булһағыҙ, был — яҡшы яңылыҡ. [15] Веб-ҡушымталар ярышташтарығыҙҙы эш менән баҫып уҙыуҙың ябай юлын тәҡдим итә. Бер стартап та бынан артығын һорамай.
Етәрлек кимәлдә яҡшы
Һеҙҙе Веб-ҡушымталар яҙыуҙан кире этәрә алған бер нәмә — Веб-биттәрҙең ҡулланыусы интерфейсы (UI) булараҡ бик самалы булыуы. Был — проблема, быны таныйым. HTML һәм HTTP-ға беҙҙең ысынында өҫтәгебеҙ килгән бер нисә нәмә бар ине. Әммә төп мәғәнә шунда: Веб-биттәр етәрлек кимәлдә генә яҡшы.
Бында тәүге микрокомпьютерҙар менән оҡшашлыҡ бар. Ул машиналарҙағы процессорҙар ысынында компьютерҙарҙың үҙәк эшкәрткестәре (CPU) булыу өсөн тәғәйенләнмәгән ине. Улар светофор кеүек нәмәләрҙә ҡулланыу өсөн эшләнгән булған. Әммә Altair-ҙы проектлаған Эд Робертс кеүек егеттәр уларҙың тап етәрлек кимәлдә яҡшы икәнен аңланы. Һеҙ ошондай чиптарҙың береһен бер аҙ хәтер (тәүге Altair-ҙа 256 байт) һәм алғы панелдәге күсергестәр менән берләштерә ала инегеҙ, һәм һеҙҙә эшләп торған компьютер барлыҡҡа килә. Үҙ компьютерыңа эйә булыу мөмкинлеге шул тиклем ҡыҙыҡлы ине, хатта улар ни тиклем сикләнгән булһа ла, уларҙы һатып алырға теләүселәр күпләп табылды.
Веб-биттәр ҡушымталар өсөн интерфейс булыу маҡсатында яһалмаған, әммә улар тап етәрлек кимәлдә яҡшы. Һәм бик күп ҡулланыусылар өсөн теләһә ниндәй браузерҙан ҡулланып булған программа — интерфейстың ниндәй ҙә булһа уңайһыҙлығын ҡаплай алырлыҡ үҙе ҙур өҫтөнлөк буласаҡ. Бәлки, һеҙ HTML ярҙамында иң матур электрон таблицаны яҙа алмаҫһығыҙ, әммә бер нисә кеше бер юлы төрлө урындарҙан махсус клиент программаһынан башҡа ҡуллана алырлыҡ, йәки тере мәғлүмәттәр ағымын индерә алырлыҡ, йәки билдәле бер шарттар булғанда һеҙгә хәбәр ебәрә алырлыҡ таблица яҙа алаһығыҙ. Иң мөһиме, һеҙ хатта әле исеме лә булмаған яңы төр ҡушымталар яҙа алаһығыҙ. VisiCalc та бит бары тик мейнфрейм ҡушымтаһының микрокомпьютер өсөн версияһы ғына түгел ине — ул яңы төр ҡушымта ине.
Әлбиттә, сервер ҡушымталары мотлаҡ Веб-нигеҙле булырға тейеш түгел. Һеҙҙең башҡа төрлө клиентығыҙ булыуы мөмкин. Әммә бының насар идея булыуына мин ныҡ ышанам. Әгәр һәр кем һеҙҙең клиентты ҡуйыр тип уйлай алһағыҙ, бик уңайлы булыр ине — шул тиклем уңайлы, хатта барыһы ла уны ҡуйыр тип үҙ-үҙегеҙҙе еңел генә ышандыра алаһығыҙ — әммә улар ҡуймаһа, һеҙ бөттөгөҙ. Веб-программа клиент тураһында бер ни белмәй тип ҡабул иткәнгә күрә, ул Веб эшләгән теләһә ҡайһы урында эшләйәсәк. Был хәҙерҙең үҙендә ҙур өҫтөнлөк, һәм яңы Веб-ҡоролмалар күбәйгән һайын был өҫтөнлөк үҫәсәк. Ҡулланыусылар һеҙҙе яратасаҡ, сөнки программағыҙ ябай ғына эшләп тора, ә тормошоғоҙ еңелерәк буласаҡ, сөнки һәр яңы клиент өсөн уны яраҡлаштырып ултырырға кәрәкмәйәсәк. [16]
Мин Вебтың эволюцияһын башҡалар кеүек үк яҡындан күҙәттем тип уйлайым, һәм клиенттар менән артабан ни булырын алдан әйтә алмайым. Берләшеү (конвергенция), моғайын, килер, әммә ҡайҙа? Еңеүсене атай алмайым. Бер фаразлай алған нәмәм — AOL менән Microsoft араһындағы ҡапма-ҡаршылыҡ. Microsoft-тың .NET проекты нимә генә булып сыҡһа ла, ул, моғайын, десктопты серверҙар менән тоташтырыуҙы үҙ эсенә аласаҡ. Әгәр AOL ҡаршылашмаһа, улар йә ситкә ҡыҫырыҡлап сығарыласаҡ, йә Microsoft клиент һәм сервер программалары араһындағы ябай торбаға әйләнәсәк. Әгәр Microsoft менән AOL клиенттар һуғышына инһә, икеһендә лә эшләйәсәк берҙән-бер нәмә — Вебты ҡарау (браузинг) буласаҡ, был иһә бөтә ерҙә эшләгән берҙән-бер ҡушымта төрө булып Веб-ҡушымталар ҡаласаҡ тигәнде аңлата.
Былар барыһы нисек тамамланыр? Белмәйем. Әгәр Веб-ҡушымталарға өмөт бағлаһағыҙ, быны белергә лә кәрәкмәй. Браузингты боҙмайынса тороп, уны бер кем дә вата алмай. Веб программаларҙы еткереүҙең берҙән-бер юлы булмаҫҡа ла мөмкин, әммә ул хәҙер эшләй һәм оҙаҡ ваҡыт эшләйәсәк. Веб-ҡушымталарҙы эшләү арзан, һәм уларҙы хатта иң бәләкәй стартап та ҡулланыусыға еңел еткерә ала. Улар бик күп көс талап итә, һәм айырыуса стресслы төргә инә, әммә был стартаптарҙың еңеү мөмкинлеген арттыра ғына.
Ниңә булмаҫҡа?
Э. Б. Уайт үҙенең фермер дуҫынан күп кенә электр ҡоймалары аша бер ниндәй ҙә ток үтмәүен белгәс хайран ҡалған. Һыйырҙар, күрәһең, уларҙан алыҫ торорға өйрәнә, һәм шунан һуң ток кәрәк тә булмай. «Уянығыҙ, һыйырҙар!» тип яҙған ул, «Деспоттар йоҡлаған арала иркегеҙҙе алығыҙ!»
Әгәр һеҙ ҡасандыр стартап асырға уйлаған хакер булһағыҙ, моғайын, һеҙҙе бынан ике нәмә тотҡарлайҙыр. Береһе — бизнес тураһында бер ни ҙә белмәүегеҙ. Икенсеһе — көнсөллөктән (конкуренциянан) ҡурҡыуығыҙ. Был ике ҡойманың береһендә лә ток юҡ.
Бизнес тураһында һеҙгә бары ике генә нәмәне белергә кәрәк: ҡулланыусылар яратҡан нәмә эшләргә һәм сарыф иткәнгә ҡарағанда күберәк аҡса эшләргә. Әгәр ошо икеһен дөрөҫ башҡарһағыҙ, күпселек стартаптарҙан алда булырһығыҙ. Ҡалғанын юл ыңғайы төшөнөп барырға була.
Тәүҙә һеҙ сарыф иткәнгә ҡарағанда күберәк эшләмәҫһегеҙ ҙә, бәлки, әммә был ара етерлек тиҙ кәмей икән, барыһы ла яҡшы буласаҡ. Әгәр етерлек аҡса булмай башлаһағыҙ, был кәм тигәндә һаҡсыллыҡ ғәҙәтен үҫтерергә ярҙам итәсәк. Аҙыраҡ сарыф иткән һайын, сығымдарҙан күберәк аҡса эшләүе еңелерәк була. Бәхеткә күрә, Веб-ҡушымтаны сығарыу бик арзан булырға мөмкин. Беҙ 10 000 долларҙан кәмерәк аҡса менән башланыҡ, ә бөгөн ул тағы ла арзаныраҡ булыр ине. Беҙгә серверға меңәрләгән доллар, һәм SSL алыу өсөн тағы ла меңәрләгән доллар сарыф итергә тура килде. (Ул ваҡытта SSL программаларын һатҡан берҙән-бер компания Netscape ине.) Хәҙер һеҙ күпкә ҡеүәтлерәк серверҙы, эсенә SSL-ы ла инеп, беҙ бары тик интернет үткәреү һәләтенә түләгән хаҡтан да арзаныраҡ хаҡҡа ҡуртымға ала алаһығыҙ. Хәҙер һеҙ Веб-ҡушымтаны заманса матур офис ултырғысының хаҡынан да арзаныраҡҡа сығара алаһығыҙ.
Ҡулланыусылар яратҡан нәмә яһауға килгәндә, бына бер нисә дөйөм кәңәш. Үҙегеҙ ҡулланырға теләгән таҙа һәм ябай нәмәнән башлағыҙ. 1.0 версияһын тиҙ арала сығарығыҙ, шунан һуң ҡулланыусыларҙы иғтибар менән тыңлап, программаны яҡшыртыуҙы дауам итегеҙ. Клиент һәр ваҡыт хаҡлы, әммә төрлө клиенттар төрлө нәмәлә хаҡлы; иң ябай ҡулланыусылар һеҙгә нәҡ нимәне ябайлаштырырға һәм аңлайышлыраҡ итергә кәрәклеген күрһәтә, ә иң белемлеләре ниндәй яңы мөмкинлектәр өҫтәргә кәрәклеген әйтә. Программа була алған иң яҡшы сифат — ябайлыҡ, әммә быға ирешеү юлы — ҡулланыусыларҙың һайлауын сикләү түгел, ә баштағы көйләүҙәрҙе дөрөҫ ҡуйыу. Әгәр көнсөлдәрегеҙҙең программаһы насар булһа, тынысланып ҡалмағыҙ; үҙ программағыҙҙы сағыштырыу өсөн кимәл — ул хәҙерге конкуренттарҙа булған нәмә түгел, ә ул ниндәй була алыр ине тигән үлсәм. Үҙ программағыҙҙы үҙегеҙ өҙлөкһөҙ ҡулланығыҙ. Viaweb онлайн-кибеттәр эшләү ҡоралы булырға тейеш ине, әммә беҙ уны үҙ сайтыбыҙҙы төҙөү өсөн дә ҡулландыҡ. Маркетологтарҙы, дизайнерҙарҙы йәки продукт менеджерҙарын уларҙың вазифаһы өсөн генә тыңламағыҙ. Әгәр уларҙың яҡшы идеялары булһа, уларҙы ҡулланығыҙ, әммә ҡарар ҡабул итеү — үҙегеҙҙең ҡулда; программаларҙы дизайнды аңлаған хакерҙар проектларға тейеш, ә программа тураһында бер аҙ ғына белгән дизайнерҙар түгел. Әгәр программаны яҙыу менән бер рәттән уны проектлай ҙа белмәһәгеҙ, стартап башламағыҙ.
Хәҙер көнсөллөк тураһында һөйләшәйек. Һеҙ ҡурҡҡан нәмә, моғайын, үҙегеҙ кеүек хакер төркөмдәре түгел, ә офистары, бизнес-пландары, һатыусылары һәм башҡа нәмәләре булған ысын компанияларҙыр, шулаймы? Бына нимә: улар һеҙҙән, һеҙ уларҙан ҡурҡҡанға ҡарағанда күберәк ҡурҡа, һәм улар хаҡлы. Бер-ике хакерға офис ҡуртымға алыу йәки һатыу белгестәрен яллау юлын табыу, теләһә ниндәй дәүмәлдәге компанияға программа яҙҙырыуға ҡарағанда күпкә еңелерәк. Мин ике яҡта ла булдым, һәм беләм. Viaweb-ты Yahoo һатып алғас, мин ҡапыл үҙемде ҙур компанияла эшләп йөрөгәнде күрҙем, һәм был билгә тиклем һыуҙа йүгерергә маташыу кеүек ине.
Мин Yahoo-ны кәмһетергә теләмәйем. Уларҙа яҡшы хакерҙар бар ине, ә юғары етәкселек ысын тырыш, эшлекле кешеләр ине. Эре компания өсөн улар бик һәйбәт ине. Шулай ҙа улар бәләкәй стартаптың ундан бер өлөшө самаһы ғына етештереүсәнлеккә эйә ине. Бер ҙур компания ла бынан күпкә яҡшыраҡ эшләй алмай. Microsoft-тың ҡурҡыныс яғы шунда: шундай ҙур компания бөтөнләй программа яҙа ала. Улар йөрөй торған тау кеүек.
Ҡурҡмағыҙ. Улар һеҙ булдыра алмаған нәмәне эшләй алған кеүек, һеҙ ҙә Microsoft булдыра алмаған бик күп нәмәне эшләй алаһығыҙ. Һәм һеҙҙе бер кем дә туҡтата алмай. Веб-ҡушымталар эшләү өсөн кемдәндер рөхсәт һорарға кәрәкмәй. Һеҙгә лицензия килешеүҙәре төҙөргә, ваҡлап һатыу магазиндарында кәштәлә урын алырға йәки ҡушымтағыҙҙы операцион система менән бергә ҡушһындар өсөн ярамһаҡланырға кәрәкмәй. Һеҙ программаны туранан-тура браузерға еткерә алаһығыҙ, һәм уларға Веб буйлап йөрөүҙе тыймайынса, һеҙҙең менән потенциаль ҡулланыусылар араһына бер кем дә инә алмай.
Бәлки, ышанмаҫһығыҙ, әммә һүҙ бирәм: Microsoft һеҙҙән ҡурҡа. Үҙҙәренән ҡәнәғәт урта быуын менеджерҙары ҡурҡмаҫҡа ла мөмкин, әммә Билл ҡурҡа, сөнки ул 1975 йылда, программаларҙы еткереүҙең яңы ысулы барлыҡҡа килгән һуңғы осорҙа, үҙе лә тап һеҙҙең кеүек ине.
Иҫкәрмәләр
[1] Аҡсаның ҙур өлөшө хеҙмәттәрҙә булыуын аңлап, еңел клиенттар яһаусы компаниялар ғәҙәттә аппарат тәьминәтен онлайн-хеҙмәт менән берләштерергә тырышты. Был алым уңышлы булманы, бер яҡтан, ҡулланыусылар электроникаһын яһау һәм онлайн-хеҙмәт күрһәтеү өсөн ике төрлө компания кәрәк булғанға, икенсе яҡтан, ҡулланыусыларға был идея оҡшамағанға күрә. Бритваны бушҡа биреп, лезвиеларҙан аҡса эшләү Gillette өсөн яраҡлылыр, әммә бритва Веб-терминалға ҡарағанда күпкә ябайыраҡ йөкләмә. Кәрәҙле телефон етештереүселәр иһә хеҙмәт күрһәтеүҙән килем алырға тырышмайынса, бары тик ҡорамалды һатыу менән ҡәнәғәтләнә. Интернет-клиенттар өсөн дә өлгө, моғайын, ошондай булырға тейеш. Әгәр кемдер теләһә ниндәй провайдер аша тоташып була торған Веб-браузерлы матур ғына бәләкәй ҡутырса һатһа, илдәге һәр технофоб уны һатып алыр ине.
[2] Хәүефһеҙлек һәр ваҡыт проектлау ҡарарына ҡарағанда яңылышлыҡ ебәрмәүгә нығыраҡ бәйле, әммә сервер программаларының асылы эшләүселәрҙе хаталанмауға күберәк иғтибар бүлергә мәжбүр итәсәк. Серверҙың ватылыуы шул тиклем ҙур зыян килтерергә мөмкин, шуға күрә ASP-тар (бизнеста ҡалырға теләгәндәре) хәүефһеҙлеккә бик һаҡ ҡараясаҡ.
[3] 1995 йылда, беҙ Viaweb-ты башлағанда, Java апплеттары сервер ҡушымталарын эшләү өсөн һәр кем ҡулланырға тейешле технология тип иҫәпләнә ине. Апплеттар беҙгә иҫкергән идея кеүек күренде. Клиентта эшләтеү өсөн программаларҙы күсереп алырғамы? Программаларҙы тулыһынса серверҙа эшләтеү ябайыраҡ түгелме? Беҙ апплеттарға бик аҙ ваҡыт сарыф иттек, әммә һанһыҙ башҡа стартаптар был һаҙлыҡҡа батҡан булырға тейеш. Explorer-ҙың иң һуңғы версияһында Java-ны алып ташлағас та Microsoft яуапһыҙ ҡалғас, унан иҫән сығыусылар аҙ булғандыр.
[4] Был фекер өсөн рәхмәт Тревор Блэквеллға, ул өҫтәй: «программа яҙыу хаҡы уның күләменә ҡарап һыҙыҡлы ғына түгел, ә күпкә шәберәк арта. Моғайын, был башлыса элекке хаталарҙы төҙәтеүгә бәйлелер, һәм әгәр бөтә хаталар тиҙ табылһа, сығымдар үҫеше һыҙыҡлыраҡ булыр ине».
[5] Иң табыуы ауыр булған хата — бер хата икенсеһен ҡаплап, компенсациялап торған ҡатмарлы хата төрө булырға мөмкин. Бер хатаны төҙәткәс, икенсеһе асыҡлана. Әммә төҙәтеү үҙе хата кеүек күренәсәк, сөнки ул һеҙ иң һуңғы үҙгәрткән нәмә ине.
[6] Viaweb эсендә беҙ бер тапҡыр программабыҙҙың иң насар яғын һүрәтләү буйынса конкурс уҙғарҙыҡ. Техник ярҙам бүлегенең ике хеҙмәткәре әле лә хәтерләгәндә ҡалтыратып ебәрә торған яуаптары менән беренсе урынды бүлеште. Беҙ ике проблеманы ла кисекмәҫтән төҙәттек.
[7] Роберт Моррис заказ биреү системаһын яҙҙы, уны һатып алыусылар заказ биреү өсөн ҡулланды. Тревор Блэквелл һүрәт генераторын һәм идара итеү системаһын яҙҙы, уны һатыусылар заказдарҙы алыу, статистиканы ҡарау һәм домен исемдәрен көйләү өсөн ҡулланды. Мин редакторҙы яҙҙым, уны һатыусылар үҙ сайттарын төҙөү өсөн ҡулланды. Заказ системаһы һәм һүрәт генераторы C һәм C++ телдәрендә, идара итеү системаһы башлыса Perl телендә, ә редактор Lisp телендә яҙылды.
[8] Хаҡ дискриминацияһы шул тиклем таралған (һатыусының «беҙ күпләп алғанға күрә хаҡтарыбыҙ һеҙҙең өсөн арзаныраҡ» тигәнен нисә тапҡыр ишеткәнегеҙ бар?), хатта уның АҠШ-та 1936 йылғы Робинсон-Патман законы менән тыйылғанын белгәс ғәжәпләндем. Был закон ҡаты үтәлмәй кеүек.
[9] No Logo китабында Наоми Кляйн әйтеүенсә, «ҡала йәштәре» яратҡан кейем брендтары кибеттән урлауҙы булдырмау өсөн артыҡ тырышмай, сөнки уларҙың маҡсатлы баҙарында магазиндан урлаусылар бер үк ваҡытта мода лидерҙары ла булып тора.
[10] Компаниялар йыш ҡына нәҡ нимәне аутсорсингка бирергә, ә нимәне бирмәҫкә тигән һорау өҫтөндә баш вата. Ихтимал булған бер яуап: көнсөллөк баҫымына туранан-тура дусар булмаған теләһә ниндәй эште аутсорсингка бирегеҙ, сөнки уны ситкә биреү үҙе уны көнсөллөк баҫымы аҫтына ҡуясаҡ.
[11] Был ике егет Дэн Бриклин һәм Боб Франкстон ине. Дэн бер нисә көн эсендә Basic-та прототип яҙҙы, артабанғы йыл дауамында улар бергәләп (күбеһенсә төндәрен) 6502 машина телендә яҙылған ҡеүәтлерәк версияны булдырыу өҫтөндә эшләне. Дэн ул ваҡытта Гарвард бизнес мәктәбендә уҡый ине, ә Бобтың программа яҙыу буйынса көндөҙгө даими эше бар ине. «Бизнес менән шөғөлләнеүҙә ҙур хәүеф юҡ ине», тип яҙҙы Боб, «Уңышһыҙ булһа, уңышһыҙ инде. Бер ниндәй ҙә фажиғә юҡ».
[12] Был мин һөйләгән кеүек үк еңел түгел. Кешеләрҙең ауыҙҙан-ауыҙға һөйләүе тарала башлаһын өсөн ғазапты оҙаҡ ваҡыт кәрәк булды, һәм беҙ айына 16 000 доллар түләп PR-фирма (ысынында был өлкәләге иң яҡшыһы) яллағанға тиклем матбуғатта киң яҡтыртыу ала алманыҡ. Шулай ҙа, берҙән-бер мөһим канал үҙебеҙҙең Веб-сайт булғаны дөрөҫ.
[13] Әгәр Mac шул тиклем шәп булһа, ни өсөн еңелде? Тағы ла сығымдар арҡаһында. Microsoft программа менән тәьмин итеү бизнесына иғтибар бүлде һәм Apple ҡорамалдарына ҡаршы осһоҙ компоненттар менән тәьмин итеүселәр өйөрөн баҫтырҙы. Шулай уҡ көрсөклө мәлдә етәкселектең «костюм кейгән түрәләр» ҡулына күсеүе лә ярҙам итмәне.
[14] Веб-ҡушымталарға ярҙам итәсәк һәм киләһе быуын программаларының Microsoft күләгәһендә ҡалыуына юл ҡуймаясаҡ бер нәмә — асыҡ кодлы яҡшы браузер булыр ине. Mozilla асыҡ кодлы, әммә оҙаҡ ваҡыт корпоратив программа булып торғандан зыян күргән кеүек. Әүҙем яңыртылып торған бәләкәй, шәп браузер үҙе ҙур ҡаҙаныш булыр ине һәм, моғайын, компанияларҙы бәләкәй Веб-ҡулайламалар яһарға дәртләндерер ине.
Башҡа нәмәләр араһында, тейешле кимәлдәге асыҡ кодлы браузер HTTP һәм HTML үҫешен артабан да дауам иттерер ине (мәҫәлән, Perl кеүек). Һылтанманы һайлау менән уның буйынса үтеүҙе айыра алыу мөмкинлеге Веб-ҡушымталарға ҙур ярҙам булыр ине; бының өсөн бары тик бер һорауҙа бер нисә url-ды рөхсәт иткән ябай ғына HTTP камиллаштырыуы кәрәк булыр ине. Ҡатлы-ҡатлы (каскадлы) менюлар ҙа яҡшы булыр ине.
Әгәр донъяны үҙгәртергә теләһәгеҙ, яңы Mosaic яҙығыҙ. Бик һуң тип уйлайһығыҙмы? 1998 йылда бик күптәр яңы эҙләү системаһын сығарыу өсөн бик һуң тип уйланы, әммә Google уларҙың хаталаныуын иҫбатланы. Әгәр булған варианттар етерлек кимәлдә насар икән, яңы нәмәгә һәр ваҡыт урын бар. Башта уның барлыҡ бушлай операцион системаларҙа эшләүенә инанығыҙ — яңы нәмәләр уларҙың ҡулланыусыларынан башлана.
[15] Үҙ тәжрибәһенән сығып был хаҡта барыһынан да яҡшыраҡ белгән Тревор Блэквелл былай тип яҙа:
«Мин хатта алғараҡ китеп, сервер программалары программистарға шул тиклем ауыр булғанға күрә, ул эре компанияларҙан ситкә төп иҡтисади тайпылыш тыуҙыра тип әйтер инем. Ул программистарҙан бары үҙҙәренең компанияһы булғанда ғына күрһәтергә әҙер булған көсөргәнешлекте һәм фиҙаҡәрлекте талап итә. Программа компаниялары артыҡ талапсан булмаған мөхиттә эшләү өсөн оҫта кешеләрҙе яллай ала, һәм ауырлыҡтарға түҙеү өсөн оҫталығы булмағандарҙы яллай ала, әммә улар һуңғы тамсы ҡанына тиклем эшләргә әҙер булған юғары квалификациялы кешеләрҙе яллай алмай. Капитал башҡаса кәрәк булмағанлыҡтан, эре компанияларҙың тәҡдим итерлек нәмәһе бик аҙ».
[16] Был эссенең төп нөсхәһендә мин Javascript-тан ҡасырға кәңәш иткәйнем. Был 2001 йылда яҡшы план ине, әммә хәҙер Javascript эшләй.
Ошо хеҙмәттең ҡараламаларын уҡып сыҡҡандары өсөн Сара Харлинға, Тревор Блэквеллға, Роберт Моррисҡа, Эрик Реймондҡа, Кен Андерсонға һәм Дэн Гиффинға; VisiCalc тураһында мәғлүмәттәр өсөн Дэн Бриклин һәм Боб Франкстонға; һәм мине BBN-ға сығыш яһарға саҡырғаны өсөн тағы ла Кен Андерсонға рәхмәт белдерәм.