mHub
Avoin alusta · Addon Protocol v2 · Browser API

Mikä tahansa idea. Kaikille näytöille.

Rakenna radiosovellus yhdessä iltapäivässä.

mHub on avoin alusta, joka tekee yksinkertaisten tiedostojen kansioista ja tavallisista verkkosivustoista sovelluksia puhelimiin, televisioihin ja tietokoneisiin. Sinun ei tarvitse osata ohjelmoida: jos osaat kuvailla, mitä haluat, tekoäly voi rakentaa sen, ja mHub antaa sille paikan, jossa se toimii.

Toimii Vypn-selaimessa ja kaikissa mHub-selaimissa Avoin lähdekoodi, MIT Ei käännösvaihetta, ei tiliä Toimii puhelimissa, televisioissa ja tietokoneissa
Vuma televisiossa: esiteltävä DW-ohjelma dokumentti- ja talousvideoiden rivien yläpuolella, lisäosan katalogit ylälaidassa.
Vuma, mHub-sovellus, televisiossa. Kaikki tällä näytöllä tulee yhdestä lisäosasta: DW.
Konsepti

Yksi alusta, kolme osaa.

mHub ei ole yksi sovellus. Se on kolme toisiinsa sopivaa osaa, ja jokainen niistä on avoin. Kaksi niistä on perustuksia: sisältömuoto ja selain-API. Kolmas osa ovat sovellukset, ja jokainen niistä rakentuu toisen perustuksen tai molempien varaan.

01

Sovellukset

Se, mitä oikeasti käytät. Vuma tekee lisäosista yhden selattavan näkymän, ja muut sovellukset vievät kukin yhden idean jokaiselle kodin näytölle. Kaikki ovat verkkosovelluksia: mitään ei tarvitse asentaa. Katso sovellukset

02

Sisältö: lisäosat

Lisäosa on sisällön lähde: elokuvia, radioasemia, podcasteja, kursseja. Konepellin alla se on kansio pieniä tekstitiedostoja millä tahansa verkkopalvelimella, ja sen muodon määrittää Addon Protocol v2. Tekoäly voi kirjoittaa sellaisen puolestasi. Katso protokolla

03

Kyvyt: window.mhub

Avaa tavallinen verkkosivusto mHub-sovelluksessa, niin se voi tehdä asioita, joita selain ei koskaan salli: lukea dataa mistä tahansa, selvitä kaatuneesta verkkotunnuksesta ja asua televisiossasi. Yksi nimiavaruus, yksi script-tagi: mHub Browser API. Katso API

Osa yksi · Sovellukset

Suosikkimme. Kaikki käytössä nyt.

Vuma seisoo molempien perustusten varassa; sen rinnalla olevat sovellukset näyttävät, kuinka pitkälle yksi perustus yksinään kantaa. Viisi sovellusta, viisi eri ideaa, ja jokaisesta voi lähteä liikkeelle.

Vuma

Anna Vumalle lisäosia, niin se tekee niistä yhden selattavan näkymän: jokainen lisäosiesi katalogi, haku niistä kaikista, kirjasto ja soitin, joka jatkaa siitä, mihin jäit. Se on yksi verkkosovellus, joka toimii yhtä lailla puhelimissa, televisioissa ja tietokoneissa, ja se hoitaa itse kosketuksen, kaukosäätimen ja osoittimen.

Se seisoo molempien perustusten varassa: lisäosat tuovat sisällön, ja mHub-selaimessa Browser API lisää kyvyt, joita tavallisella sivulla ei koskaan ole. Voit jopa liittää sen omalle sivullesi omilla lisäosillasi ja omalla nimelläsi: yksi HTML-tiedosto.

Vuma puhelimessa: esiteltävä DW-ohjelma tietoineen ja Oma lista -painikkeineen suorien TV-kanavien rivin yläpuolella.
DW-lisäosa Vumassa puhelimessa: esiteltävä uutisvideo ja vieritettävä lista leikkeitä.

Waves

Radioasemat, podcastit ja ilmaiset äänikirjat yhtenä sovelluksena. Waves on yksi HTML-tiedosto saman Vuma-koosteen päällä: viisi äänilisäosaa, turkoosi korostusväri ja addonManager: "fixed", joten lähteet on määritetty valmiiksi ja käyttäjä vain kytkee niitä päälle ja pois. Katso sivun lähdekoodia: sivu on koko opas.

