Тази статия е продължение на дълъг коментар, който написах в блога на Майк Хърн.

Статията на Майк Хърн: „Време е да убием мрежата“

Моят отговор: „Web Of Native Apps“

Тази статия няма да има много смисъл без тези предлози.

В това есе писах за моята визия за това, което наричам Web of Native Apps, заместител на World Wide Web, в който традиционните браузъри са заменени от универсално стандартизирана версия на технологията App Container, използвана от изтеглени от магазина приложения на iOS, OSX, Android и Windows Universal, наред с може би други.

В отговор на моето есе един коментатор „спекулира“ дали Google може да създаде такава система.

Вероятно няма да го направят, ето защо.

Тъй като идеята, която имаме тук, е да заменим мрежата, има голям шанс цялото начинание дори да не включва Google, а вместо това може да бъде опит да се убие Google.

Google всъщност е основният бенефициент (и основен пазач) на мрежата. Всички други големи играчи – Amazon, Facebook, Microsoft, Apple – са наистина неутрални по отношение на платформата, когато става дума за мрежата и техните основни бизнеси. Amazon и Facebook са уебсайтове, разбира се, но те работят еднакво добре на мобилни устройства или всяка друга платформа, която идва на мода. Apple е хардуерна компания с незначителна зависимост от мрежата, а Microsoft разполага с корпоративен софтуер заедно с най-разнообразното софтуерно портфолио.

Траекторията на Google е единственият технологичен гигант, толкова обвързан с мрежата. Те създадоха търсене, някои рекламни фирми се разклониха от търсенето и след това продължиха да обогатяват мрежата, като направиха Chrome и уеб версии на всички познати десктоп възможности, от електронна поща през видео до електронни таблици и текстообработващи програми. Като реинвестират печалбите си от търсене и реклама обратно в здравината на мрежата като платформа, Google гарантира (привидно), че никоя друга платформа не може да измести мрежата, като по този начин укрепи техния поток от приходи.

Парадоксът е, че дължим на Google, защото направиха мрежата добра платформа; но без техните усилия вероятно вече щяхме да сме на по-добра платформа досега.

Въпреки това Google е опасно прекалено инвестиран в мрежата. Те се разклониха към Android, но това е с ограничена стойност, тъй като стратегически позиционираха Android, за да увеличат максимално броя на хората в интернет (за да получат техните данни за търсене), вместо да увеличат максимално приходите от продажбата на телефони или приложения след това — моделът на Apple. Google също има някои шансове и краища и лунни снимки като тяхното състезание за самоуправляващата се кола. Приходите им произтичат главно от търсене в мрежата, а търсенето в мрежата се използва често, защото мрежата се използва често. Призракът надвисва над Google — какво ще стане, ако мрежата изчезне? Тогава те ще трябва да се състезават и да се състезават, за да предоставят възможности за търсене и рекламна мрежа на новата платформа. На хипотетична заместваща платформа има голяма вероятност рекламните мрежи, базирани на бисквитки, да не работят или да бъдат драстично променени; това би било животозастрашаващо препятствие за Google. Още по-лошо, има малък, но възможен шанс следващата платформа да е толкова напреднала, че не се нуждае от доставчик на търсене от трета страна, тъй като търсенето може да бъде вградено в основните протоколи. Това би бил краят на Google.

Ако наистина видяхме типовете идеи, които предлагам, мисля, че ще бъдат организирани главно от Facebook, като един от най-големите конкуренти на Google за рекламни и маркетингови данни. Facebook ще привлече помощта на други технологични гиганти и ще трябва не само да позволи, но и да мобилизира и субсидира безплатна, отворена платформа за други създатели на тази платформа, като това, което има мрежата. Те ще се опитат да убият Google. Очаквах, че ролята на Google в тази революция ще бъде като саботьор; те ще станат лошите и ще се опитат да спрат прогреса на всяка конкурентна платформа.

Най-интересното е, че от гледна точка на технологиите Facebook може би вече са видели тази възможност и са се позиционирали като неутрални спрямо платформата. Това е подобно на разполагане на техните войски на границата.

Известната библиотека React на Facebook, днешният любимец на уеб разработката, използва HTML и javascript, но абстрахира начина, по който самият браузър. Моля, прочетете тази отлична статия от Марк Нътър. И моля да ме извините за този дълъг откъс от дългата статия:

