> Apple devices are becoming increasingly unusable for developers.
Nothing laughable about that. It's absolutely 100% true. That's why only 25% of developers are on a Mac. Outside of the Silicon Valley bubble that number goes way down.
> Fantastic opportunity for Linux apps to gain more dev resources, as anyone with a bit of foresight sees little future in macOS, iOS, Windows, or Android as development platforms.
Linux apps have steadily been gaining more dev resources. That's why we have big companies like Microsoft bending over backwards to make things like VS Code run on Linux or in Linux container tech.
> Developers do not dictate the success of a platform. Users do. And they don’t want Linux on the desktop.
Linux is on more systems than any other OS. Was that because of Users? Nope.
If Macs and iPhones disappeared tomorrow, the world would largely continue on without much hassle. If Linux or Windows disappeared, we'd have a worldwide catastrophe on our hands. Users never chose Windows either. Developers and the businesses that they worked for did.
The number of normies using Linux on the desktop isn't a good metric. There are as many devs on Linux as there are on a Mac. Of those, I'd say more than half are not even targetting iOS but rather the web. So, Apple is always just a few bad moves away from losing those web devs to a Linux desktop.
I'm not so sure. It's a chicken egg problem: if developers get so frustrated that they suddenly start building great experiences on Linux, the users will flock there. It won't be a fast exodus, and it won't be clear cut, but it will set in motion a transition. Developers follow demand, but users follow supply. If enough developers create supply elsewhere, and that supply gets interesting, users will come.
One can already see it in some areas with the popularity of containers, with many developers choosing Linux as other operating systems have poor to no container support (often nothing more than running them in a Linux VM).
Stupid anti-developper practices of proprietary OS vendors will result in only more developers migrating to Linux distros.
Microsoft has pretty much solved this with WSL/WSL2. I hate the obsessive stalking and much of the redesign of Windows 10, but at it's core, it's better for many general consumers.
As a developer, I run into Windows' superior dealing with low-memory situations quite often. My work dev machine has 16GiB of RAM, but my full-stack development work is pushing my system past the 16GiB mark easily now. Coworkers using Windows have similar problems, but their system slows down whereas mine completely freezes for 30 seconds at a time while the system struggles to find some free memory.
For the people who would tell me to "just get more RAM": it's out of my hands, and 16GiB should be more than enough for this type of work anyway. Most software written these days, especially tools aimed at developers, seems to think everyone has 128GiB of RAM and that bad memory handling can best be solved by buying more hardware.
With Gnome 40 and systemd 248, the Linux experience will become just a tad more friendly for both general users and developers, but there's a lot of improvement that can still be made to the Linux experience.
Pfffft. OK! Clearly this is incorrect... We have whole companies like System 76 built around selling Linux desktop systems. We have whole divisions of PC manufacturers for selling Linux desktop systems. If nobody was buying them, they'd cease to exist.
Non-developers largely don't buy them, that's all.
Also, many developers are aware that Linux runs on anything, so a large portion of Linux users just install it on whatever hardware they already have. The rest buy systems from Dell, System 76, etc. or build their own.
> because the basics are so poor e.g. broken sleep mode, driver instability, poor battery life, changing UI etc.
Developers obviously buy pre-built Linux laptops that have none of these sleep/driver/battery problems. I work with some of them. If one makes a sensible choice and uses a desktop environment like XFCE, they would notice that there's much, much, much less instability in the UI when compared to Windows, macOS, Gnome or KDE.
Personally, I prefer desktop systems and I have never had to spend more than 40 minutes getting Linux running on any desktop PC that I've tried it on outside of my Mac Pro from 2012, which was only problematic because it's not a real PC with a normal BIOS or boot procedure it's a locked down Apple terminal.
I've seen way, way, way more problems with macOS and Windows than I have with people running Linux in our office. Certain mice and keyboards won't even work on a Mac!
Why do users choose a platform? Apps. Who makes the apps?
Developers embraced Windows over Mac, users followed. (Until iOS development made Mac's the default dev machine.) Developers embraced iOS and Android over Symbian and webOS.
Windows and Mac were great development platforms ten years ago, and iOS and Android were way better than the now-dead competition.
> All the best hackers I know are gradually switching to Macs. My friend Robert said his whole research group at MIT recently bought themselves Powerbooks. These guys are not the graphic designers and grandmas who were buying Macs at Apple's low point in the mid 1990s. They're about as hardcore OS hackers as you can get.
From my anecdotal experience, the rise of the Mac among creators, including developers, was meteoric, and immediate, once OS X was stable. Not to say it was everybody, but I'd say by the mid-2000s it was the default choice, as in I rarely ran into anyone using any other platform in the web startup circles I was in at the time.
HN ist a bubble. There are millions of developers writing software for embedded controllers and other hardware which is done on Windows and Linux. Plus a plethora of B2B software HN never heard of because it runs in corporate environments powered by Windows.
Yeah, I was in college and startups through the mid-00s, adopting Mac at Tiger. It seemed like maybe Leopard was the breakthrough anecdotally, where Boot Camp took away the "but-it-can't-run..." that was the last factor keeping people away, even though no one ever seemed to actually end up ever running Win after all.
I'm not sure what IT purchasing looked like in enterprises and SMBs through the '00s, but I wasn't able to get an Apple machine at a non-tech mid-size employer in the late '00s and it seemed like developers at big employers still had PCs.
I've always been issued (and supplied) Macs since the early '10s, and I'd say at this point, given how bad macOS has become, it ultimately does boil down to the fact that "being able to build an iOS app" is a valuable feature, and no other company can offer it.
With due respect, that's a rather elitist and miopic view that considers mac usage within bubbles only, albeit popular in HN. Specially considering that surveys report macs being used only by a third of the developers that answered it. That's a farcry from "most".
I didn't say "most", and even the framing I used of "default machine" came from the comment I was responding to:
> Until iOS development made Mac's the default dev machine.
I was just pointing out that based on my personal experience, it started earlier than that.
I don't know what to say about the elitist comment. I'm only pointing out my anecdotal experience. I'm well aware of Stackoverflow's developer statistics, but I just don't personally run into developer machines that aren't Macs very often. But then, I transitioned to iOS development myself around 2010, which is obviously going to skew things. Frankly I'm super curious where all the non-Mac using developers are, because they aren't on the web teams, or mobile teams (Android/iOS) that I usually work with. I know Windows is by far the most popular choice for game development, but that's far from my career.
(I guess actually, for the elitist point, I only really care about the hardware being used by people doing work I admire, because I want to do work like that too. I suppose if that's elitist so be it, but to me, that's just being practical.)
It depends on what you work on. Of course if you work with iOS development your surroundings will be mostly macOS machines since it's a hard requirement, no surprises here hence my comment about bubbles. Otherwise statistically speaking, macs are not the default developer machine as per surveys.
It also depends on who you admire. For example Linus, someone I admire, uses a AMD Threadripper 3970x. And the best engineer I personally know, uses a Thinkpad with Debian.
On my team, currently responsible for heavy backend engineering, we have been replacing macs with Dell XPS + Linux due to mac's horrible support for Docker which is a hard requirement for us.
> It depends on what you work on. Of course if you work with iOS development your surroundings will be mostly macOS machines since it's a hard requirement, no surprises here hence my comment about bubbles. Otherwise statistically speaking, macs are not the default developer machine as per surveys.
Again, I didn't framed it as default machine, that comes from the comment I was responding to. Personally, I probably would have said something like "default machine for developers working on products that target non-developers" (I'd have to think really carefully about how I'd word this actually, because I'm well-aware of the statistics).
Actually, I'd love to hear your framing of this. E.g., major tech companies usually default to a MacBook for developers. They're usually the most common machine at tech conferences. Unfortunately both based on anecdotal experience again, maybe you disagree with those too? But if you agree, how would you describe that if not the default machine for developers then? Not being rhetorical, I honestly struggle figure out the best way to describe it.
(Also regarding this "Of course if you work with iOS development your surroundings will be mostly macOS machines since it's a hard requirement, no surprises here hence my comment about bubbles." I was specifically drawing on my experience before iOS development existed, when I worked in web development.)
> It also depends on who you admire. For example Linus, someone I admire, uses a AMD Threadripper 3970x. And the best engineer I personally know, uses a Thinkpad with Debian.
Clearly, but why is my following the work of people who I admire (mainly product-centric apps and website) elitist, but your following Linus, etc... not elitist? That was my question here.
Default machine for developers is a very broad term. It is heavily biased on what and where they work on. Sometimes it's not even a choice. Perhaps we agree on that and are talking past each other.
It’s not just apps, drivers and OS basics are key too. I tried half a dozen times to switch to Linux as a daily driver.
I gave up the last attempt because two things happened: someone out there pushed a bad update that crashed my GUI for no readily apparent rhyme or reason, and I could not for the life of me get my scanner to work.
Now if I wanted to have 17 CPUs or hook a HAM radio into it or do something truly weird, Linux was the way to go.
But I just wanted my computer to (a) not break and (b) do the basics smoothly.
Well yeah, "software", including drivers and OS integration, not just "apps".
Linux phones no longer seem limited by hardware or cost (at least judging by my PinePhone), more stability and support. Once stability is there in terms of reliability of the core "Minimum Viable Phone" apps, which seems relatively close, there will be a great opportunity for design-oriented founders/brands to craft highly polished experiences without needing to pay off the Duopoly or, worse, trying to compete with them for talent.
Yeah, there will be new innovative startup phones, but what'll happen when every brand can offer their own phone just by hiring a few designers and engineers?
Branded phones have been a thing for a very long time, and not enough people are interested in them to make any of them successful.
I'm glad that you're happy with your PinePhone, and I hope that one day in the future it achieves perhaps 1% of the global market for smartphones. I doubt it, but that would be nice.
Linux is already running on the majority of smartphones, individual manufacturers and distros seem less important. Any Android user would switch to another Linux phone with the right features, price, etc.
iOS seems poised for a slow ride into irrelevance as developers start suing them and begin leaving (Basecamp, Spotify, Epic...), before long they'll be the dusty old devices in schools like 25 years ago. Apple (legacy Mac OS) and Microsoft (Windows Mobile) have both lost before because they lost the developers.
Microsoft has been very smart in their recent plays in this regard, regaining a huge amount of developer trust over the past 5 years or so.
BMW, Facebook, KFC, and Yahoo! are branded phones I remember off the top of my head, but even Microsoft gave up on the phone business because they couldn't gain traction.
"iOS seems poised for a slow ride into irrelevance" is quite a thing to say the same week Apple announced all-time record Q2 revenue on the back of their iPhone business. It's up there with "this is the year of Linux on the desktop" as a perennial statement that will eventually have to be right*, sometime between now and the heat death of the universe.
You're focused on where the developers are, as if that were the leading indicator, but I think history tells us that developers go where the users are more often than the other way around. Neither users nor developers seem to be much discouraged by Android or iOS, and neither are stampeding toward PinePhone, either.
In any case, you're making a lot of future claims that I find ludicrous, but I'm not a betting man, or I'd take your money.
Developers are also users, usually some of the more advanced users, important early adopters and power users. Remember non-developers saying they would never get Facebook, or an iPhone, or bitcoin, or Snapchat, or TikTok... and then Road to Damascusing into evangelists? Developers tried all of those out first, with many seeing the problematic social mechanics and rejecting them early, instead of running the hamster wheel to enrich others and centralize power in furtherance of one's own greed.
If enough developers give up on the proprietary OSs and just run Linux, which is basically actually doable now, the tides will turn. Certainly unclear if developers will unify and go all in on Linux, of course, but given historical trends it looks quite likely.
Anecdotally, I've always been fine enough with Win and Mac since the '90s, fine with iOS and Android since the '00s/'10s. But something shifted last year, and while I will remain a user, I've mostly given up on actively developing/maintaining native or web apps targeting those platforms.
That’s certainly possible, and you’re right about the leading edge early adopters dictating the success or failure of a system.
I’d be delighted if I could get Windows 10/iOS/MacOS-level reliability and functionality out of Linux and would switch to it as a daily driver. But the delta in user experience right now is massive, so I just use Linux for the things that only work on Linux
In my family, some of the users chose their platform after asking me what to buy. I'll normally recommend Apple because the hardware is generally pretty good and their service and support through their stores is decent.
Applications usually don't matter, with gaming being the big exception.
If applications really were the biggest factor, Apple probably still wins. Through virtualization, a Mac can legally run more software than any other computer.
> Developers embraced iOS and Android over Symbian and webOS.
Users embraced iOS before developers. The day the iPhone was release, there were far more apps on Windows CE based smartphones but none of that mattered. So I don't think you can say it's all about applications.
They also choose brands. Apple has one of the biggest ones, and the fact that people bought MacBooks during the butterfly keyboard years should tell you just how powerful that brand is.
Yeah, grandparents and computer labs kept their old Apple computers around through the '90s when Apple wasn't cool. Before getting a Mac became at first ironically cool in the early '00s (because they looked funny but couldn't run any good games). Apple is clearly just a default and not a preference with kids nowadays in my experience, like they were for kids in schools in the '90s. They have good games now though.
Brands don't seem particularly defensible, and Apple doesn't seem to have any network effects outside iMessages/FaceTime and their accessory ecosystem.
James Currier on brands: "I don't think brand is a worthy defense at all. I've seen companies with phenomenal brands get crushed in a matter of years. If you go back to the early age of PC software, the best brands in the industry were Lotus 1-2-3 and WordPerfect. Microsoft crushed them in a matter of years, and they had the brands. I don't think brand buys you very much. The best brand in search was AltaVista or maybe Yahoo! and now they're roadkill."
> Brands don't seem particularly defensible, and Apple doesn't seem to have any network effects outside iMessages/FaceTime and their accessory ecosystem.
Perhaps that's why Apple advertises so much with product placements in movies. On a lot of movies the main characters have iPhones - it's not overt, just a jingle or them looking at a call (which looks like iOS incoming call UI). Same with Macs or AirPods. I honestly wonder what their placement spend is like.
They aren't the most valuable brand for no reason [1]. That placement is earned, but reinforced with lots of spend.
Yes but it means nothing if consumers are not buying the hardware with Linux. The average consumer is not going to put Linux on their computer if it’s not as simple as downloading a browser or upgrading an operating system.
Consumers will go where the apps are: if developers increasingly exit the Apple and Google ecosystems, which seem beset with nearly daily anti-developer actions, the only other option is Linux app development for mobile. The hardware is ready, cheap, and good enough.
"Average consumers" are becoming increasingly technically sophisticated as demographics shift, and of course the two leading mobile OSs are already Unix-based. While they're not marketed as "*nix" to end users, they absolutely were marketed as such to developers.
Probably no so related but your comment remembered me some friends sentence, something like: "end-users don't mind about the technical aspects they just want something that works".
This is an ad-hoc claim and not necessarily true, I know. But turns out that this sentence is trivial nowadays with this such of big impact of technology in people's lives. So users are not foolish, they are every day more aware about software in general. They know what they want and can give you the value that your software deserves so just let's start to tell them more about Linux.
Oh customers are definitely buying hardware with Linux. The problem is its in the form of insecure yet often locked down Android phones loaded with addware spying on them. :P
That doesn't prevent it from becoming so mainstream at work that even one salesman(!) at work used it.
Yes you have to jump through hoops and not everyone in IT is extremely happy always but even some of them prefer it.
To me it feels kind of like when Mac broke through in developer circles.
First it was weird and IT department laughed. Then more and more people including bosses demanded it and here we are: if a job demands all devs use Windows many devs will go somewhere else.
> That doesn't prevent it from becoming so mainstream at work
I would say that it does. If your boss is not aware of this system, they will not allow to use it or consider secure. At work, I am typically not allowed to freely choose my OS.
Yeah, the majority of phones and servers run Linux. It's "mainstream infrastructure" instead of a consumer brand, but not out of the ordinary for consumers or businesses.
When your entire desktop is mostly Electron, no, apps don’t dictate what people buy. You can run the same stuff on almost any OS now.
People buy Apple because the hardware is great, the software is more integrated than Linux and Windows due to that tight hardware control, and the Apple Store model which “just works” for the average person.
Coined? We talked about web apps, desktop apps, mobile apps back in the early '00s, before Jobs unveiled the iPhone, which initially supported only web apps, if you missed those days.
App is shorthand from application, no known person "coined it", because that term is going back to eighties or earlier.
Apple had MacApp (which was application framework) in 1985, that time app was already well known shorthand, for example Atari had file extension .app.
Unrelated, but TOPS-10 operating system had executables named with extension .exe, that happened somewhere in 1967-1970.
TOPS-10 had lots of interesting stuff, that later is similarly done by newer OSes. Probably my favorite is ctrl+t, which sends SIGINFO in FreeBSD, giving you status from current running program. And what we see in TOPS-10 manual: "When you type CTRL/T (control-T), the monitor prints status information pertaining to your job on your terminal."
Developers do not dictate the success of a platform. Users do. And they don’t want Linux on the desktop.