Přeskočit na obsah

Google Antigravity

Z Infopedia

Šablona:Infobox Software

Google Antigravity (často zaměňováno nebo spojováno s projektem Google Gravity) je interaktivní webová aplikace a takzvaný Easter egg, který původně vznikl jako technologické demo pro Google Chrome. Jedná se o modifikaci vizuálního rozhraní vyhledávače Google, která aplikuje zákony klasické mechaniky na jednotlivé prvky stránky (HTML elementy).

Zatímco původní Google Gravity simuluje přítomnost zemské tíže (prvky padají dolů), varianta Google Antigravity (často pod názvem Google Space) simuluje stav beztíže nebo mikrogravitace, kdy se prvky volně vznášejí v prostoru a reagují na nárazy "stěn" prohlížeče.

Tento projekt je jedním z nejslavnějších příkladů Chrome Experiments – iniciativy společnosti Google, která měla za cíl demonstrovat možnosti nově nastupujícího standardu HTML5 a výkon moderních JavaScriptových enginů v době, kdy web začal přecházet z technologie Adobe Flash na otevřené standardy.

⏳ Historie a vznik

Vznik těchto experimentů je úzce spjat s vývojem webových technologií na přelomu první a druhé dekády 21. století.

Kontext doby (2009–2010)

V roce 2009 a 2010 procházel Internet zásadní transformací. Dominantní technologie pro interaktivní grafiku, Adobe Flash, začala být vytlačována novými standardy HTML5 a CSS3. Společnost Google v té době agresivně propagovala svůj prohlížeč Google Chrome (uvedený v roce 2008), který se vyznačoval extrémně rychlým JavaScriptovým enginem V8. Aby Google demonstroval, že moderní web zvládne komplexní úlohy bez nutnosti instalovat pluginy, spustil portál Chrome Experiments.

Tvůrce: Mr. Doob

Autorem projektu je španělský vývojář a digitální umělec Ricardo Cabello, v online komunitě známý pod pseudonymem Mr. Doob. Cabello je ve světě webového vývoje legendou, především díky vytvoření knihovny Three.js, která zpřístupnila 3D grafiku (WebGL) ve webových prohlížečích masám.

  • Google Gravity (2009): První verze, kde prvky padají dolů.
  • Google Space / Antigravity (2011): Následná varianta simulující nulovou gravitaci.

Tyto projekty nebyly oficiálními produkty Google v pravém slova smyslu (nebyly vyvinuty kmenovými inženýry pro vyhledávání), ale vznikly v úzké spolupráci jako umělecká dema a Google je následně adoptoval jako neoficiální "Easter eggs" přístupné přes vyhledávací pole.

⚛ Technické zpracování

To, co uživatel vidí jako zábavnou hříčku, je z hlediska programování sofistikovaná aplikace dynamiky tuhých těles (rigid body dynamics) v prostředí DOM.

Fyzikální engine Box2D

Jádrem Google Antigravity je fyzikální engine Box2D. Jedná se o open-source knihovnu pro simulaci 2D fyziky, kterou původně napsal Erin Catto v jazyce C++ (použita byla například ve hře Angry Birds). Pro potřeby webu byla tato knihovna portována do JavaScriptu (Box2dJS).

Simulace funguje v několika krocích:

  1. Mapování DOM: Skript projde celou webovou stránku a identifikuje jednotlivé vizuální prvky (logo Google, vyhledávací pole, tlačítka, odkazy v patičce).
  2. Vytvoření fyzikálních těl: Pro každý HTML element vytvoří ve virtuálním fyzikálním světě odpovídající obdélník (tzv. "body") se specifickými vlastnostmi:
    • Hmotnost (Mass): Určuje setrvačnost prvku.
    • Tření (Friction): Určuje, jak rychle se prvek zastaví při klouzání po jiném prvku.
    • Odrazivost (Restitution): Určuje, jak moc se prvek "odrazí" při nárazu (pružnost).
  3. Simulační smyčka: Prohlížeč překresluje pozici prvků několikrát za sekundu (obvykle 60 FPS). V každém kroku engine vypočítá nové souřadnice na základě působících sil (gravitace/antigravitace, kolize, myš uživatele).

Interaktivita a myš

Unikátní vlastností Google Antigravity je možnost interakce. Uživatel může "chytit" kterýkoli prvek (např. logo Google) pomocí kurzoru myši a hodit s ním.

  • Constraint (Vazba): Když uživatel klikne, vytvoří se virtuální pružina (mouse joint) mezi kurzorem myši a objektem.
  • Impuls: Pohyb myši uděluje objektu kinetickou energii.
  • Kolize: Objekty se odrážejí nejen od sebe navzájem, ale i od okrajů okna prohlížeče, které fungují jako pevné stěny.

Rozdíl mezi Gravity a Antigravity

Z technického hlediska je jediným rozdílem vektor gravitačního zrychlení ve fyzikálním světě:

  • Google Gravity: Vektor $g = (0, 9.81)$ m/s² (směr dolů).
  • Google Antigravity (Space): Vektor $g = (0, 0)$ m/s² (beztížný stav) nebo záporná hodnota (inverzní gravitace).

