Linux Mint krijgt optie om van websites web-apps te maken

Versie 20.1 van Linux Mint krijgt een WebApp Manager. Met deze functie kunnen gebruikers websites omzetten in desktopapplicaties. De makers bouwen voort op de ICE-functie van Peppermint OS.

Linux Mint-oprichter Clement Lefebvre meldt dat WebApp Manager momenteel als bèta uit te proberen is en onderdeel gaat uitmaken van versie 20.1 van de distributie. Het project is geïnspireerd door de Site Specific Browser-applicatiemanager ICE van Peppermint OS, waarvan de ontwikkeling al in 2010 begon.

De WebApp Manager van Linux Mint krijgt onder andere een gewijzigde interface, een editmogelijkheid, ondersteuning voor automatische selectie van site-icoontjes en verbeterde downloadoptie voor favicons. Bovendien komt er de mogelijkheid de navigatiebalk van Firefox bij de web-apps te verbergen en teksten in verschillende talen te vertalen. De manager wordt compatibel met ICE.

Linux Mint 20 'Ulyana' verscheen in juni. De release is gebaseerd op Ubuntu 20.04 LTS met de Linux Kernel 5.4. Onder andere beschikt de software over de Warpinator-applicatie om bestanden binnen lokale netwerken te delen. Ook is de prestatie van de Nemo-bestandsmanager verbeterd en is Snap-ondersteuning geschrapt.

Linux Mint WebApp Manager

Door Olaf van Miltenburg

Nieuwscoördinator

02-09-2020 • 10:44

40

Reacties (40)

40
40
35
7
0
4
Wijzig sortering
Ik had eerlijk gezegd een beetje moeite om te begrijpen welk probleem dit oplost dat je niet ook kan oplossen met een bookmark. Ik begrijp inmiddels dat het vooral gaat om een gebruikersvriendelijke interface.

Voor veel mensen is het conceptueel te moeilijk dat je een bookmark naar een site kan maken en die in je launcher opnemen, al dan niet gekoppeld aan een apart browser profiel dat in een nieuw venster start. Voor techneuten is dat niet zo spannend, voor een hoop andere mensen blijkbaar wel.
Volgens mij zijn bookmarks ook een beetje uit de aandacht gevallen van het brede publiek. Daar komt nog bij dat we langzaam aan het ontdekken zijn dat tabbladen geen oplossing zijn voor het probleem van te veel open vensters, maar het alleen maar verplaatst. Waar we vroeger een taakbalk hadden met daarin 30 geopende vensters, hebben we nu 1 venster (Firefox ;) ) met 30 geopende tabs.

Een ander punt dat mogelijk is en imho voor de hand liggend, maar voor mij niet duidelijk of ze het ook echt doen, is dat je websites lokaal kan cachen en pre-renderen zodat je ze razendsnel kan opstarten en misschien zelf offline gebruiken.

Ik weet dat bovenstaande een beetje laagdunkend klinkt maar de realiteit is nu eenmaal dat de meeste mensen computers nog steeds (te) moeilijk vinden. Waardoor er ontzettend veel tijd en moeite verspild wordt. Tools die mensen helpen om daar beter mee om te gaan zijn dus meer dan welkom.
Ik had eerlijk gezegd een beetje moeite om te begrijpen welk probleem dit oplost dat je niet ook kan oplossen met een bookmark. Ik begrijp inmiddels dat het vooral gaat om een gebruikersvriendelijke interface.
Privacy.

In een browser kunnen allemaal third-party cookies en dergelijke jou volgen van website naar website: nu.nl, Slack, GeenStijl, jobboard-van-de-concurrent, terug naar Slack.

Het draaien van grote complexe applicaties in een browser-tab heeft daarnaast nadelen wat betreft resource management en het aansturen van rand apparatuur.
- Het OS kan die ene tab niet eenvoudig meer geheugen geven, maar als losse app gaat dat wel makkelijk.
- Ook kun je ook eenvoudig zeggen dat App 1 over de headset gaat, en App 2 over de speakers, terwijl het niet makkelijk is om de tabjes van Firefox te scheiden in audio kanalen.

[Reactie gewijzigd door Eonfge op 22 juli 2024 21:58]

