Why? The hardware people at companies like NVIDIA or Apple already have to write detailed documentation for their stuff anyway so that the software people can do their side.
Assuming they do a good enough job at writing documentation and testing their hardware, it should not be a problem for Linux developers to write appropriate drivers. Hell there are a very few select people able to write high quality drivers even with zero documentation (see Asahi Linux).
The only ones in trouble would be the vendors of crap SoCs who ship extremely buggy hardware and make up for the lack of QA in software quirks instead.
2. Good documentation and testing is probably not as common as you think.
3. It takes a huge amount of effort to write high quality drivers by reverse engineering. The thing about Asahi Linux is that the hardware does not have many variants, but there are a lot more different hardware for PCs.
They can also open source their testing bench code. The only ones who have to be afraid are those who don't care about quality. "Sunlight is the best disinfectant" also applies here - I'd really like to be able as a consumer to choose the product that demonstrates the better engineering!
> 2. Good documentation and testing is probably not as common as you think.
Oh, I'm aware of that, and the consequences of that are becoming more and more dire as electronic waste from defunct companies or unsupported and unsecure devices piles up, together with hacked IoT devices causing mayhem on the wide Internet in botnets.
It's high time for that to stop.
> 3. It takes a huge amount of effort to write high quality drivers by reverse engineering. The thing about Asahi Linux is that the hardware does not have many variants, but there are a lot more different hardware for PCs.
So what? Ordinary PC hardware at its core still conforms to decades old standards that can be used as a fallback. Given a sufficient supply of beers, coffee and pizza, every CS student worth their money can throw up a basic graphical OS that runs on any mainstream (i.e. non-embedded) x86 system. Input, output (video, serial, audio, keyboard, mice, accessories) and storage all have standardized interfaces - the only thing that does not is networking.
There is no reason at all to say that the ARM world can't standardize on basic components or at least interfaces. Apple can - their UART implementation, according to rumors, dates back to the early iPod/iPhone days, while Samsung has something like five or six completely different implementation, and Mediatek and all the other SoC vendors run their completely own stuff.
Not to mention that documentation != the actual behavior of the card. both nvidia and AMD release a ton of day-one driver fixes for new games being released that provide stability and sometimes double-digit performance gains over a pre-patched driver. The only way this works in a disintegrated ecosystem is if game devs become pros at creating driver bug workarounds.
They already are, they have to because that is the reality on mobile games. IIRC the devs of Real Racing (or another Android car race game) made a blog post on that.
How are those Android updates working out compared to iPhones?
Way way too long, but to be fair a huge part of the issue are carriers and their insistence to pack the phones full of bloatware that needs to be tested against each update.
> and Windows manufacturers to take advantage of the latest OS features?
Windows device manufacturers tend to do what Microsoft demands of them.
> How are those Android updates working out compared to iPhones?
Samsung is fairly decent, although I'd be happier if they'd ... consolidate their lineup a bit and instead offer longer availability for spare parts.
Google’s first party phones don’t have third party bloat ware and still have a piss poor history of updates
It couldn’t possibly be your premise is flawed could it?
For modems, yes, but only because there's even less competition in that area (which is why they bought Intel's mobile modem business, but failed to produce a viable design in all the years since).
They've been running their own SoC designs since the iPhone 4 era in 2010.
Since manufacturers didn't demand long support, Qualcomm didn't provide updates for their SoCs. This meant Fairphone couldn't support their phones even if they wanted to, which is why they used am automotive chip in their new phone — which is nearly the same as a phone chip except the 13 years of updates.
Isn’t that the free market working the way it should without government interference?
It took Apple, flush with cash from iPhones and iPods, a decade worth of work to create a SoC able to throw punches at eye level with Intel and AMD, which themselves grew to the unholy duopoly over decades. Chipmakers have it even worse: TSMC has all the cards, Samsung and Intel have completely fallen behind with no chance in sight that they'll match TSMC any time soon. All the other competition has gone bankrupt or stopped at lesser nodes because they couldn't keep up the pace.
There's no disrupting that, not even if you are an actual nation state.
Geeks just always hate when normal people make their own choices using their own free will.
Every failure that you cited were well funded companies who failed to execute. Amazon, Facebook and Microsoft failed trying to introduce phones.
The market worked as it should - poor execution led to failure.
They have chosen not to.
Only if the hardware company refuses to share info with them, which - as you clearly laid out - is not in their interest.
I bet you also think that a company should set up a DevOps “department” to increase efficiency
Chris Lattner, the inventor of the Swift programming language and the open source LLVM was once interviewed on the Accidental Tech Podcast and he was asked whether bytecode could be used to allow Apple to switch architectures without forcing them to require developers to recompile and still have native compilation. He made up some half truth about whether that would be possible.
Years later when the S chips in the Apple Watch became 64 bit, he admitted that at the time of the interview, he knew that the 64 bit S chip was on the roadmap internally and he designed the LLVM with that in mind.
That’s what happens when you have software and hardware teams working together. The same is true with Nvidia and the their software developers who design Cuda and Intel and the compiler makers.
There were also reports that the software team responsible for the JS engine in WebKit worked with the processor team and the processor team did some design work around Apple’s ARM variants to make JS pre compilation faster.
This is also the whole idea of VLIW architectures where the processor manufacture depends on a team of compiler makers to ring out efficiencies and they work closely together.
Heck even back in the Apple // days, Woz a developer, designed hardware and software together.
>The only ones in trouble would be the vendors of crap SoCs who ship extremely buggy hardware and make up for the lack of QA in software quirks instead.
I.e. the every single vendor currently on the market...
I agree with you, no system (particularly not something as complex as an entire SoC) is free of bugs.
> I.e. the every single vendor currently on the market...
And yet, we have Apple, whose hardware quality alone is good enough for a dedicated team to reverse engineer and write drivers for, with almost zero documentation available.
The problem, as I expanded below, is the complete lack of competition in the SoC space. Everyone gets away with mediocrity because the largest players in town (Apple and Samsung) refuse to sell their chips to externals. The result is that the mobile ecosystem as a whole suffers, because that is what happens in markets where entities get too large.
Apple own software is pretty janky, my current MacBook cannot bring up GPU after sleep about once a month and needs a reboot to begin drawing GUI correctly again, used to be dying completely waking up before it was fixed couple OS updates back. My previous MacBook could not stay on WiFi for more than a couple hours straight, never had been fixed.
Also, reversing an existing working driver is different from writing a driver from scratch. In one case you just need to repeat the functionality, produce the same outputs for the same inputs, the quality of hardware is orthogonal here since it's already worked around in the existing driver. It's orders of magnitude easier than writing the thing from scratch.
I am guessing that AirDrop, Sidecar, etc have absolutely nothing to do with hardware-software integration, and have ≥ Layer 3 implementations. KDE Connect and Microsoft My Phone are competitors.
How hard is it for you not to use Apple products? Are you incapable of using your own free will?
Between Apple and the government, guess which one has the power to take away your free will?
That’s why PC OEMs didn’t support FireWire before USB 3 came out except for Sony and Dell on some of their high end offerings.
If you don’t like Apple’s offerings you are free to choose Android/Windows
How to make this work in practice is a really interesting question. Community and employee representatives on the board would be a good start. But I think just having the requirement that open specifications be made available, and writing that into legislation, would be great.
If governments had a good track record I'd advocate for that. No need for strawmen like five year plans, I think competition is a wonderful thing.
My underlying, strong belief is that corporations are legal fictions created primarily to benefit society, Milton Friedman's philosophy notwithstanding.
It’s also naiveté to think that government power isn’t the most dangerous kind of power imaginable even though almost every law proposed by the government with regards to tech is roundly criticized by the same people.
You want to see what government can do with power - look no further than Desantis or this…
https://amp.theguardian.com/media/2023/aug/20/police-newspap...
Or this
https://www.the-independent.com/news/world/americas/us-polit...
Government overreach is a legitimate concern in some cases, but not here. Regulating megacorps is something the US needs, and society would be all the better for it.
Do you like any of the previous laws the government has passed or tried to pass with relationship to tech?
And the EU isn’t exactly a role model for innovation and success in the tech industry.
That's only true if the market isn't free. If private businesses are not kept in check, they can (and have) overthrown government power. Ask me how I know!
Why do you think that the NSA needs Apple and Google’s help?
But isn’t that a reason to be more concerned about government power and not try to give the government power?
Google spies on you and targets ads. The government has the power to arrest you and send you to black sites and cause you all sorts of harm if you go against its interest. This isn’t a conspiracy theory, it’s a publicized fact that the government went after MLK for upsetting the status quo and did wiretaps.
Because leaked NSA documents have implicated them since 2010.
> But isn’t that a reason to be more concerned about government power and not try to give the government power?
I mean, not when private interests are compelled to manufacture them. If anything, it's a reason to demand all software be Open-Source and let the malware-manufacturing cocksuckers suffer the consequences.
1. What speed can you transfer data through it?
2. How much power can it deliver?
3. Can it support video over USB C?
4. Say a random device comes with a USB-A cable on one side and a USB-c on the other. Now take a standard usb c/usb c cable, will it always charge the device?
Also when that same government first wanted to “standardize”. They wanted to standardize on micro-USB.
Oh, easy. Apple already solved this one; if it has the Thunderbolt logo, it's maxed out. If it's anything else, you're usually getting at least 5w charging and USB 2.0 speeds. In other words, the worst-case scenario is usually slightly better than Lightning.
So your solution to making sure that you get the most compatibility is to buy Apple cables for Apple devices…meet the new boss.
I’m slightly trolling. I have these….
https://www.amazon.com/dp/B093YVRHMB
I travel with a portable monitor that gets power and video from one USB-c cable. It works with both my personal MacBook Air and my work Windows laptop.
I was hoping you'd bite the hook, but not like this...
Intel actually designed the spec, drivers and IC controllers for Thunderbolt. Apple consulted on it with USB-IF, but they don't own the spec like they do with Lightning. They're less of a new boss, and more subsuming their rightful position as a valued consultant on a shared standard. It's a good (albeit old) example of Apple doing the right thing through the right channels.
Maybe.
> Case in point
But this does not really support your statement no? What you described seems to me SW only functionality no? And if in requires any special HW (BT? I have no idea how it works under the hood), why does it need tight integration? I do not see a technical reason why Android and Windows could not provide the same feature out of the box, despite neither the Google nor Microsoft making the HW.
> Non-obvious is a requirement for patent protection that literally means your invention is not obvious to someone who is in the same industry. A new invention needs to be unexpected or surprising and cannot be anticipated by looking at the existing technology or prior art.
https://userbase.kde.org/KDEConnect
Also gsconnect can provide integration with gnome.
https://extensions.gnome.org/extension/1319/gsconnect/
KDE Connect is a project that enables all your devices to communicate with each other. Here are a few things KDE Connect can do:
Receive your phone notifications on your desktop computer and reply to messages
Control music playing on your desktop from your phone
Use your phone as a remote control for your desktop
Run predefined commands on your PC from connected devices. See the list of example commands for more details.
Check your phones battery level from the desktop
Ring your phone to help finding it
Share files and links between devices
Browse your phone from the desktop
Control the desktop's volume from the phone
Also you can read and reply to messages on your Android phone by navigating to messages.google.com without installing anythingFirefox and I presume chrome let you push tabs from one machine to the other or with forefox simply pull up a list of tabs currently open on the other device.
Unified remote also gives you a great remote for our multimedia pc.
Basically every email service abd chat app has good integration between desktop and phone.
Mpd and mafa lets me easily listen to my music
Calibre and calibre companion let's me easily sync my books
I doubt one person making these things would make them better
Apple's clipboard/handoff/continuity automatically works as long as the devices are within wifi/bluetooth range.
It doesn't seem to be enabled by default though. I'm not totally familiar with the situation, but I'd assume it's a problem with multi-device handling and switching to the best backend. For most people/situations, the Wifi Direct option will be faster and lower-latency.
Circumstantially, yes. I am a KDE user though, on GNOME you do have to install a little app for it.
How else would it work across different devices? Apple devices can not connect to e.g. Android devices without a 'special program and configuration' nor can they do so with Linux or Windows or whatever other devices.
> Also, KDE Connect needs both devices to be in the same network - which is not needed for Apple devices
KDE Connect and other similar tools work fine over a VPN which is the preferred solution for such setups. You can choose which VPN you want to use, OpenVPN and Wireguard are two popular choices. Here again that VPN can be used to connect disparate devices - Linux, Windows, Android, Apple-things, whatever. Apple devices only talk to other Apple devices which is far more restrictive.
If you are a happy camper in the walled garden then things are good for you. I prefer the freedom of camping in the wild even if that means I may have to build my own fire and cook my own food since it enables me to go where I please without being held back by that wall and without having to pay the ferryman. To each his own I guess?
I was talking about Mac and iPhone having seamless integration - something I have not noticed of any other ecosystem. I have not been able to share clipboards with an android and a PC (Win and Linux) without installing an app, or doing some other hacky things. The integration, while possible, doesn't exist by default. It's not seamless. It doesn't _just work_.
> KDE Connect and other similar tools work fine over a VPN
I don't want to use a VPN? I want to use my regular home wifi or phone network, like a normal person.
How else would this type of interchange work between disparate systems other than by equipping all systems with a piece of software to bridge the gap? In what way is this a problem and what makes it 'hacky'? When you want to use your Apple-device to interact with something non-Apple you install a piece of software to enable this interaction - that was the premise of a 'smart phone' after all, a device which' functionality can be extended by installing software? This in contrast to a 'feature phone' where all functionality has been baked in by the manufacturer/distributor. You seem to be using your Apple devices more in the way of the latter - using only manufacturer-provided functionality.
> I don't want to use a VPN? I want to use my regular home wifi or phone network, like a normal person.
I do not want to use 'the cloud' and Bluetooth in ways I do not have control over [1] - as I said, to each his own?
[1] https://www.forbes.com/sites/zakdoffman/2020/02/26/simple-ap...
moreover, apple's software is generally very buggy.
Just copying them on the iPhone and pasting them on the mac is super convenient.