Waves: esiteltävä podcast SomaFM-radioasemien rivien yläpuolella, turkoosi aaltologo sivupalkissa.
Waves: SomaFM, Radio Browser, podcastit ja äänikirjat, turkoosia tummalla. Yksi HTML-tiedosto Vuman päällä.

Junior

Lasten TV. Yksi lisäosa, kirkkaat värit, saksaa ensimmäisestä näytöstä alkaen (locale: "de") ja addonManager: "hidden": sohvalta ei pääse sotkemaan mitään. Sekin on yksi HTML-tiedosto Vuma-koosteen päällä.

Junior: esiteltävä KiKA-animaatio lastenohjelmien rivien yläpuolella, saksaksi, keltainen tähtilogo sivupalkissa.
Junior: KiKA-lisäosa eikä mitään muuta, ja tähti ovessa.

Mediathek

Lisäosa on data; se, mitä joku rakentaa sen päälle, on sovellus. Mediathek on yksi HTML-tiedosto suoraan ard-mediathek-lisäosan päällä, ilman Vumaa välissä: rivit, haku, sarjat jaksoineen, tekstitykset ja soitin, joka muistaa, mihin jäit. Lisäosa hakee sisällön, sivu hoitaa ulkoasun.

Mediathek: ARD-videoiden ja -sarjojen rivit otsikoineen, päivämäärineen ja kestoineen sekä hakukenttä.
Mediathek, yksi HTML-tiedosto yhden lisäosan päällä, ilman mitään omaa ylläpidettävää.

Glance

Toinen perustus yksinään: Glance ei käytä lainkaan lisäosia. Se on yksi HTML-tiedosto Browser API -rajapinnan päällä, ja se tuo reaaliaikaisen sään, uutisotsikot, markkinahinnat ja omien palvelimiesi tilan yhdelle rauhalliselle näytölle. Tavallisessa selaimessa se toimii rajoitetusti; mHub-sovelluksessa jokainen ruutu herää eloon.

Glance: kello, sää, markkinahinnat ja uutisotsikot rauhallisina ruutuina yhdellä näytöllä.
Glance, yksi HTML-tiedosto, joka hakee reaaliaikaisen sään, uutisotsikot ja hinnat.
Mitä voit rakentaa

Yksi idea, yksi kansio, kaikki näytöt.

Kaikesta, missä on lista, voi tehdä lisäosan, ja kaikesta, mitä selain kieltäytyy tekemästä, voi tehdä sivuston mHubin sisälle. Nämä ovat ideoita, jotka haluaisimme nähdä toteutettuina, ja jokainen niistä on yhden kehotteen päässä: valitse yksi, niin se siirtyy alempana olevaan tekoälykehotteeseen.

Lisäosa: kansio JSON-tiedostoja, missä tahansa tai mhub.mx:ssä Sivusto: yksi verkkosivu Browser API -rajapinnan päällä Sovellus: Vuma omilla lisäosillasi ja omalla nimelläsi

Katso

Lisäosa

Alueellinen TV-kanavasi

Jokainen lähetys, jonka kanava julkaisee verkossa, riveinä ohjelmittain, iltauutiset ensimmäisenä.

Lisäosa

Elokuvafestivaali

Ohjelmisto trailereineen ja synopsiksineen, selattavissa päivän, esityspaikan ja sarjan mukaan.

Lisäosa

Mykkäelokuvat

Tekijänoikeuksista vapaita elokuvia Internet Archive -palvelusta, vuosikymmenen ja ohjaajan mukaan.

Lisäosa

Urheiluseurasi

Ottelukoosteet, kokonaiset ottelut ja kauden otteluohjelma live-katalogina.

Lisäosa

Kaupungin livekamerat

Yhden kaupungin julkiset webkamerat, satama, tori, vuori, suorina kanavina.

Lisäosa

Valtuuston kokoukset

Kunnanvaltuustosi tallenteet ja suorat lähetykset istunnoittain ja asiakohdittain.

Kuuntele

Lisäosa

Radioasemasi

Ne kymmenen asemaa, joita oikeasti kuuntelet, logoineen, haluamassasi järjestyksessä.

Lisäosa

Yksi podcast-verkosto