Privacy.
In een browser kunnen allemaal third-party cookies en dergelijke jou volgen van website naar website: nu.nl, Slack, GeenStijl, jobboard-van-de-concurrent, terug naar Slack.
Die zie ik niet. Waarom is deze "website in een applicatie" anders een "website in een tab"?
Deze applicatie is vooral een wrapper voor je browser. Op de achtergrond gebruik je gewoon dezelfde browser als altijd met dezelfde cookies als altijd.
Zonder extra maatregelen zie ik dit voordeel dus niet.
Het draaien van grote complexe applicaties in een browser-tab heeft daarnaast nadelen wat betreft resource management en het aansturen van rand apparatuur.
- Het OS kan die ene tab niet eenvoudig meer geheugen geven, maar als losse app gaat dat wel makkelijk.
- Ook kun je ook eenvoudig zeggen dat App 1 over de headset gaat, en App 2 over de speakers, terwijl het niet makkelijk is om de tabjes van Firefox te scheiden in audio kanalen.
Dat zijn praktisch gezien mooie punten Eerlijk gezegd vind ik dat een falen van het omringende systeem dat we tabjes hebben die door de applicatie zelf worden afgehandeld in plaats van door de window manager van je OS, maar dat is een andere discussie. Uiteindelijk is het wel een concreet probleem waar dit een oplossing voor is.
Alle pagina's die jij vanuit jouw browser bekijkt, gebruiken standaard het zelfde profiel, welke dus eenvoudig te fingerprinten is middels cookies, caches en dergelijke. Dit geeft de webhosts veel kennis over wie jij bent en wat jij doet.

Als ik het goed begrijp, maken ze voor elke 'web app' een losse browser-sessie met browser-profiel. Je hebt dan twee losse sets van cookies, welke niet van elkaars bestaan weten. In de prakijk kun je dit natuurlijk al doen met de privacy-modus in jouw browser, en je kunt bij Firefox ook meerdere profielen gebruiken en je kunt zelfs extra containers inzetten om privacy gevoelige data te scheiden. Een tool zoals dit is uiteindelijk gewoon een stukje gebruikersgemak, want de techniek is er al.

Wat betreft resources... ach ja, zo werkt het veelal wel. Het is inderdaad slordig en op papier zou je het tegenwoordig beter kunnen doen. Alleen niemand is er happig op om de proccess en memory management van Firefox en Chromium te herschrijven. In Linux zou elk browser tabje zijn eigen CGroup kunnen krijgen, maar dat is vermoedelijk even teveel werk. Docker, Podman en QEMU doet het namelijk wel: Elk proces in Docker heeft zijn eigen CGroup.

Edit. Blijkt trouwens dat je op Linux wel per tabje de volumes en output kunt regelen. Helaas hebben de AudioStreams geen unieke labels, dus het is even pielen:
https://i.stack.imgur.com/RzBIs.png

Edit 2. Nu zelf ook wat dieper in gedoken... het lijkt er bijvoorbeeld op dat Libre Office helemaal geen losse processen gebruikt, laat staat CGroups. Voor all verschillende instanties is er een hoofdproces genaamd soffice.bin en meer niet... Als 1 writer pagina crasht, dan crashen ze waarschijnlijk allemaal tegelijk.

soffice.bin is overigens een call-back naar de originele executable van Star Office uit 1994...

[Reactie gewijzigd door Eonfge op 22 juli 2024 21:58]

Edit 2. Nu zelf ook wat dieper in gedoken... het lijkt er bijvoorbeeld op dat Libre Office helemaal geen losse processen gebruikt, laat staat CGroups. Voor all verschillende instanties is er een hoofdproces genaamd soffice.bin en meer niet... Als 1 writer pagina crasht, dan crashen ze waarschijnlijk allemaal tegelijk.
Dat klopt, maar tegenwoordig schrijven editors de content pseudo real-time weg. Dus op het moment dat hij crashed, kun je verder gaan waar je gebleven bent.
Aangezien de meeste browsers tegenwoordig losse processen gebruiken voor iedere tab, gaat het geheugenpunt wat je noemt niet meer op.
Dat hangt er erg vanaf... In Linux (waar ik de meeste kennis van hebt) wordt geheugen en proces allocatie beheerd middels CGroups.

Op deze manier kun je het audio systeem, welke uit veel verschillende processen bestat, hoger prioriteren dan bijvoorbeeld de email client van de gebruiker. Dan stopt de muziek niet als je een zware email moet openen. Als een browser zijn tabbladen in losse processen en CGroups stopt, dan is het dus mogelijk om deze los te prioriteren en om daar dynamisch in te balanceren.

