Goodbye, Native Apps
201–210 of 231 posts
Re: Goodbye, Native Apps
#202Earlier quoted context omitted.
What do you consider a good application? If you have never seen anything that would qualify on the Web then I have to ask what standards you are seeking and whether any software actually meets them.
At least for the purposes of comparing to web apps, the criteria would be: responsive/low-latency (responds to input quickly), fast (completes tasks quickly), uses resources proportional to the functionality it provides, and doesn't often hang or spend noticeable amounts of time waiting for a network request before responding to an action. Applications that meet these criteria include: Thunderbird, KiCAD, VLC, Vim, t…
That seems like a fairly low bar to clear. Aside from the network request issue, I think every web application I've worked on for a decade or more would tick all of those boxes, from intranet tools to browser-based interfaces embedded in device firmware. I'm sure there are many others in the industry who could say the same. A lot of the things I'm thinking of are for internal use, but in terms of public examples, you can just look at most of the successful big-name business SAAS applications, and they tend to be strong on these requirements as well. Ease of use is a huge selling point for attracting customers, and no-one is winning points by being clunky in their web GUI in 2020.
Network speed and reliability is a different issue, and obviously many web applications are particularly vulnerable to problems there because they have such a strong communication element. But then the same is true of native applications that are for communication or a front-end to a client-server system like a central database.
Applications that meet these criteria include: Thunderbird, KiCAD, VLC, Vim, tmux, Blender, evince, Handbrake, and Pidgin.
That's an interesting set of examples. The other point under discussion was about whether web applications cause usability problems by deviating from native platform UI conventions. I can't help noticing that several of the native applications you mentioned there do exactly that.
For example, Blender's UI was infamous for being so unusual that anyone coming from other 3D modelling software found it hard to use, and for looking and behaving nothing like a conventional native application on a platform like Windows. Eventually, that became so much of a problem that they basically rewrote the whole UI layer to work in more conventional ways.
Handbrake has its good points, but its interface looks like a GUI from the early 2000s where the designer just threw as many different types of control onto a form layout as they could manage.
Thunderbird also has its good points, but its UI is incredibly glitchy in some areas (dragging and dropping comes to mind) and it definitely fails to meet your fast and responsive criteria at times.
Re: Goodbye, Native Apps
#203I wonder if there is really a big difference between using an Electron based application or a progressive web application (PWA). My current guess is, that the biggest advantage of PWA's is, that you use the same browser for several applications. But I never really tested my guess.
Re: Goodbye, Native Apps
#204Earlier quoted context omitted.
I don't disagree, but I think you could say the same about native apps too. For this discussion, I think the most important thing is what good examples of each type can achieve, since presumably those are the ones that most people will choose to use.
>"I don't disagree, but I think you could say the same about native apps too" Of course I could. I was just countering the original point that sounded that web apps are slick just because they're web apps. Making good GUI is hard (well I'd skip Hello world here).
Sorry, maybe that was written ambiguously, because that wasn't the intended point at all. The point I was trying to make was that the web applications that are slick are taking over the world. Being polished and easy to use is a big advantage, and IMHO there's been a lot more progress on this front in web development recently than in native applications.
In contrast, the mobile platforms are far too much style-over-substance and have glaring usability problems as a result.
Most desktop applications haven't really changed their basic form for decades, they just show up with flat icons and kindergarten levels of bright colours these days. That does mean here is a level of consistency and familiarity, which is valuable. However, it also means most of them aren't benefitting from decades of further experience and research in UI design and from newer UI patterns coming out of that experience that have proved to be effective in other contexts.
Re: Goodbye, Native Apps
#205Earlier quoted context omitted.
Contrast that to most other programming languages / development environments, where you usually can just download and run it. There are, sadly, other offenders too. Microsoft is possibly the worst among them. Gone are the days of being able to use a free edition of Visual Studio to develop Windows applications with no strings attached. And good luck even figuring out what the privacy policy is, a problem that also ap…
While bringing developers to the stone age before RAD tooling was a thing. Because when one designs languages over weekends and late nighters, state of the art GC, JIT and GUI tooling are at very deep bottom of their roadmaps. So thank you very much, but I will keep enjoying Java, .NET and C++ based tooling.
Re: Goodbye, Native Apps
#206Earlier quoted context omitted.
> And when I check the culprit is always lack of memory and it is always chrome (the browser and in Electron) that is eating all of it. Are you sure it's not the "150 IQ I-have-20-tabs-open-at-any-given-time" usage pattern that's actually causing this? I just checked out of curiosity and Edge (for lack of an installed Chrome) used "just" ~380MiB for a rather big website. Sure, websites (and especially ads!) taking up…
> just leave 10 bloated websites open on a glorified netbook from 2014 is more to blame than anything else Sometimes yes, but; And how are non technical users supposed to know they should not do this? A lot of people do not know how bookmarks or even ‘windows’ work so they leave open the websites they visit so they do not forget them or have to open them again... How would they know that this is bad? The browser supp…
It's a meme.
> And how are non technical users supposed to know they should not do this?
For the same reason you need a license to legally drive a car. While I'm generally not a fan of the RTFM-attitude, I have absolutely no patience for people who are unwilling to even learn about the very basics of the complex machine they're operating.
Why on earth doesn't "the computer guy" tell them about where to learn the basics instead? Teach a man to fish an all that...
> There is, for instance, a large stack of perfectly fine laptops in my house because some people just bought new ones because the old one ‘was slow’ and they were fed up.
There's several reasons for that to happen - sometimes it starts at the point of simply buying the wrong product. Leaving the whole why-even-a-laptop-in-the-first-place aside, I have been convinced for the past 10 years now that 90% of all laptop users would be better served with a tablet (preferably an iPad).
First of all, non-technical users cannot make an informed purchase decision and way too often buy garbage products (e.g. low-tier CPU with not enough RAM) in order to save maybe 10%.
Secondly, instead of learning about the product they own and its limitations, they pile on crapware on top of bloatware and not once even manage to do basic maintenance (like disk clean-up, which is literally just a button press away).
"The computer guy" shouldn't "fix" their machines but advice them to just get an iPad instead - problem solved for both sides.
It's pretty short-sighted to blame a particular set of software packages for a whole pile of problems that stack upon each other:
• underpowered hardware
• complex operating systems that require knowledge and manual maintenance to keep them running smoothly
• increasingly bloated websites and ads (just test it yourself - HN allocates single-digit MB per tab, while a news site easily causes >200 MB allocations)
• computer illiterate users that are unwilling to learn even the very basics about their machine (Sapere aude!)
• an inability of users to judge their own needs and requirements vs their options in terms of technology (i.e. desktop PC vs laptop vs Chromebook vs tablet vs smartphone)
• the failure of the industry to communicate their target audience (i.e. you don't need a laptop to watch some Netflix, browse the web, do photo editing, etc.)
• not all operating systems are the same - sometimes all it takes is to make the switch (be that Linux or MacOS)
But no! That's way too much thinking and way too differentiated a view point! It's so much easier to just blame Chrome. Or Electron. Or JavaScript. Or Windows.
Anything but daring to actually form a complete picture...
But hey, that's basically today's Zeitgeist in a nutshell anyway I suppose.
Re: Goodbye, Native Apps
#207Earlier quoted context omitted.
> What kinds of wild things could we accomplish on this hardware if we weren't bogged down in gigabytes and teraflops of bloat? Not that many: An early 1990s PC platform could be thoroughly described in a 200 page book and you could write a boot loader for the CPU, a VGA driver, and drivers for the most common peripherals from scratch in a few weeks. In fact, games of that era shipped with their own audio drivers, (C…
Eh, BIOSes had an API-like interface under ASM assembler macros under DOS. It was relatively easy to do stuff directy with hardware. >many PCs had a 60MHz Pentium 1 or a 100MHz 486DX4 with 64MiB of RAM and it ran By 1998 most people switched to a Pentium because of the huge performance gain. And by 2000, everyone had a Pentium2 with ~96mb of RAM.
That's a bold claim! The PII was released around 1998 and you basically just asserted that everybody buys the latest CPU as soon as its released.
The reality is that most PC users never upgrade their machine and buy a new one instead. The average age of a PC is about 5 years and no, aside from enthusiasts nobody buys the latest and greatest as soon as gets released.
Businesses in particular hold on to their assets for some years due to depreciation (which incidentally is 5 years for PC class devices).
So in 2000, the average PC was 1995-level hardware.
Re: Goodbye, Native Apps
#208How is this getting uovoted ? Is nobody reading the article ? A few paragraphs in and I can see the author has terrible writing skills and doesn't know what he's talking about >In fact, writing software with C/C++ was hard because developers had to work with different operating system API(Application Programming Interface). Seriously ? Writing C++ apps is hard because you had to use different APIs ? That's the least…
My thoughts exactly. The one problem with native apps is the resources and time you need to develop the same app for several platforms. That's all.
If you did apps in days where C# and Java took over for C++ mobile still wasn't a thing and macos was super niche (especially in enterprise) - few people really cared about cross platform - demonstrated by C# being windows only and growing in popularity during the time.
Visual Studio dev experience was just better than anything comparable at the time (Borland stuff was dead by C# era) and C++ was just an inferior language for app development (especially pre modern C++ where you couldn't even rely on stl being implemented correctly across platforms and people regularly rolling their own containers)
Re: Goodbye, Native Apps
#209Earlier quoted context omitted.
> with WebAssembly I think we’ll start to see native performance on the web instead of the other way around. I wouldn't be so sure about that. WebAssembly doesn't do anything to help the rendering bottleneck. To do that you really have to replace (or innovate in some way) the DOM.
I think the approach many is taking is just put a canvas and draw on top. Internally, you may end up creating another DOM like structure to store all your objects. The worst thing about this approach is that you lose all browser's native support like accessibility. I think Flutter is using a combination of DOM, CSS and canvas.
Re: Goodbye, Native Apps
#210Earlier quoted context omitted.
Well... why not, exactly? I have work to do on all three, as do many others, and it seems like a win both for me and Jetbrains for that not to matter.
Because the platform conventions are different. Think of it this way: if you have a system full of apps that conform to platform conventions, then you only need to learn the platform conventions and you’re suddenly more or less an expert in every new app you encounter. If you need to learn every. single. apps. stupid rules and UI all over again, then sure, you can transfer skills in that one app over to another platf…