I wouldn't want to see a future where I have to download a separate app to use Youtube, Twitch or whatever.
Every person who primarily uses a phone or a tablet to access these services is already living in that future. And that's a much larger portion of internet users than you probably imagine - don't forget that more than half of all web traffic comes from mobile devices. You might not be okay with that, but most people are.
Sure it's standard practice on smartphones, but is is good practice I wonder? Most apps are not written with native languages, but rather with languages that make interfacing with the web technology as easy as possible. So those apps are (in my view) glorified stripped down versions of what every webbrowser can do today. But they only work for one page. It goes back to my "one language for every web service" argument: These days you make a website + service with about 4+ different languages technically speaking. Plus at least one additional language for your app. All that just to have the same service
on every device. We aren't talking about addressing different hardware for maximum performance, like we do in GPU programming. We are talking about the most basic functionality every computer from the high end gaming rig, to the smartphones down to a raspberry pi can provide.
Apps, as they are used currently, don't replace websites. They are complementary to them. Why haven't we as an industry thrown out websites a long time ago? Because consumers need something like websites to easily discover new services they might need or want.
When are people using apps? I'd argue only if they already know the service or get it recommended somehow by friends (primarly talking about Youtube, Twitch, Whatsapp, Twitter etc. not games). An app-only-web influences discoverability of new web services as the barrier to entry gets higher. Especially if we consider that Google and Apple are the "new" gatekeepers, as were book and music labels in the past for their media.
Eventually the lines between an app and a website will become indistinguishable. It's something that needs to happen in order to simplify and therefore improve web development. I just want this hybrid to be more like today's websites in terms of discoverability than today's apps in the play store.
Having to download a complete new software and giving it potential access to your complete hardware still feels(!) less secure than visiting a new "unknown" webpage that you find via Google or get recommended by a friend.
If the issue is that it feels less secure to download software, then the correct approach is one which addresses the "feel" part of that statement, not the "download software" part. Feelings can be improved through communication and UX changes. After all, the browser already does literally download a new piece of software and run it (in a sandbox) every time you visit a webpage. It might not feel like that's what it's doing, because it doesn't make you click through a download button and an installer every time you visit a new website, but it's fundamentally the same idea - just plagued with technical problems and historical baggage that make the experience much worse than it needs to be.
Totally agree. It's mostly a UX problem. But you also mentioned sandbox, which is in my opinion the key to many problems in software technology. OSes need to become more flexible in sandboxing applications in general. As in OSes need to be able to simulate custom environments for different applications. Kinda how docker and virtual machines work, but more integrated into the OS itself. That would also help with using deprecated software and web technologies in a safe way without hindering progress on new technologies. After all a big hurdle to introducing new things in the web is supporting already existing web services.
And if easy sandboxing via the OS for web services on the consumer side of things becomes standard, then of course we wouldn't need a web browser anymore. We could just call the web service we want and while we are using it via streaming, the app/relevant data gets downloaded for later permanent use in a sandbox environment. Or something like that.
But while this is an interesting idea, I don't see this happening in the near future as it isn't something consumers ask for. They would benefit greatly, but most probably don't realize how much. And I'd imagine it to be difficult for the handmade community to make it mainstream, as it would need an OS everyone wants to use. Or at least a free software that everyone wants to have on their pc for some reason.
So as we can't sandbox apps properly right now, how can we change the UX of apps notably to feel more secure than using a browser? I don't see a good solution that doesn't lie to or take away control from the user. So I at least am back at square one: How to make development of websites easier? And while I said the single programming language approach is far in the future, in my opinion it's closer/easier to realize than the things I discussed in this post. That programming language might also be a step towards unification of web app and website.