mHub
Platformë e hapur · Addon Protocol v2 · Browser API

Ç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ë.

Funksionon në Vypn dhe në çdo shfletues mHub Burim i hapur, MIT Pa hap ndërtimi, pa llogari Funksionon në telefona, televizorë dhe kompjuterë
Vuma në një televizor: një emision i DW në fokus mbi rreshta me dokumentarë dhe video biznesi, me katalogët e shtojcës përgjatë pjesës së sipërme.
Vuma, një aplikacion mHub, në një televizor. Gjithçka në këtë ekran vjen nga një shtojcë e vetme: DW.
Koncepti

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.

01

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

02

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

03

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ë

Pjesa e parë · Aplikacionet

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.

Vuma në një telefon: një emision i DW në fokus, me detaje dhe butona për listën time, mbi një rresht me kanale televizive live.
Shtojca DW në Vuma në një telefon: një video lajmesh në fokus dhe një listë klipesh që rrëshqet.

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.

Waves: një podkast në fokus mbi rreshta me stacione radioje SomaFM, me një logo vale ngjyrë gurkali në shiritin anësor.
Waves: SomaFM, Radio Browser, podkaste dhe audiolibra, gurkali mbi sfond të errët. Një skedar HTML mbi Vuma.

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.

Junior: një animacion i KiKA në fokus mbi rreshta me emisione për fëmijë, në gjermanisht, me një logo ylli të verdhë në shiritin anësor.
Junior: shtojca KiKA dhe asgjë tjetër, me një yll në derë.

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.

Mediathek: rreshta me video dhe seriale të ARD me tituj, data dhe kohëzgjatje, dhe një fushë kërkimi.
Mediathek, një skedar HTML mbi një shtojcë, pa asgjë të vetën për të strehuar.

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ë.

Glance: ora, moti, çmimet e tregut dhe titujt e lajmeve si pllaka të qeta në një ekran.
Glance, një skedar HTML, që sjell motin, titujt e lajmeve dhe çmimet në kohë reale.
Çfarë mund të ndërtosh

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ë.

Shtojcë: një dosje me skedarë JSON, e strehuar kudo ose në mhub.mx Faqe: një faqe interneti mbi Browser API Aplikacion: Vuma me shtojcat e tua dhe emrin tënd

Shiko

Shtojcë

Televizioni yt rajonal

Çdo emision që stacioni publikon online, në rreshta sipas programit, me lajmet e mbrëmjes të parat.

Shtojcë

Një festival filmi

Programi me trailera dhe përmbledhje, i shfletueshëm sipas ditës, sallës dhe seksionit.

Shtojcë

Kinemaja pa zë

Filma në domenin publik nga Internet Archive, të renditur sipas dekadës dhe regjisorit.

Shtojcë

Klubi yt sportiv

Momentet kryesore të ndeshjeve, ndeshje të plota dhe kalendari i sezonit si katalog live.

Shtojcë

Kamerat live të qytetit

Kamerat publike të një qyteti, porti, sheshi, mali, si kanale live.

Shtojcë

Mbledhjet e këshillit

Regjistrime dhe transmetime live të këshillit bashkiak, sipas mbledhjes dhe pikës së rendit të ditës.

Dëgjo

Shtojcë

Stacionet e tua të radios

Dhjetë stacionet që dëgjon në të vërtetë, me logo, në rendin që të pëlqen.

Shtojcë

Një rrjet podkastesh

Çdo emision i një rrjeti nga burimet e tij RSS, me episodet më të reja në krye.

Shtojcë

Audiolibra sipas autorit

Regjistrimet LibriVox të një autori, kapitujt si episode, që vazhdojnë aty ku i le.

Shtojcë

Përralla para gjumit

Histori të shkurtra audio për fëmijë, me një kopertinë të qetë për çdo histori dhe pa reklama.

Shtojcë

Një bashkësi fetare

Shërbesat dhe ligjëratat e kishës, xhamisë ose bashkësisë tënde, live dhe të regjistruara.

Aplikacion

Aplikacioni i një stacioni

Waves, me transmetimet dhe podkastet e një stacioni dhe me ngjyrat e tij. Një skedar HTML.

Mëso

Shtojcë

Leksionet e një universiteti

Regjistrimet publike të leksioneve, sipas fakultetit dhe semestrit, në televizor në vend të laptopit.

Shtojcë

Një kurs gjuhe

Mësimet si episode, me radhë, me ushtrimet audio pranë videove.

Shtojcë

Vizita në muze

Guidat video dhe audio të një muzeu, sallë pas salle.

Shtojcë

Shkollë gatimi

Video recetash sipas pjatës dhe kuzhinës, me përbërësit në përshkrim.

Faqe

Një shfletues arkivi

Një pamje miqësore për Archive.org ose Project Gutenberg: shfleto, kërko dhe lexo si në një aplikacion.

Shtojcë

Prezantimet e një konference

Çdo prezantim i regjistruar i një serie konferencash, sipas vitit dhe sesionit.

Shtëpia dhe familja

Faqe

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.

Faqe

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.

Faqe

Muri i kamerave

Kamerat e tua, nga rrjeti lokal, si rrjetë në televizor.

Shtojcë

Korniza e fotove të familjes

Fotot nga serveri yt si katalog imazhesh: televizori bëhet korniza.

Aplikacion

Televizion për fëmijë

Një shtojcë, ngjyra të ndezura, asgjë për të ngatërruar nga divani. Ky është Junior.

Shtojcë

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

Faqe

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.

Faqe

Një vëzhgues çmimesh

Kontrollo dyqanet për çmime dhe disponueshmëri, mbaj një listë vëzhgimi, shiko përgjigjen në çdo ekran.

Faqe

Paneli i gjendjes së serverëve

Makinat e tua, disqet dhe shërbimet e tyre, si pllaka që skuqen para se të telefonojë dikush.

Shtojcë

Një kanal YouTube, i zgjidhur

Një shtojcë resolver: ngjit një kanal dhe merr videot e tij si katalog që luhet.

Shtojcë

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.

Shtojcë

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.

Pjesa e parë · Vuma me emrin tënd

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.

Pjesa e dytë · Addon Protocol v2

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" }] }
Pjesa e dytë · Ndërto me AI

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.

01

Kopjo prompt-in

Ai e drejton AI-në te specifikimi. Funksionon me çdo asistent që lexon lidhje, si ChatGPT ose Claude.

02

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ë.

03

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.

Pjesa e tretë · mHub Browser API

Ç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ë.

<script src="https://mhub.mx/mhub.js"></script>
Po kontrollohet ky shfletues…
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">
Komuniteti

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.