Svaka ideja. Svaki zaslon.
Napravi radijsku aplikaciju za jedno popodne.
mHub je otvorena platforma koja mape jednostavnih datoteka i obične web stranice pretvara u aplikacije za mobitele, televizore i računala. Ne moraš biti programer: ako znaš opisati što želiš, AI to može izraditi, a mHub tome daje mjesto za rad.
Jedna platforma, tri dijela.
mHub nije jedna aplikacija. To su tri dijela koja se međusobno uklapaju, i svaki je od njih otvoren. Dva su temelji: format sadržaja i Browser API. Treći su aplikacije, a svaka od njih stoji na jednom temelju ili na oba.
Aplikacije
Ono što zapravo koristiš. Vuma pretvara dodatke u jedan zaslon za pregledavanje, a svaka od drugih aplikacija nosi po jednu ideju na svaki zaslon u kući. Sve su to web aplikacije: ništa se ne instalira. Pogledaj aplikacije
Sadržaj: dodaci
Dodatak je izvor sadržaja: filmovi, radijske postaje, podcasti, tečajevi. Iznutra je to mapa malih tekstualnih datoteka na bilo kojem web hostingu, opisana protokolom Addon Protocol v2. AI ti ga može napisati. Pogledaj protokol
Mogućnosti: window.mhub
Otvori običnu web stranicu unutar mHub aplikacije i ona može ono što preglednik nikad ne dopušta: čitati podatke s bilo kojeg mjesta, preživjeti mrtvu domenu, živjeti na tvom televizoru. Jedan imenski prostor, jedan script tag: mHub Browser API. Pogledaj API
Naše omiljene. Sve već rade.
Vuma stoji na oba temelja; aplikacije pokraj nje pokazuju dokle seže samo jedan temelj. Pet aplikacija, pet različitih ideja, i svaka je od njih mjesto od kojeg možeš krenuti.
Vuma
Daj Vumi dodatke i ona ih pretvara u jedan zaslon za pregledavanje: svaki katalog koji tvoji dodaci nude, pretraživanje kroz sve njih, biblioteka i reproduktor koji nastavlja ondje gdje je stao. To je jedna web aplikacija koja jednako radi na mobitelima, televizorima i računalima, a sama se snalazi s dodirom, daljinskim upravljačem i pokazivačem.
Stoji na oba temelja: dodaci donose sadržaj, a unutar mHub preglednika Browser API dodaje mogućnosti kakve obična stranica nikad nema. Možeš je čak postaviti na vlastitu stranicu, sa svojim dodacima i svojim imenom: jedna HTML datoteka.


