6 ms·
Sadly we have strayed to the other extreme. From "every instruction is precious" right over to, "who cares how many instructions I use?" Nowadays, desktop apps
by lbriner 4y ago
Sadly we have strayed to the other extreme. From "every instruction is precious" right over to, "who cares how many instructions I use?"
Nowadays, desktop apps which started in an instant 20 years ago, seem to take several seconds even before they are even doing anything useful like loading a project or whatever. Even things like Visual Studio looking through the MRU project list can take 10 seconds (probably a threading issue) and VSCode, Teams and others are equally unimpressive - in fact the browser, the one thing that should be slow due to the network, is usually fastest when using a well-written site.
I'm not sure whether the multi-platform desktop app was ever a great idea. How much time have we saved "not writing multiple apps" but have instead ended up with slow, bloated software that doesn't usually run multi-platform, at least not all the time in the same way.
- Torifyme12 4y agoThe developer time is saved by not writing multiple apps, fuck the end user, who cares about their time? Seriously, I have to really think about when was the last time there wasn't some degree of unnecessary friction in an application. It really feels like being an end user of modern tech is like being in an abusive relationship.
- ChrisMarshallNY 4y ago> It really feels like being an end user of modern tech is like being in an abusive relationship. I've come to realize that a lot of modern developers consider users of their tech to be little more than cattle. The tech is cattle feed, meant to fatten and ensnare the user, so they can be sold off and slaughtered. There's really only one party in that kind of relationship that benefits.
- ratww 4y ago+1000. But in my experience the trend started not with developers, but with the other people around them: Product Managers, Designers, Engineering Managers, Steve Jobs wannabes. There was an obvious disdain for users, and they were seen as complete dunces that should be shepherded to whatever new functionality happened to pop up their heads. There was also a complete disdain for the medium: designers used to print design choosing too rigid designs that didn't really work that well on a screen, and only adapting when the market started punishing them. At first programmers were able to resist all that and have a voice, but lately it seems that the only prestige we retained was the salary, so we must play the same tune as the rest of the band. Agile was an attempt at being "self managed" and have a bit more independence, but that was also corrupted and lots of devs hate it with a passion too, so we're mostly back to practicing non-iterative, Steve-Jobsian-gut-feeling-centric development. Programmers have bought into that toxic mentality too. And even in better situations, such as my current job, the tasks that cause the most issues, take more developer time and annoy the user the most are always the same: non-idiomatic features (for the web or for desktop apps), often concocted by designers totally disconnected with the audience, who at most did two or three "interviews" where the user said "yeah I could see myself using that".
- zozbot234 4y ago> There was an obvious disdain for users The disdain for "lusers" came from BOFH sysadmin types, well before it was adopted by the non-"tech", business-focused folks.
- ChrisMarshallNY 4y agoBut it became industrialized by business-types. The BOFH thing was personal. They considered (still do, sometimes), users of their systems to be "the great unwashed." Basically, pests. Business types look at users as a resource to be exploited to make money. Basically, livestock. Different outlook. We try to discourage pests, but we breed and incubate livestock. In neither case, are we particularly interested in the long-term benefit to our users. If anything, the BOFH types are actually working towards the benefit of their "lusers," because that's their job. I write software that is targeted at a demographic that I actually respect, and sincerely want to benefit with my work (so, naturally, I don't get paid for it). I'm constantly fighting with "modern software types" that want to treat users of the software that I write as livestock. They -quite literally- can't understand my PoV. It's fairly discouraging, really. I'm treated like an idiot, because I actually want to help the users of my software.
- jart 4y agoThe only way I see that happening is if it becomes easier to crowdsource donations. When your users are the ones putting bread on your table, they're the boss. Whatever they want they get. But sadly it's hard to crowdsource from programmers because there's so few of us. I love building and sharing software that delights my peers. Not because it's a smart thing to do. If money was the thing I cared about, then it'd be more rational to play video games on Twitch and blog about culture conflict on Substack. Rather coding is something I feel compelled to do and I won't stop even if it destroys me.
- Suzuran 4y agoIt predates the BOFH a bit as well. I am restoring a PDP-10 to operation and the operating system refers to users as "lusers", non-sanctioned users of the system are "turists" who were just there to gawk at things. It's not so much out of disdain for the people themselves as what they were doing with the computer - when computer resources were limited, it was grating to have to wait while unskilled and uncaring people occupied those resources for frivolous or unnecessary reasons. Edit: Consider being told something along the lines of "Your DNA sequence has to wait, the CEO has important Facebook posts to read..."
- User23 4y agoThere's that old joke that only two industries call their customers "users."
- deleted 4y ago[deleted]
- wpietri 4y agoI don't remember the norm being "desktop apps which started in an instant 20 years ago". Or 30, for that matter. Do you have any data for that? E.g., when I think back over launching Photoshop over the decades, I remember loading screens all the way through. My take is that launch times are on average better but still not great. And I think that's because something else that's constant is that programs first get written for the convenience of the programmer, and then optimized until people stop complaining about the speed. The waste of resources bothers me too, of course. But on the other hand, computing resources have become radically cheaper while programmer time has gotten much more expensive. While at the same time, writing software had gotten radically more complex. So I suspect me getting bothered here is sort of like when my grandmother, who grew up in the Great Depression, got bothered when I didn't wash and reuse aluminum foil.
- mlyle 4y ago> I don't remember the norm being "desktop apps which started in an instant 20 years ago". What keeps happening is-- we get an upgrade, and then have some old applications, and they become "instant" in comparison to our experience with both newer stuff and the application in the past. Then we watch that win clawed away from us. Of course, it was never instant, even with the old or newer hardware. My brother spoke a few weeks ago of being awestruck and programs starting "instantly" when he got a hard disk on DOS on the XT. But now I have a better-than-XT-equivalent (9.54MHz V20) with a very fast IO subsystem and I can tell you that it is very much not actually instant.
- lproven 4y agoAgreed. My #1 annoyance these days, because it is so egregious, is Electron apps. I guess because the only language some programmers know is Javascript, of which I know little but what little I know places it marginally above PHP in intrinsic horror. So people write standalone apps in a language intended for tweaking web pages, meaning that to deploy those apps requires embedding an entire web browser into every app. And entire popular businesses, for example Slack, do not as far as I can tell have an actual native client. The only way to access the service is via a glorified web page, running inside an embedded browser. Despite which, it can't actually authenticate on its own and needs ANOTHER web browser to be available to do that. Electron apps make Java ones look lean and mean and efficient. Apparently, expecting a language that can compile to native machine code that executes directly on a CPU, and which makes API calls to the host OS in order to display a UI, is quaint and retro now. And it's perfectly acceptable to have a multi-billion-dollar business that requires a local client, but which does not in fact offer native clients of any form for any OS on the market. It's enough to make me want to go back to DOS, it really is. Never mind "nobody will ever need more than 640kB"... if you can't do it in 640kB and still have enough room for the user's data, maybe you should reconsider what you are doing and how you are doing it.
- ngcc_hk 4y agoActually javascript even though weird it is one of total different beast as a computing language. It is readable unlike php, dynamic as root from lisp, wide use and hence accessible. But given its original history and neglect, it takes decade to fix all issues it presented in other area. Still I would not dismiss it. Yes it is slow. But it is not Java type. It can be better is the motto.
- lproven 4y ago> dynamic as root from lisp That is a good thing, yes. But TBH I wish Eich had just embedded Lisp in Mozilla instead. > wide use and hence accessible. "Everyone uses it" is not a good argument for anything at all, really. > it takes decade to fix all issues it presented in other area. Well, yes, it has had a lot of R&D done upon it to make it quicker, but again, that is not an endorsement. > Still I would not dismiss it. Yes it is slow. It seems to me that in the 2nd sentence there you contradict your own previous sentence. > But it is not Java type. What is so wrong with Java? More OSes support JVMs than support Javascript. JVMs have few requirements and can even run on DOS. JVMs too have a ton of R&D into making them faster and better. There is rich tooling and support to make Java apps scale, such as Enterprise Service Buses, e.g. JBoss FUSE, which allows apps with clashing namespaces to run on the same host at the same time, and even communicate. There are tools for writing native UIs for Java apps. I would rather have Java apps than a Javascript one, frankly. At least with Java apps, one JVM in your OS supports all your apps, whereas JS needs one per app, or even one per window or tab in some apps. > It can be better is the motto. That is not a good motto. That is in fact a really bad one.
- dale_glass 4y agoWho cares about instruction counts? Computers are there to get stuff done, they're a means to an end. Good algorithms are far more important than instruction level optimization, which is to a large degree pointless anyway, since new CPUs come out all the time, and change the tradeoffs involved.