10 ms·
Web Apps on macOS Sonoma 14 Beta
- samuelstros 3y agoThe slow death of Electron & Co? Electron apps like Discord, Slack, etc. don't seem to gain any benefit from being wrapped in Electron anymore. Have one codebase, one app, that works everywhere and can now even be "installed" with Safari.
- iansinnott 3y agoYou're probably right with regard to Slack, Discord. However, some Electron apps require access to the filesystem or other APIs that these installed web pages wont't support (as far as I know). FS access is listed as a wishlist item in the article. Electron still has a lot going for it if you need access to system APIs or you want it to be cross platform.
- apatheticonion 3y agoWhy don't apps that require additional access write a "runtime" daemon their website can connect to? Actually that might be a security nightmare
- Wowfunhappy 3y agoThis sounds like what Figma does to support custom fonts in their webapp! https://help.figma.com/hc/en-us/articles/360039956894-Access-local-fonts-on-your-computer#browser https://help.figma.com/hc/en-us/articles/360039956894-Access...
- breckenedge 3y agoThe manifest.json spec supports declaring “file_handlers” mapped to a URL action. Only supported in Chrome and Edge at the moment. The action URL could be handled by the service worker, so there’s no need for files to be sent over the network if all the processing can happen offline.
- pjmlp 3y agoOne can only hope. We keep having this idea since MSHTML and XUL,and thankfully it eventually goes out of fashion. I already have a browser, an OS Web widgets, no need to package a browser with the application other than laziness. Everyone shipping Electron is yet another ChromeOS advocate.
- eviks 3y agoBut your "a browser" is different for other people, which one do you expect devs to target?
- pjmlp 3y agoI expect they to do the same I have been doing since 1996 for Web projects, Web standards, and do the needful to make it work across browsers. Alternatively, do what I have been doing since 1990, middleware for business logic with native UI integration. The four preceding years don't count, as I was using only Timex 2068 as my single computer.
- eviks 3y agoThe 90-s have very little to show for, especially in the area of Web projects and standards, the testament of the failure of the latter is precisely the required scale of "the needful"
- pjmlp 3y agoThankfully many old timers aren't frozen in the 90's, we rather use our experience to write proper Web applications instead of being ChromeOS advocates. Can't say the same for the Electron generation.
- dylan604 3y agohere here. please excuse me while i adjust my suspenders and twist my beard as i yell get off my lawn. when i reference things from the 90s, it is far from my being stuck there. it is because i have the living memory of the pain from that time, and can see it being repeated by the people that have no living memory of that time. i lived that pain once, i don't need to relive it because someone else hasn't and is too stubborn to look at the history and not repeat it.
- duped 3y agoI mean Discord, and Slack still need to run on non-Apple devices.
- samuelstros 3y agoChrome supports "installing" apps for a long time. Apple is the blocker for true web apps with the year long lack of notifications for example.
- kelthuzad 3y agoI don't want to be nit-picky and it might seem like a minor nuisance, but developers will need the ability to display a small banner/prompt to educate user's about the possibility of installing the website like a regular app, otherwise it will be lost on casuals. I really hope that Apple implements this fully and doesn't use strategic loopholes to sabotage Web Apps in small but clever ways.
- galleywest200 3y agoWebsites do this already. On my iPad I have used sites that suggest doing this.
- fredoralive 3y agoThe trouble with that is every website will set the flag so they try and grab some nice traffic generating (they hope) screen real estate. So less savvy users will get a bad user experience with a home screen / dock full of spam sites because they always hit yes and tech savvy users will just turn off the banner as every site spams them with it. Plus, we already have enough spam interactions before you can actually use websites with stuff like notification enabling prompts, newsletter signups, chatbots and cookie stuff. No more please...
- nerdjon 3y agoI would think this could be done the same way that some websites that are optimized for web apps on iOS will have a prompt (often pointing to the control) saying you can save the website as a web app.
- TazeTSchnitzel 3y agoI wouldn't hold my breath. This always was and I think still is the problem with web apps on iOS: there's no good way to prompt the user to add it to their Home Screen. There's tons of sites out there that do it in their own ad-hoc way, but point in the wrong place because they were designed for Safari (n-1). Meanwhile there's long been special affordances to make it easy to go to an App Store page. The purpose of a system is what it does…
- Loveaway 3y ago
- sambeau 3y agoI would love to be able to ship apps in this, with a code bundle, so we don't need to ship a full Electron engine for every app. Even better, I wish someone would standardise it so we could still write one, ship to all platforms.
- Hamuko 3y agoI imagine most developers will still elect to ship their apps using Electron for the usual Safari issues: Safari is only on macOS, very slow to adapt new web technologies and Safari updates are largely tied to macOS updates.
- garblegarble 3y ago>very slow to adapt new web technologies I'm not sure this argument holds water given the shockingly old versions of Electron that vendors ship (WhatsApp is using 13.6.9, Slack 24.2.0, Skype 19.0.9, Discord 22.3.2...) Separately, is Safari actually slow to adopt new web technologies, or do they wait for standardisation and not simply accept the latest half-baked api of the week that Google builds for Chromium, uses across their websites, and then proclaims a New Web Standard?
- tough 3y agoPush notifications where a chromium thing?
- garblegarble 3y agoRemembering that this thread is in the context of using native browser engines for desktop apps vs Electron, and the original poster's suggestion was quite measured (i.e. we don't need electron for every desktop app). I don't think your point about push notifications is particularly relevant in this use case (personally I don't want desktop apps sending me any push notifications when they're closed - am I in a minority?) A review comparing the bleeding edge versions of Chrome, Edge, Safari, and Firefox on caniuse.com shows that Safari is doing quite well: https://caniuse.com/?compare=chrome+117,edge+114,safari+TP,firefox+115&compareCats=all https://caniuse.com/?compare=chrome+117,edge+114,safari+TP,f... Many of the areas of "no" for Safari are also "no" for Firefox, suggesting Chrome/Chromium features without a consensus amongst browser vendors, and many don't make any sense for desktop apps (e.g. Vibration/Gyro/Accelerometer APIs). The GP made a fairly broad statement about web technology support which is what I was responding to - I know they've lagged behind on Push Notifications but what I'm arguing is that I think the narrative of "Safari is slow to adopt new web tech" is more a perception driven by Chromium constantly pushing new features into their browser (and them being regarded as 'web tech' rather than 'chrome tech' simply by nature of their position in the market) than Safari actually lagging behind standards implementation generally. P.S. On Web Push, I don't think anybody whose older relatives use Android and get regular advert-laden push notifications (from sites they didn't realise they were accepting push notifications from, and often aren't sure how to stop them) would disagree that Google's attitude on Web Push was foolhardy, and Apple taking a more thought out approach is welcome (although I agree that it should have happened faster)
- deleted 3y ago[deleted]
- phartenfeller 3y agoI don't get why it is forced to be on the Dock. I like having a super slim dock that only has open apps in it.
- Hamuko 3y ago>When right-clicking the Dock icon, you can uncheck Keep in Dock and still launch the app via Launchpad, Spotlight Search, or even just by double-clicking the app icon in ~/Applications/.
- dbbk 3y agoReally it would make more sense to be added to Launchpad but they seem to have all but forgotten about that feature
- ezfe 3y agoIt's not - it's just an app in your Applications folder that's automatically put in your dock. You can remove it. They just label it that way to make it easier for beginners to reason with.
- hahnchen 3y agoWhat’s different from opening the websites from safari?
- jitl 3y agoThis is described in the article.
- Foobar8568 3y agoHello internet explorer, active desktop etc... We are going full circle there.
- azinman2 3y agoExcept it’s not pinned to your desktop.
- tolmasky 3y agoCan Web Apps use tabs? As in, if I command click a link, will it open in a native tab in the Web App? If they can't, then a bunch of apps I want to use as web apps will have to stay within the main browser unfortunately.
- galleywest200 3y agoHaving tabs would just make it a browser. Your description leads me to believe you want a browser anyways, not a single app experience whatsoever.
- thx-2718 3y agoUm am I not understanding what "Web App" means? "A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection." https://en.wikipedia.org/wiki/Web_application https://en.wikipedia.org/wiki/Web_application
- breckenedge 3y agoProgressive Web App https://en.m.wikipedia.org/wiki/Progressive_web_app https://en.m.wikipedia.org/wiki/Progressive_web_app
- thx-2718 3y agoAm I missing something there? Appears a browser is still required. i.e. at the moment these don't work with Firefox.
- breckenedge 3y agoYea a browser is required and is provided by whatever browser was used to install the app. So if you “install” the PWA with Chrome, then Chrome is used to open it. On Mac/Safari 17+, it looks like it’s provided by Web App.app, which is probably just a wrapper for Safari. A separate browser install is not required. It works in Firefox, not sure why Wikipedia has that wrong.
- cat-whisperer 3y agoFor web apps using wasm for development could be a game changer
- jessmartin 3y agoI am unreasonably excited about Safari PWAs on macOS. This is a very good start. Some of my favorite details from the article: > Different from iOS/iPadOS, credentials in cookies are copied over, so if you were logged in when running in the tab, you're logged in when you launch the app. No other storage means apart from cookies are copied. > Same-origin (or in-scope if a manifest exists) links are handled in-app, cross-origin (or out-of-scope if a manifest exists) links open in the default browser. A notable exception are OAuth flow links, which are handled in-app based on a heuristic. > Web apps run in the context of a separate process called `Web App.app`. Separating Safari and Web App allows both to run independently. You can open a Web app without opening Safari, you can close Safari without all web apps closing. Buuutt... FileSystem API is not supported yet. Nor is drag-and-drop or LaunchHandler (open a specific file type with the web app). If we had those features, we could get back to storing and editing files on disk, using web apps, which would be a huge improvement for local-first apps.
- kitsunesoba 3y ago> Web apps run in the context of a separate process called `Web App.app`. Separating Safari and Web App allows both to run independently. You can open a Web app without opening Safari, you can close Safari without all web apps closing. This is a big thing that's dampened my desktop usage of PWAs with Chrome and other Cloniums - it's highly irritating for Chrome itself to fire up when I launch an installed PWA. Not a problem if Chrome is your main browser I suppose, but that's not an assumption that should be made. Glad Apple took this route on this.
- jonhohle 3y ago> FileSystem API is not supported yet. Nor is drag-and-drop or LaunchHandler Drag-and-drop as in, not handled any better than current web apps? As for the other two, I hope they never are. My hope is that this feature is for process isolation for things that may be open all of the time anyway and not have native alternatives: project management tools, social sites, media sites. I don't want developers to build web apps in place of native and point to "Web Apps". I know I'm fighting an uphill battle, but 10 years later, Electron apps still suck. I'm not interested in making it easier for developers to build crappy desktop apps.
- koromak 3y agoAny reason you can think of that local storage gets ignored while cookies are maintained?
- graftak 3y agoLocalStorage may include application state that is irrelevant/incompatible with the PWA version of the page(?). For session authentication a http secure cookie has long been the best practice for anyway, which is now marginally underlined even more so.
- jitl 3y agoCookies have a very small size limit. Other storage like cache, IndexedDB, etc can be 100MB+ Also Safari’s IndexedDB implementation has always been a little shaky I wouldn’t want to deal with it if I was implementing this feature!
- mmaorc 3y agoThis is amazing! I just finished working on a tiny ChatGPT wrapper in Electron just to mimic this feature. I'm very excited to be able to do that easily with GSuite and basically every other website I use daily.
- jljljl 3y agoDoes using Slack as a Safari Web App reduce resource consumption vs the Electron app? This seems like a huge deal if so
- guessmyname 3y ago> Does using Slack as a Safari Web App reduce resource consumption vs the Electron app? Yes. Yes it does. This is why “native” apps that use the operating system’s default WebView for the corresponding platform run seamlessly compared to apps packaged with Electron. Safari is has much better performance than any other web browser on macOS, and this change will allow users to access those benefits.
- crazygringo 3y agoSeamlessly? How is Electron not seamless? Also using Safari is great if your app is Mac-only, but the whole point of Electron is to support Mac and Windows and Linux. And not have to worry about browser quirks and Safari versions and backfills and whatnot.
- LoganDark 3y ago> Seamlessly? How is Electron not seamless? Because it duplicates the overhead of an entire browser (and Chromium at that) rather than the overhead of a single webpage in an already-open browser?
- jljljl 3y agoSo overhead for a single app might be comparable, but each subsequent Electron app that I replace with a Safari Web App would use significantly less CPU/RAM
- LoganDark 3y agoI believe so. I would hope that the overhead for "having more than 0 webviews open" is global across the entire OS; we know that macOS uses a global shared library cache at least.
- jmull 3y ago> Let web apps programmatically trigger the Add to Dock flow, since the Share icon and the File menu install ways are hard to discover. Please, for the sake of all decency, no! We do NOT need new ways for web sites to badger users. (Sorry to focus on this one thing. This was a great and informative article, with 99% good ideas. I just had a visceral reaction to the idea of yet more ways for sites to harass me as a user.)
- kemayo 3y agoSeriously, I'm already sick of "let me send you desktop notifications!" popups.
- kitsunesoba 3y agoAll browsers should have a setting that just tells all sites that notifications are enabled but never actually shows them until the user opts in so sites can't present those stupid prompts.
- dev_tty01 3y agoAnd why attempt to start sending notifications if it is the first time I have visited a site? I don't know the site, I haven't had time to read any of the content. Why would I possibly want to get notifications from a site I know nothing about? Maybe if I visit it several more times in the next week or two, then ask me if I want notifications if you feel you must. Anything else is just annoying and sort of mindless.
- kitsunesoba 3y agoSites likely do this to prey on "yes-click syndrome" where people just blindly mow through prompts to get to whatever it was they came for more quickly.
- fatfox 3y agoTo turn off notification popups, in Safari... 1. Go to Settings 2. Open Websites tab 3. Select General -> Notifications 4. Untick "Allow websites to ask for permission to send notifications" No more notification popups!
- pathartl 3y agoAre SSBs popular again? I remember them being all the rage with Mozilla Prism or Fluid.
- meepmorp 3y agoYeah, seems like it; this time they have first party support by the os vendor, which is nice.
- graypegg 3y agoIf there’s a .app package, does that also mean there’s a signable + distributable app ready to go? If so, good bye electron.
- latexr 3y agoThere is a .app (saved to ~/Applications) but there’s no binary inside. The full file structure: . └── Contents ├── Info.plist ├── Resources │ └── ApplicationIcon.icns └── _CodeSignature ├── CodeDirectory ├── CodeRequirements ├── CodeResources └── CodeSignature Looks like all the necessary information is saved inside the Info.plist.
- pavlov 3y agoUsable PWAs on macOS is great news. At the same time, I can’t help think Apple’s sudden interest in making web apps more useful has to do with visionOS. When iOS was brand new, they were talking up web apps because they needed the content. When the platform got established, Apple could tighten the screws and drive developers towards native apps by not supporting the latest web features. Now that they have an upstart platform again, they’re once more interested in PWAs, WebXR and so forth — until the day comes that visionOS is established enough. Of course this was always Microsoft’s playbook too, as we saw most egregiously with Internet Explorer 6 not receiving any updates after MS concluded they had won.
- throw74775 3y ago> I can’t help think Apple’s sudden interest in making web apps more useful has to do with visionOS. Of course it does. But that has nothing to do with the cynical conspiratorial manipulation you then go on to describe.
- pavlov 3y agoSure, if past behavior is no kind of prior.
- throw74775 3y agoConfirmation bias is never a prior.
- johnbellone 3y agoI'd say it's more likely a way for them to argue that there's an alternative way to publish applications to the device so they can keep big government away from their App Store cashflow.
- mrweasel 3y agoI can't seem to figure out if it's possible to run the web apps (PWA) without launching Safari every time. That has been one of my main complaint about Chrome PWAs. Everything I launched Google Chat, Chrome would also start. I get that it's Chrome doing the actual work, but I don't use the browser, so why would I want it on my Dock.
- quic5 3y ago> Observation: Separating Safari and Web App allows both to run independently. You can open a Web app without opening Safari, you can close Safari without all web apps closing.
- blairbeckwith 3y agoI can confirm that you can run web apps created this way on the developer beta without having Safari running, and if you have both running than quitting Safari will not quit the web app.
- microflash 3y agoThis is already available in Orion [1] which installs any site (PWA or otherwise) as .app [1]: https://browser.kagi.com/ https://browser.kagi.com/
- deleted 3y ago[deleted]
- rob-olmos 3y agoIt would be nice for web apps to have a setting users (not only the developers) can enable that will allow closing the app's window without quitting the app, like a lot of native desktop apps behave (eg, Safari).
- square_usual 3y agoExtensions not running is disappointing. I would prefer my adblocker run in the app as well.
- freediver 3y agoYou can try Orion browser's [1] web apps which inherit the native adblocker from Orion and have more powerful options than Safari, while still running WebKit underneath. [2] [1] https://browser.kagi.com https://browser.kagi.com [2] https://blog.kagi.com/orion-new-features https://blog.kagi.com/orion-new-features
- square_usual 3y agoI am an active user of Orion! I'd like Safari-based apps to be better, if only so I can also use them as such on iPad and iPhone.
- Etheryte 3y agoWhile I understand where you're coming from, I think it makes a lot of sense continuity-wise. A regular user doesn't care nor know how these apps work internally, as far as they're concerned, it's just another app. You wouldn't expect changing the settings of one of your apps to change the way random other apps work (power user tools notwithstanding).
- c-hendricks 3y agoGiven I'm a developer who uses PWAs on every device, my opinion probably doesn't mean much compared to the general public. But this means I'll never use YouTube in Web App.app, and just sounds like it's going to be annoying using my password manager (though to be fair, Safari alone makes it a pain to use my password manager)
- benzible 3y agoFlotato got sherlocked https://flotato.com https://flotato.com
- sgt 3y agoI how wonder how well these will render Flutter desktop apps. Edit: Wait - I realize flutter desktop apps on macOS won't have to use Flutter web at all.
- throwawa14223 3y agoJust like all PWAs I get the appeal as a developer, but I have no clue as a user why I would ever want this.
- hendersoon 3y agoMy main objection to PWAs is that I can't run an content blocker or other extensions inside of them. This renders them unacceptable to me. For example, one main use would be YouTube. Right now I use a separate Firefox profile on my second monitor so I can run uBlock Origin and Sponsorblock. It isn't solely about blocking advertisements. I use content blockers extensively to get rid of annoyances, popup banners, intrusive elements of websites like Reddit's incessant prompting to buy "coins" (whatever the heck those are) or join their social media push a la moment. I can't comfortably use the web without this functionality.
- xnx 3y agoCredit to Microsoft for having a similar feature in 1999: https://en.wikipedia.org/wiki/HTML_Application https://en.wikipedia.org/wiki/HTML_Application
- amadeuspagel 3y ago"When a user adds a website to their Dock, Safari will copy the website's cookies to the web app. That way, if someone is logged into their account in Safari, they will remain logged in within the web app. This will only work if the authentication state is stored within cookies. Safari does not copy over any other kind of local storage. After a user adds a web app to the Dock, no other website data is shared, which is great for privacy." What is the additional privacy risk from IndexedDB and localstorage? I would have thought apps that store everything locally, that don't require any backend at all are great for privacy, but what do I know, I don't have billions to spend on privacy branding.
- eshack94 3y agoI probably wouldn't use something like this without extensions support. I can't imagine browsing the web these days without an adblocker. Otherwise, this seems pretty neat. I think I'll stick with my current approach unless they decide to enable extension support.
- rstevens333 3y agoDoes anyone know if the new Safari web app stuff means you can connect a web app to a widget?