314 comments

[ 5.0 ms ] story [ 344 ms ] thread
…did it?

I still use tons of native apps on my laptop, and almost exclusively native apps only on my desktop.

You're thinking about software not apps
They’re the same thing. “App” is short for “application”, aka installable software.
Most of the stuff I use on my computer are native apps, and plenty of corporations still based on air gaped networks with native applications.

Also despite WebGL, or due to the way it was evolved during the last 10 years, game development for the Web is a failure, hence why everyone is having yet another go at streaming with graphics cards neither WebGL nor WebGPU will ever support.

Also nice touch forgetting about PalmOS, Symbian and Windows/PocketPC.

One word: Apple.

Preventing PWAs is detrimental to users and an abuse of their monopoly.

Is android native development still a thing?
I've only ever seen the NDK used for games
and all the packers, protectors and obfuscators that are sold as "must have"
Usually people that buy those never heard of IDA Pro and Hex-Rays.
It's always confusing when people say "native" on Android... you never know if they mean "not a web app" (SDK) or "machine code" (NDK). Do you mean the latter?
I'm pretty sure it's "not a web app" in most contexts, but that's an interesting point I hadn't thought of before.

What do you mean by "machine code" though? To me, the most native you can get is a Java/C++ app that uses Android APIs directly. Anything lower is systems development, something not generally possible for normal developers.

> What do you mean by "machine code" though? To me, the most native you can get is a Java/C++ app that uses Android APIs directly.

I mean like C/C++ (which compiles to machine code) and not Java (which compiles to bytecode).

Same as the distinction the terminology made on desktop: https://stackoverflow.com/a/855774

Would you consider something that's not a web app, but built with a higher level framework like Flutter to be native in either sense?
Me? Personally I hate any definition that conflicts with the old one, but that ship sailed long ago.

Nowadays, my understanding is, if it's not loading a webpage off the internet, people call it "native". Doesn't matter what framework it uses to actually display things (even if it uses web technology).

Android UI is implemented with Java libraries. If you want native Android L&F, you need to use those libraries. You can write your app with C++ and invoke those libraries via FFI, but that's extremely cumbersome way to develop and does not bring any advantages. Java is the native way to develop GUI apps for Android. And recently Java was replaced with Kotlin, so nowadays Kotlin is the native way to develop GUI apps for Android.

Just like C# is one of the native ways to make Windows applications.

> Just like C# is one of the native ways to make Windows applications.

Please do everyone a favor and, at least for the sake of desktop development, don't misuse the terminology like that if you want people to understand what you're saying. The entire reason ".NET Native" was developed was that C# did not produce "native" applications. Saying C# produces native Windows applications is going to confuse the heck out of everybody.

Someone is wrong on the Internet.

.NET has always supported AOT via NGEN, although it only supports dynamic linking and was optimized for fast startup of applications.

Windows 8 introduced the Bartok compiler used by Singularity, where applications would be pre-AOT compiled in the Windows store minus linking, with on-device linking happening on installation.

Windows 10, improved the later scenario with the introduction of .NET Native, slightly based on the Midori experience.

The new Windows 11 store is still fully based on .NET Native, as it makes use of WinUI 2.6.

> .NET has always supported AOT via NGEN

I didn't claim otherwise. But AOT != "native".

What makes something "native" is not merely the fact that you compile to machine code. It's one of the main features of native code but far from the only one. Again: there's a reason they came up with ".NET Native" and called it that despite the fact that NGen always did AOT. And there's a reason the Android NDK has an N, unlike its SDK. It actually means something beyond AOT.

You can go against the grain if you want and call them all native apps, telling people they're Wrong On The Internet, but you're just confusing people.

What makes an NGEN compiled WinForms .NET application not native on Windows?

Curious to find out, how those people distinguish it from an MFC/ATL or an Win32 one.

It's not just one thing. Just like what distinguishes a human from a chimpanzee isn't just 1 thing.

But see for example https://stackoverflow.com/a/855774

If you still don't like the terminology though, I'm not going to keep arguing. I didn't coin the term. You should go ask Microsoft why they didn't call C# native when NGen was already there. I'm just saying that terminology is already established and you're confusing people by using it differently.

That is one possible interpretation of the term, yes Microsoft does use native/managed to distinguish between environments with GC runtime and those without.

Which isn't what users talk about when arguing about native apps, they don't even know what a GC is.

> Which isn't what users talk about when arguing about native apps, they don't even know what a GC is.

Because I'm sure if you went and asked the vast majority of "users" what a "native app" is, you'd get a coherent answer instead of a blank stare.

Let's lay this matter to rest. You don't like the definition, I get it. It's fine.

Java compiles to machine code on Android, via JIT and AOT compilers.
I'm aware. Windows has NGen too. But that's not what makes people call Java or C# a native language, or apps based on those native apps.
Native is overloaded, however Java is the "native" language of the Android SDK, and on Windows unless one has a morbid pleasure to still use MFC, ATL, bare bones Win32, or use C++/WinRT like ATL is fashionable again, .NET UI toolkits will be the way to go.

Or are you going to argue that Visual Studio, SQL Server Management Studio, Microsoft Store, Microsoft Blend, Office AddIns, Power Automate Desktop aren't native?

> unless one has a morbid pleasure to still use MFC, ATL, bare bones Win32, or use C++/WinRT like ATL is fashionable again, .NET UI toolkits will be the way to go.

I'm not sure how the discussion turned from "native" to "the way to go".

I get the feeling like you're jumping all over HN trying to reply to me at every comment you find because... you took "not native" as some kind of insult to tools you like/consider superior?

Most of the time, I don't bother to read the author, so it is a matter of chance that those posts are yours.

I am jumping because the distinctions you are making aren't the ones that users care about.

So each one can go on their merry lives with their own dictionary version.

I meant “not a web app”, so both, I guess.
Native on Android, is what the native platform SDK offers as development experience when you install it on the computer.

So Java, Kotlin, C, C++ and Web.

Yes, very much so.
Its not sufficient of an explanation.

For desktop browsers there are also no application launch icons.