Verkoston jokainen ohjelma sen RSS-syötteistä, uusimmat jaksot ensin.

Lisäosa

Äänikirjat kirjailijoittain

Yhden kirjailijan LibriVox-äänitteet, luvut jaksoina, jatkettavissa siitä, mihin jäit.

Lisäosa

Iltasadut

Lyhyitä äänisatuja lapsille, rauhallinen kansikuva jokaiselle sadulle eikä mainoksia.

Lisäosa

Seurakunta

Kirkkosi, moskeijasi tai yhteisösi jumalanpalvelukset ja puheet, suorana ja tallenteina.

Sovellus

Radioaseman oma sovellus

Waves yhden aseman streameilla, podcasteilla ja omilla väreillä. Yksi HTML-tiedosto.

Opi

Lisäosa

Yhden yliopiston luennot

Julkiset luentotallenteet tiedekunnan ja lukukauden mukaan, television ruudulla kannettavan sijaan.

Lisäosa

Kielikurssi

Oppitunnit jaksoina järjestyksessä, ääniharjoitukset videoiden rinnalla.

Lisäosa

Museokierrokset

Museon video- ja ääniopastukset huone huoneelta.

Lisäosa

Kokkikoulu

Reseptivideot ruokalajin ja keittiön mukaan, ainekset kuvauksessa.

Sivusto

Arkistoselain

Ystävällinen käyttöliittymä Archive.org- tai Project Gutenberg -palveluun: selaa, hae ja lue kuin sovelluksessa.

Lisäosa

Yhden konferenssin esitelmät

Konferenssisarjan jokainen tallennettu esitelmä vuoden ja ohjelmalinjan mukaan.

Koti ja perhe

Sivusto

Perheen infonäyttö

Sää, uutisotsikot ja sinulle tärkeiden asioiden hinnat yhdellä rauhallisella näytöllä. Tämän rakensimme itse: se on Glance.

Sivusto

Kodin ohjauspaneeli

Valot, NAS, tulostin, reititin. Selaimet kieltäytyvät tällaisista paikallisista pyynnöistä; mHub-sovellus tekee ne puolestasi.

Sivusto

Kameraseinä

Omat kamerasi paikallisverkosta ruudukkona televisiossa.

Lisäosa

Perheen valokuvakehys

Kuvat omalta palvelimeltasi kuvakatalogina: televisiosta tulee kehys.

Sovellus

Lasten TV

Yksi lisäosa, kirkkaat värit, eikä sohvalta pääse sotkemaan mitään. Se on Junior.

Lisäosa

Piirretyt yhdeltä kanavalta

Yhden lastenkanavan ilmaiset jaksot ohjelmittain, turvallisia antaa lapsen käsiin.

Työkalut

Sivusto

Uutistenlukija

Hae mikä tahansa syöte suoraan lähteestä. Tavalliset selaimet estävät sen; mHubissa se vain toimii, ja sitä on mukava lukea sohvalta.

Sivusto

Hintavahti

Tarkista kauppojen hinnat ja saatavuus, pidä seurantalistaa ja näe vastaus millä tahansa näytöllä.

Sivusto

Palvelinten tilanäyttö

Omat koneesi, niiden levyt ja palvelut ruutuina, jotka muuttuvat punaisiksi ennen kuin kukaan ehtii soittaa.

Lisäosa

YouTube-kanava katalogina

Resolve-lisäosa: liitä kanava, niin saat sen videot katalogina, joka toistuu.

Lisäosa

Tekstitykset yhdelle kielelle

Tekstityslisäosa yhdelle kielelle, joka vastaa imdb-tunnisteisiin avoimesta tekstityslähteestä.

Lisäosa

Missä nimikettä voi katsoa

Kirjoita elokuvan nimi ja näe, missä sitä voi katsoa maassasi. Kohdelisäosa avoimen tietokannan päällä.

Teitkö jonkin näistä? Julkaise se mhub.mx:ssä: tarkistamme sen, ylläpidämme sitä nimelläsi ja listaamme sen yhteisön repositorioon.

Osa yksi · Tee Vumasta omasi

Oma sovelluksesi on yksi HTML-tiedosto.