Ik heb het even kort getest (Fedora 32) en zowel Chromium als Firefox heeft bij mij geen losse CGroups voor de verschillende tabbladen. De tabbladen hebben wel allemaal losse processen, waardoor ze parallel kunnne draaien, maar het OS prioriteert deze gezamenlijk.
Goed punt, die waren me even ontschoten. Echter vraag ik me dan wel af of deze nieuwe feature daar nog bij gaat helpen: worden deze losse instanties wel in losse CGroups ingedeelt, of delen ze alsnog dezelfde?
Het zou het beste werken als deze wrapper losse applicatie instanties opstart per app. Dan zou je ze namelijk allemaal los in jouw audio-paneel zien, dan kun je ze los zien in jouw dash/dock/panel, en dan zijn ze los te prioriteren. Heeft ook privacy voordelen omdat processen helemaal worden gescheiden. Of dat ook zo is, weet ik eigenlijk niet.
In Safari draait elke tab in zijn eigen proces, ik verwacht dat andere browser bouwers dat ook wel gedaan hebben.
Teams is een Electron app. Het voegt weinig toe om het te installeren, en het is niet voor alle distros beschikbaar. Echter, het is fijn om het als app te hebben omdat je het gemakkelijker kan vinden in je windowmanager en je sommige dingen als float-on-top in wil kunnen stellen. De overige interface elementen van een browser zijn onnodig maar nemen wel ruimte in.
De reden waarom Electron zo populair is, omdat je een soort multiplatform GUI toolkit hebt. En alles op te lossen is met web frameworks. Je levert daarvoor heel veel resources in.
Een systeem dat daar dicht bij in de buurt komt met veel minder resources is "Flutter". Omdat Flutter ook Flutter-web heeft en dus ook in de browser werkt, en mede native. Het mooie hieraan is dat het native veel minder resources gebruikt. Maar toch wel hetzelfde "multiplatform" is als electron.
Zeker handig voor embedded, en resource constrained systemen.

Flutter heeft daarom een gigantische toekomst, niet alleen op Android en iOS.... maar als generiek multiplatform GUI toolkit.

[Reactie gewijzigd door Immutable op 22 juli 2024 21:58]

Teams is misschien niet zo een goed voorbeeld omdat de Electron-versie wel degelijk iets meer levert, zoals 9 webcams en een screencast tegelijk zichtbaar in een groepchat. Maar ik begrijp verder zeker wel wat je bedoelt.
Direct een app openen scheelt 2/3 kliks tegenover browser > bookmark mapje > bookmark. Daarnaast is het ook sneller bereikbaar in je taakbalk dan browser > tab.

Als je je browser met alle tabs zou sluiten je Teams oid ook zou sluiten wat je misschien helemaal niet wil.

En als laatste en misschien wel belangrijkste is dat je geen browser en bookmarks bar ziet bij je applicatie.
Direct een app openen scheelt 2/3 kliks tegenover browser > bookmark mapje > bookmark. Daarnaast is het ook sneller bereikbaar in je taakbalk dan browser > tab.

Als je je browser met alle tabs zou sluiten je Teams oid ook zou sluiten wat je misschien helemaal niet wil.

En als laatste en misschien wel belangrijkste is dat je geen browser en bookmarks bar ziet bij je applicatie.
Volgens mij kunnen de meeste moderen operating systems gewoon direct een linkje in de taakbalk opnemen, maar misschien ben ik verwend. Als je iets meer werk doet dan kun je dat linkje ook met een apart browser profiel laten opstarten, zoals een profiel dat een nieuw venster start zonder onnodige balken of knoppen. Ik denk zelfs dat deze applicatie op de achtergrond zo werkt.

Maar dat was een beetje mijn punt, voor veel mensens is deze applicatie een handige oplossing omdat ze niet weten hoe ze het zelf voor elkaar moeten krijgen.
Ik vind het erg handig voor websites die je eigenlijk compleet als applicatie gebruikt. Bijvoorbeeld, bij Outlook kan men het prettig vinden om het altijd op je taakbalk open te hebben. Bij andere email providers kun je dat op deze manier ook doen.

Zelf gebruik ik een persoonlijke wiki web-applicatie en is het vrij storend om het als website te gebruiken. Ik wil het immers als apart venster kunnen gebruiken voor het geval dat ik notities maak van webpagina's. Als ik het echter in een apart browser venster open dan wordt een deel van dat venster gevuld door browser tools die niet nodig zijn voor het gebruik van mijn wiki.
Ik heb het even uitgeprobeerd in Mint.

