Çdo ide. Çdo ekran.
Ndërto një aplikacion radioje brenda një pasditeje.
mHub është një platformë e hapur që i kthen dosjet me skedarë të thjeshtë dhe faqet e zakonshme të internetit në aplikacione për telefona, televizorë dhe kompjuterë. Nuk ke nevojë të jesh programues: nëse di të përshkruash çfarë do, një AI mund ta ndërtojë, dhe mHub i jep një vend ku të funksionojë.
Një platformë, tri pjesë.
mHub nuk është një aplikacion i vetëm. Janë tri pjesë që përshtaten me njëra-tjetrën, dhe secila prej tyre është e hapur. Dy janë themele: një format përmbajtjeje dhe një API shfletuesi. E treta janë aplikacionet, dhe secili prej tyre mbështetet në njërin themel ose në të dy.
Aplikacionet
Ato që përdor në të vërtetë. Vuma i kthen shtojcat në një ekran të vetëm për të shfletuar, dhe secili nga aplikacionet e tjera e çon një ide në çdo ekran të shtëpisë. Të gjitha janë aplikacione web: s'ka asgjë për të instaluar. Shiko aplikacionet
Përmbajtja: shtojcat
Një shtojcë është një burim përmbajtjeje: filma, stacione radioje, podkaste, kurse. Nga brenda është një dosje me skedarë të vegjël teksti në çfarëdo serveri web, e përshkruar nga Addon Protocol v2. Një AI mund ta shkruajë për ty. Shiko protokollin
Fuqitë: window.mhub
Hap një faqe të zakonshme interneti brenda një aplikacioni mHub dhe ajo mund të bëjë gjëra që një shfletues nuk i lejon kurrë: të lexojë të dhëna nga kudo, t'i mbijetojë një domeni që ka rënë, të jetojë në televizorin tënd. Një hapësirë emrash, një etiketë script: mHub Browser API. Shiko API-në
Të preferuarat tona. Të gjitha online.
Vuma mbështetet në të dy themelet; aplikacionet pranë saj tregojnë sa larg të çon një themel i vetëm. Pesë aplikacione, pesë ide të ndryshme, dhe secili prej tyre është një pikënisje.
Vuma
Shto shtojca në Vuma dhe ajo i kthen në një ekran të vetëm për të shfletuar: çdo katalog që ofrojnë shtojcat e tua, kërkim nëpër të gjitha, një bibliotekë, një luajtës që vazhdon aty ku e le. Është një aplikacion web i vetëm që funksionon njësoj në telefona, televizorë dhe kompjuterë, dhe e menaxhon vetë prekjen, telekomandën dhe miun.
Mbështetet në të dy themelet: shtojcat sjellin përmbajtjen, dhe brenda një shfletuesi mHub Browser API shton fuqitë që një faqe e thjeshtë nuk i ka kurrë. Madje mund ta vendosësh në një faqe tënden, me shtojcat e tua dhe emrin tënd: një skedar HTML.


