Live data from Hacker News

Stop Building Closed Ecosystems

buttondown.email

41–50 of 174 posts

Re: Stop Building Closed Ecosystems

#41
post #34

Earlier quoted context omitted.

So what do you want? "Highest common denominator" doesn't make much sense in this context - it's functionally equivalent to lowest common denominator. You want N different implementations, 1 per platform? You think the cross-platform toolkits could be better? Do you have an explanation for why they are not?

Look at WebGPU. Still a WIP, but it shows that you really CAN provide a performant cross-platform... platform if you're really thoughtful about performance

WebGPU doesn't offer any facilities relevant to GUI development except a method of putting pixels on the screen.

If you're suggesting WebGPU, you're really suggesting a drawing technology, not a GUI toolkit.

Re: Stop Building Closed Ecosystems

#42

Earlier quoted context omitted.

So what do you want? "Highest common denominator" doesn't make much sense in this context - it's functionally equivalent to lowest common denominator. You want N different implementations, 1 per platform? You think the cross-platform toolkits could be better? Do you have an explanation for why they are not?

I want native apps on my platform of choice that leverage the native capabilities of that platform. That’s the entire reason I chose one platform over the other. Mac users complained about Word 6 forever ago when MS tried to use a cross platform toolkit and Apple’s Windows app were just as bad.

So you don't actually want cross-platform apps at all, but either single-platform apps, or apps developed independently for both platforms (because otherwise you're just talking about some in-house cross-platform toolkit).

Re: Stop Building Closed Ecosystems

#44
post #34

Earlier quoted context omitted.

So what do you want? "Highest common denominator" doesn't make much sense in this context - it's functionally equivalent to lowest common denominator. You want N different implementations, 1 per platform? You think the cross-platform toolkits could be better? Do you have an explanation for why they are not?

Look at WebGPU. Still a WIP, but it shows that you really CAN provide a performant cross-platform... platform if you're really thoughtful about performance

And will it look and act like a native app? Will it support all of Apple’s built in accessibility affordances that a developer can get for free by using Apple’s native toolkits (and Microsoft’s)?

Re: Stop Building Closed Ecosystems

#45

Earlier quoted context omitted.

So what do you want? "Highest common denominator" doesn't make much sense in this context - it's functionally equivalent to lowest common denominator. You want N different implementations, 1 per platform? You think the cross-platform toolkits could be better? Do you have an explanation for why they are not?

There are multiple explanations for why cross-platform toolkits are kind of awful. I'm treating "cross-platform toolkits are kind of awful" as an observation here, because I've used them, I've worked with them. And my measurement for awful is poor UX, relative to native apps. Different platforms are just slightly too different from each other to make it work well. So you end up with a bunch of cross-platform apps whi…

> It is costly to just reimplement your UI for multiple platforms, but that's where the "closed ecosystems" come in. React Native is kind of a compromise between the Qt-style approach (cross-platform UX) and the native approach. You're given a framework which works with multiple native toolkits, and you can have a mix of cross-platform UI code and platform-specific UI code.

I don't understand this claim at all. Qt (or GTK) let's you "escape out" to the "native" toolkit on Windows or macOS as needed.

There are not multiple "native toolkits" on Windows or macOS.

> Different platforms are just slightly too different from each other to make it work well.

So basically, you're denying that it's possible to do excellent cross-platform apps at all. OK. I'm not sure I agree with that, but it's a position.

Re: Stop Building Closed Ecosystems

#46
post #36
post #4

The main problem is who gets to decide on the one anointed approach. Diversity ends up being a good thing, and also makes everything more messy and more complex. Take your example of the Open Web. I wouldn't be in software without the Open Web. I hand-write HTML and CSS to this day! But many people hate the web stack. They hate the ergonomics and enjoy better ecosystem for nearly every possible thing implemented in t…

> I hand-write HTML and CSS to this day! Yeah but... for your job? I'm sure we all do those side projects, but hard to imagine being able to do that on a complex multiple-member team project

I count writing JSX as hand-written as the child comment mentions. Also HAML in rails. I realize this perhaps is a fuzzy definition as we move along the spectrum of automation and abstraction.

