To me, the quote and what you put after came as a big surprise - I was ready to nod in agreement as you recognize this as a sad story about the platform.
The last time I was working on a text editor (KDE's Kate) and found a bug in the text layout engine it was written against (Qt's), I wrote a patch, submitted it upstream and it made everyone else's apps better, too.
I can't imagine the world of hurt, discomfort and frustration of developing against a lib set I can't read source code of or improve.
I've been a professional macOS developer for almost 20 years now and I can't tell you the number of times that this has been an issue.
With no access (or ability to patch) the platform source code you are left with a) hacky work-arounds, b) re-implement the component or c) change the app's design or feature to compensate. All of which are a pain / more work / risky etc, etc - just to work-around bugs in the platform.
Sure you can file radars (I do), but whether something gets fixed or not, is up to the gods...
That is likely to be non-trivial to develop unless you’re very comfortable with large, complex C++ projects and then you have to convince them to accept and ship ship it. That’s better than not having the option but it’s not for the faint of heart.
Chromium — yeah, seems like not friendly towards outside contributors, and nobody has convinced Google to accept stuff they don't care about (JIT for unpopular CPUs, support for new windowing systems, video decoding acceleration APIs, …).
Mozilla? Getting your patches merged is rather easy and very pleasant. Firefox is truly a community project we all build together.
Sure, but this is a thread about how Linux is better than MacOS because you can modify Linux. Those same criticisms you have I think could apply to Linux too.
True. In my experience though, it tends to work out. If 100 people are affected by a bug it's a drop in the ocean in the grand scheme of things, but now you only need a 1 in 100 chance of someone being up to the task! And the others can help with info and testing along the way.
Sure, but this is a thread about how Linux is better than MacOS because you can modify Linux. I think a Linux patch would take much longer to reach users. Modern browsers auto update frequently, but I don't think Linux users update Linux as frequently.
> It boggles the mind that anyone who can write code would ever use a closed source operating system.
Some of us want our work to actually reach people who don't write code or sysadmin their own computer, i.e. most people in the world. I, for one, think my effort is wasted if it doesn't benefit those people. So while working exclusively on a free-software platform is tempting from an ideological purity point of view (edit: and I envy people like you that manage to make a living doing it), I don't think I'd ever actually do it.
Edit: I should be more concrete and less snarky. Working on developer tools is good and necessary, and you can do that effectively on a free-software platform like Linux. But I choose to focus on end-user-facing software, particularly in the field of accessibility. I could work on desktop Linux accessibility, for the vanishingly small number of blind people who use desktop Linux (and that number is shrinking; one of my blind programmer friends just switched to Windows). Or I could target one or more of the mainstream platforms where the users actually are. I suppose I could work exclusively on web applications, but I don't think that would be the best use of my skills. And even then, while I could develop primarily on Linux, I'd have to test on other platforms too.
> Some of us want our work to actually reach people who don't write code or sysadmin their own computer, i.e. most people in the world
The majority of the internet is run on free software, and free software touches nearly every stack, even ones that are otherwise proprietary.
With regard to accessibility, there are open source tools out there that are pretty great for blind users, but they still need more work. There are also blind users that can't afford a Windows licenses or expensive screen reader software. I've worked with a local charity that helps people with sight impairments, and the money just isn't there when it comes to expensive software licenses and hardware.
If more open source options for people that have sight impairments become available, that would help a lot of those that are currently priced out of using modern technology for work, leisure and social interaction.
Or you could realize that your "mission" would be to break the chicken-and-egg problem, write more end-user-facing software in an open platform so that non-developers can actually enjoy the same benefits that developers do.
Someone has to do it. If you have the skills, why not you?
> I could work on desktop Linux accessibility, for the vanishingly small number of blind people who use desktop Linux
> one of my blind programmer friends just switched to Windows
Where they happy that their choices were being reduced to using a closed source operating system, now forever being dependent on the support of a giant corporation, partially because their friends like to write code that "actually reaches people" instead of contributing to an open and accessible solution used by a vanishingly small number of blind people?
Working on a free software platform is not mutually exclusive with reaching the majority of end-users. You can develop web apps for example or use cross platform toolkits for native apps. That's what I do and it works great.
One of the major selling points of the Editor posted here is that it isn't a cross platform app or built with web tech. Those already exist and it's great that we have choices but some developers like Panic have carved out a niche selling software thats very specific and tightly integrated into the platform. For those developers using the platform they're developing for makes a lot of sense.
I have a zillion plugins and vim is still snappy. Plus, editing requires so much less effort that it'd be better even if there was lag, which there isn't.
Do you not see how this is a self-defeating attitude? Do you recall when I suggested that you would be a great fit for leading an organization devoted to improving accessibility in free software? Have you resigned yourself to failure in the pursuit of improving access to open source for users with accessibility requirements? It'd be a pity to know that was the case.
I really wish you would step up and embrace the ideals you espouse, because I think that you could make an amazing impact if you applied yourself to it.
I like developing on Windows. Especially since the programs I write are run only on Windows. That's what the specific trillion dollar industry my employer serves uses mostly on desktop.
I don't want to tweak the platform. I want to concentrate on the code I write. I could be equally productive on OS X or Linux, but frankly, I don't care. They are all interchangeable computational substrates for me. As long as you can write any program on them, that is...
It's almost as if none of the replies read Drew's comment. Drew is talking about developing an editor for a closed source system and dealing with interfaces that break and then are hard to change, unlike open source systems that receive patches. It has nothing to do with "tweak[ing] the platform." Fixing a bug (which upstream would do, not you) is not tweaking, a bug is unintended behavior.
From your employer point of view you might be able to save a lot of time and money by submitting a patch for the bug upstream, instead of having to write your own text layout manager from scratch to work around an issue, which if you're unlucky won't even add any additional value to the client by itself other than enabling that feature.
As experienced devs with love of open source, they made this choice after thinking about it. They just have different value weights for their goals and those aren’t the same as other folks. Not a biggie
Is is not incomparably faster to fix a problem in an open source component than it is to write a full replacement for it? Would your employer not prefer to see you spend a few days digging through source and submitting a patch upstream than spend many weeks writing a text layout engine from scratch? The result is the same (working text layout), but the time (== money) required is substantially less in the open source situation.
I get your argument for a closed platform where you have a direct phone line to its developers that will fix any platform bugs you find ASAP, but MSFT hasn't been that kind of platform for years...
Naturally OS/2, BeOS, Windows, macOS, iOS, and even Android share some of the ideas.
Now, before I proceed note that actually modern Linux distributions have all the tooling to make these concepts happen, but it fails short to have everyone agree on a proper stack.
So basically, the main idea is to have a proper full stack in place for developing a Workstation computer as one single experience, from bottom all the way to the top.
On Xerox's case, they used bytecode with in-CPU execution via programmable microcode loaded on boot, and later on just a thin native glue on top of host OS.
The environments had frameworks / modules for the whole OS stack, supported distributed computing, embedded of data structures across applications (OLE can trace its roots back to these ideas), REPLs that not only could interact with the whole OS (commands, modules, running applications), it was also possible to break into the debugger, change the code and redo the failed instructions.
Linux distributions get kind of close to these ideas via GNOME and KDE, but the whole concept breaks, because they aren't part of a full OS, rather a bunch of frameworks, that have to deal with classical UNIX applications and communities that rather use fvwm (like I was doing in 1995), and use a bunch of xterms, than having frameworks talking over D-BUS, embedding documents, all integrated with a REPL capable of handling structured data, and call any kind of executable code (including .so, because the type information isn't available).
And then every couple of years the sound daemon, graphics stack or whatever userspace layer gets redone, without any kind of compatibility, because it is open source so anyone that cares should just port whatever applications are relevant.
It is quite telling that most Linux conferences end up being about kernel, new filesystems, network protocols, and seldom about how to have something like a full BeOS stack on Linux. Even freedesktop can only do so much.
> It is quite telling that most Linux conferences end up being about kernel, new filesystems, network protocols, and seldom about how to have something like a full BeOS stack on Linux.
They do, when they introduced the precision touch-pad. However ironically it created a lot of problems in software that responded poorly to the high precision events. Chrome being one of the most obvious offenders, took months for them to finally fix it (hence edge scrolling so much nicer then chrome on its release).
As long as PC laptops continue to use that terrible Synaptics touchpad system, they will always be inferior. Anybody I've seen who claims any PC touchpad matches a Mac doesn't know what they are talking about. And I say this as a user of both but mostly PC.
I'm kind of the opposite. I have a ThinkPad X390 Yoga and a MacBook. The ThinkPad touchpad is perfectly usable, but not great like the MacBook. The dealbreaker is that the Linux part of the ThinkPad is a complete pain (Intel WiFi headaches - went as far as submitting a kernel bug), while the MacBook just works.
“Solid” does not mean comparable. I have both high end dell and Lenovo laptops for work, and my Mac at home. My girlfriends MacBook Pro is far nicer to use despite being slower. Even for Windows.
Macs, with their amazing touchpads, are (at least for the moment and the last ten years or so) general purpose computers that can run pretty much every widely available open source operating system. This is a false dichotomy.
> that can run pretty much every widely available open source operating system.
That's just not true, though. Here's a git repo listing what works and doesn't work in Linux for all of the macbook pro models since 13,1 (released in 2016): https://github.com/Dunedan/mbp-2016-linux
You'll notice that power management (suspend/resume) doesn't work for any model, wifi only works for a few select models, and support for audio is pretty spotty. If you buy Mac hardware, you're pretty much locked into MacOS if you want to have a reasonably acceptable experience.
BSD support is much, much, much worse--it basically doesn't work at all for any relatively recent model.
The SPI keyboard and touchpad thing though is just.. WHY?? Everyone went with HID over I2C, Apple went with a completely new protocol over SPI. So annoying. I wouldn't want to work on supporting that crap.
> power management (suspend/resume) doesn't work for any model
um, that page says that you have to disable a power saving state on NVMe and it would work on any model with Intel GPU.
MacBook’s touchpad is so good that I was not using the mouse anymore just a few weeks after having my first Mac. It happened naturally and at some point I just stopped connecting the mouse.
Because like they just pointed out, you can only use this magical touchpad on a Mac running MacOS.
It's not like Apple benevolently gave this touchpad to the world, for our betterment and happiness, but for the singular, exclusive purpose of luring you into their ecosystem. But you don't benefit when they profit, you were the prize.
You should demand they give it away for free, because you should not give a shit about their profit because they (it) do not give a shit about your life or freedom or the economy of the social strata you live in. It's an alien machine that will eat you or it will fight you but it won't know the difference.
For me it's this, it's been proven I can get an OS that is open and free, doesn't mean I have to support and buy into some terrible multinational corporation whose goals I do not agree with, and that I get to have control over my own OS in a sense that is utterly freeing compared to MacOS or Windows. So why would I ever go backwards?
I pay Apple for hardware and software. I get good value in exchange. I don't particularly care beyond that.
You're trying to change this into an argument about freedom and open source. It's not. I want a trackpad that feels premium, the same reason I buy a nice car. I do not care how it's done and I do not care about the price.
tl;dr If the Linux ecosystem could provide it, good - I'd consider it. Put up or shut up.
100% of the time for me, I wouldn't wipe my butt with a trackpad, let alone use one for work.
It's always fun for me to meet people who do things the complete opposite I do them. It's oddly satisfying, like, I'm glad someone is my polar opposite on an issue or activity.
It depends. For lists, I do spaces. Allows for more levels than a tab would. But for everything else, tabs.
I've also grown to loathe that first-line tab beginning the second paragraph. It makes left-aligned text look wonky.
I loathe centered text too.
I'm not a rounded rectangle person.
I think the colored block UI that's all over Android, sites like HN, etc. looks tacky. We went from semi-transparent glass UI to flat colored blocks, and somehow interfaces got slower and more processor intensive. Now, that's a horse of a different color.
Trackpads are really un-ergonomic when they're attached to the laptop. Both your wrist and neck are bent because the trackpad and screen are attached that way.
Consider getting a separate USB trackpad and putting it in a "mouse like" position so your wrist is straight and you can raise the laptop to just under eye level.
I position my MacBook where I'd place my standalone trackpad. I could probably get a Magic Trackpad from work. But that would mean I need to carry another accessory with me.
So I'll have a proper monitor and a standalone keyboard in front of me. And the MacBook screen on the side is being used to display secondary information (chat windows and logs I don't need to actively look at).
Having the fingerprint sensor and the TouchBar lock button within reach are also nice (yes, I actually like the touchbar)
I use a dedicated keyboard, but I put the MacBook on side and use the trackpad as my mouse. It's smooth to use, has great gesture support for switching between applications.
And the most important feature for me. I can work a full day on it without any RSI related symptons. No other mouse can do that for me.
I use a normal mouse on my gaming rig, though. Because trackpads are awful for gaming.
If linux wouldn't require you to send patches upstream that would be great. Last time I checked the font rendering was off. So Linux seems to need to catch up to system 7 maybe? Certainly it's lagging osx 10.0.
The last time I was working on a text editor (KDE's Kate) and found a bug in the text layout engine it was written against (Qt's), I wrote a patch, submitted it upstream and it made everyone else's apps better, too.
I can't imagine the world of hurt, discomfort and frustration of developing against a lib set I can't read source code of or improve.