Waves ja Junior ovat juuri tätä: lataa Vuma-kooste, anna sille elementti, kutsu mount. Tämä tiedosto millä tahansa staattisella palvelimella on valmis sovellus omilla lisäosillasi, nimelläsi ja väreilläsi, ja se seuraa Vuman julkaisuja itsestään. Ei käännösvaihetta, ei palvelinkoodia, ei tiliä.

<!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>

Lisäosa on sen manifestin URL-osoite. Täällä ylläpidetyt on listattu lisäosahakemistoon, ja tekoäly voi rakentaa sinulle uuden.

Jokainen mount-asetus ja se, mistä tiedostot tulevat, on dokumentoitu itse sovelluksessa: Näin teet oman sovelluksesi. Ohje tulee koosteen mukana, joten se kuvaa juuri sitä versiota, jota olet lataamassa, eikä sitä, jota vasten tämä sivu kirjoitettiin.

Osa kaksi · Addon Protocol v2

Lisäosa on kansio JSON-tiedostoja.

Lisäosa on sisällön lähde: elokuvia, radioasemia, podcasteja, reseptejä, kursseja. Laita kansio minne tahansa verkkoon ja lisää sen osoite sovellukseen, niin kaikki sen sisältö näkyy siellä selattavana. Protokollan versio 2 ei tarvitse palvelinta: jokainen päätepiste voi olla staattinen tiedosto missä tahansa CDN:ssä. Jokainen olemassa oleva v1-lisäosa toimii edelleen; sovellukset kääntävät näiden kahden välillä, ja v1:n tuki jatkuu.

Staattinen ensin

Kaikki päätepisteet ovat GET-pyyntöjä, kaikki välimuistiin tallennettavia ja kaikki ylläpidettävissä tavallisina tiedostoina. Yksi valinnainen POST tehtäväjärjestelmää varten.

/mhub-addon.json
/catalog/{type}/{catalogId}.json
/item/{type}/{id}.json
/source/{type}/{id}.json

Koottava

Katalogit, kohteiden tiedot, lähteet, resolverit ja tekstitykset ovat erillisiä resursseja. Yksi lisäosa voi tarjota ne kaikki tai vain yhden.

"resources": ["catalog",
  "item", "source",
  "resolve", "subtitle"]

Client-fetch-tehtävät

Päätepiste voi vastata datan sijaan tehtävällä. Sovellus tekee haun käyttäjän omalla IP-osoitteella, joten staattinen lisäosa toimii myös alueellisesti rajoitettujen rajapintojen kanssa.

// lisäosa pysyy staattisena,
// asiakas hoitaa haun

mhub-addon.json

Minimaalinen lisäosa on yksi manifesti ja yksi katalogitiedosto. Lataa molemmat mille tahansa staattiselle palvelimelle, niin se toimii. Spesifikaatio on OpenAPI 3.1, ja sen mukana tulevat generoidut TypeScript-tyypit ja riippuvuudeton asiakaskirjasto, MIT-lisenssillä, GitHubissa.

