Svaka ideja. Svaki ekran.
Napravi radio aplikaciju za jedno popodne.
mHub je otvorena platforma koja foldere jednostavnih fajlova i obične sajtove pretvara u aplikacije za telefone, televizore i desktop računare. Ne moraš biti programer: ako umeš da opišeš šta želiš, AI to može da napravi, a mHub mu daje mesto gde radi.
Jedna platforma, tri dela.
mHub nije jedna aplikacija. To su tri dela koja se uklapaju, i svaki od njih je otvoren. Dva su temelji: format sadržaja i API pregledača. Treći deo su aplikacije, a svaka od njih stoji na jednom temelju ili na oba.
Aplikacije
Ono što zaista koristiš. Vuma pretvara dodatke u jedan ekran za pregledanje, a druge aplikacije nose po jednu ideju na svaki ekran u kući. Sve su to veb aplikacije: ništa ne treba instalirati. Pogledaj aplikacije
Sadržaj: dodaci
Dodatak je izvor sadržaja: filmovi, radio stanice, podkasti, kursevi. Ispod haube to je folder malih tekstualnih fajlova na bilo kom veb hostingu, opisan specifikacijom Addon Protocol v2. AI može da ti ga napiše. Pogledaj protokol
Moći: window.mhub
Otvori običan sajt unutar mHub aplikacije i on može ono što pregledač nikad ne dozvoljava: da čita podatke odasvud, da preživi mrtav domen, da živi na tvom televizoru. Jedan imenski prostor, jedan script tag: mHub Browser API. Pogledaj API
Naši favoriti. Svi rade uživo.
Vuma stoji na oba temelja; aplikacije pored nje pokazuju dokle može da stigne i samo jedan temelj. Pet aplikacija, pet različitih ideja, i svaka od njih je dobra polazna tačka.
Vuma
Kada Vuma dobije dodatke, pretvara ih u jedan ekran za pregledanje: svaki katalog koji tvoji dodaci nude, pretraga kroz sve njih, biblioteka i plejer koji nastavlja tamo gde je reprodukcija stala. To je jedna veb aplikacija koja radi i na telefonima, i na televizorima, i na desktop računarima, i sama se snalazi sa dodirom, daljinskim upravljačem i mišem.
Stoji na oba temelja: dodaci donose sadržaj, a unutar mHub pregledača Browser API dodaje moći koje obična stranica nikad nema. Možeš je čak postaviti i na sopstvenu stranicu, sa svojim dodacima i svojim imenom: jedan HTML fajl.