Waves
Radijske postaje, podcasti i besplatne audioknjige kao jedna aplikacija. Waves je jedna HTML datoteka na istom buildu Vume: pet audio dodataka, tirkizni naglasak i addonManager: "fixed", pa su izvori zadani, a korisnik ih samo uključuje i isključuje. Pogledaj izvorni kod stranice: on je cijeli vodič.
Junior
Dječja televizija. Jedan dodatak, žive boje, njemački od prvog zaslona (locale: "de") i addonManager: "hidden": s kauča se ništa ne može krivo podesiti. I ovo je jedna HTML datoteka na buildu Vume.
Mediathek
Dodatak su podaci; ono što netko na njemu izgradi je aplikacija. Mediathek je jedna HTML datoteka izravno na dodatku ard-mediathek, bez Vume ispod: redovi, pretraživanje, serije s epizodama, titlovi i reproduktor koji pamti gdje je stao. Dodatak dohvaća podatke, stranica se brine za izgled.
Glance
Drugi temelj sam za sebe: Glance uopće ne koristi dodatke. Jedna HTML datoteka na Browser API-ju, koja na jedan miran zaslon donosi vremensku prognozu, naslove vijesti, tržišne cijene i stanje tvojih vlastitih poslužitelja, sve uživo. U običnom pregledniku radi sa smanjenim mogućnostima; unutar mHub aplikacije oživi svaka pločica.
Jedna ideja, jedna mapa, svaki zaslon.
Sve što ima popis može biti dodatak, a sve što preglednik odbija učiniti može biti stranica unutar mHuba. Ovo su ideje koje bismo voljeli vidjeti ostvarene, i svaka je udaljena samo jedan prompt: odaberi jednu i ona završi u AI promptu niže na stranici.
Gledaj
Tvoja regionalna TV postaja
Sve što postaja objavi na internetu, u redovima po emisijama, s večernjim vijestima na vrhu.
Filmski festival
Program s najavama i sažecima, za pregledavanje po danima, dvoranama i programskim sekcijama.
Nijemi film
Filmovi u javnom vlasništvu s Internet Archivea, poredani po desetljeću i redatelju.
Tvoj sportski klub
Sažeci utakmica, cijele utakmice i raspored sezone kao katalog uživo.
Gradske kamere uživo
Javne web kamere jednog grada, luka, trg, planina, kao kanali uživo.
Sjednice gradskog vijeća
Snimke i prijenosi uživo tvog gradskog vijeća, po sjednicama i točkama dnevnog reda.
Slušaj
Tvoje radijske postaje
Deset postaja koje zaista slušaš, s logotipima, redoslijedom koji ti odgovara.
Jedna podcast mreža
Sve emisije jedne mreže iz njezinih RSS feedova, najnovije epizode na vrhu.
Audioknjige po autoru
LibriVox snimke jednog autora, poglavlja kao epizode, s nastavkom slušanja.
Priče za laku noć
Kratke audio priče za djecu, sa smirenom naslovnicom za svaku priču i bez reklama.
Vjerska zajednica
Obredi i predavanja tvoje crkve, džamije ili zajednice, uživo i snimljeni.
Vlastita aplikacija postaje
Waves, sa streamovima i podcastima jedne postaje i njezinim bojama. Jedna HTML datoteka.
Uči
Predavanja jednog sveučilišta
Javne snimke predavanja, po fakultetu i semestru, na televizoru umjesto na laptopu.
Tečaj jezika
Lekcije kao epizode, redom, s audio vježbama uz videe.
Obilasci muzeja
Video i audio vodiči muzeja, prostoriju po prostoriju.
Škola kuhanja
Videorecepti po slijedu jela i kuhinji, sa sastojcima u opisu.
Preglednik arhiva
Prijazno sučelje za Archive.org ili Project Gutenberg: pregledavaj, pretražuj i čitaj kao u aplikaciji.
Predavanja s jedne konferencije
Svako snimljeno predavanje jednog niza konferencija, po godini i tematskoj cjelini.
Dom i obitelj
Obiteljski zaslon
Vremenska prognoza, vijesti i cijene stvari do kojih ti je stalo, na jednom mirnom zaslonu. Ovaj smo napravili mi: to je Glance.
Kontrolna ploča za dom
Svjetla, NAS, pisač, router. Preglednici odbijaju takve lokalne zahtjeve; mHub aplikacija ih šalje umjesto tebe.
Zid kamera
Tvoje vlastite kamere iz lokalne mreže, kao mozaik na televizoru.
Obiteljski okvir za fotografije
Fotografije s tvog vlastitog poslužitelja kao katalog slika: televizor postaje okvir.
Dječja televizija
Jedan dodatak, žive boje, s kauča se ništa ne može krivo podesiti. To je Junior.
Crtići s jednog kanala
Besplatne epizode jednog dječjeg kanala, po emisijama, bez brige ih možeš prepustiti djeci.
Alati
Čitač vijesti
Povuci bilo koji feed izravno s izvora. Obični preglednici to blokiraju; unutar mHuba to jednostavno radi, a s kauča se ugodno čita.
Praćenje cijena
Provjeravaj cijene i dostupnost u trgovinama, vodi popis praćenja, vidi odgovor na bilo kojem zaslonu.
Ploča stanja poslužitelja
Tvoja vlastita računala, njihovi diskovi i servisi, kao pločice koje pocrvene prije nego što itko nazove.
YouTube kanal kao katalog
Resolver dodatak: zalijepi kanal i dobij njegove videe kao katalog koji se može reproducirati.
Titlovi za jedan jezik
Dodatak za titlove na jednom jeziku, odgovara za imdb id-ove, iz otvorenog izvora titlova.
Gdje se naslov može gledati
Upiši film i vidi gdje se prikazuje u tvojoj zemlji. Dodatak za stavke na temelju otvorene baze podataka.
Već imaš nešto od ovoga? Objavi to na mhub.mx: pregledat ćemo, hostati pod tvojim imenom i uvrstiti u repozitorij zajednice.
Tvoja vlastita aplikacija je jedna HTML datoteka.
Waves i Junior su upravo to: učitaj build Vume, daj mu element, pozovi mount. Ova datoteka, na bilo kojem statičnom hostingu, gotova je aplikacija s tvojim dodacima, tvojim imenom i tvojim bojama, a nova izdanja Vume prati sama. Bez kompajliranja, bez poslužiteljskog koda, bez računa.
<!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 hostani ovdje navedeni su u indeksu dodataka, a AI ti može izraditi novi.
Svaka opcija za mount i odakle dolaze datoteke opisani su u samoj aplikaciji: Kako napraviti vlastitu aplikaciju. Taj opis dolazi s buildom, pa opisuje verziju koju upravo učitavaš, a ne onu prema kojoj je pisana ova stranica.
Dodatak je mapa JSON datoteka.
Dodatak je izvor sadržaja: filmovi, radijske postaje, podcasti, recepti, tečajevi. Stavi mapu bilo gdje na web, dodaj njezinu adresu u aplikaciju i sve što je u njoj pojavit će se ondje, spremno za pregledavanje. Verzija 2 protokola ne treba poslužitelj: svaka krajnja točka može biti statična datoteka na bilo kojem CDN-u. Svaki postojeći v1 dodatak i dalje radi; aplikacije prevode između dviju verzija, a v1 ostaje podržan.
Najprije statično
Sve krajnje točke su GET, sve se mogu predmemorirati, sve se mogu hostati kao obične datoteke. Jedan neobavezni POST za sustav zadataka.
/mhub-addon.json /catalog/{type}/{catalogId}.json /item/{type}/{id}.json /source/{type}/{id}.json
Modularno
Katalozi, detalji stavki, izvori, resolveri i titlovi zasebni su resursi. Jedan dodatak može pružati sve njih ili samo jedan.
"resources": ["catalog", "item", "source", "resolve", "subtitle"]
Client-fetch zadaci
Krajnja točka može odgovoriti zadatkom umjesto podacima. Aplikacija dohvaća podatke s korisnikovom vlastitom IP adresom, pa statični dodatak radi i s geografski blokiranim API-jima.
// dodatak ostaje statičan,
// dohvat odradi klijent
mhub-addon.json
Minimalni dodatak je jedan manifest i jedna datoteka kataloga. Prenesi obje na bilo koji statični hosting i sve radi. Specifikacija je OpenAPI 3.1 s generiranim TypeScript tipovima i klijentskom bibliotekom bez ovisnosti, pod licencom MIT, na GitHubu.
{ "id": "my-movies", "name": "My Movies", "specVersion": 2, "resources": ["catalog"], "types": ["video"], "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Opiši to. AI to izradi.
Cijeli format dodataka stane u jedan prompt, i nikad ga ne moraš čitati. Kopiraj prompt, dodaj svoju ideju i AI odgovara mapom datoteka. Prenesi ih bilo kamo i tvoj dodatak je objavljen.
Kopiraj prompt
Upućuje AI na specifikaciju. Radi s bilo kojim asistentom koji može čitati poveznice, poput ChatGPT-ja ili Claudea.
Dodaj svoju ideju
„Moje omiljene radijske postaje.“ „Svi filmovi jednog redatelja.“ „Javna predavanja mog sveučilišta.“ Sve što ima popis.
Prenesi datoteke
Poslužit će bilo koji statični hosting, a GitHub Pages je besplatan. Dodaj adresu u mHub aplikaciju i pregledavaj vlastiti dodatak.
Pročitaj specifikaciju mHub Addon Protocol v2 na
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
i izradi mi dodatak. Dodatak je mapa statičnih JSON datoteka,
spremna za prijenos na bilo koji web hosting. Odgovori svim datotekama:
za svaku njezinu punu putanju, a zatim njezin potpuni sadržaj.
Moj dodatak: [ovdje opiši svoju ideju]
Ako tvoj asistent ne može otvarati poveznice, umjesto toga zalijepi datoteku specifikacije u razgovor. Specifikacija i potpuni primjeri dodataka nalaze se na GitHubu.
Što tvoja stranica može unutar mHuba
Sve se nalazi u jednom imenskom prostoru: window.mhub, a svaki host nudi cijelu jezgru. Jednom provjeri postoji li imenski prostor, a onda ga samo pozivaj. Bez SDK-a, bez kompajliranja, bez računa: jedan script tag je cijela postava, a slobodno ga možeš hostati i sam.
- Host
- …
- Uređaj
- …
- Mogućnosti
- …
API već radi u aplikacijama i stiže s njihovim novim izdanjima. Piši za njega već danas i tvoja stranica radi u svakom slučaju: gdje nema hosta, window.mhub jednostavno ne postoji i tvoja stranica ostaje obična web stranica. Nabavi preglednik koji ga ima.
mhub.fetch
Dohvati bilo što. Bez CORS-a, i sa zaglavljima zahtjeva koja preglednik inače zadržava za sebe.
// cross-origin, čitljivo const r = await mhub.fetch(url);
mhub.openStream
Nekim medijima za reprodukciju trebaju vlastita zaglavlja zahtjeva. Jedan poziv, i host na svakoj platformi bira pravi put.
const s = await mhub.openStream( { url, headers }); video.src = s.url;
mhub.storage
Pohrana ključ/vrijednost koja prati tvoju stranicu, a ne domenu na kojoj se slučajno nalazi. Bez upita, bez postavljanja.
await mhub.storage.set(k, v);
mhub-site.json
Jedna domena padne, a tvoja se stranica i dalje učitava. Posluži jednu malu datoteku na svakoj domeni; preglednik je pronalazi, provjerava tvoja zrcala i sam se prebacuje. Bez koda.
{ "id": "mysite", "endpoints": [ "https://a.example", "https://b.example" ] }
mhub.setLinks
Pločica na početnom zaslonu preglednika. Put natrag do tvoje stranice koji ostaje i između posjeta.
mhub.setLinks([ { id, name, icon, url }]);
mhub.setSearch
Adresna traka postaje pretraživanje tvoje stranice. Upiti i prijedlozi idu izravno tvojoj stranici.
mhub.setSearch({ placeholder, onQuery, onSuggest });
mhub.device + capabilities
Znaj gdje se izvršavaš i što host može, od mobitela do televizora, prije prvog iscrtavanja.
if (mhub.device.isTV) tvUi();
…i deklaracije aplikacije
Stranica koja radi kao aplikacija govori hostu što obrađuje sama: vlastitu navigaciju natrag (setBackHandler), reproduktor preko cijelog zaslona (setImmersive) i izlaz (exit); meta oznaka u HTML-u kaže da je to aplikacija napravljena za daljinski upravljač. Svaki član, s modelom dozvola i sustavom zrcala, nalazi se u API referenci.
mhub.setBackHandler(depth); mhub.setImmersive(true); <meta name="mhub" content="app dpad">
Objavljuju ih ljudi poput tebe.
Dosad 56 dodataka zajednice od 31 autora. Prijavi se e-mailom, prenesi mapu kao zip ili poveži mapu koju hostaš negdje drugdje, i kad prođe pregled, nalazi se na mhub.mx/@you/addon, na popisu zajednice i u repozitoriju zajednice.
Napravi nešto. Veliko ili malo.
API referenca pokriva svakog člana, model dozvola i sustav zrcala. Specifikacija protokola dolazi s potpunim primjerima dodataka koje možeš kopirati.
Internet Archive
RTVE