The web is not poor man’s native (2015)
cwilso.com
cwilso.com
The debate is over. The web won. You can see that by the way popular websites will try and force you to install their apps. That’s because their web experience is perfectly competent to scratch the users itch. They are forced to artificially cripple their mobile web experience to drive app installs.
There is a strong niche left to native. I’m thinking of things like creative tools. Photo editors, development environments, etc. you don’t typically do these things on mobile though. Another sign the web is winning: This niche is slowly shrinking as well. The big software companies are building web versions of the most popular products like photoshop, office etc.
I don't think so. Either way the statements are rife with soft terminology, but I'll use raw traffic as my metric for dominance in the functional space.
https://www.perficient.com/insights/research-hub/mobile-vs-d....
The majority of traffic is mobile and apps still rule that platform due to both a superior experience and better interfaces. The trend is clear and ongoing, so I'm not sure why people think the web is still the king. The reasons websites ask you to install the app is because the phone makes that simple when using a phone browser, not because they are implying it will be a better experience for a desktop user.
As you mentioned, content creation tools are almost exclusively PC and so the individuals who are creators (like anyone on this forum) are unconsciously biased toward PCs. I really hate trying to use my phone for anything, because of this bias. My wife and most of my family (excepting my dad) has the opposite experience.
So I guess the web really did win, even on mobile.
Mobile users, as a rule, rarely open an internet browser, they are redirected there.
It’s become a glorified zen-mode type feature for articles or indie web stores at this point for a substantial part of the population, especially young people, at least on iOS.
This is a huge reason why “Open this in our app!1!” is a thing as well. The alternative isn’t browsing a mobile site through Safari, it’s using whatever social media app led you there in the first place.
Yes. The popularity of Instagram and Pinterest for shopping is a direct reflection of how relatively hostile the web is from a UX perspective. I often find myself using Pinterest, rather than the web, to browse retailers, because it's typically a better experience. This is rather precarious situation for retailers to be in, imo, as it means that Pinterest/Instagram effectively become gatekeepers to their stores.
From this perspective, it's no wonder why these stores keep begging users to install their apps. I'm sure Ikea would much rather me use the Ikea app than Pinterest.
However, I don't think every store needs or should have an app. I wonder if it's possible to deploy boilerplate native app experiences, that don't require these retailers to have a whole native development team.
You may be conflating two different things. IG and Pinterest are private firms with a financial interest in adding a big "SHOP" button to user-generated content. "The web" is not a monolith, so not all sites will be shopping-oriented. That means you may have to use a search engine if you want to find stuff to shop for. Pinterest can be one of those search engines.
Your math is incorrect because you failed to take into account that 90% of mobile sessions are in apps, and only 10% browsing - on mobile devices. With this we can do some math:
For simplicity, assume 100 sessions encompasses all mobile web
65% is 65 mobile web traffic.
35% is 35 desktop web traffic.
65 * 9 = 585 : all app usage (90% of mobile usage is app over web, commonly known).
585 + 65 = 650 : all mobile usage (app 90% and web 10%).
35+650 = 685 : desktop web, mobile web, app usages.
35/685 = ~5% of usage desktop web (think 10% of 685 then divide by 2)
100/685 ~14.5% : is web usage, from combined app and web usage.
App is still the dominant player in day to day usage, regardless of the parting message "design your mobile web site first", which is a funnel for the app anyway.
An app icon on a user's screen is the equivalent of a desktop bookmark icon shortcut circa 1998, like 'browser toolbar helpers' would 'helpfully install' - things that would more often be seen as malware today.
Notifications pushed to the user the equivalent of constant marketing from subscribed email lists. Constant ~~marketing~~ 'experience'. Pretty close to spam today; such email is depreciated to another tab even in places like GMail.
In-app analytics tracking finger movements, clicks, click times, pretty close to what would have been considered spyware 2 decades ago.
But there are nicer terms now. 'Download the app', 'Notifications/Engagement' and 'Help us improve your experience'. The user is led to believe they're more in control. I feel it's near peak, but I'm not calling it.
It's been a while, but I remember Adobe software (e.g. Photoshop) doing desktop shortcuts by default, Steam & Epic Games-vended software doing desktop shortcuts by default, etc.
There are some natural divisions I'd make generally to Web activity:
- Document-oriented content: mostly-static text and images. This is the domain of the web browser.
- Multimedia: audio and visual. Here I vastly prefer an application which can natively manage, organise, queue, and filter content. I do make heavy use of a podcasting app, and occasionally listen to Internet radio. I hear some people may use music or video streaming tools.
- Commerce. Shopping really should be divorced from the browser for far too many reasons.
- Applications. Truly interactive tools. Where the line between "Web" and "App" lies specifically I'm not entirely sure, but I can see much of what's presently provided through JS being made browser-native (wins for consistency and familiarity, probably a loss at feature development, though this may not be a bad thing), and classing "App" as "requires programming and persistent data store".
How well that holds up / sells I can't really say, though I've been advocating this for very nearly a decade:
https://old.reddit.com/r/dredmorbius/comments/256lxu/tabbed_...
What are those reasons? It seems to me that browsers are perfect for shopping as shopping is essentially browsing a product catalog. It's all basically document oriented content, static text and images, some short videos.
Sharing links is absolutely critical for shopping. Leaving product pages open for later is how many people research what they may want to buy. Product pages need to be indexed by search engines and be clickable by everyone, including on desktop.
All data lives on the server. There's little interactivity and no content creation. Offline use is rather pointless because the product database is on the server. There's no useful background activity. Notifications from shopping apps are mostly spam. Access to low level device functionality is neither necessary nor desirable.
There are far more shops than anyone wants apps. Desktop remains an important platform for shopping. So there needs to be a fully featured website anyway.
>- Applications
I think for applications it depends on where the data lives and whether desktop is an important platform. That's why essentially all business apps are web first unless their purpose is content creation and complex editing.
The real limitation of web apps is local data. There's no way for a web browser to reliably store data locally. Even though it sometimes looks as if you could use various forms of local data in a browser, on closer look it always turns out to be fragile, unreliable and only really useful as a cache.
1. Reading is not transactional or remunerative in most cases. There are exceptions (subscription-based content). Those might still be supported without going full-blown shopping, though in general I'd prefer alternate monetisation mechanisms.
2. Shopping involves payment methods and creates tremendous privacy concerns. Both of those are problematic in a generalised browser, to the extent that commerce sites are increasingly limiting which browsers they function with, which is to say, commerce is not a generalised Web capability. Payments functions could be removed from my generalised browser. The commerce-oriented app would have specific attention paid to security and privacy measures.
2a. My uparmoured Web browser using auto-deleting cookies, uMatrix, uBlock Origin, Ghostry, and other features to fight against surveillance and general Web annoyances plays poorly with most shopping sites as is. This means I've got to specifically remove armour to use such sites. This becomes more complicated when having to support others, at work or home, similarly.
2b. Information leakage between non-commercial browsing and commerce-based activity is a major concern and increasing threat. App-separation would provide a further firewall between the two.
3. A hypertext commerce platform could be URI based much as the present Web is. There are non-HTML URIs (ftp:// mail:// news:// doi:// ...). A "shop://" or "httpc://" transport (HTTP Commerce) would clearly distinguish shopping from other Web traffic and invoke the shopping application itself.
4. A possible risk would be that a large and well-resourced commerce provider might decide on delivering its own commerce app, or capture development of that app in much the same way as, hypothetically, a major Internet advertising entity might conceivably optimse a dominant Web browser as an advertising-delivery mechanism. These cases would have to be regulated by a conscientious, empowered, and principled competitions / anti-trust agency.
5. A standardised and capabilities-limited commerce application should reduce the use of dark patterns, or at least make them more difficult and apparent when employed.
Specification of a commerce-oriented application should reflect interests and concerns of vendors, shoppers, competition regulators, finance and payment processors, and advocates for groups of concern (the elderly, disabled, minorities, unbanked, etc.). The limited focus would make this far more tractable than for generalised Web browsers.
There is no evidence of your second claim in the link. Only that mobile, as a platform, is more popular than desktop. Nothing about "native apps" being the preferred way to interact with the platform. This is an oft proffered point with no solid backing. Rather the opposite. Users rarely, if ever, install apps, but they go to websites.
> Users rarely, if ever, install apps
My local car wash now has an app and my wife promptly installed it, because of some vague rewards tracking.
The vast majority of mobile usage is through apps. That's a fact. This is primarily because of the low bar to adoption (click a link from a QR code/click an icon) paired with the expectation that the experience will be better than a website. If the previous website experience was bad, it's almost an instant conversion (hence the prompts to "install the app" before the user might find the web UI too problematic).
Mobile users prefer apps (and probably trust them more) than the browser, on a mobile platform. You can say it's baseless supposition, but that's ignoring the existing evidence that companies have done (and continue to do) over the last decade. Find any company or data that contradicts that and a lot of people would be interested to see it, because nobody has for almost a decade. I can't be sure why you think that someone would consider the web to have a better experience/UI, but it doesn't matter.
It's not a conflation, it's intentional because it is what the parent poster claimed. I agree that there is more to it.
> My local car wash now has an app and my wife promptly installed it, because of some vague rewards tracking.
Your wife's anecdote doesn't match industry trends
https://techcrunch.com/2017/08/25/majority-of-u-s-consumers-...
I can also match with anecdotes of users intentionally avoiding the app in favor of the mobile site for linked in, Reddit, etc, despite the constant intentionally of crippling the mobile web experience simply because the app is so invasive. Can I have access to your contacts for no good reason? Btw, we also snoop your clipboard. Basically, I want to take over your phone so you can see a message...
App store conversion rates are low. If you do get it installed many users only use it once. Most people just won't pay for apps, various reasons but the race to the bottom and feeding off user data and eyeballs has pretty much had a full cycle now.
If you are a company trying to get off the ground with a software product these are tough trends to fight.
It is. You used slightly different phrasing, trying to broaden the conversation to act like it's part of a refutation of points being brought by who you respond to.
> > Users rarely, if ever, install apps
> I can also match with anecdotes of users intentionally avoiding the app in favor of the mobile site for
This is derailing..again. I was bringing up an experience that is familiar to anyone who has friends & family (someone who install every app they can). Matching anecdotes adds nothing, as you just want to argue rather than try to understand how your perceptions are biased against reality.
App usage dwarfs web usage because someone installed the app. You're just wrong and I can't tell if it's disingenuous. This discussion is not worth working around your constant attempts to avoid the points at hand and I will have to assume you're just another unintentional luddite.
> The majority of traffic is mobile and apps still rule that platform due to both a superior experience and better interfaces.
To the point of UI superiority (you know, the original contention between us), it's trivial to account for trying to put a url in to a mobile device vs an icon for an app. That alone is a superior UI. The app gives a better experience, on average.
https://digitalmarketing.temple.edu/bpalestino/2019/07/17/mo...
Gl with whatever.
I remember when Reddit started throwing the app in my face everyday until I eventually downloaded it. Now I always open for an app. Even for newspapers. The web experience on mobile blows.
Not for a platform like Reddit.
I mean, Apple has every opportunity to improve their webapp experience. There's a number of PWAs I use on Android that really do "disappear into the background" when using them full-screen, I bet the experience would be just as nice on iOS if Apple was faster at adopting PWA tech and cared about making Safari an enjoyable experience.
Native iOS and Android apps are fantastic in that, as long as you're willing to follow Apple's/Google's guidelines, it's pretty easy to create great user experiences and highly maintainable software. Until the web can match that relative ease, it'll always be second-fiddle to native on mobile.
The problem with the web right now is that the tooling is a complete mess compared to native development. It feels like you end up spending 80 to 120 percent of the effort you'd put in to build two native apps, and even then the web apps would never feel as good as native.
My company strongly considered building web apps, as we move away from MVP to a more mature product, but the web tooling just isn't at the level it needs to be. The only value proposition for web was that it's easier to hire web devs.
The web experience on desktop also blows, unless you're using ad blockers; the main reason that web on mobile is worse is because people use mobile app browsers which lack decent ad blockers.
Try Firefox Android with uBlock Origin. I find it quite pleasant.
Your experience with Reddit isn't evidence that mobile web is bad, it's evidence that companies like Reddit have huge financial incentives to make you think mobile web is bad.
There are tons of things that are extremely popular and completely unavailable without an app companion. The majority of the most popular services cannot be used web-only.
I can recall in 2007 when even having third party apps was a debatable topic. Call me fogeyish but it's inarguable that this was not really the intention of iOS, rather, we have mitigated and papered over the problem due to insane app store popularity. Macs didn't have native notifications for decades.
In other words, our priorities have drifted significantly and it may be time to holistically reevaluate this.
iOS 15 introduced notification filters and notification summaries
iOS 16 doesn’t even show notifications on the Lock Screen unless the user explicitly asks to view them (there’s just a small “view notifications” button at the bottom of the screen). Further, the Live Activities widgets will eliminate a lot of the notifications sent by apps like Uber.
If the trend continues, iOS 17 will further hide notifications.
Perhaps this is why Apple now feels comfortable with web push notifications.
A majority subset of users want their phone to buzz when their packages ship or are delivered, when their delivery food is about to arrive, and when their paycheck hits their checking account.
Notifications as a concept are here to stay. Allowing every app limitless access to the same type of notifications is not.
Years ago Facebook removed the instant-messaging feature from the mobile version of their website.
In other words, the mobile Messenger site already exists and has worked fine for years.
Have you tried photopea? It's surprisingly good.
I wish that were true. We wrote a navigation application with GPS, turn-by-turn instructions, fullscreen-mode, always-on-screen and more. This is possible directly in the browser! (its open source)
But the problem is that even if you pick Chrome as target you'll still have a lot of problems to solve. Can you disable the display to save battery for your long hiking tour and navigate just by voice? A native app can do that in the background, but I have not found a way to make this possible for a web app.
And then there are many Web APIs (sensor API, always on screen), that are only implemented by Chrome.
Or did you mean "Chrome won" :) ?
It seems like most of these app making companies hire more human psychologists than developers now, as there is a constant stream of subtle suggestive marketing in everything apps do now. App updates are done far too often in the background for lord knows what reason as well, usually not for security reasons of course...
I'm tired of trying new apps, I only install what I need, the flood of apps in app stores that are even deceptively titled prove to me that the major device and OS makers have none of my interests in mind. These apps needlessly have access to tracking and other features of my device they don't need, and device and OS makers do nothing to limit their reach or help my awareness of how much my privacy is being tapped. Even well known app makers are selling out to the creepy consumer voyeurism craze that is rampant in the app making industry now... It's literally stalking users in apps that people often trust, on devices that they pay for, it represents one of the most egregious security derelictions of duty by Congress and Device makers ever to let this fraud continue.
Why would a calculator app need weekly updates, or to know your physical location, and have access to all device cameras and files every time it's used? Why would TikTok need permissions to access the same things in order to even function? The app stores and device makers are complicit is giving apps too much access to your data as well. This is also why Microsoft over-complicates, and now hides Task Manager further in Windows 11 by not making it accessible in the taskbar, and by not distinguishing official software and services from unofficial ones. The amount of background bandwidth used for tracking information isn't considered for devices that also get throttled when data caps are reached as well. God knows how much bandwidth is used by these apps to send our data back to HQ... Data lines which we also pay for are used to share our private information with these creepy corporate voyeurs as well.
I rebel against all this overreach nonsense with black electrical tape over my front camera, by turning all notifications off, and by putting my phone in a Faraday sleeve when I'm not using it. Something's got to give, this is not what anyone is paying for when they buy a "smartphone". Maybe we should call them "SpyPhones" moving forward?
I'm coming to detest both apps and Web increasingly (though apps are far worse). The negative incentives and dark patterns are not only ubiquitous but cause for major societal and national security concern.
Depends. If your code lives on the network (e.g. under source control), and is executed on the network (servers, VMs, containers) then there’s not much of a case of having a local development environment. Web based IDEs also make it easier to move between machines and not have to worry about ‘works on my machine’ problems.
I mostly agree. I am currently tasked with building a brand new mobile/desktop web app from scratch, and this is the path I have chosen as well.
The breakpoint I am working with right now is 980px. Seems to be a goldilocks setting in 2022.
Lyft and Uber are the worst violators of this dark pattern on my phone, but I’m sure that if I allowed notifications more often I would see it everywhere.
Then built-in browser inputs need to offer customization, which the more complicated ones often do not. Other than datepickers, most inputs are native by need of accessibility.
> There are now input fields for everything, but I rarely see them used
iOS Safari currently does not support most of the native datepicker API, rendering it almost useless.
People don't install new apps anymore. They have their go-to apps for entertainment, work and logistics (IG, TW, Netflix, Google Docs, Bank, Uber), a couple of games maybe and that's it.
For everything else, it makes less and less sense to have to install yet another app.
I do not think this can be used as an argument. Mobile apps track more heavily than websites. Think location. Also mobile app tracking and ad SDKs create considerable share of the app binary weight.
To this day, I cannot fathom why it was removed. Every thread I've looked up boils down to "We removed it as the default setting, and now there's very few users of it, so we're justified in removing the feature altogether.", which is a non-answer with multiple steps.
I suppose it was extra frustrating due to the slow removal of the feature. First, make it no longer be the default setting. Then, move the setting into chrome://flags. Then, periodically break the flag for it, depending on undocumented interactions with other flags, which A/B testing group you're in, locale, and phase of the moon. Finally, remove it altogether by arguing that nobody uses it. It felt like somebody had decided to kill the feature, and only later constructed a reason to kill it.
This is why people who are developing PWAs need to evangelize for better, more intuitive deployment of PWAs on popular mobile OSes like iOS and Android.
It took me a solid week to figure out how to publish a PWA home screen icon using Azure InTune MDM for iOS devices. Being required to build custom apple XML documents to get this to work seems a bit ridiculous.
That said, if you do have a need for this, it does work pretty well - assuming you can figure it out.
How much simpler can we make this process?
Home screen and bookmarks are for pull
Notifications are for push
What the OS or browser needs to do is manage those far better so it’s working on your behalf (user agent) and safeguarding your attention.
Probably notifications should cost something, in fact an auction. Why don’t people earn currency for their attention? It’s a zero-sum game with publishers paying for users’ attention as an investment. Isn’t that what BAT aas supposed to be? Did it work?
Click fraud is an issue but then the publishers would require someone like Apple and Google to make available webauthn attestation (web credentials) that this was a real device that was purchsed!
Ah yes, genius! And then just like Brave, Apple/Google can take 30% of the revenue from selling your attention, and then continue to print money like nobodies business!
I kid (even though people will try to defend that business model), the real solution is just having well-engineered notification settings. iOS' notifications are years behind the curve, on Android I can stop an app from sending me notifications simply by long-pressing the notification. iOS makes this process substantially harder, so you're right that it would probably turn into a predatory feature. Again though, we should be encouraging Apple to do the right thing here, not rev up their money printers again.
I think Web3,4,5 has a lot of promise to disrupt the gatekeepers, who currently can control our transactiosn and even influence our democracies.
This will become even more significant as the next generation will be immersed for hours a day in VR, XR, metaverse with glasses followed by neuralink. I don’t want corporations extracting rents like you described here and managing us like the Borg.
But somehow, so many people on HN believe (much like Bitcoin maxis but with Web2) that no new decentralized technology can be good enough to actually adopt or get involved with, they downvote and bury everything that even slightly innovates in this area. Even stuff like FileCoin and MaidSAFE are derided. Watch, here is totally free open source code that took us half a million dollars to produce and people can fork and build on, but if I post the link what will happen: https://intercoin.org/applications
And here is a detailed write-up of what it would be like to own your OWN server and charge people for your attention in your OWN currency: https://qbix.com/ecosystem … feel free to build upon it.
I just coined a word for people who knee-jerk downvote anything on HN that gets away from centralized gatekeepers or uses blockchain: Web2 maximalists
I agree. Many people on HN are against this as well, even if the entrepreneurs and VCs of the world might not see eye-to-eye.
> I think Web3,4,5 has a lot of promise to disrupt the gatekeepers, who currently can control our transactiosn and even influence our democracies.
No, I don't really think so. Cryptocurrency's impact on the economic landscape has already been made, the people who would benefit from it's model (criminals, scammers) have been using it to great success thus far. Without a centralized governance model, every single truly "decentralized" blockchain is forced to accommodate bad actors alongside legitimate ones, with no path of recourse in the event of fraud/failure/mistakes/redactions/etc. It sure sounds like a great concept to libertarians or jaded tech enthusiasts, but the average person has no reason to use cryptocurrency. There's no transaction they make in their daily life that would benefit from being on the blockchain. That's just a fact of life, and it's why you can advocate for it until the sun sets but ultimately, nobody will care. I love append-only ledgers and the original implementation of a blockchain is really visionary with relation to distributed computing and heterogeneous data structures. As it stands today though, Web3 and whatever the hell Web4 and Web5 are, is populated with scammers. Solana is a scam. Opensea is a scam. Tether, Terra and Luna were all also scams.
> But somehow, so many people on HN believe (much like Bitcoin maxis but with Web2) that no new decentralized technology can be good enough to actually adopt or get involved with
Hah, how soon developers forget the sins of the father. Remember Soulseek? Remember Torrents? There was a period of time when everyone thought P2P filesharing was the future, and that our world of server-hosting and F2P CDNs were all going down. Viva la revolución!
Oh, but what do people think when they hear the word "torrent" now? Certainly, most people don't immediately think "P2P filesharing protocol", but rather "there's a 99% chance this magnet file contains pirated content". NFTs, Web3 and the Blockchain are already headed down that path, with 3x the negative press coverage of Bittorrent/The Pirate Bay. The finance revolution is over, the preeminent powers of banking proved to the world that cryptocurrency is a fraud, and they didn't even need to lift a finger to do it. How quaint.
> Even stuff like FileCoin and MaidSAFE are derided.
I want my files stored on Amazon's datacenters, thank you. With AWS storage, I can comply with modern security regulations and know where my data is at all times. If I upload content with FileCoin or similar mumbo-jumbo, my legitimate business data could end up being stored on the same server where criminals store stolen credit cards. No thanks.
> Watch, here is totally free open source code that took us half a million dollars to produce and people can fork and build on, but if I post the link what will happen
Are you... mad that people don't care about cryptocurrency? I mean, hey, if you really think crypto is going to explode, then feel free to bet everything on it. But look around you, get a feel for the real-world scale of finance that's going on right now. Cryptocurrency, NFTs and Web3 are at the bottom of the feeding chain, and they're doing absolutely nothing to change that.
You keep asking people to build on other people's projects and "feel free" to contribute, but I think it's time to admit defeat. Nobody is going to do these people's work for them. No developer is going to build on an API that's actively scamming them unless it's named Google or Apple. If you feel frustrated that both the public and developers don't care about cryptocurrency, then why are you willing to bet the farm on it?
> And here is a detailed write-up of what it would be like to own your OWN server and charge people for your attention in your OWN currency: https://qbix.com/ecosystem … feel free to build upon it.
I don't want to. I disagree with the way Qbix is designed, and I reckon any developer who reads the words "centralized node" will also nope the fuck out of there.
> I just coined a word for people who knee-jerk downvote anything on HN that gets away from centralized gatekeepers or uses blockchain: Web2 maximalists
I like it, it really sounds like a label I could be proud of. If you're a visitor on my Web2 maximalist website, you can be assured that your current browser will Just Work to find my site. As a Web2 maximalist, I also won't be offering any places for you to spend your hard-earned money. That's for you to keep. I won't be promoting any get-rich-quick schemes, I won't create complicated ownership diagrams, I'll simply deliver my HTML and CSS to you via your ISP. There's no opportunity for me to scam you, because I'm not hiding anything. My Web2 ideology is transparent, the only data that I get from you is what you willingly offer. Your visit to my website doesn't show up on any ledger. Sound like utopia? There's still plenty of time left to enjoy Web2, folks.
It just seems very strange to me that this is happening on a site that started with promoting a “hacker ethos” and “hacking on things” — which is totally associated with rebelling AGAINST large centralized institutions and their power imbalance. Whether it’s ham radio operators or DYI culture or the indie engineering… anyone remember the indieweb movement? How about the Decentralized Web with Tim Berners-Lee? He wrote this:
https://amp.theguardian.com/technology/2014/aug/24/internet-... (2014)
https://www.theguardian.com/technology/2019/mar/12/tim-berne... (2019)
A month before, I wrote this in CoinTelegraph, and it is still true today: https://cointelegraph.com/news/how-a-web-that-lost-its-way-c...
What do you disagree with in Qbix? My cofounder and I met Tim’s SOLID team at MIT in 2014 (scroll down on https://wefunder.com/Qbix) and since then he left MIT and started Inrupt. His vision is not unlike Dorsey and Web5 — but Dorsey will work with way better technology rather than Tim’s HTTP and SPARQL:
It uses ION from Microsoft (championed by Daniel Buchner for years until M$ finally relented) that is based on the open Sidetree Protocol anchored by Bitcoin (or any other blockchain). And self-custodied private keys.
I met the lead developer of SOLID - Dmitri Zagidulin — and briefly recruited him to work with us part-time and document our own decentralized identity solution, that was based on pseudonymous identies similar to xAuth from Meebo (years ago). Dmitri left Qbix due to disagreements between us not supporting web standards fully enough in our early iterations, as I believed adoption leads to standards (eg oAuth and HTTP itself) rather than the other way around. Dmitri was instrumental in helping working groups come together to form DID, which is the top spec for decentralized identity. Whereas stuff like OpenID has been largely a shit-show, DID has had adoption by various “methods” including ION btw.
@marknadal wrote about it here https://news.ycombinator.com/item?id=16355311
Back in 2018, a mere four years ago, people cared deeply: https://www.decentralizedweb.net/
There is also Fediverse, Diaspora, Matrix, Tor. But far more interesting to me is Dat/Hypercore (beaker browser uses it), PouchDB, IPFS and MaidSAFE. They are truly decentralized.
Look, a lot of people are working hard to decentralize things for society. It’s much harder than yet another venture-funded closed capitalist silo that extracts rents forever. And you can be proud to call yourself a Web2 maximalist, but in every generation the old folks are shaking their fist at the young generation with the new technology and don’t understand why anyone needs the latest stuff. What was so bad about the old cars, anyway? They never broke down, unlike the new crap! Right?
You sound like this guy to the people working on the latest in group signatures, BLS signatures, zero-knowledge proofs, verified credentials and self-sovereign identity:
https://m.youtube.com/watch?v=fs-YpQj88ew
Back then everyone also had no idea why the Internet was any good. Ballmer yelled “search is not a business!” Dave Letterman simply asked: Does Radio ring a bell?
What problem did the Web solve back then? People didn’t know but made fun of all the <blink> and <marquee> tags and the tacky personal home pages. Same here. It’s early days, yet.
Here's the gist: I despise centralized services. Apple, Google and Microsoft are some of the most evil companies I can imagine, and their atrocities that they committed against the web will never see trial because nobody cares enough to hold them accountable.
There, happy? I hate the establishment as much as you do.
I would still prefer for any one of those companies to control the web over Solana or Terra.
I love IPFS, Matrix and Mastodon. All wonderful technologies, and much as you said, "truly decentralized". They're excellent examples of federation, and great pieces of software if you consider yourself an internet power-user. However, the average person will never use a single one of those technologies. There's simply no reason for them to use it. Google Drive is easier than Dropbox. Discord is simpler than Matrix. Twitter is faster than setting up Mastodon. Again, all of this incredible technology that you're speaking of has existed for years, and nobody has used it for anything significant. There is no "internet" moment, not even a BBS moment where we can see faint glimmers of light from the future. We got digital apes and a plethora of rug-pull scams, plus hundreds of millions in stolen coins that has yet to be recovered.
You have to be pragmatic about change, otherwise you turn into a Richard Stallman: maybe ideologically correct, but so far-removed from normal human society that you can't be taken seriously. There are several noble people out there working in the field of decentralization, least of which being the people who bicker with people endlessly on forums while also promoting esoteric flavor-of-the-week Blockchains. HN knows good decentralization when they see it, which is why projects like Mastodon and Tor get upvoted, and things like OpenSea and $APE_TOKEN get flagged. There's nothing novel about this technology anymore, "average joe" has spoken and said he's not switching to Mastodon because Kanye doesn't have an account there. It's cool, but has no support even among the people who hate Twitter.
It's fun to nerd-out about cool protocols, but Web3+ is DOA. I don't even know how you're arguing some of this stuff with a straight face when not a single major browser vendor even supports this junk.
PS: Don't try to claim Mastodon, IPFS and Matrix as Web3. Just because they use secure cryptography doesn't make them comparable to the half-baked dreck that is coming out of the Web3 space right now. They're decidedly Web2-based protocols, every single one of them was built on the backbone of traditional networking models.
Whereas IPFS and BitTorrent were explicitly started as decentralized alternatives with no central point of failure (the latter as a response to the shutdown of Napster). And then they went ahead and created FileCoin and BTT to pay for things in this decentralized ecosystem.
So puh-leeze, you Web2 maxis haven’t been able to even produce good open source alternatives to the Big Tech that totally captured everything in your space. And Web3 guys have captured a lot more momentum and people. And you don’t get to say that FileCoin and BTT aren’t Web3, and that Web3 is whatever you don’t like.
Sure, Web3 was also captured by greed (of the early speculators who finally got to play VC) which is why we need Web4 and Web5. Things evolve. Web2 and Bitcoin maxis want things to stay the same as they were 12 years ago. But the world is moving on. Just wait the next few years as most Web2 things you know (badges, communities) go decentralized (NFTs and DAOs). Metaverse, Apple Glass and then neuralink etc. thankfully we won’t have corporate-controlled metaverses be the only solution, that would be even more dystopian than today’s Big Tech. You’d literally be the Borg.
But hey, I guess you LIKE to be locked into AWS for their totally centralized and overpriced data centers (which they call “the cloud” to evoke feelings of decentralized Internet) and believe that’s the only way you can be compliant with regulations of your centralized governments. Where actually, end-to-end encryption and resilience can increasingly be found in decentralized systems, and credit cards with their PCI compliance are replaced with self-custodied private keys and cryptocurrency.
An app store for PWAs would be nice. Users are not aware they can add sites to their home screen and automagically transform a site into an app. Nerdy types may be aware of it, but for the average user they're simply not aware of PWAs.
I strongly believe that the overwhelming majority of users don't want apps on their homescreen, whether they're PWA or native, unless they're things they use pretty much daily. They definitely don't want to install some crappy app for a business they use a few times a year. Most things should be plain old boring websites.
If only. There's no standardization, no PWA seal of approval. Most website vendors that even bother with a "Add to Home Screen" button on mobile displays aren't interested in anything besides getting a shortcut displayed on their 'desktop'. They certainly aren't doing things like configuring service workers to cache and serve the website offline.
Only for iPhone, and that's because Apple wants the experience to be bad. This is just one of many reasons why it's a bad thing that users can only either use Safari or reskinned Safari on iOS.
On Android (Chrome) you install a PWA with two taps.
Websites are at least supposedly are sandboxed so they are not as much of a risk as running native binaries. But this is getting worse and worse though as browsers expose more and more of their host operating system's functionality. The benefits of using a website instead of a native app are quickly disappearing, while the drawbacks have only been somewhat mitigated. We're getting to the point where browsers are worthy of the decades old criticism Emacs has received. They have eventually become an OS with many fine features - simply lacking a good web browser.
The end result is web apps on mobile still have that pervasive chug to them. You still get laggy text input when a page is first loading. You still get chunky animations. All the problems of 15 years ago still exist in the completely identical way.
Easy:
- Apple only allows one browser -- their own -- on iOS
- Apple uses this control to cripple PWAs on iOS
- Apple's iPhone market share is significant enough that if Safari/iOS doesn't support something, businesses won't spend time on using it
E.g.: chat/communication apps cannot be written as PWAs, since Safari on iOS still doesn't support notifications.
What you're downloading is a different skin for Safari. Apple does not allow any other browser engine than WebKit.
I can't really comment on other companies, but my company is currently moving our product from MVP to a more mature project. When comparing various options (PWAs/web, Flutter, React, Native), PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting. Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
Perhaps the strongest argument in favour of the web is that it's a lot easier to hire web devs than iOS and Android developers. But that's all moot if the web can't deliver the product experience we're targeting.
We're still considering React, but I feel like we're inevitability going to end up building a full native experience.
Generally speaking, I feel that PWAs and the web have a long way to go in terms of tooling, performance and UX excellence, before companies in our position will be comfortable adopting it. At least with iOS, it's really easy to create fantastic user experiences and maintainable software as long as you're willing to follow Apple's guidelines. It's a lot more difficult to achieve the same on the web.
Interesting. What did you find lacking regarding UX for PWAs?
To me it's often glaringly obvious how many native apps are written for iOS first, then ported to Android. In these apps I think the UX is much worse than if they had just given me a decent web app to interact with.
Regarding why a PWA would be easier to maintain than two native apps, you mention it yourself in the next paragraph: it's much easier to find a decent web dev. Their knowledge also directly translates to being able to build/maintain marketing and store websites for you.
Other benefits I've noticed is that with a web app
- there's no 3rd party gatekeeper between you and your end users.
- The app updates itself when used, meaning users will almost always be running the latest version of your app
- There's no app store review for you to wait on before being able to publish bug fixes or new features
- You can sell stuff inside your app without a gatekeeper taking a 30% cut
- Speed of development: as only two web devs responsible for web app, marketing website, and product checkout we could still keep the web app in sync with the mobile iOS and Android apps produced by a team of three devs.
In what ways do you think the tooling is lacking? I think the tooling and flexibility is actually quite good :-) I've often amazed people by setting up an ngrok tunnel, giving them a live preview of whatever feature I'm working on at the moment. While this can mostly be dismissed as just a cool thing you can do, it was invaluable when the UX-designer and I worked on a feature during lockdown.
All that said, I don't know what kind of app you're building, and there are of course types of apps that are best done natively. In my opinion, however, they are very few: 9 out 10 apps on my phone would work just as well being PWAs.
I can only guess, PWAs are like the hidden nugget of gold that devs poop on because it doesn't fit their preferred tools or experience or something.
The other reason that comes to mind is it is much easier to sneak in dark patterns of data collection and spying with native. Web is expected to degrade gracefully when denied permissions.
> PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting.
Seems odd. Web interfaces are very very good for pretty much any information display. They have their limits too. But unless you have a specific requirement that actually hits those limits this particular reason seems hollow to me.
> Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
This one is, frankly, deluded. Both app routes have significantly more upkeep than web. API churn and app store processes come first to mind. Not to mention three code bases vs one that could also be your website, which you need anyway.
> We're still considering React, but I feel like we're inevitability going to end up building a full native experience.
> Generally speaking, I feel that PWAs and the web have a long way to go in terms of tooling
Wow, I doubt you have any real experience with react native tooling, which is infinitely worse that web tooling. And even tries ( poorly) to replicate web tooling.
Seriously, a platform that comes with full debugging suite in "developer tools" in the browser has no equal in any systems I've built before. How many runtimes can you name that come bundled with full dev and inspection tools? Nicely separated out layout, code, and network. You can sit down to any dev, QA, or customer system and have the full inspection suite at your finger tips.
There seems to be a heavy pro native bias. Don't get me wrong, there are reasons to pick native, but I see very few people laying out good analysis behind their choices. Oh-well, competitive advantages for me.
PWAs also fit in a niche that is difficult for most organizations to digest. It's fundamentally front end tech, but service workers are non-trivial and also are decidedly outside of the typical front end dev's experience. They resemble backend, but the life cycle is somewhat complex and difficult.
Out of the box frameworks can provide basic service workers, but that doesn't make a PWA really shine.
It's a powerful but unusual tool that's slotted into a strange place. They are rarely used even though they can significantly improve user experience without going full PWA.
Been working in back end and front end for years. The number of front end devs I've met in the wild who understand service workers, their use cases, and how to build one, I can count on one hand.
As a result, I’m very much looking forward to iOS adopting PWA notifications sometime next year. Once native notifications are in place, there will be much less of a divide between native and web.
That said, we definitely have a long way to go explaining to people that you can add a web app to your home screen. Right now, it’s technically possible to fire a notification to install a PWA, but the user expectation is under-developed.
The web could have been as good as native. There are too many people in the standards bodies and more so the browser vendors for them to ever get their shit together in a timely manner. I use the web for nothing other than this web site and occasionally when I want to watch something on a bigger screen, which is almost never. I easily spend 95% off my computing time in native apps.
The Internet is a miracle. The Web is still a fiasco and always will be, no matter how many trillions are made for a few people by selling ads, selling ads, and lest we forget… selling ads.
"Apps are a hassle, everyone needs to be on the home screen, and it's bad for re-engagement because user isn't ready to sign up yet"... "web is hassle free so we need to make sure we have better ways of installing web apps on the home screen where developers can then engage user with notifications and sign ups".
Then the author confuses trackers and over-reliance on frameworks.
And then "Re-thinking the web" starts with... "re-engagement features like push notifications being added daily" which is definitely not what a re-thought web should be about.
Yeah, it's a wonderful new Web that makes you apply forehead to brick wall.
What are you going to do? Write your cross-platform app in C++ and Rust? Write your own macOS and Windows and Linux and iOS and Android bindings, or use some shoddy low-level buggy third-party libraries? Reimplement of flexbox and/or struggle with layout and alignment issues? Use third party dependencies for style, network, lifecycle, and everything else you just get automatically in modern browsers?
What if you’re an entry-level developer or startup hiring entry-level developers? You can’t expect a beginner to deal with these gripes and edgecases alone, let alone on top of the gripes and edgecases of a low-level language. And, more beginners already have experience in web dev vs in C.
Or maybe you decide to use Java. Except Java doesn’t target mobile. Well it does with RoboVM, but then you’re stuck with Java 7 and other limitations. And you have to ship the JVM, and your UI is basically guaranteed to look like garbage (unless you’re JetBrains), and you have to deal with Maven or Gradle. But if you used JavaScript, everyone has a working web browser.
Or maybe you use Kotlin or Scala or GHCjs or another framework which claims to target all platforms. Except last time I checked, these just do not work good and have much support for truly every platform. In fact they have most of the same issues as Java. Targeting 5 platforms is hard and tedious, writing a half-functional universal adapter for 5 platforms is nearly impossible.
Now if you do go through with something other than web and manage to target all platforms, you get a faster app, and the code probably is nicer and easier to extend. Except you don’t really care about speed or long-term extensibility. You care about making an app as fast as possible, targeting the widest audience possible, and making people want it (and people usually choose good looks, which is really web-styled looks, which your app doesn’t have).
And you care about marketing, so you have to learn web design and make a website anyways. And no matter what tool you use, when you sell your app, people have to spend a whole 10 seconds downloading and installing it, and many people are too impatient to wait 10 seconds. Meanwhile you could’ve wrote up some garbage using nextjs and PWAs and Firebase and maybe Electron and garbage JavaScript in like 5 days, it “just works” out of the box (issues come up a few months later), it loads in 2 seconds after clicking a single link, and you get the website for free.
Yeah, I hate JavaScript and targeting browsers as much as the next guy, and I much prefer to (and do) write stuff in other platforms. I wish there was a good alternative. But like it or not, web right now is absolutely the “poor man’s native” and beats everything else out of the water. Write your app for a specific platform, write a non-native (like with Java UI), or invest years into your cross-platform truly native product, but “poor man’s native” is web.
This leaves a bimodal distribution in wealth of folks that use their own metal.
There will always be reasons to build native applications. It's quicker to innovate platform APIs when you don’t have to go through standardization and browser implementation. Exposing new "bedrock" APIs can be done more quickly. As Jeremy aptly summed up, "The price we pay for that incredible cross-platform reach is that features on the web will always be lagging behind."