Ik denk dat de taakbalk misschien wat beter is uitgerust dan browsers om tabs (dus hier "programma's of apps") te sorteren. Je ziet ook duidelijk in de task manager welke app wat is en je kan ook makkelijk een "app" of programma killen als dat zich misgedraagt, terwijl alles gewoon in 1 browser draait en het dan wat moeilijker te vinden is.

Maar het echte grote voordeel ontgaat me eigenlijk ook wel.
Een ander punt dat mogelijk is en imho voor de hand liggend, maar voor mij niet duidelijk of ze het ook echt doen, is dat je websites lokaal kan cachen en pre-renderen zodat je ze razendsnel kan opstarten en misschien zelf offline gebruiken.
PWA's of progressive web apps zijn precies dit. Je kan ze offline gebruiken (als ze goed ontwikkeld zijn uiteraard) zelfs in je webbrowser. En eens je connectie maakt met het internet word alles dan gesynct met de server zodat je op een ander device of webbrowser dezelfde info kan binnentrekken.

[Reactie gewijzigd door nightgold op 22 juli 2024 21:58]

Ik heb ondertussen toch inderdaad wel een heel groot voordeel ontdekt.

De apps draaien in een isolated profile van de browser zoals hieronder ook wel eens aangehaald.

Normaal gezien draai ik Chromium met adblockers, maar sites zoals Microsoft Teams hebben zoveel troep ingebouwd dat als je wat te veel blokkeert, dit niet meer goed werkt. Daarom draaide ik sinds korte tijd deze dingen apart in Chrome in plaats van in Chromium. Natuurlijk begin je dan ook soms per ongeluk in Chrome te surfen in plaats van in Chromium. Vroeger nooit last van reclame gehad, maar nu als resultaat, een echte shitload aan gepersonaliseerde reclame die op mij afgevuurd wordt.

Met de webapps kan je netjes die lastige applicaties in een isolated chrome laten draaien, Chrome links laten liggen voor al de rest en zelf gewoon verder surfen in Chromium zonder dat je een fout maakt.
Zoiets leverde Ubuntu ~8 jaar geleden ook mee, toch?
En Firefox Prism vroeger, en recenter Gnome Web, daar heb je in het menu "Install Site as Web Application". Ik gebruik het al een tijdje voor bv. Outlook.
En werkt het dan ook offline? Bijvoorbeeld PDFescape.com vind ik echt de meest ideale tool om PDFs in te vullen en een handtekening plaatje op te zetten als het geen officieel formulier is. LibreOffice Draw laat te vaak PDFs zien waarbij de lay-out is verschoven en het verder bewerken vind ik te ingewikkeld. Andere tools zijn ook gaar.
Als dit als web app offline kan werken.. perfect.

Ik zou ook blij zijn met een mogelijkheid om simpel een link van Firefox te drag and droppen op mijn Panel in Ubuntu Budgie. Maar nog mooier als het in sommige gevallen (Word, Excel, PowerPoint online) eruit ziet als een echte app.
OT: Inkscape is vrij goed in het bewerken van PDF's alleen wel 1 pagina per keer dus nadien moet je de losse pagina's weer aan elkaar plakken.

Lijkt me een mooie functie, ik heb nu vaak meerdere tabs open staan van veel gebruikte sites dus gewoon met een icoon op je desktop een site kunnen starten en/of lokaal draaien lijkt me wel wat.
Neehoor, PDF van 5 pagina's geupload, de laatste pagina bewerkt, opgeslagen/gedownload en kreeg gewoon een PDF van 5 pagina's terug incl de laatste bewerkte pagina.

De limiet is 10MB/100 pagina's.

Anders was het zo goed als onbruikbaar.
Ik heb een lokaal geïnstalleerde versie van Inkscape draaien en upload geen pdf's naar sites waarvan ik niet zeker weet wat ze er mee doen.
Excuus, ik las PDFEscape, jij schreef Inkscape 😅
Nee, dit is gewoon een shortcut naar een browser waarin je de webversie open doet. Om een website offline te laten werken is vaak iets meer nodig. Dan moet de webapp in staat zijn om volledig serverless zijn werk te doen.
Ja, dat kan als de website/app gebruik maakt van serviceworkers.
Bijna goed, alleen dat is niet wat serverless betekent in de IT. Wat er voor nodig is, is een web app die gebruik maakt van service workers met caching.

