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


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.
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ä.
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.
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.
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.
Katso
Alueellinen TV-kanavasi
Jokainen lähetys, jonka kanava julkaisee verkossa, riveinä ohjelmittain, iltauutiset ensimmäisenä.
Elokuvafestivaali
Ohjelmisto trailereineen ja synopsiksineen, selattavissa päivän, esityspaikan ja sarjan mukaan.
Mykkäelokuvat
Tekijänoikeuksista vapaita elokuvia Internet Archive -palvelusta, vuosikymmenen ja ohjaajan mukaan.
Urheiluseurasi
Ottelukoosteet, kokonaiset ottelut ja kauden otteluohjelma live-katalogina.
Kaupungin livekamerat
Yhden kaupungin julkiset webkamerat, satama, tori, vuori, suorina kanavina.
Valtuuston kokoukset
Kunnanvaltuustosi tallenteet ja suorat lähetykset istunnoittain ja asiakohdittain.
Kuuntele
Radioasemasi
Ne kymmenen asemaa, joita oikeasti kuuntelet, logoineen, haluamassasi järjestyksessä.
Yksi podcast-verkosto
Verkoston jokainen ohjelma sen RSS-syötteistä, uusimmat jaksot ensin.
Äänikirjat kirjailijoittain
Yhden kirjailijan LibriVox-äänitteet, luvut jaksoina, jatkettavissa siitä, mihin jäit.
Iltasadut
Lyhyitä äänisatuja lapsille, rauhallinen kansikuva jokaiselle sadulle eikä mainoksia.
Seurakunta
Kirkkosi, moskeijasi tai yhteisösi jumalanpalvelukset ja puheet, suorana ja tallenteina.
Radioaseman oma sovellus
Waves yhden aseman streameilla, podcasteilla ja omilla väreillä. Yksi HTML-tiedosto.
Opi
Yhden yliopiston luennot
Julkiset luentotallenteet tiedekunnan ja lukukauden mukaan, television ruudulla kannettavan sijaan.
Kielikurssi
Oppitunnit jaksoina järjestyksessä, ääniharjoitukset videoiden rinnalla.
Museokierrokset
Museon video- ja ääniopastukset huone huoneelta.
Kokkikoulu
Reseptivideot ruokalajin ja keittiön mukaan, ainekset kuvauksessa.
Arkistoselain
Ystävällinen käyttöliittymä Archive.org- tai Project Gutenberg -palveluun: selaa, hae ja lue kuin sovelluksessa.
Yhden konferenssin esitelmät
Konferenssisarjan jokainen tallennettu esitelmä vuoden ja ohjelmalinjan mukaan.
Koti ja perhe
Perheen infonäyttö
Sää, uutisotsikot ja sinulle tärkeiden asioiden hinnat yhdellä rauhallisella näytöllä. Tämän rakensimme itse: se on Glance.
Kodin ohjauspaneeli
Valot, NAS, tulostin, reititin. Selaimet kieltäytyvät tällaisista paikallisista pyynnöistä; mHub-sovellus tekee ne puolestasi.
Kameraseinä
Omat kamerasi paikallisverkosta ruudukkona televisiossa.
Perheen valokuvakehys
Kuvat omalta palvelimeltasi kuvakatalogina: televisiosta tulee kehys.
Piirretyt yhdeltä kanavalta
Yhden lastenkanavan ilmaiset jaksot ohjelmittain, turvallisia antaa lapsen käsiin.
Työkalut
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.
Hintavahti
Tarkista kauppojen hinnat ja saatavuus, pidä seurantalistaa ja näe vastaus millä tahansa näytöllä.
Palvelinten tilanäyttö
Omat koneesi, niiden levyt ja palvelut ruutuina, jotka muuttuvat punaisiksi ennen kuin kukaan ehtii soittaa.
YouTube-kanava katalogina
Resolve-lisäosa: liitä kanava, niin saat sen videot katalogina, joka toistuu.
Tekstitykset yhdelle kielelle
Tekstityslisäosa yhdelle kielelle, joka vastaa imdb-tunnisteisiin avoimesta tekstityslähteestä.
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.
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.
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" }] }
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ä.
Kopioi kehote
Se ohjaa tekoälyn spesifikaatioon. Toimii minkä tahansa linkkejä lukevan avustajan kanssa, kuten ChatGPT:n tai Clauden.
Lisää ideasi
"Suosikkiradioasemani." "Jokainen yhden ohjaajan elokuva." "Yliopistoni julkiset luennot." Mikä tahansa, missä on lista.
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.
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.
- 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">
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.
Internet Archive
RTVE