Facebook от друга страна е тебешир, пълен с брилянтни, но предимно млади инженери, които се оказват в несигурна позиция. Те не контролират нито основен браузър, нито основна операционна система. Те са изцяло по заповед на онези организации, които го правят, организации, които просто се конкурират за същите рекламни долари, които Facebook желае.

Така че инженерите на Facebook в проява на маниакален гений казаха „по дяволите с W3C и по дяволите най-добрите практики!“ и реши да абстрахира напълно браузъра, […]

Разбира се, те можеха да изпомпват силата на колективната си инженерна мощ, за да подобрят производителността на изобразяване на основните браузъри […], но защо да помагате на Google, като дарявате ценни инженерни часове? За React DOM на браузъра е цел за изобразяване и нищо повече. React с удоволствие изплюва DOM, Canvas графики, родни мобилни изгледи или обикновени стари низове, ако искате да рендирате от сървъра.

Следователно, докато имат Reactjs за браузъра, те също имат React Native за мобилни устройства. Facebook осъзнава, че нямат предимство в мрежата пред която и да е узурпаторска платформа и помагането на мрежата само допълнително закрепва техните конкуренти.

По подобен начин, както React може да абстрахира HTML DOM, Facebook е абстрахирал HTTP от техния стек услуги. Спецификацията GraphQL на Facebook премахва базираните на REST API и замества изцяло нов език за заявки. Реализациите на този език използват една единствена HTTP крайна точка, която лесно може да бъде заменена с TCP крайна точка, изпълняваща какъвто и да е нов стандартен или персонализиран патентован протокол за мрежово приложение, който идва. Facebook все повече не зависи от уеб технологиите.

Обхванах част от същия материал в моята статия за „как GraphQL е добър по подразбиране, защото REST всъщност е ужасен.“

За много хора по света Интернет и Facebook са неразличими. Ако мрежата беше магически изключена за една нощ, бихме очаквали Google да фалира почти толкова бързо, но Facebook може да се разхожда безгрижно.

Ако Facebook вече е осъзнал това, тогава е сигурно, че този план наистина вече е в движение! Но въпреки че вече са постигнали стратегическата позиция, те все още чакат реалната възможност да нанесат удар. Те се нуждаят от следващата платформа. Те се нуждаят от Web of Native Apps.

Но какво всъщност е WONA? Най-очевидната необходима съставка е спецификация (и всички важни реализации) на универсален модел на контейнер за приложения и API. Това би било подобно на създаденото от Microsoft с winRT API, което частично припокрива по-старите им win32 API. Техният winRT API беше API от ниско ниво, който дава възможност на тяхната платформа за универсални приложения (невдъхновяващата природа на която, като продукт, не е петно ​​върху обещанието за следващата убийствена платформа, включваща подобни технологии с по-добра продукт). Така спецификацията на WONA ще дефинира нещо като winRT за всички операционни системи. Той също така напълно ще обхваща нивата на разрешения и привилегии на ОС.

Facebook вероятно ще потърси информация от големите технологични играчи и ще бъде пионер в изобретяването на такъв API. Те ще привличат помощта на големите производители на операционни системи при създаването на внедрявания или подложки от първа страна за спецификацията. По-старите операционни системи може да бъдат пренасочени към стартиране на приложения за платформата вътре в друга програма, използвана като ограничен емулатор за модела WONA API/контейнер.

Google вероятно ще се противопостави на тази спецификация и ще откаже да се съобрази. Техните операционни системи по подобен начин ще трябва да са достатъчни, за да имат второстепенно внедряване, работещо в друго приложение. Първоначално платформата Android ще има само груби приложения за браузър WONA на трети страни, които ще работят зле и ще осигурят саботаж, ценен за позицията на Google.

Въпреки това, ако платформата е в състояние да предостави на потребителите реална стойност чрез определени приложения или превъзходно потребителско изживяване, или ако компаниите намерят някакъв превъзходен начин да използват платформата, за да ги примамят да я популяризират, или ако платформата просто стане вирусна (което Facebook трябва знаете как да постигнете), ще видите някой от производителите на хардуер за Android, като Samsung, да бъде принуден да внедри API изцяло или като съжителстваща подсистема с Android. Ако това се случи, ще знаем, че Google е загубил.