{ "id": "my-movies", "name": "My Movies", "specVersion": 2,
  "resources": ["catalog"], "types": ["video"],
  "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Osa kaksi · Rakenna tekoälyllä

Kuvaile se. Tekoäly rakentaa sen.

Koko lisäosamuoto mahtuu yhteen kehotteeseen, eikä sinun tarvitse koskaan lukea sitä. Kopioi kehote, lisää ideasi, niin tekoäly vastaa kansiollisella tiedostoja. Lataa ne minne tahansa, niin lisäosasi on käytössä.

01

Kopioi kehote

Se ohjaa tekoälyn spesifikaatioon. Toimii minkä tahansa linkkejä lukevan avustajan kanssa, kuten ChatGPT:n tai Clauden.

02

Lisää ideasi

"Suosikkiradioasemani." "Jokainen yhden ohjaajan elokuva." "Yliopistoni julkiset luennot." Mikä tahansa, missä on lista.

03

Lataa tiedostot

Mikä tahansa staattinen palvelin käy, ja GitHub Pages on ilmainen. Lisää osoite mHub-sovellukseen ja selaa omaa lisäosaasi.

Lue mHub Addon Protocol v2 -spesifikaatio osoitteesta
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
ja rakenna minulle lisäosa. Lisäosa on kansio staattisia JSON-tiedostoja,
valmiina ladattavaksi mille tahansa verkkopalvelimelle. Vastaa antamalla jokainen tiedosto:
ensin sen koko polku, sitten sen koko sisältö.

Lisäosani: [kuvaile ideasi tähän]

Jos avustajasi ei pysty avaamaan linkkejä, liitä spesifikaatiotiedosto keskusteluun. Spesifikaatio ja täydelliset esimerkkilisäosat löytyvät GitHubista.

Osa kolme · mHub Browser API

Mitä sivustosi voi tehdä mHubissa

Kaikki on yhden nimiavaruuden alla: window.mhub, ja jokainen isäntä tarjoaa koko ytimen. Tunnista nimiavaruus kerran ja kutsu sitä sitten suoraan. Ei SDK:ta, ei käännösvaihetta, ei tiliä: yksi script-tagi on koko asennus, ja sen saa ylläpitää myös itse.

<script src="https://mhub.mx/mhub.js"></script>
Tarkistetaan tätä selainta…
Isäntä
…
Laite
…
Ominaisuudet
…

API on käytössä sovelluksissa ja leviää niiden julkaisujen mukana. Kirjoita sitä vasten jo tänään, niin sivusi toimii joka tapauksessa: jos isäntää ei ole, window.mhub yksinkertaisesti puuttuu ja sivustosi pysyy tavallisena verkkosivustona. Hanki selain, jossa se on.

mhub.fetch

Hae mitä tahansa. Ei CORS-rajoituksia, ja käytössäsi ovat pyyntöotsakkeet, jotka selain tavallisesti varaa itselleen.

// toiselta originilta, luettavissa
const r = await mhub.fetch(url);

mhub.openStream

Jotkin mediat tarvitsevat toistuakseen omat pyyntöotsakkeensa. Yksi kutsu, ja isäntä valitsee oikean reitin jokaisella alustalla.

const s = await mhub.openStream(
  { url, headers });
video.src = s.url;

mhub.storage

Avain-arvo-tallennus, joka seuraa sivustoasi eikä verkkotunnusta, jossa se sattuu toimimaan. Ei kyselyä, ei asetuksia.

await mhub.storage.set(k, v);

mhub-site.json

Yksi verkkotunnus kaatuu, sivustosi latautuu silti. Tarjoa yksi pieni tiedosto jokaisessa verkkotunnuksessa; selain löytää sen, varmistaa peilisi ja vaihtaa varalle itsestään. Ei koodia.

{ "id": "mysite",
  "endpoints": [
    "https://a.example",
    "https://b.example" ] }

mhub.setLinks

Ruutu selaimen aloitusnäytöllä. Tie takaisin sivustollesi, joka säilyy käyntien välillä.

mhub.setLinks([
  { id, name, icon, url }]);

mhub.setSearch

Osoitepalkista tulee sivustosi haku. Haut ja ehdotukset menevät suoraan sivullesi.

mhub.setSearch({ placeholder,
  onQuery, onSuggest });

mhub.device + capabilities

Tiedä, missä toimit ja mihin isäntä pystyy, puhelimesta televisioon, jo ennen ensimmäistä piirtoa.

if (mhub.device.isTV) tvUi();

…ja sovellusmääritykset

Sovelluksena toimiva sivu kertoo isännälle, mitä se hoitaa itse: oman takaisin-navigointinsa (setBackHandler), koko näytön soittimen (setImmersive) ja uloskäynnin (exit); HTML:n meta-tagi kertoo, että se on kaukosäätimelle tehty sovellus. Jokainen jäsen, käyttöoikeusmalli ja peilijärjestelmä löytyvät API-dokumentaatiosta.

mhub.setBackHandler(depth);
mhub.setImmersive(true);
<meta name="mhub" content="app dpad">
Yhteisö

Kaltaistesi ihmisten julkaisemia.

Tähän mennessä 56 yhteisön lisäosaa 31 tekijältä. Kirjaudu sähköpostillasi, lataa kansio zip-tiedostona tai linkitä itse ylläpitämäsi kansio, ja kun se läpäisee tarkistuksen, se löytyy osoitteesta mhub.mx/@you/addon, yhteisön listalta ja yhteisön repositoriosta.

Rakenna jotain. Isoa tai pientä.

API-dokumentaatio kattaa jokaisen jäsenen, käyttöoikeusmallin ja peilijärjestelmän. Protokollaspesifikaation mukana tulee täydellisiä esimerkkilisäosia, joita voit kopioida.