Waves
Radio stanice, podkasti i besplatne audio-knjige kao jedna aplikacija. Waves je jedan HTML fajl nad istim Vuma buildom: pet audio dodataka, tirkizni akcenat i addonManager: "fixed", pa su izvori zadati, a korisnik ih samo uključuje i isključuje. Pogledaj njen izvorni kod: stranica je ceo tutorijal.
Junior
Dečja televizija. Jedan dodatak, jarke boje, nemački od prvog ekrana (locale: "de") i addonManager: "hidden": sa kauča nema šta pogrešno da se podesi. I ovo je jedan HTML fajl nad Vuma buildom.
Mediathek
Dodatak su podaci; ono što neko napravi na njemu je aplikacija. Mediathek je jedan HTML fajl direktno na dodatku ard-mediathek, bez Vume ispod: redovi, pretraga, serije sa epizodama, titlovi i plejer koji pamti dokle je stiglo gledanje. Dodatak dohvata podatke, stranica se brine o izgledu.
Glance
Drugi temelj sam za sebe: Glance ne koristi nijedan dodatak. Jedan HTML fajl na Browser API-ju, koji na jedan miran ekran donosi vremensku prognozu uživo, naslove vesti, tržišne cene i status tvojih servera. U običnom pregledaču i dalje radi, samo sa manje mogućnosti; unutar mHub aplikacije svaka pločica oživi.
Jedna ideja, jedan folder, svaki ekran.
Sve što ima listu može biti dodatak, a sve što pregledač odbija da uradi može biti sajt unutar mHub-a. Ovo su ideje koje bismo voleli da neko napravi, i od svake te deli samo jedan prompt: izaberi jednu i ona završava u AI promptu niže na stranici.
Gledaj
Tvoja regionalna TV stanica
Sve što stanica objavi na internetu, u redovima po emisijama, sa večernjim vestima na početku.
Filmski festival
Program sa trejlerima i sinopsisima, po danima, salama i selekcijama.
Nemi film
Filmovi u javnom domenu sa Internet Archive-a, poređani po decenijama i rediteljima.
Tvoj sportski klub
Najbolji momenti, cele utakmice i raspored sezone kao katalog uživo.
Gradske kamere uživo
Javne veb kamere jednog grada, luka, trg, planina, kao kanali uživo.
Sednice gradske skupštine
Snimci i prenosi uživo skupštine tvog grada, po sednicama i tačkama dnevnog reda.
Slušaj
Tvoje radio stanice
Deset stanica koje zaista slušaš, sa logoima, redosledom koji ti odgovara.
Jedna mreža podkasta
Sve emisije jedne mreže iz njenih RSS fidova, najnovije epizode prve.
Audio-knjige po autoru
LibriVox snimci jednog autora, poglavlja kao epizode, sa nastavkom slušanja.
Priče za laku noć
Kratke audio priče za decu, sa mirnom naslovnom slikom za svaku priču i bez reklama.
Verska zajednica
Službe i propovedi tvoje crkve, džamije ili zajednice, uživo i snimljene.
Aplikacija jedne stanice
Waves sa strimovima i podkastima jedne stanice i njenim bojama. Jedan HTML fajl.
Uči
Predavanja jednog univerziteta
Javni snimci predavanja, po fakultetu i semestru, na televizoru umesto na laptopu.
Kurs jezika
Lekcije kao epizode, po redu, sa audio vežbama pored videa.
Obilasci muzeja
Video i audio vodiči jednog muzeja, sala po sala.
Škola kuvanja
Video recepti po vrsti jela i kuhinji, sa sastojcima u opisu.
Pregledač arhive
Prijatno lice za Archive.org ili Project Gutenberg: pregledaj, pretražuj i čitaj kao u aplikaciji.
Predavanja sa jedne konferencije
Svako snimljeno predavanje jedne serije konferencija, po godini i temi.
Dom i porodica
Porodični ekran
Vremenska prognoza, naslovi vesti i cene stvari koje te zanimaju, na jednom mirnom ekranu. Ovaj smo napravili mi: to je Glance.
Kontrolna tabla za dom
Svetla, NAS, štampač, ruter. Pregledači odbijaju takve lokalne zahteve; mHub aplikacija ih šalje umesto tebe.
Zid kamera
Tvoje sopstvene kamere iz lokalne mreže, kao mozaik na televizoru.
Porodični foto-ram
Fotografije sa tvog servera kao katalog slika: televizor postaje ram.
Dečja televizija
Jedan dodatak, jarke boje, sa kauča nema šta pogrešno da se podesi. To je Junior.
Crtaći sa jednog kanala
Besplatne epizode jednog dečjeg kanala, po emisijama, bezbedno za decu.
Alati
Čitač vesti
Učitaj bilo koji fid direktno sa izvora. Obični pregledači to blokiraju; unutar mHub-a jednostavno radi, i lepo se čita sa kauča.
Praćenje cena
Proveravaj cene i dostupnost u prodavnicama, vodi listu za praćenje, vidi odgovor na bilo kom ekranu.
Tabla statusa servera
Tvoje mašine, njihovi diskovi i servisi, kao pločice koje pocrvene pre nego što iko pozove.
YouTube kanal, razrešen
Resolver dodatak: nalepi kanal i dobij njegove video snimke kao katalog koji se može pustiti.
Titlovi za jedan jezik
Dodatak za titlove na jednom jeziku, koji odgovara na imdb ID-jeve, iz otvorenog izvora titlova.
Gde se naslov strimuje
Ukucaj film i vidi gde se prikazuje u tvojoj zemlji. Dodatak za stavke nad otvorenom bazom podataka.
Već imaš nešto od ovoga? Objavi to na mhub.mx: pregledamo, hostujemo pod tvojim imenom i prikazujemo u repozitorijumu zajednice.
Tvoja aplikacija je jedan HTML fajl.
Waves i Junior su upravo to: učitaj Vuma build, daj mu element, pozovi mount. Ovaj fajl, na bilo kom statičkom hostingu, gotova je aplikacija sa tvojim dodacima, tvojim imenom i tvojim bojama, i sam prati nova izdanja Vume. Bez koraka izgradnje, bez serverskog koda, bez naloga.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no">
<title>My App</title>
<link rel="stylesheet" href="https://vuma.mx/latest/style.css">
</head>
<body>
<div id="app"></div>
<script type="module">
import { mount } from "https://vuma.mx/latest/app.js";
mount({
addons: [
"https://www.mhub.mx/radio-and-podcasts",
"https://www.mhub.mx/public-domain",
],
brand: { name: "My App", colors: { accent: "#00AAFF" } },
});
</script>
</body>
</html>
Dodatak je URL njegovog manifesta. Oni koji su hostovani ovde navedeni su u indeksu dodataka, a AI ti može napraviti novi.
Svaka opcija za mount, i odakle dolaze fajlovi, dokumentovana je u samoj aplikaciji: Kako da napraviš sopstvenu aplikaciju. Stiže uz build, pa opisuje verziju koju upravo učitavaš, a ne onu prema kojoj je ova stranica pisana.
Dodatak je folder JSON fajlova.
Dodatak je izvor sadržaja: filmovi, radio stanice, podkasti, recepti, kursevi. Postavi folder bilo gde na vebu, dodaj njegovu adresu u aplikaciju, i sve što je u njemu pojaviće se tamo, spremno za pregledanje. Verziji 2 protokola ne treba server: svaki endpoint može biti statički fajl na bilo kom CDN-u. Svaki postojeći v1 dodatak i dalje radi; aplikacije prevode između te dve verzije, a v1 ostaje podržan.
Statično na prvom mestu
Svi endpointi su GET, svi mogu da se keširaju, svi mogu da se hostuju kao obični fajlovi. Jedan opcioni POST za sistem zadataka.
/mhub-addon.json /catalog/{type}/{catalogId}.json /item/{type}/{id}.json /source/{type}/{id}.json
Modularno
Katalozi, detalji stavki, izvori, resolveri i titlovi su zasebni resursi. Jedan dodatak može da pruža sve njih ili samo jedan.
"resources": ["catalog", "item", "source", "resolve", "subtitle"]
Client-fetch zadaci
Endpoint može da odgovori zadatkom umesto podacima. Aplikacija tada dohvata podatke sa korisnikovom IP adresom, pa statički dodatak radi i sa geo-blokiranim API-jima.
// dodatak ostaje statičan,
// klijent obavlja poziv
mhub-addon.json
Minimalni dodatak čine jedan manifest i jedan fajl kataloga. Otpremi oba na bilo koji statički hosting i radi. Specifikacija je OpenAPI 3.1 sa generisanim TypeScript tipovima i klijentskom bibliotekom bez zavisnosti, pod MIT licencom, na GitHub-u.
{ "id": "my-movies", "name": "My Movies", "specVersion": 2, "resources": ["catalog"], "types": ["video"], "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Opiši. AI napravi.
Ceo format dodataka staje u jedan prompt, i nikad ne moraš da ga čitaš. Kopiraj prompt, dodaj svoju ideju, i AI odgovara folderom fajlova. Otpremi ih bilo gde i tvoj dodatak radi.
Kopiraj prompt
Upućuje AI na specifikaciju. Radi sa svakim asistentom koji ume da čita linkove, kao što su ChatGPT ili Claude.
Dodaj svoju ideju
„Moje omiljene radio stanice.“ „Svaki film jednog reditelja.“ „Javna predavanja mog univerziteta.“ Sve što ima listu.
Otpremi fajlove
Odgovara bilo koji statički hosting, GitHub Pages je besplatan. Dodaj adresu u mHub aplikaciju i pregledaj sopstveni dodatak.
Pročitaj specifikaciju mHub Addon Protocol v2 na
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
i napravi mi dodatak. Dodatak je folder statičkih JSON fajlova,
spreman za otpremanje na bilo koji veb hosting. Odgovori sa svakim fajlom:
prvo njegova puna putanja, zatim njegov kompletan sadržaj.
Moj dodatak: [ovde opiši svoju ideju]
Ako tvoj asistent ne može da otvara linkove, umesto toga nalepi fajl specifikacije u čet. Specifikacija i kompletni primeri dodataka nalaze se na GitHub-u.
Šta tvoj sajt može unutar mHub-a
Sve živi u jednom imenskom prostoru: window.mhub, i svaki host pruža celo jezgro. Jednom proveri da li imenski prostor postoji, pa ga samo pozivaj. Bez SDK-a, bez koraka izgradnje, bez naloga: jedan script tag je cela postavka, a možeš ga hostovati i sam.
- Host
- …
- Uređaj
- …
- Mogućnosti
- …
API već radi u aplikacijama i stiže sa njihovim izdanjima. Piši za njega već danas i tvoja stranica radi u svakom slučaju: gde nema hosta, window.mhub jednostavno ne postoji i tvoj sajt ostaje običan sajt. Nabavi pregledač koji ga ima.
mhub.fetch
Dohvati bilo šta. Bez CORS-a, i sa zaglavljima zahteva koja pregledač inače zadržava za sebe.
// sa drugog porekla, čitljivo const r = await mhub.fetch(url);
mhub.openStream
Nekim medijima trebaju sopstvena zaglavlja zahteva da bi se pustili. Jedan poziv, i host bira pravi put na svakoj platformi.
const s = await mhub.openStream( { url, headers }); video.src = s.url;
mhub.storage
Skladište ključ/vrednost koje prati tvoj sajt, a ne domen na kom se slučajno nalazi. Bez upita, bez podešavanja.
await mhub.storage.set(k, v);
mhub-site.json
Jedan domen padne, a tvoj sajt se i dalje učitava. Postavi jedan mali fajl na svaki domen; pregledač ga pronalazi, proverava tvoja ogledala i sam prelazi na ispravno. Bez koda.
{ "id": "mysite", "endpoints": [ "https://a.example", "https://b.example" ] }
mhub.setLinks
Pločica na početnom ekranu pregledača. Put nazad do tvog sajta, koji ostaje i između poseta.
mhub.setLinks([ { id, name, icon, url }]);
mhub.setSearch
Adresna traka postaje pretraga tvog sajta. Upiti i predlozi idu direktno na tvoju stranicu.
mhub.setSearch({ placeholder, onQuery, onSuggest });
mhub.device + capabilities
Znaj gde radiš i šta host može, od telefona do televizora, pre prvog iscrtavanja.
if (mhub.device.isTV) tvUi();
…i deklaracije aplikacije
Stranica koja radi kao aplikacija govori hostu šta sama obrađuje: sopstvenu navigaciju unazad (setBackHandler), plejer preko celog ekrana (setImmersive) i izlaz (exit); meta tag u HTML-u kaže da je to aplikacija napravljena za daljinski upravljač. Svaki član, uz model dozvola i sistem ogledala, opisan je u API referenci.
mhub.setBackHandler(depth); mhub.setImmersive(true); <meta name="mhub" content="app dpad">
Objavljuju ih ljudi poput tebe.
Zasad 56 dodataka zajednice od 31 autora. Prijavi se imejlom, otpremi folder kao zip ili poveži onaj koji sam hostuješ, i čim prođe pregled, nalazi se na mhub.mx/@you/addon, u listi zajednice i u repozitorijumu zajednice.
Napravi nešto. Veliko ili malo.
API referenca pokriva svaki član, model dozvola i sistem ogledala. Specifikacija protokola dolazi sa kompletnim primerima dodataka koje možeš kopirati.
Internet Archive
RTVE