Earlier quoted context omitted.
then why still use Electron? why not just c++-backend with an embedded http server for frontend that uses the browser
Theres a lot of people proficient in Electron. It also handles IO I assume
Goodbye, Native Apps
191–200 of 231 posts
Re: Goodbye, Native Apps
#192As much as anything else the growth of hybrid apps is a symptom of a couple of things: 1) people now expect apps to run on a million different devices and nobody has the time or resources to develop four or five native apps with feature parity between them 2) progress on UI frameworks is pretty much stalled. Just looking at .NET, because I'm familiar with it and traditionally desktop software has been a big area of c…
> Windows Forms will work for forever but hasn't been touched in a long time WinForms very recently got HiDPI support, better accessibility features, and was ported to .NET Core where they also fixed bugs in some controls. WPF in the meantime has been arbitrarily declared stable and Microsoft refuses to fix anything. Everybody is supposed to switch to UWP which they already deprecated or WinUI which hasn't been relea…
Re: Goodbye, Native Apps
#193Here's the thing. Apple, Google, etc are trying to lock developers into specific platforms. This is why Apple has been so hostile towards PWAs. It's totally possible to build a PWA that behaves like a native app but Apple actively tries to destroy them. There will never be a viable hybrid app platform.
Re: Goodbye, Native Apps
#194Earlier quoted context omitted.
Visual Studio -- itself a fully featured IDE, even back in the early 2000s -- used to run on machines with less than 1 GiB of RAM.
It also didn't support as many languages/features and was super slow on contemporary hardware. Even my 9 year old laptop can run VSCode just as fast as my 3 year old main machine. Back in 1998 when Visual Studio 6.0 (actually just the second publicly released version) was released, it took ages to load and used up quite some RAM. 6 years later, when I switched to VS.NET 2003, VS6 ran super fast on my PC. The differen…
Re: Goodbye, Native Apps
#195Earlier quoted context omitted.
In God we trust; all others must bring data. (Origin unknown) Your arguments use the word "probably" a lot. As someone who does a lot of UI design professionally, I prefer to rely on the kind of user testing you apparently dismiss, precisely because prior expectations about what works well so often turn out to be inaccurate. Indeed, there have been plenty of native platform standards that have awful usability in rece…
> Indeed, there have been plenty of native platform standards that have awful usability in recent years, which have rightly been criticised for it by professionals wielding empirical evidence. Platform native UI conventions are very often sub-optimal, if only because they're old . But sub-optimal standards are very often preferable to unpredictable , and are definitely preferable to having to juggle multiple conflict…
The reason that junk like flat design and derivatives like Material Design are awful for usability has nothing to do with being old and everything to do with being unpredictable. Often, a user literally can't tell what parts of an interface are interactive or how they work, because affordances barely exist. It's like the old mystery meat navigation meme for web sites, except they actually did it seriously and thought it was good.
But it still sounds like you're using worthless methodology by focusing only on your one app at a time and ignoring how it fits into its environment and the user's broader workflow. Is that correct, or have you actually quantified the overall productivity loss an app introduces by violating the user's expectations and habits?
Well, firstly, a testing methodology is literally the opposite of worthless if it gives you an objective measure of the increased financial value generated by a change under consideration.
Secondly, you assert without evidence that the kind of change we're talking about does violate the user's expectations and habits, and you further imply that this causes a loss of productivity. As I have argued in earlier comments, the assumption that the user's expectations are governed primarily by their native platform's conventions is not necessarily valid any more, because users spend so much of their time inside a browser using online facilities instead of other native applications.
Moreover, the answer to your other question is yes, we have done many tests over the years that compared options including the native approach on various platforms with some other options we were considering. In the nature of such tests, the outcomes varied. In some cases, we did end up going with presentation similar to the native conventions on one or more platforms; often this coincided with cases where the native conventions across major platforms were similar as well. In other cases, we went with a completely different presentation style, as performance with the native conventions was significantly worse.
The point of all of this is still that ideally you don't want to make UI decisions based on assumptions or dogma if you could try different possibilities with real users and make your decisions based on objective evidence instead.
Re: Goodbye, Native Apps
#196Earlier quoted context omitted.
> It's totally possible to build a PWA that behaves like a native app but Apple actively tries to destroy them. It may look the part but it rarely feels like it. Something like OmniGraffle would not end up feeling the same. Even Microsoft's apps on mac feel better than their web-based counterparts in O365.
You should try Figma. Will open your eyes a bit.
Re: Goodbye, Native Apps
#197Earlier quoted context omitted.
.NET Native is an absolute nightmare in practice. Glacial compile times (I’ve heard many people complain that their Azure DevOps CI times out after an hour), and so many bugs that you only discover at runtime. I gave up on .NET Native after discovering that it can’t even handle the ultra-popular Dapper ORM. While I like the idea of .NET AOT, the execution left so much to be desired. The developer experience is so bad…
Well, if you have been following up on blogs, community videos and github issues, most likely by the time .NET 6 comes out, the stack will look like Windows 7 development model never went away and the only improvement was replacing COM with the improvements brought by UWP. With the store sandboxing Win32 apps instead. https://github.com/dotnet/designs/blob/main/accepted/2020/fo... https://github.com/microsoft/Project…
Re: Goodbye, Native Apps
#198Personally, I don’t see much benefits of Electron or non native apps when they don’t mix well with the OS UI interaction model. In the end you need to implement a lots of parts twice for Windows and macOS due to the differences interaction models.
In the case just share the business logic, and write UI separately, works perfectly fine. I have written apps that run on the web, natively on Android, macOS, iOS, and Windows were the only change is the UI layer and data storage (e.g. iCloud on Mac etc)
Re: Goodbye, Native Apps
#199Earlier quoted context omitted.
The problem with that argument is that you're assuming consistency with native platform standards is the dominant consideration. I contend that, today, it often is not. Many users are spending much of their time using web sites and applications rather than native ones; this trend does not appear to be in dispute here. Moreover, the basics of how web sites (and by extension web apps) work have a longer history of esta…
> Moreover, the basics of how web sites (and by extension web apps) work have a longer history of established conventions than any of the major native platforms; That "and by extension web apps" bit is completely wrong. The long-standing conventions of how web sites work are mostly irrelevant to fancy web apps, and to the extent that they are relevant, web apps break them left and right. Just look at how many web sit…
Hardly any? That's been a minor trend in web sites for a while, but changing scroll behaviour for no good reason is widely regarded as an antipattern by UI professionals. I don't recall ever seeing normal scrolling behaviour subverted in anything I'd call a web application.
or the back button
This is a tricky one from a usability perspective, because some users see URLs as shortcuts to particular parts of a web application and expect the back button to behave accordingly as they navigate information in the app, while others think of the whole application as being a single page and expect the back button to just leave everything. But there is a whole set of browser APIs for managing that behaviour, and it's something a well-designed application will at least present in a consistent and logical way.
or the ability to middle-click on a link and get a new tab
This sounds like you're talking more about web sites than applications again, and again it also sounds like you're talking about bad design that web UI professionals would universally disagree with. It's usually caused by newbies who read some style-over-substance tutorial and decided that making links or buttons with elements other than the designated anchor and button ones that exist for that purpose was a good idea. After the first few glaring usability problems, they'll learn better.
or the ability to highlight text.
I don't really understand this one at all. The only times you wouldn't be able to highlight text in a web application would be if the designers have actively prevented it, for example to prevent selecting UI labels along with the content of a text field. This typically works exactly the same way as any native desktop application.
But in spite of that, nobody ever really expects drag and drop or rich copy and paste or any other data exchange mechanism to work between web apps.
I don't know what you mean here, either. Dragging and dropping text between web applications typically works fine. If by "rich copy and paste" you mean other more complicated data types, what happens is obviously highly context specific, but once again, this is the same story on native desktop applications. It's not as if you can copy a selection of spreadsheet cells and paste them into a drawing package with obvious and meaningful results either.
As a final comment, the examples you're talking about here all seem very "meta". As such, they're not particularly interesting to me, because as a UI developer working on a web app you generally get the expected behaviour by default with these kinds of things. Sure, some people can and do break them. They're just bad UI designers. Some people make native applications with shocking pink skins over the normal window dressing, too, but that doesn't mean all native apps are bad.
Re: Goodbye, Native Apps
#200VSCode is a poor example. Its a fully featured IDE, and sure it would be lighter without electron, but it still wouldn't be a lightweight piece of software. I use JetBrains which is not Electron, but also uses it's fair share of ram.
In my opinion, VS Code is not a "fully featured IDE". In fact, I would argue that it is even not an IDE. Simply because, "I" ("Integrated") in IDE implies lack of external dependencies or, in other words, self-sufficiency . Install PyCharm, Rider or any other real IDE , for that matter, and you have a truly fully featured development environment (yes, you can install some optional plugins, but it is largely not neede…