Live data from Hacker News

Stop Building Closed Ecosystems

buttondown.email

101–110 of 174 posts

Re: Stop Building Closed Ecosystems

#101

Earlier quoted context omitted.

Adobe and Microsoft both have spent 30 years optimizing their development around supporting both Macs and Windows. But how much of the GUI is actually cross platform? Adobe famously used Apple’s Carbon API and was very upset that it wasn’t ported to 64 bit. There is a lot of Cocoa in both products. Microsoft use to brag that they had more Mac developers than Apple did.

> But how much of the GUI is actually cross platform I find the idea that when Photoshop or Protools wants to open a dialog with a button, the developer creates two functions, one for Windows and one for macOS, completely unbelievable. There is almost without doubt some level of in-house cross-platform toolkit in place. It may not go as far as, say, Qt tries to, and it may differ in design philosophy from other simil…

That’s kind of backwards isn’t it? If I am writing a banking app for both the web and mobile. My GUI development is going to be different. But I’m calling the same set of APIs. The backend isn’t “opening a dialog box” to the front end. The developers would be designing a native dialog and calling backend shared codex

Re: Stop Building Closed Ecosystems

#102
post #40

Earlier quoted context omitted.

> They are using canvas & webgpu, & making their own rendering engine (borrowing Skia) to take web apps from part of a participatory open ecosystem where extensions & user-agency work, & turning the page into a giant animated screen. This is effectively what Flutter does on other deployment targets as well, building a framework and high-level primitives on top of the host's low-level primitives, and in the process ab…

It's going to run fine everywhere. It's going to work. As a native app strategy I think it's fine. It's immaterial, if it works. But on the web, it is damage. It breaks all user agency, wrecks all extensions, breaks accessibility extensions, prevents scraping. It's a closed world, and the web doesn't deserve this native app mistreatment.

> But on the web, it is damage.

I couldn't agree more.

> As a native app strategy I think it's fine.

It's fine in the sense that it doesn't damage open ecosystems in the same way that circumventing the web experience does.

It matters if you care about the customer experience. Companies like McDonald's would likely see a significant bump in use and user satisfaction if they replaced their Flutter app with native apps.

Re: Stop Building Closed Ecosystems

#103
post #65

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…

Every now and then I meet a Qt dev who's whining about how Electron stole their lunch. If something like Electron stole your lunch, Qt obviously had serious problems.

There is still an opportunity for Qt to win in this area - they should make it really easy to create (well documented) bindings for new languages (that integrate with their runtimes)

Re: Stop Building Closed Ecosystems

#104
post #64

Earlier quoted context omitted.

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…

Is Photoshop a native application? It sure doesn't act or feel like one on Windows. It seems to be just using an Adobe in-house cross-platform abstraction. Maybe you like that abstraction's output more than web platforms, but that's a different matter.

https://www.theverge.com/2013/2/13/3959868/photoshop-is-a-ci...

"Somewhere, deep down under the streets of Photoshop, down where the mole people live, is a little framework called "MacApp." It's a remnant from the very first versions, a fragment of foundation. MacApp originally let Photoshop communicate with the underlying operating system, which was then Mac OS 6.0.3."

Re: Stop Building Closed Ecosystems

#105

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?

> 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?

Depends on the apps you are using; what's the Mac equivalent of Emacs? How about Meld?

Yeah, this is a bit of a leading question; you can get great polished native non-xplatform apps for Macs but if you limit yourself to that category then the Mac is no longer as useful as a mid-range Windows/Linux laptop.

If you're going to insist on using only non-xplatform native apps when on Mac, you're in a niche (image/video/sound editing, maybe?)

BTW: What kind of Mac laptop do you have that you get 16 hours of battery life? My 5mo M1 barely gets 4 hours when using only video-calling, Goland, Chrome and some terminals.

In over a year of using a Mac as a daily driver, I've yet to use one non-xplatform native Mac application. so I am curious about what you non-xplatform native Mac app you are using.

Re: Stop Building Closed Ecosystems

#107

Earlier quoted context omitted.

Well, you're obviously welcome to do whatever you want, but I personally regard this as backwards. I believe in libre software, because I believe it is ultimately going to be better for users (over what timescale, I can't say for sure, but longer rather than shorter), and better for developers and better for technology. So I want to work on a libre platform, to some extent regardless of the applications I need/want t…

So you regard it as backwards that Apple and Microsoft give users what they prefer including a better user experience? Do you seriously wonder why the “the year of the Linux desktop” never came? And what good is this supposed “technical superiority” if it doesn’t have any end use benefit? Does it integrate with my other hardware seamlessly like my headphones that switch automatically between my phone, computer and wa…

Laptops are a different category. I use one, but only for travelling. Most of the time, I work on a massively multicore self-built AMD-based system which is cheap, incredibly powerful and almost silent. My power comes from the sun, and I don't have to care about battery life.

My AMD system has better audio performance than any Apple system I could buy (and I can even run Mojave on it, with better $-per-cpu-cycle than anything Apple would sell me), despite Apple systems indeed having great audio subsystems.

I rarely use headphones, but when I do they are studio quality ones that do not use bluetooth, and are fed via my studio gear, not random consumer devices.

Look, I get that different users have different needs. I'm not trying to persuade you not to use Apple products. I just happen to think that the focus on "how good is this for my day to day needs" can obscure a more important long term truth. Farmers have been discovering this with John Deere for the last few years, another company that makes incredibly great hardware that is totally what their users need. It just turns out the Deere's model of buyer lock-in via repair control is now causing conflicts for those same users.

Re: Stop Building Closed Ecosystems

#108
post #70

Earlier quoted context omitted.

> 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 (o…

> There are not multiple "native toolkits" on Windows or macOS. This is just not true on Windows. What is native Windows these days? Win32? WPF? WinUI? Even if your view is that Win32 is the one true native toolkit, MS alone produces multiple abstractions over Win32 like Windows Forms or MFC.

[deleted]
Post reply on HN