How much of a usability advantage does an app for, say, IMDB offer that the regular website doesn't? Or the loyalty card apps that a lot of grocery stores and coffee shops use now?
A lot of apps on the market are functionally just wrappers put around a poorly optimized website. They'd be better off putting their efforts towards making a great experience on the mobile web instead of trend-chasing.
In the iOS environment Apple could actually help here through a simple awareness campaign. You can save website bookmarks as icons on your home screen as it is, but this functionality is little known and not easily discoverable.
People have forgotten that you can build a website that isn't a user-hostile SPA train-wreck.
1. https://blog.twitter.com/engineering/en_us/topics/open-sourc...
2. https://twitter.com/davidbrunelle/status/905931990444244995
I don't know how it compares to their native app.
Outsourcing website and/or mobile dev to external company, the focus is often more going to be on whizbangflashy, vs sleek/slim/fast/simple, to justify whatever budget they're getting.
I do find that I end up using the mobile web client for twitter as often as i do the native client. It's not much in either case, but the mobile web client is generally 'good enough' such that if that's where I land, I don't feel a need to jump to the native client.
Ehhh I'm not sold on that one, as someone who has done a lot of web dev and then transferred to doing some iOS and Android work. The languages you can work in (Swift, Kotlin) are fantastic, and the APIs and frameworks are great. But XCode and Android Studio are a hot mess and have been for years. Plus, compilation delays every time you want to do so much as run a test, waiting for app store approval before you can push out a bug fix....
IMO the developer story for native apps isn't that great. The web has a lot of wrinkles too, but coding with Typescript using hot-reloading and instant deployment of code to users has a lot going for it.
> No PWA competes with a native experience.
It does in one key area: it loads instantly. I know Android Instant Apps are out there too, but having to persuade your user to go to an app store and download your app before they can do anything is a huge lift. The web always, always wins on that front.
Not sure where this is coming from but Xcode has been working pretty well for most of us.
I can't speak to XCode, but I agree that Android Studio is terrible. Fortunately, you don't have to use it to develop Android apps.
I'd never heard of this but I can guarantee I will immediately quit and never install an app that gets forced upon me via this method. This is like the terrible "Try our app!" web popups, only 10x worse.
I realize like most people on HN I'm hardly the norm when it comes to mobile users, but UGH.
This isn't the OP's point. The point is there is more friction to download new apps today so coming out with a new native experience is going to much harder to do in today's world. It doesn't mean that this is the long term strategy.
However in this discussion there are a lot of people who are arguing from the perspective of a world that doesn't exist, based upon the same "this changes everything" argument we've heard every year.
Precisely my point. That's not what the OP was saying. Per their comment: to get people to install your app just to try it out.
> based upon the same "this changes everything" argument we've heard every year.
Did we read the same comment? Where did the OP write "this changes everything"?
Frankly, I'm far less likely to install any app than I am to use a web app. In fact it pisses me off when I can't do updates from my desktop. No, it isn't a technical limit, it's more of an I don't want more crap running in the background sending notifications. I disabled both FB and Pandora notifications because they were annoying me and many users don't even know how. I'd rather not even go there to begin with.
If I use a web app that is very useful, there are times I'll see if there's a native app for mobile. If there isn't, I'm okay with that.
Right now, I'm working on an application that is web based and is for desktop use. I'm able to use react + material-ui and a few other modules and it's been going very smoothly. I can't say I've ever had a better experience with desktop app development, or mobile. ymmv.
In spite of my preference for native apps, I only got payed to deliver mobile Web and hybrid apps.
The large majority of CRUD apps don't need native features.
Also signed PWAs have access to native APIs on UWP and ChromeOS.
It is only a matter of time until the Chrome team exposes the same capability on Android.
I'm personally too spoiled by the React debugging experience, and I'm saying this as a developer who mainly does C#. On the other hand, I know many developers who can't stand a line of JavaScript. The answer is here a huge "it depends, really".
Which "warts" does Typescript keep from Javascript?
https://medium.com/flutter-io/hummingbird-building-flutter-f...
If you are using Dart without flutter (eg, overReact), then you're going to use npm a bit more (though dart has better builtin libs which helps a bit on that front). There is a generator that uses typescript definition files to generate dart interopt files.
Especially for MVPs, I think they're competitive for a wide range of uses. The UX may not be as polished, but that can be more than made up for by instant availability, instant updates, lower dev costs, and faster release cycles. The ability of a new company to learn is limited by release cycle time, and I think fast, low-cost learning is a huge advantage to startups.
Sure they do. Consider Reddit's website (well, before the atrocious UX updates the past few months) vs. their mobile app. It work(s)/(ed) perfectly fine.
There's literally no reason to use their native app (well, other than their ridiculous, atrocious, never-ending prompts on their mobile website to use their native app).
This uses the original reddit mobile site. It is very fast and clean.
> You've been invited to try out reddit's new mobile website! try reddit's mobile website
In your settings there's an option to tun this off (I agree, a truly terrible user-hostile default).
This would be correct, in theory, if companies only made apps where the extra power that the app has is necessary, and would stick to websites otherwise.
In practice, this isn't true, and anyone who has ever opened any major app store knows that many popular apps in it are, in reality, just wrappers around a webview, and the only reason why they are apps at all is because the management demanded that there is an app, like all the cool kids have these days. Most apps really would be better off as just websites precisely because they don't need anything that an app gives, but often suffer from what it takes (e.g. ad-hoc navigation versus standard browser controls).
Everyone is writing Electron and PWAs at this point. Nobody wants to train C++ developers for a minor speed boost consumers don't seem to care about. They have a full build pipeline and dozens of trained webdev engineers ready to go, why invest in a whole new product?
A LOT of people have looked at the cost/benefit of electron VS something like QT. Many have decided that the performance hit isn't worth the cost of developing the C++ build pipeline and training developers on how to build QT apps:
- Spotify
- Visual Studio Code
- Atom
- Invision
- Slack
- Mattermost
- etc.
The web tooling is actually pretty nice if you stay in your lanes. CSS / HTML / Javascript can create a really nice experience if you don't do a bunch of dumb stuff and make pragmatic decisions.
No PWA competes with a native experience. Not performance wise, not usability wise, and ultimately for the developer not even development wise. It may still make a lot of sense, and there are a lot of arguments for web apps, but the enthusiasm in this discussion seems disconnected from reality.
Indeed, right now we're seeing a big uptick in Instant Apps on Android -- go to a webpage and it actually loads a native app -- and I fully expect the same to appear on iOS.
There is a bit of app exhaustion, though I'd say it's much more significant on Android where users have been taught that it's user beware. It certainly isn't a technical limit, though.