Но писането и дори внедряването на спецификация на WONA не би било достатъчно и без огромно количество поддръжка или убийствено приложение (или просто Apple да забрани браузърите, както забраниха Flash), няма достатъчно импулс, за да направи една платформа успешна.

Тъй като WONA позволява изхвърляне както на браузърите, така и на HTTP, тя дава много възможности за преосмисляне на съществуващите технологии, които се приемат за даденост в съвременната мрежа. Беше трудно да се въвеждат иновации в технологии на ниско ниво в рамките на старите, непроменими ограничения на мрежата, особено тези ограничения, произтичащи от браузърите. Но с браузъра извън картината, всяка функция, предоставена от операционната система, и всяка част от мрежата над нивата на TCP/UDP най-накрая може да бъде наистина обновена. Ще обсъдя накратко няколко от по-интересните възможности тук.

Рекламни мрежи и търсене в WONA

Двете „липсващи връзки“ в тази нова платформа са, според мен, рекламните мрежи и търсенето. Вярвам, че това ще бъдат двете теми, които могат да бъдат достатъчно революционизирани, за да накарат компаниите да поддържат нова платформа. Не предполагам, че такава революция е неизбежна, нито дори това е възможно; и не съм си представял точно каква форма ще приемат иновациите по тези теми, иначе вече щях да съм започнал да ги създавам сам.

Първата тема са рекламите. Рекламните мрежи в мрежата са небрежен вторичен слой, който осигурява желаната функция чрез обратно инженерство на информация, която може/трябва да бъде „вградена“ в интернет. Рекламните мрежи финансират мрежата, но те трябва да работят, като накарат една и съща компания да постави своята бисквитка на много различни уеб страници, за да проследи даден потребител.

Чрез използването на нова, собствена платформа и преосмислени мрежови протоколи, може да е възможно да се преосмисли икономиката на това как работят тези рекламни мрежи. В настоящата мрежа има най-малко пет вида играчи, включени в рекламна мрежа, въпреки че някои от тях са едни и същи: сайтове, които произвеждат данни за проследяване, сайтове, които показват реклами, компании, които купуват рекламно пространство, компании за рекламни мрежи, които действат като посредникът за първите три групи и, разбира се, самите потребители на уебсайта, които произвеждат всички данни и „консумират“ всички реклами.

Вярвам, че една успешна платформа може да постигне по-добра сделка за някои или всички тези играчи. За потребителите рекламата може да бъде по-тясно свързана със системата за привилегии, за да се изяснят компромисите, които потребителят прави. За другите играчи една очевидна възможност е да съберат повече информация, по-точно. Събирането на данни може да бъде обвързано по-тясно със самите мрежови протоколи.

Би било изкушаващо за създателя на платформата да се опита да монополизира правата върху всички данни и да ги отдаде под наем на рекламодатели, но мисля, че подобен монополистичен подход би бил порицан; Мисля, че истинският отговор е някакво споделено хранилище за тези данни и справедливо средство за споделянето им. Тъй като проблемът е икономически по природа, това може да е подходящ проблемен домейн за блокчейн и криптовалута. Нови разширения на концепцията за доказателство за работа бяха демонстрирани от системи като „доказателство за съхранение и доказателство за репликация“ на FileCoin. Въпреки че няма гаранция, че има доказателство за X за всеки произволен X, би било интересно да се види дали един протокол може да позволи на различните играчи да предложат доказателство за своя принос и да бъдат възнаградени по подходящ начин във валута, която от своя страна може да се използва като плащане за услуги в мрежата. Тази възможност е особено узряла, тъй като „доказателствата“ могат да се проточат чак до самите клиентски приложения, които могат да имат криптографска самоличност. Но най-интересното нещо за тази концепция е, че тя дори предоставя средство, чрез което самите потребители, като зрители на реклами и производители на проследяващи данни, могат да бъдат (оскъдно) възнаградени за своя принос към системата. Използвай интернет. Получавайте пари за рекламите, които гледате. Програмата за награди за търсене на Bing показва, че поне някой е виждал стойност в идеята преди.

Ако такава система може да осигури по-добри стимули за някои от играчите в системата, това само по себе си може да бъде достатъчно, за да предизвика революция в платформата.