[Reactie gewijzigd door thomasmoors op 22 juli 2024 21:58]

In theorie is dat mogelijk, mits de applicatie gebruik maakt van serviceworkers. Volgens mij bestaat bijvoorbeeld de Microsoft 365 online omgeving ook uit "PWA's", maar of deze ook offline werken weet ik niet.
is dat net zo'n "app" als op je telefoon? een icoontje :X :+ ? wat zit hier meer achter?
als het beetje vanaf de zijlijn aankijk lijkt het op een 'standaard browser, zonder toeters en bellen'

beetje als je de volgende javascript op een pagina los laat;
[code]javascript:void%20function(){window.open(window.location.href,Math.random(),%22menubar=1,resizable=0%22)}();[/code]

door als bookmark naar adres te slepen

//edit; kwam deze vd week tegen voor 'managen' van sessies/webapps (zakelijk/prive) https://switchextension.com/.

[Reactie gewijzigd door himlims_ op 22 juli 2024 21:58]

Yup, maar de meeste hybride apps werken al zo. Cordova, Flutter, React Native etc. - één code-base, meerdere platforms. Als je de Console van Chrome instelt op een telefoon zie je de mobiele "app" variant. Je levert wat in op snappiness (tenminste, dat was zo?) maar krijgt er een manageable repo voor terug. Business-wise vaak zeer de moeite waard door de kosten besparing in bouw en maintenance kosten.

[Reactie gewijzigd door DDuce op 22 juli 2024 21:58]

Dat lijkt me niet helemaal hetzelfde in het geval van React Native. Bij React Native worden JS-bestanden gekoppeld aan native functies voor zowel iOS als Android. Denk bijvoorbeeld aan een audiospeler. Die speler komt niet voort uit de HTML5 audio-code van Safari of een andere browser. Dat geluid wordt native gespeeld via AVFoundation (iOS) en ExoPlayer (Android).

React Native en Flutter zijn dus wel iets meer dan een simpele browser die van iedere website een app maken. Daarom lever je ook weinig in op snappiness. Ik weet niet wanneer je voor het laatst met RN gewerkt hebt, maar er zijn grote stappen gezet. :)
Hoezo werken Flutter en React Native zo?
ik heb geen ervaring met React Native, maar Flutter compileert naar native code
Linux heeft daarvoor .desktop files in /usr/share/applications. Dit is dus een eenvoudig formulier om de browser naar keuze een bepaalde pagina te laten openen.

Persoonlijk vind ik dit zeer nuttig om m'n smartphone: die rechtstreekse bookmark naar de web-based domotica-controller is zowat het enige dat ik mis sinds ik ben overgestapt op de Before launcher for Android.

Op een desktop kan je gewoon een bookmark aanmaken, lijkt mij.
Vergeet ~/.local/share/applications niet, zodat programma's en gebuikers zonder adminrechten ook direct shortcuts kunnen maken.

Daarnaast, is er al een app die web apps in losse containers kan draaien voor jou:
Tangram is a new kind of browser. It is designed to organize and run your Web applications. Each tab is persistent and independant. You can set multiple tabs with different accounts for the same application.

Common use cases:
- Stay up to date with your favorite communities
- Merge all these annoying separate chat applications into one
- Group your workplace tools under one application
https://www.flathub.org/apps/details/re.sonny.Tangram
Doet dit wat anders dan een website als pwa instaleren? Of is dit een schil die eigenlijk hetzelfde doet? Goed dat ze het erbij hebben. Mensen zijn nog niet echt gewend dat ze websites als standalone kunnen instaleren binnen je browser, dus meer opties zijn top.

Maar het zou makkelijker zijn dat chrome en firefox gewoon de mogenlijkheid beter presenteren in hun browsers.
Het is in essentie gewoon een browser openen met een eigen profiel en, in geval van Firefox, met de mogelijkheid om de adresbalk te verbergen. Het maakt het eenvoudiger om met alt+tab te wisselen of deze aan je taakbalk vast te maken.
Jup, zelfde met chrome en ik dacht ook safari. Maar ik bedoel meer het voorbeeld wat microsoft nu doet in hun edge (chrome variant dus). Daar heb je een mooi menu item die Apps heet die alle sites managed voor je.

https://docs.microsoft.co...essive-web-apps-chromium/
Je had al heel lang Peppermint OS hiervoor

Op dit item kan niet meer gereageerd worden.