🎮 Uživatelská zkušenost a aktivace

Ačkoliv Google v průběhu let měnil své domovské rozhraní, mechanismus přístupu k tomuto Easter eggu se stal součástí internetového folklóru. Tradiční metoda spoléhala na funkci "Zkusím štěstí" (I'm Feeling Lucky).

Klasický postup

  1. Uživatel otevřel domovskou stránku Google.
  2. Do vyhledávacího pole napsal frázi `Google Gravity` nebo `Google Space`.
  3. Místo stisknutí klávesy Enter nebo tlačítka "Hledat Googlem" kliknul na tlačítko "Zkusím štěstí".
  4. Tento krok obešel standardní stránku s výsledky vyhledávání a automaticky přesměroval uživatele na první výsledek – což byla právě stránka projektu na serveru mrdoob.com nebo elgoog.im.

Průběh simulace

V okamžiku načtení stránky vypadá vše normálně. Uživatel vidí standardní logo Google, vyhledávací pole, tlačítka a navigační lištu. Jakmile však pohne myší (nebo v případě verze Gravity uplyne krátký časový interval), iluze statické stránky se zhroutí.

  • Fáze rozpadu: Všechny prvky stránky se "odlepí" od své fixní pozice v CSS layoutu.
  • Fyzikální interakce: V případě Google Gravity padají prvky k dolnímu okraji okna, kde se hromadí jako hromada digitálního smetí. V případě Google Antigravity (Space) se prvky začnou vznášet, rotovat a narážet do sebe jako astronauti na ISS.
  • Ovládání chaosu: Uživatel může chytit logo Google myší a použít ho jako "pálku" k odpalování vyhledávacího pole nebo jiných tlačítek.

Zachování funkčnosti

Fascinujícím aspektem tohoto experimentu je, že navzdory vizuální destrukci zůstává vyhledávač plně funkční.

  • Pokud uživatel najde v hromadě padajících prvků vyhledávací pole a napíše do něj dotaz (např. "kočka") a stiskne Enter, API Googlu skutečně vrátí výsledky.
  • Dynamická fyzika: Nově načtené výsledky vyhledávání (odkazy, obrázky) nejsou zobrazeny jako statický seznam. Místo toho "spadnou" shora do scény jako nové fyzikální objekty a přidají se k existující hromadě. To demonstruje schopnost enginu dynamicky přidávat nové objekty do běžící simulace (DOM injection).

🌌 Rodina experimentů "Google Physics"

Úspěch původního Google Gravity inspiroval vznik celé série podobných modifikací, které si hrají s fyzikálními zákony nebo geometrií prohlížeče. Tyto projekty jsou často archivovány na zrcadlovém webu elgoog.im (Google pozpátku).

Google Space (Anti-Gravity)

Toto je verze, kterou uživatelé nejčastěji hledají pod pojmem "Google Antigravity".

  • Princip: Simulace nulové gravitace ($g = 0$).
  • Chování: Prvky po načtení nepadají dolů, ale zůstávají na místě, dokud do nich nestrčíte myší. Po udělení impulsu se pohybují setrvačností nekonečně dlouho, dokud nenarazí do stěny prohlížeče, od které se odrazí. Simuluje se i mírná rotace při srážkách.

Google Sphere

Experiment zaměřený na 3D prostor, nikoliv na kolizní fyziku.

  • Princip: Prvky stránky (odkazy na Obrázky, Mapy, Zprávy) se neřadí do lišty, ale rotují kolem loga Google v trojrozměrné sféře (kouli).
  • Interakce: Pohybem myši uživatel ovládá rotaci této sféry, podobně jako kdyby otáčel glóbusem. Text se dynamicky naklání, aby simuloval perspektivu. Původně šlo o ukázku "tag cloud" navigace.

Google Underwater

Vizuálně nejpůsobivější varianta vytvořená pro čínskou verzi vyhledávače.

  • Princip: Simulace vztlaku a kapaliny.
  • Chování: Logo Google a vyhledávací pole plavou na hladině virtuálního oceánu. Pokud uživatel klikne do vody, vytvoří vlny, které rozhoupou prvky.
  • Easter egg v Easter eggu: Pokud do vyhledávání napíšete "Fish" (ryba), z horní části obrazovky spadnou do vody ryby. Čím více hledáte, tím více je v akváriu ryb.

Google Zero Gravity Mirror

Kombinace zrcadlového obrácení (vše je pozpátku, včetně textu) a fyziky pádu. Tento projekt vznikl jako reakce na popularitu obou fenoménů a často mate uživatele svou disorientující povahou.

🌍 Kulturní dopad a dědictví

Ačkoliv jde primárně o technologická dema, Google Antigravity se zapsalo do historie internetové kultury několika způsoby.

Vzdělávací nástroj

Učitelé informatiky na základních a středních školách často používají Google Gravity jako:

  • Úvod do HTML5: Ukázka toho, že webová stránka není jen statický dokument, ale dynamická aplikace.
  • Demonstrace fyziky: Vizualizace pojmů jako gravitace, tření, srážka a zákon akce a reakce v prostředí, které žáci důvěrně znají (Google).
  • Motivace k programování: Ukázka toho, co lze vytvořit s několika řádky JavaScriptu, což slouží jako inspirace pro začínající programátory.

Internetové pranky (Žerty)

V dobách, kdy byly počítačové učebny a internetové kavárny běžnější, bylo nastavení Google Gravity jako domovské stránky na cizím počítači oblíbeným žertem. Oběť přišla k počítači, pokusila se vyhledávat, a celá stránka se jí "rozbila" pod rukama, což často vedlo k panice, že uživatel rozbil internet nebo chytil virus.

Konec éry "I'm Feeling Lucky"

S příchodem funkce Google Instant (okamžité vyhledávání během psaní) v roce 2010 ztratilo tlačítko "Zkusím štěstí" svou původní funkci. Google Gravity se tak stalo jedním z posledních velkých "memů" spojených s touto ikonickou funkcí starého webu. Dnes je tlačítko často skryté nebo má jinou funkci (např. otevírá Google Doodles), což ztěžuje náhodné objevení tohoto Easter eggu novou generací uživatelů.

📱 Mobilní éra a senzorika

S nástupem chytrých telefonů (Smartphone) získal experiment Google Antigravity nový rozměr, který na stolních počítačích nebyl možný. Tvůrci využili nová API (rozhraní pro programování aplikací), která umožnila webovému prohlížeči komunikovat s hardwarem telefonu.

Využití akcelerometru

Zatímco na počítači uživatel ovládá chaos pouze myší, na mobilních zařízeních využívá simulace vestavěný Akcelerometr a Gyroskop.

  • DeviceOrientation Event: Skript sleduje polohu telefonu v prostoru.
  • Změna vektoru gravitace: Pokud uživatel nakloní telefon doleva, virtuální gravitace se změní a všechny prvky (vyhledávací pole, logo, tlačítka) "sklouznou" k levému okraji displeje. Pokud telefon obrátíte vzhůru nohama, prvky spadnou na horní hranu (nyní spodní).
  • Třepání: Rychlé zatřesení telefonem funguje jako reset nebo udělení masivního impulsu kinetické energie, což způsobí, že prvky se rozletí všemi směry.

Tato funkcionalita byla v roce 2011 jednou z prvních masových demonstrací toho, že webové stránky v mobilním prohlížeči (např. Chrome pro Android nebo Safari) se mohou chovat jako nativní aplikace a reagovat na fyzický pohyb zařízení.

🏛️ Archivace a digitální archeologie

Jako většina internetových fenoménů, i Google Gravity čelí problému "digitálního stárnutí" (software rot).

Změny v Google API

Protože experiment načítá reálná data z Googlu, změny ve struktuře vyhledávače často rozbily funkčnost původního skriptu.

  • Změna HTML struktury: Když Google změnil ID nebo třídy prvků na své domovské stránce (např. při redesignu loga v roce 2015), skript nedokázal prvky správně identifikovat a "zhmotnit".
  • Bezpečnostní politiky: Moderní bezpečnostní standardy (jako CORS - Cross-Origin Resource Sharing) ztížily načítání obsahu z domény google.com na stránky třetích stran (mrdoob.com).

Role zrcadlových serverů (Mirrors)

Aby byl zážitek zachován pro budoucí generace, vznikly projekty jako elgoog.im. Tento web funguje jako digitální muzeum Google Easter eggů.

  • Místo aby se spoléhal na aktuální živou verzi Googlu (která se neustále mění), elgoog.im hostuje "zmrazenou" repliku vzhledu Googlu z doby kolem roku 2010–2012.
  • Díky tomu si uživatelé mohou vyzkoušet Google Gravity/Antigravity přesně v té podobě, v jaké existovala v době svého vzniku, včetně starého 3D loga a tlačítek s gradienty.

Sekce "Pro laiky"

Představte si běžnou webovou stránku jako nástěnku, kde je každý papírek (obrázek, tlačítko, text) pevně přišpendlený na své přesné místo. Ať s nástěnkou třesete jakkoli, papírky se ani nehnou. To je standardní web (HTML/CSS layout).

Google Antigravity dělá to, že virtuálně "vytáhne všechny špendlíky".

  • Prvky (papírky) najednou nic nedrží na místě.
  • Protože jsou v počítačovém světě, musíme jim říct, jak se mají chovat. Programátor jim tedy přidělí vlastnosti reálných předmětů: "Ty jsi těžký jako kámen" (logo) nebo "Ty jsi lehký jako pírko" (odkaz).
  • Ve verzi Gravity zapneme virtuální "zemskou přitažlivost", takže vše spadne na dno obrazovky.
  • Ve verzi Antigravity tuto sílu vypneme, takže se prvky vznášejí jako astronauti ve vesmírné lodi. Když do nich strčíte myší (rukou), odletí, dokud nenarazí do stěny monitoru.

Je to v podstatě počítačová hra, která jako hrací kameny používá části webové stránky, které normálně slouží k práci.

Zdroje