Probably has most to do with the limits of the UX of a phone. Pulling up a browser and typing in a url, hitting autocomplete is done in 2 seconds. On mobile everything is so much more painful, a lot more desire for one click wonder buttons

Wait, there is sort of speeddial/favorites tab in every browser, desktop and mobile. E.g. a food ordering webapp is my first “wonder button” in safari’s empty tab. I could even put it to the phone home screen (no need for that though).
Chrome has the ability to save sites as a desktop shortcut. It even prompts you to do so on some web apps, like Stadia, so you can use it like a more "normal" desktop app.

Safari on iOS can do this, too. You can pin a website to your home screen, which is something that I have done for PWAs.

It could have easily gone another way where this was the "normal" behavior of the mobile ecosystem.

You should read the article. To sum it up: the web beat desktop apps because traditional OS were not designed for a networked world.

The iPhone however was designed for a networked world so it didn't have all the limitations of desktop OS.

The web wasn't designed for a mobile world so it had a lot of limitations: hard to do a good UX, passwords to type on a tiny keyboard, no offline mode (or so complex to use that no dev do), URL vs app icons...

Only that's not how the world works.

The world works with power: Apple used their power to make strangle the entire idea of the web on mobile by putting a break on change. Why? Mobile web tech helps their competitors more than it helps them.

If Apple's own platform / APIs had had the same rate of change as they effectively forced on the mobile web, then they would be a decade behind Android.

This is exactly the same thing as Microsoft did in the 90s with productivity software. They had secret undocumented APIs which made Office a fantastic experience and non-office "meh".

If you look carefully you'll see this tactic all over: throw mud in your opponents eyes to slow their rate of change.

