Say yes to the progressive web
hpe.com
hpe.com
It seems to me that all apps are either a pure app or really silly basic and would be equally useful as a responsive website. For example, I once used a HN app, but it really wasn't any different than just using the website because it was completely worthless without the internet. I'd just say make things a responsive website until you run into features that absolutely don't work on a browser, then go native. I could be wrong, but I don't think there is much necessary overlap.
My impression is that those extra requirements are more often than not related to data collection and user tracking via broad spectrum app permission requests. It is simply more convenient, robust and profitable to sit on a device and phone home than relying on the user to frequent a site.
Imo most apps would have been called (mal|spy|ad)ware a couple of years ago.
Then take into account the fact that PWA support is broken on iOS... I really doubt that Apple will fully support PWAs (e.g. web push) beyond App Manifest.
The issue that isn't discussed as much is discoverability. iOS users are trained to go to the App Store to install an app. App Store on iOS feels safe, secure, and intuitive. How often do you think a user will choose to pin a website on iOS, regardless of what the suggestion UI looks like?
App Store on iOS feels safe
Does it feel safe or is it actually safe? A big part of Apple's competitive advantage is the quality it provides (real or perceived). If an app provides a subpar experience, they can yank it from the app store, whereas they have no recourse if a PWA starts e.g. cryptomining in the background.https://medium.com/@johnnylin/how-to-make-80-000-per-month-o...
That said, they just denied an app I released (here on Google Play https://play.google.com/store/apps/details?id=com.pavlok.mee... , it syncs my content from different media sources around the web) was denied. They said it was too close to a web experience.
We've released several iOS and Android apps, and inside of our apps are mini-apps (different habits and behaviors our users want to change). The app we were attempting to make used React, which was giving us a headache.
The denial was annoying, but fortunately, iOS just enabled PWAs. It seems to my developers that the site is essentially Web technologies (HTML/CSS/JS) + a Manifest. By doing that, you can enable push notifications and offline access. Is that essentially it? Because that might solve the problem of making apps rapidly on multiple platforms for us.
See this article for more details: https://medium.com/@firt/progressive-web-apps-on-ios-are-her...
The worst is that if you are in a PWA, say in a page like /my/sub/page and navigate out of the PWA, like go to a different website or go to another app, and then come back to the PWA, it will reload and go to the / home page, destroying all state and routing.
Cache invalidation is hard though.
They couldn't have cared less about the offline use or having the option to install it. They just liked the app.
I think service workers and PWAs in general definitely serve a purpose in enhancing web applications in ways that the user might not explicitly realize, though.
I feel that if you know your customers well and vice versa (usually a high-touch sales model), you can tell them where the app is, how to install it, and like you said, they don't care.
If you have a PWA sitting in the wild and have a low-touch sales model, I wonder how many people will actually go to that site and hit 'install to homescreen' vs looking for an app. It is a very strange approach on an iPhone.
A concrete example - I don't know our company. I'm a farmer and I want a daily record entry app on my iPhone. Do I go to the app store, look for an app and go through the usual dance OR do I look on the web, find the PWA, see a prompt to 'install to homescreen!' and I'm ok with hitting OK on it.
If I don't hit that 'install to homescren!' button on iPhone, I won't get things like web push notifications (which you still don't get on iPhone) which are pretty important to some apps.
If I come to you, or if you send out a message personally to me and tell me to 'install to homescreen' then I'm totally fine with it.
I don't think our customers found the PWA features "organically", either. If they saw the install prompt, they most likely didn't understand it, ignored it, or both. I tried showing it to some at a conference, but like I said, they were uninterested in those features in comparison to the app itself.
I'm working on an app that is highly reliant on push notifications (like chat). So if I made it a PWA, it would be DOA if my customers didn't hit 'install to homescreen'.
The progressive path isn't great, but installing an app from an App Store is a huge jump for users to make, so neither is ideal really...
A simple scenario is - you're inviting someone to a chat room. You send them an invite and now you have to wait. Usually what people do is other things - like go to a different website, go to a different app, etc. In only the case where you're sitting on the same website will you get a notification. It doesn't work.
It gets worse - let's say you installed the app to your homescreen. You run through that same scenario above - you navigate through your web app into /chatroom and click on an invite button there. Then you navigate away to another website/app. When you come back to the homescreen app, the entire site has reloaded and it will take you automatically to the main screen of your web app: /
Note - these broken behaviors are only on iOS.
With PWAs, discoverability can be search ads, included in existing communications, linked from another app, etc.
Not because the guidelines are that good, but because in reality it seems to be quite easy for the average SMB owner. Both in Safari and Chrome.
Except offline, I don't use any 'hardware' api's though.
No one can be so arrogant to make this cheap, clickbait statement. Why is everyone fighting developing native apps? Hybrid/PWA apps are not in the interest of Apple nor Google. In my experience the problems that PWA/Hybrid app development costs almost as much than employing an iOS and an Android developer.
I'm not sure about "everyone" but this particular article is from a server manufacturer. It's not exactly journalism.
Not in the interest of Apple, of course, because bye tax on apps, but promoted by Google. Surely in its interest.
Also, management just can’t help themselves but fall for the bait whenever someone promises them “write once, run everywhere”.
The fact that I have to write Javascript again puts me off entirely. Unless I can compile swift to wasm and run it on the web I have no plan to return to the "web development".
Native apps work best for mobile users now anyway. I use the browser only for news and search though, so if you have a "website"/blog html still makes sense(regardless of the "progresive" features).
Basecamp reuses a lot of their rails code when rendering across mobile, web and desktop. They pepper in JS/CSS to suit device specifics, but otherwise everything is the same.
> Sure you can share code but if you want to develop a great app you have to tweak it considerable for each device.
The browser was designed to display hyperlinked text and to support a limited set of actions on form data. IMHO, the main reason the whole web app craze took off was because serving the apps from centralized servers solved a number of the issues around application distribution and updates. This was a big problem at the time but it's ironic that shortly afterward mom, pop, buddy and sis became very comfortable downloading and installing things like iTunes and (even more ironically) browsers.
This is the mobile equivalent of "($CURRENT_YEAR + 1) is going to be the Year of the Linux Desktop!" Every year since 2010 I've heard that web apps are going to replace native mobile applications any second now, and it hasn't happened. I'm not investing in a platform/paradigm that has seen a lot of hype but very little actual demand from users, especially when you can be damn sure that Apple is going to throw up as many roadblocks as they can in front of it.
1. It does what it claims to do.
2. It does those things quickly.
3. It looks and works like an app designed for the OS on which it lives.
Number 1 is standard, since I won't use your app if it doesn't do something I want. PWAs, in my experience, struggle with #2 and absolutely fall down on #3. For example, and I'm not picking on you here, your app looks like an Android app even when I installed it on my iPhone. I don't want to context switch between visual styles or wait for JS performance delays just so you can save some time in development. This is the primary reason I very much dread apps I depend on deciding to go the PWA route since despite being technically capable of emulating platform look and feel it seems very few do so.
More emotionally, I chose iOS in part because I like the design. In general, I don't want any app I use to try to reinvent the wheel with their own design language unless it is very much warranted, and I never want to see material design on any product I use since it was one of the reasons I chose to discontinue using Android.
P.S. This is not meant to sound patronising - I think your points are valid and need addressing in PWAs. I don't think it's insurmountable, but it does need some work.
It felt native on Chrome and Firefox Android (and it worked, lots have minor issues).
Mind discussiong the stack you used, it's all very nicely designed, good use of colour and iconography.
I added it to my list of references designs :).
It's interesting that another comment mentioned the design lacked polish - I guess it's one of those subjective things where you can't please everyone!
We wrote everything in VanillaJS using a framework we developed in house (it does rely on jQuery, but only the slim version). I'd compare it to VueJS, with deeper reactivity for certain types of variables, and a novel patching method that circumvents the need for DOM-diffing.
The graphics/charts were also an in house product. We're thinking about making both code bases open source in the next few weeks. The UI framework will probably be MIT licensed, but the charting lib will probably have a dual license, much like highcharts.js.
I'm thinking of doing a PWA in the near future for work system so I'll keep an eye out for your stuff :).
The system at work is just a regular web app (that I'm in the process of modernizing), I also have a side project I want to build but I've no idea what I'm going to use, leaning towards Vue/vuex with net core as the backend with the eventual plan been to move more PWA as things settle out and improve.
Interesting times.
Basically nothing about the interaction model/visual layout feels like an iOS app. Starting from the hard to exit (need to find the x at the top right) intro slide series, to the structure of the app having links at the top, to the action dialogs, it feels like a non-iOS app.
Google is, by far, the most aggressive in adopting
new browser standards behind PWAs in Chrome. Other vendors,
such as Mozilla, Microsoft, and, in particular, Apple,
have been much less aggressive...
The only thing more important than the "native vs. web debate" is user experience and accessibility. When "Mozilla, Microsoft, and Apple" become more aggressive, we will all naturally evolve to the (relatively) better option. The author argues with the wrong people.Is truly a good idea make the web browser even more powerfull?
If the answer is yes, take in account that make advertisement and privacy-haters more power....
I only install native apps if I absolutely have to. But I am happy to try websites. Not sure how many users are like me in this regard?
Being able to inspect buildings, rooms etc. while one is offline (imagine the cellar of a clinic without proper WiFi) is crucial for our users. So we had to build native iOS and Android apps to support that, duplicating many features of our responsive webapp. Most users still prefer our webapp though (some use the „Add to Homescreen“ feature of iOS for example and use our webapp like a native app anyway). With Service Workers supported on iOS since 11.3 we are currently evaluating if we can finally implement offline support with our webapp. So far it looks good, which for us and our users really would make things a lot easier.
Furthermore, tons of users are on chrome or browsing from an app like Twitter, but the "add to home" functionality is only available from Safari.
Disclaimer, founder here.
Web console:
TypeError: asm.js type error: 'byteLength' is not a standard constant or typed array name dcraw.js:10:8742 Unhandled rejection: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. editor.js:37:1316317 Unhandled rejection: OpenFailedError: InvalidStateError A mutation operation was attempted on a database that did not allow mutations. create@https://v5.polarr.co/js/build/editor.js:37:1338577 z@https://v5.polarr.co/js/build/editor.js:37:1319767 z/<@https://v5.polarr.co/js/build/editor.js:37:1320053 _e/<@https://v5.polarr.co/js/build/editor.js:37:1315784 Y@https://v5.polarr.co/js/build/editor.js:37:1312869 $@https://v5.polarr.co/js/build/editor.js:37:1313523 ie/<@https://v5.polarr.co/js/build/editor.js:37:1314171
At this point, I have no idea what polarr is or what it's supposed to do, and nothing on the page seems to be interactive in any way. If this is an argument for PWAs, I'd chalk this one up as a win for native apps.
PS: it worked quite well on desktop Firefox (win10) though.
Bad translation of "Express" and "Pro":
https://i.imgur.com/5YE18Rk.png
Header and the two button texts are not understandable.
So you mean you have access to sqlite, sms handling, start up on boot, automatic shortcut on home page, overlays, starting an intent without user action, asking user contacts, creating a vpn, using bluetooth, etc from a wpa ?
Marketting bs at it's finest.
And what did we learn from that? Almost everyone, in my experience, takes the wrong lesson from that story.
I'll take "achieving reliable state synchronization over an unreliable network on an unreliable device as table stakes for whether or not a product works is hard" for $500, Alex.
I am quite sure you're right, that they had a real bug, and that your workaround harmed nothing. But doing things like this (and bragging about them online no less) is a pretty sure way to get your data flagged as (at best) corrupted and (at worst) "troublesome customer; do not engage".
[1] reddit.com/r/beta
I certainly like the idea of PWAs much more then fragmented native mobile ecosystems. But it seems quite complicated compared to a classic web app. As others noted, service workers are tricky to set up.
Maintaining the offline cache is quite hard. I am quite sure that average ecom apps will easily hit the proposed 10 MB cache quota if the useful views for offline viewing are preloaded. Strictly using an LRU seems silly because the user will likely do different things if he realizes he cannot load new content. (I.e. he could decide to prepare an order with his data.) There are lots of tough decisions to be made even before thinking about cache invalidation.
Routing and history changes are quite puzzling for me. Quick tests on history api made me realize that it is 10 times harder then it looks, not even sure if it works.
That's not a bug, it's a feature.
Javascript is a cancer that has lead to a slow, bloatware-, spyware-, and malware-infested web. Getting rid of it should be a priority.
What exactly is the big deal with having just static content?
I don't have JS enabled when I read HN. I just hit reload to load and read new comments. What exactly is the problem with doing that?
When I read some article on some news site or web forum, I don't need JS to just read a bunch of text or look at an image. All of that can be and often is static. JS is totally superflouous here.
The only legitimate uses of JS I can think of are for things like games, or data that you really need to be updated in real-time like stock market tickers. But those are a relatively minor subset of the web and can be made in to standalone apps anyway. I'd much rather have a standalone app than expose myself to all the malware, spyware, and tracking that comes with a JS web ecosystem.
>What exactly is the big deal with having just static content?
I don't read romance novels, so publishers shouldn't be allowed to print them.
The problem is that your personal opinion on the legitimate utility of javascript doesn't have any value beyond your own browser, and the entire rest of the world has decided that a purely static web is not what it wants.
Speak for yourself! I certainly agree with the parent that the Web is for content. And I believe many here around do as well. You do realize you're commenting here on a site which is as non-PWA/SPA as it gets, don't you?
I like Hacker News (obviously, since I spend far too much time here,) but I also like that I can run software in my browser and stream video and audio and play games. FFS, I'm running DOOM in a DosBox emulator in another browser tab as I type this. How is that not qualitatively better in terms of the breadth of content that the web allows than having it be limited to basic text styling and embedded images?
The point is that if I want to play DOS games I only need a URL and a modern browser, just the same as with text, images and other media. That "software" becomes just another content type the web can provide, in a way that's transparent and easy for the end user. If nothing else, the browser can act as a sandbox for software that operating systems otherwise don't seem to provide. A developer can't sneak "rm -rf /*" into their javascript and have it work the way they could natively.
> What a browser can and cannot do should be very carefully balanced, or you end up with a tangled mess of Chrome-only content and security/privacy catastrophes.
I would argue things have gotten more stable, not less, over time. Flash is more or less dead, as are web applets, and a lot of security issues in javascript WRT overriding object primitives, high frequency timing, cross origin requests, etc, have been dealt with. It's not entirely the wild west anymore.
I’m listening to Beethoven through my other fridge as I type this on my first fridge.
Yeah, 140 bytes of content the user wants and 140k of JS that is entirely superfluous if not outright user hostile.
And most of the rest of it is legitimate criticisms about the way javascript is used, but those are implementation and design decisions that are driven by culture, and can be changed by culture... and none of which really undermine the premise that computation in the browser has value.
No, we understand that answering the question "Is this Javascript I received from a unknown remote party safe to run and free of any malicious side effects?" is undecidable. If you want to defend the idea of running potentially hostile Turing complete code, you need to tell us how to answer that question or you are advocating that everybody should regularly accept the risk of running malicious code. I suggest first addressing the simpler question, "Does this Javascript program ever halt?"
> none of which really undermine the premise that computation in the browser has value.
Obviously Javascript - and computation in general - has value. I have never seen anybody suggest otherwise. Lots of things have value. The problem is that running Turing complete code is always going to be a risk, because describing the behavior of any grammar more complex than deterministic context-free is provably undecidable.
I don't really have to. Javascript has been a part of the web for over twenty years. Almost everyone else already runs it, and has already accepted that risk. You, rather, have to defend the premise that all of those people are wrong for doing so, given that most malicious code on the web comes from email attachments, downloaded binaries, and Internet Explorer.
I submit that blocking scripts will block ads (most of the time) and analytics and make sites (that work at all without it) run faster, but it won't really make you that much safer.
You're already running millions or billions of lines of potentially hostile Turing complete code that can do things javascript couldn't even dream of, and I doubt you've compiled all of it from source, or read all of the source if you have. The risk presented by javascript relative to every other programming language and runtime in existence is minimal.
>I suggest first addressing the simpler question, "Does this Javascript program ever halt?"
Yes. Hit escape, F5 or when the browser tells you a script appears to be hanging, have it kill the script.
I know you're referencing the halting problem there, but in practical terms it's not even an issue. You can, of course, just turn it off.
A lot of people without a CS background believing industry exaggerations and lies about security for many years does not mean they are acting safely. The frequent security issues is proof the risks exist. There were several decades where a lot of people smoked cigarettes, but we finally were able to make decent progress on educating everybody about that risk.
> most malicious code on the web comes from email attachments
The most malicious code in the long term is probably Google Analytics. The only reason it hasn't become a huge problem already is thanks to Google taking security seriously and not leaking everyone's browsing habits. An email virus/trojan at worst probably only ruins your computer and, in extreme cases, your bank account (i.e. with a keylogger). That's bad, but databases of your reading habits (and porn/etc habits) are a blackmail/manipulation risk that never goes away. The recent FB/CA drama should be seen as a warning about what can be done with enough data about you. It will be interesting when someone decides to steal GA (or other browsing history DBs) to sell it to insurance companies (possibly as a "risk evaluation" service so the insurance companies never have stolen data).
I don't expect you will strongly disagree and ignore this type of risk if your income is dependent on spyware continuing to exist.
> and I doubt you've compiled all of it from source
Actually, I have. Some of us do have the required technical background to understand this type of risk; the general public has to rely on someone else's word.
> The risk presented by javascript relative to every other programming language and runtime in existence is minimal.
Even if it was "minimal" (it isn't), you're taking that risk again every time you reload a webpage. I do not need to regularly compile new code simply to use the software I've previously installed.
> Yes. Hit escape,
Obviously, that interrupts the program, which is different from the program stopping (by reaching the end or running halt/exit).
> practical terms it's not even an issue.
Then please, in practical terms, tell me how I can answer the original question: is this random Javascript safe? My point is that this question is provably impossible to answer The halting problem is merely the easiest behavior to analyze; you cannot prove that a program will have any behavior in the general case.
You only need to look at the Android app ecosystem to see this. Ironically, because adblockers don't really work well on non-rooted phones, using native apps actually exposes me to a great deal more tracking than most of the websites I visit.
I would absolutely rather use Facebook, Twitter, or Reddit as websites than as native apps. And it's a great deal easier for me to block Google Analytics (just blacklist the domain) than it is for me to stop Google Maps, Uber, or Lyft from spying on me.
> Then please, in practical terms, tell me how I can answer the original question: is this random Javascript safe?
The only way to declare random code safe is to sandbox it. The web is one of the better sandboxes out there (although of course it's not perfect yet).
This is (one of) the reasons why we're starting to move towards Wayland in the Linux world - because we've realized that security by curation doesn't work for 99.9% of the population, and putting a sensible permissions model on top of applications is one of the few ways we can actually protect both advanced and average users.
If you're looking for 100% security, it doesn't exist, even for your self-compiled programs where you rigorously audited the source and all of the dependencies. Unless you've also taken steps to mitigate Trusting Trust?
Their problems with javascript aren't the technologies, its the ways they're abused. That's not a web problem or a javascript problem. I just kicked Facebook Messenger off my phone because every time I opened it, it would demand access to my address book.
If they want a particular app, they can click to download and run it explicitly. It's not a big deal.
From the developer and business standpoint, it might be a disadvantage not to have something like javascript available to use. It's more inconvenient, and now they can't spy on, advertise to, or track the user as easily.
But I'm for a user-centric web, not a business-centric or developer-centric web.
Edit: to be specific, it's a lot easier to allow access temporarily in a browser than it is using the Android permissions system. Not sure about Apple but I'd bet it's about the same as Android.
The guitar-tuning app is a special case that actually has a legitimate need to use a microphone, but I've seen countless apps that need all sorts of permissions that they don't legitimately need. Like calculator apps that need permission to access my microphone or contacts.
The sad thing is that most users will just click through a popup asking for permissions, just like they do the "Run as administrator" popups on Windows. Such things are just not very effective safeguards.
Even with limited permissions, allowing JS apps to run on my system opens me up to all sorts of JS exploits, tracking, and advertising that just aren't possible or much more difficult with static HTML (which has a much smaller attack surface than JS anyway).
Native apps are even worse. At least websites are ephemeral and you can pop open a dev console and inspect/block the traffic.
Native apps ask you for permissions and then can access those features for as long as they're installed on your phone, often in the background. Ever see what kind of data Google has on the average Android user? It knows their exact route through town every day. It's crazy.
Maybe the world would be a better place if 1999 MapQuest was still the most advanced app on the internet. But your fixation on Javascript in this thread sounds out of touch with the more inconvenient truths of modern technology, probably because Javascript happens to be the one you can live without.
I can't do anything about bad devs, but you've already decided that the path we are on (and will continue to be on because we're not getting rid of JS) is absolutely bad.
It's not 1999 anymore. We've gotta figure out how to do things right with today's tech, not a nostalgic view of how things were, because we're never going back.
It's a mistake to assume you don't have to do that for PWAs.
> Javascript is a cancer that has lead to a slow, bloatware-, spyware-, and malware-infested web. Getting rid of it should be a priority.
That may or may not be correct from developer's point of view. I am not sure and I am not going to argue that.
However, how about user's point of view. A lot of users (including me!) prefer not to install native apps but use Web apps especially when achieving one-time tasks. Do you have any thoughts/data on what users prefer?
Yes, use JavaScript when it's appropriate and makes the site/app better, or when it's necessary for the thing to function. Obviously something using your camera or microphone or what not should use JavaScript and might rely on it to function.
But if the site or app is meant to do something that'd work perfectly fine without JavaScript (or with progressive enhancement and a non JavaScript fallback), make it like that instead.
When you're delivering megabytes worth of scripts and relying on JavaScript only functionality for what's essentially a blog (read, many news sites and content platforms now), something is really wrong. The people at the likes of Reddit, Wikia, Medium, and a fair few news sites seem to be trying to deliver a simple product with enough technology to launch a space shuttle.
Fine. Why would I want any thing on a website accessing any of those things? Why can't an app handle that? What's wrong with using separate mediums for publishing and interacting with information?
Also, because the web incorporates hyperlinks, which means "apps" can link to "documents" and vice versa, which is useful, because you might have an attached blog or FAQ or something.
Because every device/os has its' own app store/ecosystem.
Because it takes a lot of effort (more than most will expend) to support even a handful of platforms with anything beyond the simplest of applications with native apps.
Facebook Messenger in a web browser can't read your phone contacts. That alone should be evidence enough that the web handles security better than native.
Stock Android doesn't even allow proper firewall support or adblocking without rooting or implementing hacks on top of a vpn. On the web I can block individual requests to specific domains, and even rewrite them on the fly.
The app model failed because the app model is the web model, just with bad sandboxing, less granular permissions, slower install times, and a worse development ecosystem.
Everybody loves native, I don't understand why. Native is terrible. 90% of native security boils down to "trust a global company to gatekeep out all of the malware." That's not good security.
The described experience of "loads instantly, uses almost no CPU/battery, and renders on everything everywhere and for people with accessibility issues." is clearly superior to all javascript-powered web sites in the observable universe.
Therefore your comment makes no sense, Sir.
The same is not true of native apps.
I don't think I have a career ahead of me in the trolling business either.
And now I'm wrong for having commented on the voting on comments. My bad, again.
The article mentioned that Safari is significantly lagging here, but I think it understates how much of a problem that is. If you build a progressive web app, you can't rely on having a lot of feature support - even minor things like background music for an audio player.
But it's not just that support is bad. There are standards that flat-out don't exist yet. For example, how much local storage do you get, and when will that storage get cleared? For native apps, this is really straightforward - for web apps, we still haven't finished building a standard for reliable persistent storage.
This means that even if you're an offline only app, you still have to back up client information to a server. If you're a small dev, you really don't want to do that. I want to be able to build an application in JS and have it store all data clientside. If I'm building a document editor, I don't want your documents on my server. But if I do a progressive app, I run the chance of your local encryption keys, documents, settings, etc... just getting deleted some time.
There are a lot of ways to store information on the clientside - but many will get cleared the first time that space is low, or the first time the user clears their cache accidentally, or they have arbitrary limits on how large a single blob can be. They also can't be shared cross-browser, so if your user has multiple web browsers installed on their computer or phone, switching between them is a terrible experience.
On top of this, there are problems with the existing standard. The web is a good thing for security, but background code complicates that model. Since progressive web apps should inherently be treated like progressive enhancements, I would have loved to see this put behind a user permission - because it's a powerful feature and most websites don't need it.
But... it's not behind a permission. This is exactly the type of thing that users should be consenting to and exactly the type of feature that should be made transparent rather than opaque or hidden.
At some point in the future, the standard might evolve enough that you can start using it in exciting ways, and I'll be all over it when it does. But I just don't see it at the moment. At the very least, we need to get storage sorted out. But that's probably not going to happen for a while, and whenever it does get standardized Safari is just going to lag behind on implementation anyway.
A lot of what they need to build was never meant for the app store (internal/employee facing/etc.), but needs to be mobile, so it makes a lot of sense.
We spent literally YEARS on all aspects of making these progressive web apps, including:
* Making each component we build (chatrooms, image upload etc.) work out of the box on whatever environment it’s loaded. For instance resizing and cropping an image on the desktop involves the mouse wheel while the same thing on touchscreens involves the fingers. See this: https://vimeo.com/208438090
* Taking advantage of the latest changes like SFAuthenticationSession on iOS
* Writing our own cordova plugins when the existing ones were not working, available for free as open source on github
* We support ApplePay, AndroidPay, Web PaymentRequest for Chrome and Firefox on Android and desktop and even looking to do Safari for Mac.
* We support notifications on iOS and Android native apps, as well as Web Push for all web browsers that support it. And we plan to make encrypted notifications via VoIP on iOS and some tricks on Android.
* As time goes on we will add end to end encryption beyond what is available on the Web today, see http://qbix.com/blog
* Oh and we are in the process of building a mobile HTML editor that sucks less than all the others (though we have not freely licensed it yet! Contact us!) http://d3e.ru/sel/demo/#1
* We have instant personalization, invitations, access control. We have a passwordless authentication as invited users go to the site via a link that instantly confirms their number/email, see their friends who uploaded their address book, download the app and then use SFAuthenticationSession to continue where they left off.
* We plan to write our own mobile browser to make people have social experiences across websites without Facebook. We also speak with the SAFE Network team to add support.
* The former lead developer of the solid project (solid.mit.edu) has come on board to help us realize our vision for qbix platform 2.0 https://qbix.com/blog/2018/04/03/onward-to-qbix-platform-2-0...
But now with web workers and service workers and god knows what else, I feel like I've lost that security, and that makes me uneasy. It's a security and a privacy issue.
I know I can disable all that stuff in about:config but how do I know they haven't invented some other new technology in the past months that I should be aware of?
It does make sense to make it more obvious, like requesting access to store offline content or perhaps having an options tab similar to the addons in a browser or the add/remove programs in Windows that lists all the service workers that are installed.
Also, it bothers me that websites can install themselves like that without my permission or knowledge.
I agree on the installation confirmation - you have to agree before installing an app and the whole point of the blog post is that the line between a native app and a service worker site is getting smaller. So a similar level of permission should be requested before installing something locally.
dom.serviceWorkers.enabled = false