What I mean to say is I still have a more-or-less 1:1 relationship with both HTML and CSS APIs to affect user interfaces. Like how do make round corners I need to know `border-radius: 100%`, or `borderRadius: 1rem`, etc

(And you're right, in all projects where "I have my way" meaning it's personal or in a small-group, I have the freedom to choose low-level vanilla primitives. Less so at work in large teams where everything is a build pipeline.)

Re: Stop Building Closed Ecosystems

#47

The native side of this has long been addressed by cross-platform toolkits including but not limited to: Qt, GTK, FLTK, WxWidgets (note: all FLOSS, at least optionally). Alas, web development "decided" to completely reinvent the wheel for all this stuff, leading to a new generation of heading-to-native toolkits derived from browser-based technologies, such as Electron, React Native and Flutter. Unless you believe the…

If quality mattered then maybe the other toolkits would have a chance, but no one is looking at the web for that, they are looking to the one advantage that the web has that the others cannot hope to beat: They work around bureaucrats. At least in the enterprise, with desktop applications you need to deal with IT security losers who freak out when you ask that computers actually have useful applications, and god help you if you need to get a port opened.

Forget that, just shove everything down port 443 and download the application over and over again until the end of time.

Re: Stop Building Closed Ecosystems

#48

Earlier quoted context omitted.

Then, on the other hand, you'll rarely see Linux ports. Lowest Common Denominator apps have been a blessing for Linux users - we would have never had Visual Studio Code, Slack, Postman, and who knows what else otherwise; and you can't tell me any of their developers would've done the work to port everything to GTK or Qt otherwise.

Isn’t that a problem that Linux only has crappy cross platform apps that are not as good as native apps? Why would I run a Linux box as my daily driver instead of a my Mac that is real Unix, has a 16 hour battery life and I can get great polished native apps?

I mean, it depends on how much time you're spending in great, polished native apps. For work, I spend all of my time in VS Code, Chrome, Slack, and the terminal. It's hard to justify any platform as being better if those are the apps you use, since they basically work the same on any platform.

And then there are the people who spend day in, day out in programs like Photoshop, InDesign, Pro Tools, etc.

Re: Stop Building Closed Ecosystems

#49

Earlier quoted context omitted.

I want native apps on my platform of choice that leverage the native capabilities of that platform. That’s the entire reason I chose one platform over the other. Mac users complained about Word 6 forever ago when MS tried to use a cross platform toolkit and Apple’s Windows app were just as bad.

So you don't actually want cross-platform apps at all, but either single-platform apps, or apps developed independently for both platforms (because otherwise you're just talking about some in-house cross-platform toolkit).

Why do I as a Mac user care about cross platform apps? Even as a long time Windows user, why would I care about cross platform apps?

I chose a platform because the platform and the apps meet my set of priorities.

As far as how that affects Linux users, even if I did prefer Linux as a developer platform, why make it my daily driver instead of running it in a VM or with something like WSL2?

Re: Stop Building Closed Ecosystems

#50
post #14

Earlier quoted context omitted.

Attractive-for-the-developer ideas are fine but attractive-for-the-user dominates. That's the sad lesson since the 80s and 90s OS wars and the early dominance of the market over the committee-standards that happened repeatedly with databases, with web browsers, with text editors, with spreadsheets, etc etc.

Why is it a “sad” lesson that users have preferences that are not in line with developers?

Personally I see the ossified bifurcation between users and developers as a major defeat that perhaps I won't live to see reversed.

It was not set in stone that people would be by design dumbed down progressively as computing caught on, rather than assimilated into the computing world as 1st class citizens.

In a parallel universe something like the Smalltalk, LISP or Forth machines were widely adopted and the dichotomy between user and developer was blurred to mean an incidental situation related to a specific set of code.

It's hard to even convey in words how damaging it is, and can still be much worse, that the user was corralled first as a consumer and then as the product. Wholesale across all the industry. And the sad thing is that it wasn't like this, at all, as late as the 1980s.

Post reply on HN