Waves
Stacione radioje, podkaste dhe audiolibra falas në një aplikacion. Waves është një skedar HTML mbi të njëjtin build të Vuma: pesë shtojca audio, një theks ngjyrë gurkali, dhe addonManager: "fixed", kështu që burimet janë të caktuara dhe përdoruesi vetëm i ndez e i fik. Shiko kodin burimor të faqes: faqja është i gjithë tutoriali.
Junior
Televizion për fëmijë. Një shtojcë, ngjyra të ndezura, gjermanisht që nga ekrani i parë (locale: "de"), dhe addonManager: "hidden": asgjë për të ngatërruar nga divani. Edhe ky është një skedar HTML mbi build-in e Vuma.
Mediathek
Shtojca sjell të dhënat; ajo që dikush ndërton mbi të është aplikacioni. Mediathek është një skedar HTML drejtpërdrejt mbi shtojcën ard-mediathek, pa Vuma poshtë: rreshta, kërkim, seriale me episodet e tyre, titra, dhe një luajtës që mban mend ku u ndale. Shtojca merr të dhënat, faqja kujdeset për pamjen.
Glance
Themeli tjetër më vete: Glance nuk përdor asnjë shtojcë. Një skedar HTML mbi Browser API, që sjell motin në kohë reale, titujt e lajmeve, çmimet e tregut dhe gjendjen e serverëve të tu në një ekran të qetë. Në një shfletues të zakonshëm funksionon edhe me më pak veçori; brenda një aplikacioni mHub zgjohet çdo pllakë.
Një ide, një dosje, çdo ekran.
Çdo gjë që ka një listë mund të bëhet shtojcë, dhe çdo gjë që një shfletues refuzon ta bëjë mund të bëhet faqe brenda mHub. Këto janë ide që do të donim t'i shihnim të realizuara, dhe secila është vetëm një prompt larg: zgjidh një, dhe ajo shkon te prompt-i për AI më poshtë.
Shiko
Televizioni yt rajonal
Çdo emision që stacioni publikon online, në rreshta sipas programit, me lajmet e mbrëmjes të parat.
Një festival filmi
Programi me trailera dhe përmbledhje, i shfletueshëm sipas ditës, sallës dhe seksionit.
Kinemaja pa zë
Filma në domenin publik nga Internet Archive, të renditur sipas dekadës dhe regjisorit.
Klubi yt sportiv
Momentet kryesore të ndeshjeve, ndeshje të plota dhe kalendari i sezonit si katalog live.
Kamerat live të qytetit
Kamerat publike të një qyteti, porti, sheshi, mali, si kanale live.
Mbledhjet e këshillit
Regjistrime dhe transmetime live të këshillit bashkiak, sipas mbledhjes dhe pikës së rendit të ditës.
Dëgjo
Stacionet e tua të radios
Dhjetë stacionet që dëgjon në të vërtetë, me logo, në rendin që të pëlqen.
Një rrjet podkastesh
Çdo emision i një rrjeti nga burimet e tij RSS, me episodet më të reja në krye.
Audiolibra sipas autorit
Regjistrimet LibriVox të një autori, kapitujt si episode, që vazhdojnë aty ku i le.
Përralla para gjumit
Histori të shkurtra audio për fëmijë, me një kopertinë të qetë për çdo histori dhe pa reklama.
Një bashkësi fetare
Shërbesat dhe ligjëratat e kishës, xhamisë ose bashkësisë tënde, live dhe të regjistruara.
Aplikacioni i një stacioni
Waves, me transmetimet dhe podkastet e një stacioni dhe me ngjyrat e tij. Një skedar HTML.
Mëso
Leksionet e një universiteti
Regjistrimet publike të leksioneve, sipas fakultetit dhe semestrit, në televizor në vend të laptopit.
Një kurs gjuhe
Mësimet si episode, me radhë, me ushtrimet audio pranë videove.
Vizita në muze
Guidat video dhe audio të një muzeu, sallë pas salle.
Shkollë gatimi
Video recetash sipas pjatës dhe kuzhinës, me përbërësit në përshkrim.
Një shfletues arkivi
Një pamje miqësore për Archive.org ose Project Gutenberg: shfleto, kërko dhe lexo si në një aplikacion.
Prezantimet e një konference
Çdo prezantim i regjistruar i një serie konferencash, sipas vitit dhe sesionit.
Shtëpia dhe familja
Një ekran për familjen
Moti, titujt e lajmeve dhe çmimet e gjërave që të interesojnë, në një ekran të qetë. Këtë e ndërtuam ne: është Glance.
Paneli i kontrollit të shtëpisë
Dritat, NAS, printeri, ruteri. Shfletuesit i refuzojnë kërkesa të tilla lokale; aplikacioni mHub i bën për ty.
Muri i kamerave
Kamerat e tua, nga rrjeti lokal, si rrjetë në televizor.
Korniza e fotove të familjes
Fotot nga serveri yt si katalog imazhesh: televizori bëhet korniza.
Televizion për fëmijë
Një shtojcë, ngjyra të ndezura, asgjë për të ngatërruar nga divani. Ky është Junior.
Filma vizatimorë nga një kanal
Episodet falas të një kanali për fëmijë, sipas emisionit, pa frikë për t'ua dhënë në dorë.
Mjete
Një lexues lajmesh
Merr çdo burim lajmesh drejtpërdrejt nga origjina. Shfletuesit e zakonshëm e bllokojnë këtë; brenda mHub thjesht funksionon, dhe lexohet mirë nga divani.
Një vëzhgues çmimesh
Kontrollo dyqanet për çmime dhe disponueshmëri, mbaj një listë vëzhgimi, shiko përgjigjen në çdo ekran.
Paneli i gjendjes së serverëve
Makinat e tua, disqet dhe shërbimet e tyre, si pllaka që skuqen para se të telefonojë dikush.
Një kanal YouTube, i zgjidhur
Një shtojcë resolver: ngjit një kanal dhe merr videot e tij si katalog që luhet.
Titra për një gjuhë
Një shtojcë titrash për një gjuhë, që përgjigjet për ID-të imdb, nga një burim i hapur titrash.
Ku transmetohet një titull
Shkruaj një film dhe shiko ku shfaqet në vendin tënd. Një shtojcë elementesh mbi një bazë të dhënash të hapur.
Ke bërë një nga këto? Publikoje në mhub.mx: ne e shqyrtojmë, e strehojmë me emrin tënd dhe e listojmë në repozitorin e komunitetit.
Aplikacioni yt është një skedar HTML.
Waves dhe Junior janë pikërisht kjo: ngarko build-in e Vuma, jepi një element, thirr mount. Ky skedar, në çdo host statik, është një aplikacion i gatshëm me shtojcat e tua, emrin tënd dhe ngjyrat e tua, dhe ndjek vetë versionet e reja të Vuma. Pa hap ndërtimi, pa kod serveri, pa llogari.
<!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>
Një shtojcë është adresa e manifestit të saj. Ato që strehohen këtu janë në indeksin e shtojcave, dhe një AI mund të të ndërtojë një të re.
Çdo opsion i montimit, dhe nga vijnë skedarët, është i dokumentuar në vetë aplikacionin: Si të bësh aplikacionin tënd. Vjen bashkë me build-in, kështu që përshkruan versionin që je gati të ngarkosh dhe jo atë për të cilin u shkrua kjo faqe.
Një shtojcë është një dosje me skedarë JSON.
Një shtojcë është një burim përmbajtjeje: filma, stacione radioje, podkaste, receta, kurse. Vendose dosjen kudo në internet, shto adresën e saj në një aplikacion, dhe gjithçka që ka brenda shfaqet aty, gati për t'u shfletuar. Versioni 2 i protokollit nuk ka nevojë për server: çdo endpoint mund të jetë një skedar statik në çdo CDN. Çdo shtojcë ekzistuese v1 vazhdon të funksionojë; aplikacionet përkthejnë mes të dyjave, dhe v1 mbetet e mbështetur.
Statik në radhë të parë
Të gjitha endpoint-et janë GET, të gjitha mund të ruhen në cache, të gjitha mund të strehohen si skedarë të thjeshtë. Një POST opsional për sistemin e detyrave.
/mhub-addon.json /catalog/{type}/{catalogId}.json /item/{type}/{id}.json /source/{type}/{id}.json
I kombinueshëm
Katalogët, detajet e elementeve, burimet, resolver-ët dhe titrat janë resurse të veçanta. Një shtojcë mund t'i ofrojë të gjitha ose vetëm njërin.
"resources": ["catalog", "item", "source", "resolve", "subtitle"]
Detyra client-fetch
Një endpoint mund të përgjigjet me një detyrë në vend të të dhënave. Aplikacioni i merr të dhënat me IP-në e vetë përdoruesit, kështu që një shtojcë statike funksionon me API të bllokuara gjeografikisht.
// shtojca mbetet statike,
// klienti bën rrugën
mhub-addon.json
Një shtojcë minimale është një manifest dhe një skedar katalogu. Ngarkoji të dy në çdo host statik dhe funksionon. Specifikimi është OpenAPI 3.1 me tipe TypeScript të gjeneruara dhe një librari klienti pa varësi, me licencë MIT, në GitHub.
{ "id": "my-movies", "name": "My Movies", "specVersion": 2, "resources": ["catalog"], "types": ["video"], "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Përshkruaje. Një AI e ndërton.
I gjithë formati i shtojcave futet në një prompt të vetëm, dhe nuk ke nevojë ta lexosh kurrë. Kopjo prompt-in, shto idenë tënde, dhe AI të përgjigjet me një dosje skedarësh. Ngarkoji kudo dhe shtojca jote është online.
Kopjo prompt-in
Ai e drejton AI-në te specifikimi. Funksionon me çdo asistent që lexon lidhje, si ChatGPT ose Claude.
Shto idenë tënde
„Stacionet e mia të preferuara të radios.“ „Çdo film i një regjisori.“ „Leksionet publike të universitetit tim.“ Çdo gjë që ka një listë.
Ngarko skedarët
Çdo host statik funksionon, GitHub Pages është falas. Shto adresën në një aplikacion mHub dhe shfleto shtojcën tënde.
Lexo specifikimin e mHub Addon Protocol v2 te
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
dhe ndërto një shtojcë (addon) për mua. Një shtojcë është një dosje me skedarë statikë JSON,
gati për t'u ngarkuar në çdo host web. Përgjigju me çdo skedar: shtegun e tij të plotë,
pastaj përmbajtjen e plotë.
Shtojca ime: [përshkruaj idenë tënde këtu]
Nëse asistenti yt nuk hap dot lidhje, ngjite skedarin e specifikimit në bisedë. Specifikimi dhe shembuj të plotë shtojcash ndodhen në GitHub.
Çfarë mund të bëjë faqja jote brenda mHub
Gjithçka ndodhet nën një hapësirë emrash të vetme: window.mhub, dhe çdo host ofron bërthamën e plotë. Kontrollo një herë nëse hapësira ekziston, pastaj thjesht thirre. Pa SDK, pa hap ndërtimi, pa llogari: një etiketë script është i gjithë konfigurimi, dhe mund ta strehosh edhe vetë.
- Host
- …
- Pajisja
- …
- Aftësitë
- …
API është aktive në aplikacione dhe po shpërndahet me versionet e tyre të reja. Shkruaj për të sot dhe faqja jote vazhdon të funksionojë sido që të jetë: kur nuk ka host, window.mhub thjesht mungon dhe faqja jote mbetet një faqe e zakonshme interneti. Merr një shfletues që e ka.
mhub.fetch
Merr çdo gjë. Pa CORS, dhe me headers kërkese që shfletuesi zakonisht i rezervon për vete.
// cross-origin, i lexueshëm const r = await mhub.fetch(url);
mhub.openStream
Disa media kanë nevojë për headers të veta kërkese që të luhen. Një thirrje, dhe host-i zgjedh rrugën e duhur në çdo platformë.
const s = await mhub.openStream( { url, headers }); video.src = s.url;
mhub.storage
Ruajtje çelës/vlerë që ndjek faqen tënde, jo domenin ku rastis të jetë. Pa pyetje, pa konfigurim.
await mhub.storage.set(k, v);
mhub-site.json
Një domen bie, faqja jote ngarkohet prapë. Vendos një skedar të vogël në çdo domen; shfletuesi e gjen, verifikon pasqyrat e tua dhe kalon vetë te një tjetër. Pa kod.
{ "id": "mysite", "endpoints": [ "https://a.example", "https://b.example" ] }
mhub.setLinks
Një pllakë në ekranin kryesor të shfletuesit. Rruga e kthimit te faqja jote, që mbetet mes vizitave.
mhub.setLinks([ { id, name, icon, url }]);
mhub.setSearch
Shiriti i adresës bëhet kërkimi i faqes tënde. Kërkimet dhe sugjerimet shkojnë drejt e te faqja jote.
mhub.setSearch({ placeholder, onQuery, onSuggest });
mhub.device + capabilities
Dije ku po funksionon dhe çfarë mund të bëjë host-i, nga telefoni te televizori, para vizatimit të parë.
if (mhub.device.isTV) tvUi();
…dhe deklaratat e aplikacionit
Një faqe që funksionon si aplikacion i tregon host-it çfarë menaxhon vetë: navigimin e vet mbrapa (setBackHandler), një luajtës në ekran të plotë (setImmersive) dhe derën e daljes (exit); një etiketë meta në HTML thotë se është një aplikacion i ndërtuar për telekomandën. Çdo anëtar, me modelin e lejeve dhe sistemin e pasqyrave, është në referencën e API-së.
mhub.setBackHandler(depth); mhub.setImmersive(true); <meta name="mhub" content="app dpad">
Publikuar nga njerëz si ti.
56 shtojca të komunitetit nga 31 krijues deri tani. Hyr me email-in tënd, ngarko një dosje si zip ose lidh një që e strehon vetë, dhe pasi të kalojë shqyrtimin ajo ndodhet te mhub.mx/@you/addon, në listën e komunitetit dhe në repozitorin e tij.
Ndërto diçka. Të madhe apo të vogël.
Referenca e API-së mbulon çdo anëtar, modelin e lejeve dhe sistemin e pasqyrave. Specifikimi i protokollit vjen me shembuj të plotë shtojcash që mund t'i kopjosh.
Internet Archive
RTVE