See: US banking (in the EU I can transfer cash, instantly, for free to a friend's bank account and have been able to do so for a decade), Fossil fuel vs Climate change, most commercial standard bodies. It's everywhere.

> US banking (in the EU I can transfer cash, instantly, for free to a friend's bank account and have been able to do so for a decade)

This one actually seems like a fault of the US government dragging its feet on making advancements on a nationwide protocol for transferring money and staying stuck on ACH. So much so that, that the biggest banks had to get together and create their own system 10 years ago:

https://en.wikipedia.org/wiki/Zelle_(payment_service)

> Launched in April 2011, clearXchange was originally owned by Bank of America, JPMorgan Chase, and Wells Fargo.

Supposedly, the US government is finally rolling out a proper system in 2023:

https://www.federalreserve.gov/paymentsystems/fednow_about.h...

  > Apple used their power to make strangle the entire idea of the web on mobile by putting a break on change. 
but this seems to neglect the fact that

  1. apple/jobs wanted web tech initially for apps
  2. native app devs were beating down the doors for access to native, not web apis
That was very very early on. Once they were big and Android came along the strategy was turned around.
Mobile Web is enough for like 90% of CRUD stuff, regardless of PWAs.

Yet, most business still go native due to the development experience, like not having to turn <div> magically into beautiful dropdown combo boxes with multiple selections via an HTML/CSS/JS soup, that don't feel quite right with the native ones.

I don’t think so - PWAs on Android are also usable at best.

It’s hard to twist the web into something it isn’t. So much effort goes into making the web do what native apps already do instead of trying to complement all that towards a better experience.

Apple is the reason. App store greed. We with our "design and virtue signalling" addiction helped a lot in creation of this monster. As far as I can remember, the real UI/UX innovation was killed fast. Palm/WebOS.
Maybe I missed it, but I don't think the article even provides figures for the percentage of time spent in a browser on mobile versus desktop.

If it is indeed skewed toward non-browser activities on the phone, that's got to mostly be due to hardware integration for things that don't exist or aren't used the same way on most desktops (camera, voice assistant, GPS) and better notification interfaces (messaging apps, which surely occupy a larger percentage of mobile users' time than desktop). Most of the stuff in the article seems way less relevant than those (e.g. "typing passwords is awkward on a phone"—OK, but I don't type them, they auto-fill, and Safari even generates them for me so many of my passwords I've never typed on any platform, so....)

> camera, voice assistant, GPS

Phones could add APIs for webapps to use those.

Camera and GPS are usable from webapps.
Mobile code can not burn battery on unnecessary cpu use, and certainly not on unnecessary use of power transmitting over a radio link repetitively loading things: desktop gets power plugged into a wall and is therefore less constrained.
> unnecessary use of power transmitting over a radio link repetitively loading things

Web apps can be installed on the phone. Has been working on Android for a long time, and it won't need to reload anything. I don't see them being much less efficient than "native" Android apps, especially considering their average quality.

> desktop gets power plugged into a wall and is therefore less constrained

Unless it's a laptop.

May I ask for some examples of those web apps? Does this really exist outside some note taking sample apps?
(comment deleted)
to your point iOS has had a web view object forever too.
I've been writing a big React app for about a year, it runs really well on mobile too, but it is a bit hamstrung by iOS safari due to some errant touch interactions I've not been able to turn off despite much trying: double tapping, pinching in certain random areas can lead to zooming, and there is no good way for the user to undo it.

I'm going to agree that the reason is Apple.

Yes, I agree, how selfish
I am not sure in what world. 90% of the applications I use are native desktop apps. Look ma, no web.
Kinda similar boat here, I kinda hate electron for similar reasons it's just bloated as hell.
You don’t use Gmail, Google Docs and Maps, Outlook, Youtube? My wife uses a transcribing web app called Otter. All the fantasy map authoring tools I’ve used recently (for TTRPG use) are web apps, like Inkarnate. Arguably even Facebook, Reddit and LinkedIn are really more web apps than web sites. On mobile most people would use an app for all of these services, on desktop they’re mostly tabs in a browser.
Not GP but I don't find their claim implausible.

> Gmail, Google Docs

Outlook and the Office suite are common desktop apps, especially in certain industries.

> [Google] Maps

Most people probably use Maps on mobile. Most of my use of Maps outside mobile is definitely just in Google search results.

> Outlook

I use OWA but long-time Outlook users often still prefer the (extremely legacy) desktop app.

> YouTube, Facebook, Reddit

Some people primarily consume media on mobile devices. Especially if they have a dedicated work or gaming desktop.

I do not use Gmail. I have my own domain like since forever and use Thunderbird to read my email. I do not use Google Docs, I use Office Suite from SoftOffice instead.

I do use Youtube, Google Maps, Google Translate, Netflix and Amazon store. I do not think they make anywhere close to even 10% of what I use. I do not use Facebook, Reddit and LinkedIn. Well I do have accounts and I used those couple of times to find particular person but that's the extent.

On mobile, the only apps I use are offline GPS - OsmAnd and some that control my gizmos like drone. Other than that my phone works strictly as a phone and does not even have data plan.

Two words: Application permissions.

Any application I install on the desktop can potentially steal my data and ruin my life.

And no, big names like Spotify or Valve don’t offer complete protection either due to supply chain attacks.

Yes, but normies don't really understand or care.

The big difference is the "inviting" experience of installing apps on smartphones. Yes search the name and tap "install app".

I believe this is probably the most important difference. Desktop platforms, and particularly Windows, have not historically offered a convenient experience for installing, updating and removing software. Web apps just work. Mobile apps and app stores offer a simpler and much slicker experience than desktops, so there is less need for the easy access that web apps offer.
I think normal users do have a fear of installing software on desktop. There's this fear of "viruses." They know they exist, they don't know how they work, but they know you shouldn't install anything or you'll let them in. They view third-party software like vampires - intruders trying to trick them into opening the door.

Which, given the history of adware toolbars and registry bloat on Windows, is maybe warranted.

https://www.pcworld.com/article/149951/registry-cleaner.html

That's the correct default view of software.

Where we've gone astray is that people don't treat "apps" the same way.

We do the same in Windows App Store too. … except it’s unlikely to be the easiest way to get the apps you love and not effective as a means of discovering new apps, plus and because of that they haven’t succeeded at attracting developers to their concept. Why would a developer spend however long making their app available in Windows store unless they were already a big name? And how easy is it if you’re on any one of the now disjointed and incompatible litany of display technologies (forms, wpf, silverlight, uwp, dos, powershell) and pay big platform costs for the privilege. I am in reality hoping to do it ASAP.
Your desktop does not have much private data (other than your files, which reputable programs don't scan without reason). Your phone has your location, your activity status, your phonebook, which 99.9% of people cannot spoof
> Your desktop does not have much private data (other than your files, which reputable programs don't scan without reason)

Disagreed. It's not just about files; once you run an untrusted binary on a desktop it will typically be able to capture your screen, keyboard input, etc. It doesn't need to be in a file for malicious software to be able to pick it up.

In contrast, mobile applications typically run within a sandbox where short of an OS/kernel exploit there is no way for the app to access anything else but its own data (besides a very limited subset like photos, etc that you still have to authorize explicitly).

'Files' includes %appdata%, which is often a bunch of secrets like browser cookies or authentication keys.
I thing one main missed point here is that the web-as-app shift on desktop happened before computers were super-mainstream and daily-used. It happened when most of its users were fine with new techniques to get stuff done.
Actually, the web itself happened after computers had gone super-mainstream. That led to the dotcom-boom and burst of the late 90s/early 00s. From there, web 2.0 developed. Google started pushing its plugin (Google Gears) to deliver webapps, but uptake was too low and therefore their webapps suffered. Google solved that by building a browser that deliver the JavaScript speed they needed. That led to a proliferation of web apps as the term is understood nowadays.
For me, opening and dealing with the browser and web apps on mobile is more of a hassle than doing the same thing on desktop. On the latter, I have my browser with pinned tabs with the apps I use (email apps, project management apps, etc.) and it just stays there.

Trying to do the same thing on mobile is a pain, so it's more convenient to use the mobile apps there.

(comment deleted)
I think this article misses out on a couple things. First writing a cross platform App for desktops is a lot more work than especially the GUI aspect than a web app.

A desktop app is just as capable of using the internet as a phone app. So that point does not make any sense to me.

The main reason apps are more popular on phones is first battery usage is gonna be better and the was especially important early on when phone processors were less capable.

2nd there has been a big push particularly from apple so they could capture those purchasing fees. Combine this with the fact they prevent the device users from side-loading unless they find an exploit to jailbreak their device the Apple's incentives are clear.

Combine this fact the apple when it comes to implementing standards for browser featuers drags their feet at times. Developers will just often deal with implementing a native app, also combine the fact because users can't side load your only stuck to one browser engine on the iPhone.

This bleeds over to android as it's kinda pushed the defacto method of getting apps on a phone being to use a store. Also google is not going to really try to change it either because they are also collecting fees. Although a developers options are certainly more free on that platform, but again to the users if you stray to far from what has become the defacto method getting users will be difficult.

UX, harder to optimize to a small screen. Nowadays phones are huge compared to 10 years ago and native apps got a very early advantage.

Connectivity, 2.5G and 3G were slow, bandwidth is capped, no internet at all somewhere.

And yes, what can you do on iOS if Apple forces their browser on all their customers?

But (Android) I still spend most of my time in a browser. Notable exceptions: WhatsApp, Telegram, K9, Maps, OSMAnd, Camera, Gallery, YouTube / NewPipe. Maybe 1 hour vs all the rest.

Notable exceptions: WhatsApp, Telegram, K9, Maps, OSMAnd, Camera, Gallery, YouTube / NewPipe

Why not use the web versions of WhatsApp, Maps, YouTube, Photos etc.?

Lot of potential theories here. Allow me to offer one of my own: it's our physical posture and ergonomics. When on the desktop, you're usually sitting down in front of a desk after deciding to set aside some time for the express purpose of doing something on a computer. A small wait for the UI to render is tolerable. But when you're on a mobile device, it's usually the the thing you're using to kill time while you're waiting for something else. Delays are a lot less tolerable.

Another thing: on desktop, the burden of task switching is lower -- you click another tab while the page loads. It's literally just another instantly responsive click back when the thing loads. On mobile, it's a slightly slower, more involved process as you tap and hunt for icons.

> A small wait for the UI to render is tolerable.

Absolutely not. In fact, I expect more responsiveness from my desktop.

Agreed, when using my phone I am very frequently waiting for it to do something. Start Google Maps, wait 5 seconds, click the search bar, wait 3 seconds before the keyboard comes up, type a few letters, wait between 0 and 10 seconds for any letters to show up...

It's hilarious when you think about how ludicrously powerful these devices are compared to what we were using 15 years ago that wasn't that sluggish. And of course by hilarious I mean dreadful.

This is also me, but as an engineer. It's not how the average user's mind works.
A difference I haven't seen highlighted in this thread yet is that there are phone apps and then there are tablet apps, and the latter have already made big in-roads with content creators, e.g. amateur/pro musicians, illustrators/artists, etcs.

Tablets can provide the ergnomic benefits and the high-level interface for their tasks that a mouse and keyboard can, depending on context, add more complexity to. A lot of the times, you don't need all the power user features at once for your work in the course of creating some art form.

Tablets are lighter than laptops generally and are faster to boot up for when the spark of creativity hits.

Posture and ergnomics are definitely big wins for mobile as a whole, and lot of comments here are desktop power users speaking strictly of their workflows translating to a phone.

Because mobile phones' hardware and software are much closer integrated and closed systems than the desktop or the laptop. Bringing the web (or web tech) to phones is both technically more of a challenge and economically in particular Apple opposes it. Ceding control to the open web couldn't really be resisted on desktops.

However I'm relatively confident that the web is going to eat mobile regardless, starting with web technology and cross platform JS based frameworks gaining popularity, regulatory action against platforms, and when we're at the point where the web on mobile isn't disadvantaged any more it should be the clear preference.

I guess this is because on the mobile device, the manufacturer like Apple, they are more easy to limit the develop of web. Or we can say, on the desktop, the owner of the most popular browser is not the OS maker, imagine we now just have Windows, and IE....
Inertia and path dependence (or in plain language, history). Web started on the desktop and the browser co-evolved with desktop focused web apps.

Desktop as a platform is also more hostile to native apps: a lot of users don't have permissions to install native apps, and another slice of users is sufficiently clued about security that they don't want to. These probably make up >50% of your potential users. The same effects exist on mobile too, but in smaller portions.

The article appears to see "the web" as "browsers". This is apparent in the "OS within OS" language. The web isn't the browser although that is its facade. If you consider search on the desktop as "where do find X?" And on mobile as "how do I get X done?", Sans the real web the mobile device will be far less useful. From that view, it almost looks like the web already ate mobile .. just that we don't see it .. as made clear in this classic https://xkcd.com/1367/
And for true blue native apps, the web hasn't quite eaten desktop just yet. Try to get a professional video editor to use a website for production work like movies, or get an audio engineer to use a web based DAE (the latter is getting a little more feasible). You'll find it similarly hard to pry Maya or 3d studio Max from the hands of 3d professionals.
Managing apps on the desktop is a pain. They get their dirty fingers everywhere and they're a pain to uninstall. For lightweight tasks, the web solved this, though local apps still ran smoother than webapps. App stores solved package management (so did Linux distros), and getting a true webapp to perform as well as a local app is more trouble than it's worth, and that's when you have a good network connection.
Early smartphones had poor connectivity and the web at the time had very poor offline support.

While Apple initially said that apps would be web apps they never really walked the walk. No html-css frameworks for optimizing sites for the iPhone. No frameworks for offline support.

And this was at a time when Apple and Google were good friends and Google were developing their Google Gears for offline support (you could use gmail offline with google gears back then)

Apps offered 4 things: a development environment, offline support, a monetization strategy and a cool factor.

Make it 5: they also supported things that are more than a glorified webpage.

When iPhone and Android hit the scene the 'rich' web experience was primarily flash, silverlight, and some java applets (taking their last breathe).

Input APIs for touch, multitouch and gesture were a mess for many years in the browser.

Media queries didn't become a w3c recommendation until 2012 so building a ux that looked pleasant really wasn't possible.

The memory, cpu, GPU, storage and battery constraints were unbelievably tight.

In short mobile hardware and the iOS and Android SDK environments were consumer + developer ready for practically 10 years before the web was ready for mobile.

The real question is how did the web remain relevant while being so far behind this tectonic platform shift?

I think major points that kept the web alive: content addressibility (via urls), ease of connectivity between content (via links), vast amounts of information already in the platform, smoother learning curve for developer technology, and the vast amounts of money/influence Google was willing to put in to keep it's search ads property relevant.

> content addressibility

I'd say the app ecosystem promotes closed content whereas WWW promotes open content.

What open content? Wikipedia? That's <1% of the Web.

If we're judging whether the Web promotes open content by the actual results after three decades, the exact opposite is the case: the Web promotes closed content.

Netflix, ESPN, Google/Gmail/Maps/News/etc, Microsoft/Bing/Office/mail/etc, NYTimes, Washington Post, USA Today, MSNBC, CNBC, Reuters, AP, CNN, Bloomberg, FoxNews, ABC, CBS, NBC, Facebook, Instagram, Twitter, TikTok, LinkedIn, Pinterest, YouTube, Imgur, eBay, Amazon/Twitch/Prime/etc, Target, Walmart, ETSY, Disney, Viacom, Verizon/Yahoo, Match.com, Quora, PayPal. Along with pretty much all corporate sites and porn sites. Most blogs are privately owned, copyrighted; same with substacks; same with most mailing lists. Most photography on the Web is owned by someone, and captive on a platform. Travel sites/services (Booking, Expedia, etc), review sites/services (Yelp, Trip Advisor, most cooking sites, etc), weather sites, real-estate sites (Realtor.com, Zillow, Apartments.com, etc); ticket sites (Vivid, Stubhub, Ticketmaster, Live Nation) - they're largely in the same box, they're all privately owned, copyrighted content, closed corporate platforms.

Now keep going with that list for most of the next 5,000+ largest sites (with few exceptions like Wikipedia or Stack Exchange).

Nearly everything on the Web is centralized, closed, privately owned, copyrighted content and or platforms. They're all little walled gardens.

uhm... everything? "open" as in anyone can make a website and if it's has one good article, it will show up in some google query's result.
> "open" as in anyone can make a website

Anyone can make an app too.

> if it's has one good article, it will show up in some google query's result.

Maybe buried deep in the 100th page, but not the front.

> Anyone can make an app too.

After they install some bloated IDE, learn some "tech", and pay the gatekeepers

> Maybe buried deep in the 100th page

But they can be found and share, as opposed to apps of a non existent category where average people publish what they are working on, their thoughts, or whatever. App Store and Google Play search would crumble at the scale of the number of websites in existence right now (~2 billions). Remember that search engines index what's inside those websites too not just their name and description.

> After they install some bloated IDE, learn some "tech", and pay the gatekeepers

Tell me how making and hosting a website is absolutely free.

You could not make this argument even 10 years ago, when you could absolutely make a sites on any of wordpress, tumblr, yahoo or blogspot completely free. These days there are even more choices ranging from WYCIWYG (Squarespace & the like) to absolutely free full CI/CD-ed platforms (heroku, Zeit, GitHub pages...). It's not like there is a duopoly on web hosting.
But I guess the more important aspect of the word "free" is that no one could gatekeep you from making a website, unlike app stores where there is a review process.
> Anyone can make an app too.

On iOS, this is only true if they're in good standing with Apple and have their approval, while also paying the yearly $100 Apple tax.

All hosting providers or app platforms also have a ""tAX""

Wait till you find out about paying for bandwidth.

This is hacker news, none of us has heard of nor care about the highly technical details you speak of
Open as in no spyware required.
Uhhhhhhhh do you think websites have no ““spyware””?

Have you heard of biscuits?

In their defense they did say required.

You've been able to turn off cookies since the beginning in any sort of competent browser.

And you’ve been able to allow or deny apps individual permissions on any sort of competent OS.
I think, since we're talking mobile here, the implication is that the OS is part of the spyware here.

Or I completely screwed up my understanding of this thread. That's also very possible.

The protocol. Websites are accessible over a known , open protocol to every visitor, (Geofencing etc is there, but...), but apps use proprietary protocols which only the particular app can decode. You can see the ESPN website on any old browser, but the ESPN app content needs the ESPN app, and nothing else will work.
Open protocols don't make open sites or apps.

Cases in point: Facebook, Instagram, Twitter (increasingly closed), Reddit (increasingly closed). All of them have sites built on open protocols.

It's <1% of the viewed web maybe (I don't know that for sure, but let's stipulate).

But open content is not 1% of the existing web; there are more than a billion[1] websites, and anybody can make one.

You might not easily be able to find those websites (currently, there's still a good chance you might, via the major search engines, but that is subject to corporate hegemony, state actor malfeasance, shit-flooding the zone, etc).

But I think the ability to "put it out there" counts for most of the definition of "open".

Being able to consume content on your terms is also cool, but not as fundamental as being able to produce it.

[1]: ¯\_(ツ)_/¯ — https://duckduckgo.com/?q=how+many+websites+are+there+in+the...

Open in this context means open to access without platform preference. If you can access it with Firefox on Linux then in this context it's open.
The app ecosystem promotes closed content only because it requires native code to run for the UX people expect on mobile, at least until recently with responsive UIs dominating the web framework space.
> The real question is how did the web remain relevant while being so far behind this tectonic platform shift?

We didn't all shift to to smartphones the instant they became available. It took a while for people to transition to smartphones. Likewise getting an app up and running (in addition to their websites) took time for most businesses, and many probably waited before jumping on the band wagon

I am sure everyone on HN moved quickly, but for the rest of the non-tech world I am sure they were doing just fine using their home computer for several more years.

Even now, I still think "I'll wait and do this on a proper computer". It's not like apps have solved all computing-ills - many are total garbage with bugs and/or poorly thought through designs.

What transition? Mobile is the lite version.
> I am sure everyone on HN moved quickly, but for the rest of the non-tech world I am sure they were doing just fine using their home computer for several more years.

A whole generation of people in India never used Computers as the western population did but large majority of same people directly moved to smartphones.

"I am sure everyone on HN moved [from computers to smartphones] quickly"

I may be wrong, but I suspect you have that backwards. My guess is that at least older HNers were slower to shift from powerful but complex creation tools (computers) to easy consumption toys (smartphones) designed for consumers who found computers with files and folders just too darned complicated to use. Until good, portable mapping and good-enough cameras came along, I had no use for the "smart" features of a phone that were vastly inferior to the smart features of a real computer. For a long time, all I needed from a phone was the phone, which a small flip phone handled just fine. For anything "smart", I used the laptop & real camera in my backpack.

I suspect everyone is wrong, but we're all subject to an availability bias.

We assume that things we actively notice other people doing in public are representative of what everyone (or everyone in some category to which we've assigned that person) is doing. We don't notice all the people not engaging in that behavior because they're not noteworthy.

==We assume that things we actively notice other people doing in public are representative of what everyone (or everyone in some category to which we've assigned that person) is doing. We don't notice all the people not engaging in that behavior because they're not noteworthy.==

Doesn’t this comment include it’s own set of biases?

Such as?
I think that what they were getting at is that people noticing and commenting on things is more noticeable than people not doing so.

Which would imply that there's a tendency to notice the noticing more than the not noticing, and, as a consequence, over-estimate how often people do it.

It's a good point.

I really dislike the 'consumption device' label, to me it seems lazily dismissive and missing the point. Smartphones, like phones, are primarily communication devices and communication is an active process. Texting/chat, email, audio calls, Twitter, Slack, Teams, Reddit, facebook, Discord, snapchat, etc, etc are all interactive communications media people use to create content for as well as 'consume'. Yes of course they're also used to watch videos and memes, read web sites, listen to podcasts and audiobooks. Sure, but active engagement is the killer feature for these things.
Go to any commuter train on a Monday morning and look what every last one of those people seated in the car are doing.

They're consuming, not interacting. It is not lazy nor is it dismissive to suggest smartphones are largely devices that inspire consumption. It's just a proper observation.

If there billions of consumers and just 1 in 1000 creates something then we have millions of creators
That's neither relevant to the point under discussion (the primary function of the device), nor a valid defense of the smartphone (which should be judged on its intrinsic merits, not whether a tiny fraction of people manage to use it productively solely as a statistical consequence of Earth's vast population).
Of course they get used for that, but I think it's a mistake saying that because they are consumption devices therefore HN crowd would have limited use for them. That's not how that works. In two different people's hands the same device brings completely different value. I got an iPhone in 2008 and since then have used them heavily as communications devices and that's where the main value for me is.

The same goes for the comment about iPhones being 'designed for consumers'. They were designed to be easy to use, but that in no way means they were under powered or less capable because of those design considerations. Again, that's not how that works. Powerful or easy to use is a false dichotomy.

They're incredibly powerful tools and mistaking a major, even the major use case for being defining of the tool (therefore everyone uses it this way, or therefore that's where the main value lies, or therefore these people here wouldn't use them) is fallacious. There are 'influencers' who have built fortunes almost entirely on their phones.

> They're consuming, not interacting. It is not lazy nor is it dismissive to suggest smartphones are largely devices that inspire consumption.

This is also probably one of the reasons TikTok took off; it allows high quality content creation via smartphone that anyone can do.

Crashing before consuming is also why personal tech in the 80s and 90s had a very different kind of following.
> Smartphones, like phones, are primarily communication devices and communication is an active process.

Yeah… no. Maybe for some people, but I primarily use it as a consumption device. But then, I don’t use social media, I don’t answer my phone (I listen to voicemails once a day and choose whether I want to respond or not). I don’t use any work apps on my phone, like slack.

(comment deleted)
The real irony of the smartphone situation is that if you are older HNer, you will return to flip phone, real camera and laptop and never go any further, until proven FOSS solution is available on the market. Smartphones were designed from the get go as a surveillance economy devices, catered to minimal the computing needs of the mass audience.:)
Down-voting cannot remove the true of the statement.

Using corporate censored devices is not making you free or enlightened in any way. We are approaching real danger in the tech community where criticism and non-conforming to the gospel trends are becoming the norm.

You are very right.

Once you are used to the power/freedom available on a Laptop/Desktop Computer you could never get comfortable with the restrictions on a Smartphone. The latter is for less tech-savvy people and almost always used as a media consumption device.

I feel you have this completely backwards. I think for the vast majority of non-tech users, the smartphone was their first everyday computer.
Anecdotally, that's not what I witnessed for family members 30+, but it has been the case for the younger generation (< 20).
A vast majority of young adults had their own everyday computers before smartphones. Today young adults gets smartphones instead, yes, but that didn't use to be true.
Kids use computers regularly at school from a very young age.
>We didn't all shift to to smartphones the instant they became available.

Oh, yes we did. Within 3 years (say 2007-2010) it was game over for feature-phones for the mass population, whereas the state of web APIs was still bad.

> Even now, I still think "I'll wait and do this on a proper computer".

I'm routinely in the same boat, though it's less about the computer and more about not fighting with a tiny monitor. Most things built for mobile are "light" versions, as easily exposing all the bells and whistles on a 6" monitor would be a UI nightmare.

Tiny monitor, obnoxious keyboard. I haven't enjoyed typing on a phone since I reluctantly (that word took me 5 tries) set down my Lumia 920 Windows phone.

Also my mouse is (insert big number) times more precise than my index finger.

I use a NexDock from time to time for this; some of my Galaxy S20's stock software scales pretty well to a full-size display as they expect you to use one.

I don't think I'd make my phone my primary machine despite this until Linux phones are daily-driver ready for me though. The mobile OS is still too limiting.

(That and while the NexDock is serviceable, its touchpad is awful. Good enough to use occasionally, but I wouldn't want to be stuck with it as my main machine.)

> Most things built for mobile are "light" versions.

The good sites are :)

The not so good ones "force" you to download an app with no alternative and require obtrusive permissions even though all you want to know is the answer to a quick question.

You think it's the tiny monitor, but it's really the primitive UI designed for caveman-style point-and-grunt. I've been using a GPD Micro PC extensively over the past few months, which is equipped with a 6" screen, but also - critically - a touchpad and physical thumb keyboard. Guess what, I can do programming, CAD, image editing, the works - everything you can do on a larger machine.

The Micro PC proves that we were sold a myth; that dumbed-down UIs were a necessary evil to enjoy computers in our pockets. They aren't. Pocket sized laptops work amazingly.

That's interesting to me because I've been seeing some people impatient for the PinePhone external keyboard, but I've felt strong doubts I'd use one much.
You might be right. Having also spent time with the Cosmo Communicator, I can vouch that a phone with a keyboard isn't the same thing as a phone-sized laptop. Apart from the hostile platform (which hopefully wouldn't be an issue on the PinePhone), two aspects that make the phone less practical for desktop software are the extremely high aspect ratio, and the lack of any sort of mouse input beyond poking at the screen. These things significantly compromise the desktop experience.

However, I will also say that a touch-type keyboard on a phone is still awesome, and I will certainly be buying a PinePhone+keyboard when it comes out. I live in forlorn hope for the day I can evict Android from my life entirely (the Micro PC does not, alas, make phone calls).

Thanks for spelling out some issues.

Yeah, the inherent fatness of fingers problem. And the lack of buttons on those fingers other-problem.

Looking at the resolutions, 1280x720 vs 1440x720, I would have just expected the phone experience not to feel terribly different. Of course it remains to be seen how much the PinePhone software adapts to landscape in wake of the keyboards coming.

The apotheosis of the netbook? How does it perform with external keyboard, mouse and monitor?

Edit: I've been a fan of the netbook concept since well before the term was coined, when the Toshiba Portegé first came out. But my experiences with them, like everyone else, were disappointing. I'd love it if these new units had good performance.

I mean, it's a quad core mobile Intel with 8 gigabytes. It feels snappy. It runs KDE Plasma. Thermals aren't spectacular, and you won't be running any AAA games on it, but it's vastly more capable than the netbooks of yore. I tend to keep it throttled to 6 watts, which means I can keep the fan off all the time.
Get a larger screen and a keyboard (bluetooth typically), and you'll still find you're fighting the platform.

- Memory management means that whatever application you're using at any given moment can vanish, with all its user state.

- Applications are crippled versions of full-desktop variants, where they exist at all. E.g., FennecFox vs. the Firefox browser. Support for user-empowering extensions is limited.

- You. Will. Not. Have. Root. Some devices are rootable. Many are not. This means that whole sections of the OS are not available to you.

- Information is siloed into applicationd databases (inaccessable on the device, since You. Will. Not. Have. Root. --- or worse, maintained on some distant cloud server.)

- The OS itself is not upgradable by you. Android device vendors often provide absolutely no post-purchase OS updates.

- Even power kits are very third-class citizens. Termux, The Only Android App That Does Not Precisely Suck[TM], is useful and powerful but its 1,400 packages are only a minuscule fraction of those available on a full Linux system (Debian contains over 60,000 packages), and are limited in functionality as You. Will. Not. Have. Root.

Numerous affordances and capabilities are simply missing or buggy as all hell.

Using an ebook reader, as an example, with an external keyboard, I cannot enter a space character into a search field as that scrolls the screen rather than editing the search dialogue. Just one of many, many, many cuts in a death by thousands.

Source: Have used Android for over a decade, tablets for over five years.

The existence of the tablet shows that it's not the device size but rather the app experience that's the limiting factor.

I've tried using an iPad but it's no match for the power, control and flexibility of a full desktop/laptop device, and the larger iPad has an even bigger screen than some smaller notebooks.

(comment deleted)
>Even now, I still think "I'll wait and do this on a proper computer".

Of all the things that makes me prefer a proper computer, the shenanigans that devs do with various SDKs that are privacy invading pieces of shit have put me off of trusting any apps. Because of the all of the information that makes a mobile device so convenient to use is precisely the data that makes privacy invading data collection so desirable, it will be imposible to ever make it a serious compute platform for me.

For me, the mobile platform is primarily used as the Bar Bet Settler 5000(TM).

This. I can even give a concrete example of it. I noticed a charge to my bank account from Amazon and knew I didn’t buy anything. I went to the Amazon app and saw there were no orders. I thought maybe my prime renewed today so o tried to find that on mobile. I could not find it easily so I immediately went to my laptop and found it in 2 clicks via the Amazon website. To me the web is really great when there is enough screen real estate to keep information out of nested menus.
> I am sure everyone on HN moved quickly

This is me. For years my employer offered to get me a phone, but I declined. Why would I want a mobile phone. I don’t want people to get ahold of me whenever they want. But, then that first iPhone came out that was actually a full-fledged computer with phone capabilities on the side. I immediately jumped on that.

> The real question is how did the web remain relevant while being so far behind this tectonic platform shift?

Not sure it is relevant anymore for a non-trivial chunk of people - at least in mobile. Lately I have quite often needed to explain about a good web app accessible in browser but not in app store. And I am a bit bewildered. The amount of people pretty much unable to distinguish between browser, app store and url is... not too small. (And don't get me started about iphone users' understanding why their location services "do not work" in safari. I assume there is a difference in default permissions there between iphone and abdroid there)

I don't have an iPhone, can you expand on that location services part? Does Safari not show the permission popup when a website asks for it or something?

On Android, websites can request location permissions, you can't access any of that stuff by default.

Not sure what op meant, but most computers don't come with built in GPS. Location services rely on other indicators of location, which are far less precise.
Firefox lets you specify your location, though not easily. (Set `geo.provider.network.url` to `data:application/json,{"location":{"lat":0.00000,"lng":0.00000},"accuracy":1000}`.) Chrome doesn't, so even sites with location permission place me at my ISP's HQ 500 miles away.
I do not have iphone either, but based on my observations many (most?) iphone owners have disabled safari location services from the os side, so you can't just allow them from the permission popup, but you need to go to the os settings and enable them for safari before you can bypass the permission popup. Again, I do not own an iphone, so not sure if it is exactly like this, but something like that needs to be done in many iohones trying to access location data from safari.
I wish I could do that on macOS so I stop getting hit with pop ups in Safari asking me for my location. Homedepot.com is particularly annoying about this.
It does not stop the pop ups. Safari asks from you permission for location services, you tap ok, and you get an error message that says getting location services failed.
You can go to safari preferences>websites>location and set "when visiting other sites" to "deny". I don't get any popups that way.
Use a browser that doesn't purposely nag you for permissions like Safari does. Firefox fits the bill for me, and doesn't throw nagging pop ups at me all of the time.
> The real question is how did the web remain relevant while being so far behind this tectonic platform shift?

this is an "apples vs oranges" question

Even today, in the year 2021, browsers do not have native support for gestures which are ubiquitous in the touch screen world.

To pan/pinch/swipe you either need to implement it yourself or use a JS library like Hammer which adds unnecessary bloat.

Don't do this without a good reason. We finally got a lot of mobile sites rendering good and you want to take that away.
A good reason is simply that gestures are a staple of mobile UIs.
1. It's a good thing that you have to implement them yourself. A lot of this stuff is super arbitrary.

2. Opera had gestures 15+ years ago and it was glorious for those that liked them

I’d argue that it’s having to do with standards bodies too. The time it takes for many to agree on standardized APIs for mobile. Apple and Google can simply say: “this is our native API” and people will use it quickly and effectively. Also there’s incentive for Apple to keep people on their platform and standards are tangential.

Also, desktop browsers have been around for over 30 years, and hence the click, double click, scroll, and basic key shortcut metaphors have as well.

I would agree with you if not for the fact that a lot of these popular "native apps" are just webpages within a native wrapper, which kind of defeats your argument.

Brands and vendors don't like the web because often they cannot 100% control what browsers do, and of course, a browser website cannot get access to the whole contact list, phone numbers and files on a phone device unlike a native app...

Installing an app via an appstore on mobile is low friction. Good luck getting someone to install your Windows or MacOS app on your desktop...

Even PWA that were all at rage a few years ago, called a replacement for native apps by the dev community, how many here have a single PWA installed on their desktop computer?

I would say that in the beginning most apps weren’t that way- precisely because of the issues with building rich web apps. Now that it’s possible to replicate a lot of the “native” feel on the web, more apps are choosing the “wrap in a webview” approach as it vastly simplifies the development process across web and multiple mobile/desktop platforms.

Agreed on the control- another thing to consider at least in this crowd is that Safari content filters (aka ad blockers) aren’t applied in apps.

>I would agree with you if not for the fact that a lot of these popular "native apps" are just webpages within a native wrapper, which kind of defeats your argument.

This doesn't seem true at all. What popular "native" apps are you talking about? The most popular native apps couldn't exist on the web on the early days. YouTube couldn't work on the web due to the dependence on Flash. Instagram couldn't exist without camera access (and arguably fast image processing which JS couldn't do at the time). The technology to build some of the most downloaded apps like Words With Friends or Angry Birds could not be done on the web.

PWAs were crippled by the mobile operating system vendor with 60% of the mobile OS marketshare in the US. PWAs didn't happen because Apple doesn't want them to compete fairly with native apps on iOS.
> Brands and vendors don't like the web because often they cannot 100% control (...)

App permissions exist to do the same for native apps.

> The real question is how did the web remain relevant while being so far behind this tectonic platform shift?

Because CSS +HTML + JS is 20x easier to learn than any mobile code language. Anyone in a few hours can create a website, that has never been the case for mobile apps.

You can even create a basic website by copy pasting some html template and modifying the content with notepad.

As a result - as long as Google doesn't decide to deprecate HTML and CSS because it doesn't suit their complex requirements - the web is assured that much more people will be able to create website than apps. When you look at Kotlin or Swift, HTML looks like a no-code language

Expo.dev makes mobile app development pretty easy.
webOS was from the same ~2009 era, powering the Palm/HP Pre models, and its apps were developed in HTML, CSS, and JavaScript. It had a huge selection of 3rd party and open source apps developed using web technologies.

This was the case for the first iteration of the iPhone, as well.

The truth is that the web didn't flourish on mobile because the two mobile operating systems giants knew that they could make a killing by keeping a stranglehold on the mobile app distribution market with their app store models. And they did so successfully for a decade, making tens of billions of dollars each year from said stranglehold.

Giving the web equal footing on their mobile operating systems like webOS did would put those billions of dollars of yearly revenue at risk.

> When iPhone and Android hit the scene the 'rich' web experience was primarily flash, silverlight, and some java applets (taking their last breathe).

A lot of people have forgot that YouTube were using FLV (video streaming using Flash) during a lot of time because there wasn't any better multiplatform viable alternative.

You are totally right. The web wasn't ready for new universal types of information exchanges and we needed to use 3rd parties to solve that, in form of a Flash plug-in or an installed app.

Also I think the app "look up random info and articles" was never lost for the mobile web. I don't think there are many apps for that even now. Yes there is the wikipedia and other such apps, but they are a sliver of the web.
> the vast amounts of money/influence Google was willing to put in to keep it's search ads property relevant

Mobile search ad clicks have been surpassing desktop search for a while now, If it was done solely through Google app and if iOS wasn't a thing then Google would have happily killed the web by this time.

I think instant apps is(was?) an attempt at it.

Strange.

I use Web apps on mobile whenever I can.

Android and iOS specifically are not keen on creating a more powerful browser experience because it hurts their app revenues.

Mobile APIs for apps are fairly modern.

The limited nature of Mobile experience + the more modern APIs and integrated build/deployment/storefronts make those a much easier choice than otherwise on mobile.

Desktop app frameworks are old and complicated, and there aren't very good options for apps in between 'web' and 'major installs'. Desktop UI generally require a lot more component types and layouts, and frankly there is no framework that has conquered that domain very well. Every single desktop UI framework falls quite short.

I found the article really hard to read, the author took a long and convoluted path to expose his ideas.

As for the question that the article raises, there are probably many co-occurring reasons, and a lot of comments make good points. However, one that I couldn't find listed is IMHO performance. I still find web apps (and web sites) to feel really sluggish and slow on everything that is not a top-tier phone. Again, many reasons for this (JavaScript bloat, tracking, intermittent connectivity, ...) but the user experience is just not the same.

I enjoyed his prelude with "The Great Oxidation" event... I've always known about it - but not under that term. Yes, a bit convoluted and contrived - but I enjoyed it anyway.
It's interesting how different one can perceive the same article. I quite enjoyed how he first explained some general ideas in a narrative style.

I agree that there are likely different reasons that had an impact. Performance is a good addition and I think also the bad mobile connectivity in the earlier years of the smartphone area is another reason.

I enjoyed the rhetorical journey the author took us on, personally.

I wonder if you read the whole article, since the author specifically calls out performance as one of the factors.

It's quite typical in this Malcolm Gladwell-style guru-writing. Start with some obscure non-business-related factoid story that demonstrates how intelligent and widely read you are an then give your opinion on the topic of business and hustling dressed in the aforementioned story. People write entire books where each chapter rehashes this formula.
>I found the article really hard to read, the author took a long and convoluted path to expose his ideas.

aka "the substack style"

The web took over desktop when browsers functionality approaches those of desktops. Almost every desktop apps are now in web or electron, with some interesting exceptions that I know of:

1. graphic / gpu intensive apps 2. memory / cpu intensive apps 3. background process / push notif apps

Both point 1 and 2 can easily be games, which is why most of them are still in native apps. I think (cmiiw) webassembly is trying to tackle this.

Now the 3rd point is, IMO the strongest reason that makes browser-based apps cannot penetrate mobile native beside ux, performance and lacking functionality for web in mobile. People in their mobile simply cannot run browser all the time in background for process and push notif. It's far easier with native apps.