Другата система, която исках да засегна накратко, е самото търсене. Подобно на рекламните мрежи, уеб търсачките трябва да проектират информацията, от която се нуждаят - данните на всяка страница и структурата на мрежата от хипервръзки, която е открито декларирана от сайтовете. Търсенето индексира съдържанието на всяка страница и след това класира съвпаденията с дадена заявка, като използва стотици тайни трикове, за да заключи колко добре дадена страница съответства на дадена заявка, като например извеждане на популярността на страницата.

Това, което винаги ми се е струвало странно за системата за уеб търсене, е, че тя по същество изпълнява това, което DNS се опитва да направи, а именно да даде на всеки сайт лесно откриваемо мнемонично име. Разликата очевидно е, че DNS е предназначен да бъде едно към едно и търсенето връща много резултати. Освен действителното пълнотекстово търсене на страница, изглежда, че AdWords аспектът на търсенето би бил по-подходящо запазен от самия DNS като начин за финансиране на тази услуга.

За да създаде търсене, Google трябва да проектира много информация, до която други страни може да имат отворен достъп. От една страна - и най-очевидно - уеб сървърите, хостващи сайтовете, вече имат достъп до данните на собствените си страници. От друга страна, имаме данните, които влизат в PageRank. Въпреки че вероятно най-ценните данни в PageRank са обратната връзка от предишни търсения, други данни може да се нуждаят от обратно проектиране по подобен начин като индекса. Някои от най-ценните данни може да са най-лесно достъпни за рутерите и доставчиците на интернет опорни мрежи, които обслужват по-голямата част от интернет трафика. Тези доставчици имат достъп до повече трафик и следователно повече данни, което Google може да се опита да заключи само като изразходва време и енергия за получаване на същата информация по други начини.

Всички теми, които обсъждах тук, изглежда насочват към идеята, че търсенето на нова платформа всъщност може да бъде адресирано на по-ниско ниво на интернет стека. Доставчиците на интернет услуги, които вършат тежката работа да накарат интернет да работи, поеха своите тежести върху фиксираните доходи поради законите за неутралност на мрежата, докато гледаха гиганти като Google да забогатяват, без да обръщат внимание на честотната лента.

Отново имам само бегла представа каква конкретна форма може да приеме това. Просто повдигам малък брой прости въпроси, които нямат прости отговори.

  1. Могат ли публичните сървъри, които хостват приложения или съдържание онлайн, да бъдат част от взаимосвързана мрежа, служеща като индекс за търсене, вместо голямата база данни на Google?
  2. Чрез внимателно проектиране на протоколи за овластяване на възможността за търсене, биха ли могли интернет сайтовете да бъдат класирани по-точно (с по-малко разточителни разходи) от самите интернет доставчици, вместо трета страна да извършва обратно инженерство на данните, от които се нуждаят?

Във всеки случай

Много хора обединяват различните технологични гиганти, сякаш всички управляват един и същи бизнес. Всъщност всички технологични гиганти са доста различни и повечето от тях избягват да се конкурират директно помежду си на повечето основни фронтове. Това, което се надявам да установя в началото на тази статия е, че Google е уеб компанията. Никоя компания не е толкова тясно свързана с уеб платформата, колкото Google, и в сравнение с други компании Google има по-малко връзки с не-уеб технологии, като дори екосистемата на Android е хаотична и трудна за контрол. Попитаха ме дали Google може да помогне да замени мрежата. Във всеки свят, където мрежата беше заменена, Google щеше да претърпи големи загуби.

Независимо колко вероятно или малко вероятно е Мрежата някога да бъде изместена, това, което се надявам да съм направил поне тук, е да накарам читателя да започне да мисли извън кутията. Имаше време, когато самата мрежа беше немислима, докато не беше замислена. Технологиите зад мрежата са дълбоко погрешни. Браузърът и HTTP протоколът са изкривени и манипулирани до неузнаваемост. Екосистемата на javascript и web-dev върви спираловидно към катастрофа. Мрежата е ценна поради способността си за различни платформи, факта, че е безплатна и отворена, и мрежовите ефекти от нейната популярност. Само третата черта е трудна за възпроизвеждане. Мрежата е най-добрата платформа, която имаме, но не я бъркайте с незаменима.