8 ms·
"We’ve been listening to feedback from developers around the world about what will be most helpful to them as they build innovative apps" Lol, the feedback is
by ajkjk 4y ago
"We’ve been listening to feedback from developers around the world about what will be most helpful to them as they build innovative apps"
Lol, the feedback is surely "stop deleting all your documentation without replacing it" and also "please don't make me re-download Xcode for 3 hours using an account I forgot the credentials for in your terrible app store with its unresumable download flow... before I can do anything", but they came up with this?
- masklinn 4y agoSurely "why is radar a black hole of suck" is in there somewhere?
- x0x0 4y agoIt's absolutely not. Apple desires quick and easy fixes. Devoting time to good documentation, product support, caring about bugs, and devrel ... not gonna happen.
- yamtaddle 4y ago"Make it so I don't contemplate self-harm and/or abandoning my life to live in the woods every time I need to update XCode" would indeed be a big improvement. IDK WTF they're doing wrong with that but god damn.
- fn1 4y agoI suspect it has to do with APFS doing snapshots to be able to rollback an installation and those snapshots being gigantic.
- saagarjha 4y agoNot really. The App Store installation first scans the entire bundle before installing the bits it needs, then it downloads the update and applies it, which goes through some not-very-optimized installation code that compresses the bundle on disk using zlib. This is ok for normal apps but for Xcode this can take a while. Blowing away the entire directory and just installing a fresh copy is usually far faster, if you optimize this you can do it in under five minutes.
- derefr 4y agoIs there a reason that these big installations of OS "components" aren't just distributed as APFS .dmg files, where the (pre-compressed) APFS volume in the disk image just gets shoved into your OS APFS container and wired up to automount at its directory mount-point? (Basically like how Ubuntu's Snaps work filesystem-wise; but interacting directly with the logical-volume manager to create volumes, rather than keeping the disk image around as a file in your filesystem.) For that matter, given that the APFS OS volume is read-only, is there a reason macOS hasn't yet transitioned to the coreOS model where OS updates just are just Courgette-alike binary diffs that construct a new OS volume beside the old OS volume atomically by stream-merging the old volume with the patch, and then blessing the result? Or the game-console software update model where the base-images of things are immutable, and instead updates are their own read-only volumes that get overlay-mounted on top of the base images when you mount the base images? (I know macOS can already do the latter for security hotfixes; it's strange that they don't use that capability for regular updates.)
- saagarjha 4y agoXcode is not an OS component, but it could certainly be distributed as a APFS disk image that could be union mounted (this is actually how the watchOS and tvOS SDKs work today, plus Apple does this internally). I suspect they use XIPs to get that signature (which, tbh, is kind of useless) and compress it hard, but IMO these tradeoffs are not great. I have a long-term goal of writing out to a disk image myself, but my motivation would be to bypass filesystem performance bottlenecks when decompressing the archive. > For that matter, given that the APFS OS volume is read-only, is there a reason macOS hasn't yet transitioned to the coreOS model where OS updates just are just Courgette-alike binary diffs that construct a new OS volume beside the old OS volume atomically by stream-merging the old volume with the patch, and then blessing the result? To my knowledge this is pretty close to how updates work today.
- derefr 4y ago> To my knowledge this is pretty close to how updates work today. But isn't the key advantage of coreOS's model, a sort of green/blue deploy model for the OS — i.e. that it can write out the new updated OS release in the background while the previous release of the OS is running; and then, when it's done, "update" by just rewriting the EFI boot list to default to the new release — without even needing to reboot to perform the update, instead just saying "the next time you reboot, you'll be booting into the new release"? There's no reason that an "OS update" under this model, should ever be a thing that takes over your whole computer, and then sits around with an "updating" progress bar, blocking startup. But that's what macOS does. I think your intended meaning, was that the current model involves a binary diff that gets used to patch the OS volume, while the OS is booted into the recovery volume. Which, yeah, uses kind of the same abstractions — but doesn't give any of the key advantages.
- myhf 4y agoThey're working on that: https://twitter.com/kibblesmith/status/1575898595244445696 https://twitter.com/kibblesmith/status/1575898595244445696
- MichaelCollins 4y ago> I was reading the subtitles of End of Evangelion out loud to the baby (because she can’t read) lmao
- dclowd9901 4y agoHere’s a highlight reply https://twitter.com/fobwashed/status/1575943899478380544?s=46&t=pAtpkNPHS9u850syT14cfA https://twitter.com/fobwashed/status/1575943899478380544?s=4...
- saagarjha 4y agoFriends don't let friends download Xcode from the App Store.
- ajkjk 4y agoFriends might be apple developers instead of just developers trying to do something unrelated and randomly discovering they need to download Xcode to do something :(
- sixstringtheory 4y agoNot sure exactly what you mean, but everyone can choose to either download Xcode via MAS or https://developer.apple.com https://developer.apple.com. I think I tried it with MAS once about 7 years ago and have never done that again since.
- ajkjk 4y agoSomething that a regular developer of Apple products knows, and the rest of us have to figure out, somehow.
- sixstringtheory 4y agoOh I see what you mean. Yeah, it’s tribal knowledge unfortunately.
- prange 4y agoIt’s pretty normal that if you want to use the developer tools on a platform and you are not a developer for that platform, you are going to have to figure out how to install the tools. This is true for Linux and Windows too.
- dmitriid 4y agoWhy do developer tools like git require the presence of XCode?
- skohan 4y agoOr how about "let me build and run an app on my device without XCode spending 20 minutes 'Preparing Apple Watch for development'"
- george_perez 4y agoHighly recommend Xcodes.app instead. https://github.com/RobotsAndPencils/XcodesApp https://github.com/RobotsAndPencils/XcodesApp
- float4 4y agoAnd if you struggle with Xcode claiming large amounts of disk space: 1. Use DevCleaner[0] to remove old/unnecessary device support files. 2. Remove platforms you don't develop for, e.g. - rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/Watch* - rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTV* DevCleaner freed up 10G+ for me the first time, the two rm commands above free up ~3G each. [0] https://github.com/vashpan/xcode-dev-cleaner https://github.com/vashpan/xcode-dev-cleaner
- MichaelCollins 4y ago> "please don't make me re-download Xcode for 3 hours using an account I forgot thee credentials for in your terrible app store with its un-resumable download flow before I can do anything", but they came up with this? I'm glad I'm not alone in that experience. Why the hell do I need an account to get developer tools in the first place?
- saagarjha 4y agoTechnically you don't, there's an unauthenticated endpoint discovered recently that lets you grab their tools without requiring credentials. But it's annoying to use :(
- jim180 4y agoI use this Xcodes[0] just for that. It does not require login these days and I can switch between Xcode versions. [0] https://github.com/RobotsAndPencils/XcodesApp https://github.com/RobotsAndPencils/XcodesApp
- hbbwebw 4y ago> Why the hell do I need an account to get developer tools in the first place? Because there is a history of rootkits being embedded into development tools. https://9to5mac.com/2015/09/20/xcode-ghost-app-store-malware-malicious-apps/ https://9to5mac.com/2015/09/20/xcode-ghost-app-store-malware...
- ajkjk 4y agoNot developer tools that are downloaded from apple.com.
- samatman 4y agoThis problem was solved years ago with code signing. Running unsigned code requires several hoops, even running signed code which isn't Apple Approved requires telling the OS that you know what you're doing, twice. Running signed code which has been altered, such as a hacked XCode, isn't possible, as far as I know. If this was the reason developer accounts were required, it no longer is. From Apple's perspective, there's only upside in requiring them, which is the most likely explanation for why they do.
- prange 4y agoI agree about the lack of docs, but it’s not obvious what you are talking about with XCode. I installed the MAS version years ago and it seems to auto-update just fine for me. When there is a beta, I install that from developer.apple.com and the two work just fine on the same machine.
- ajkjk 4y agoAs you can see from the other replies here, it's not just me. XCode presumably works fine if you work with it daily. What I can't fucking stand is having to download it to do something unrelated to it (and, lol, how it decides to be the terrible default editor for every file that's even vaguely related to code and then I have to go update all the file associations). I especially hate that you have to download a second copy every year for the Mac beta. Especially when you have no desire to ever write Swift or Obj-c code in your life, like most of us.
- Alupis 4y agoHonest question - why do you all put up with this nonsense? Of all the companies you can invest huge amounts of time deving for, Apple seems to be the one that makes life the most difficult. Even the annual "Developer License" is absurd... and the revenue such licenses generate is trivial. Some will argue iOS is where the money is at... and that is true... but just think about it. The money is on iOS because you are putting up with Apple's absurdities! If more of you stopped putting up with this nonsense then either Apple will have to change or another platform will become where the money is at... it's that simple. Steve Balmer chanting "Developers, Developers, Developers!" comes to mind. Microsoft realized early on it's 3rd party developers would cause Windows to sink or swim, and by most accounts developer platforms and tooling coming out of Redmond are really good. Why put up with this stuff from Apple?
- cromka 4y agoYou answer reminds of that of politicians saying to poor people they need to stop being poor and just be richer.
- scarface74 4y agoBecause for some reason many people haven’t gotten over their addiction to food and shelter nor have they found a legal means to support their addiction besides trading labor for money. > Steve Balmer chanting "Developers, Developers, Developers!" comes to mind. Yes and because of Steve Balmer’s great leadership, MS was able to conquer mobile like they were able to conquer the desktop. I see where you are coming from, why don’t people just develop for Windows phones? > If more of you stopped putting up with this nonsense then either Apple will have to change or another platform will become where the money is at... it's that simple. You really think that if every developer who writes iOS apps and posts to HN stopped that anyone would care?
- ajkjk 4y agoWell it's because Windows, and especially development on Windows, is total fucking garbage. I complain about apply but holy shit at least they don't try to put ads on my start menu. (And Linux is infuriating for other reasons, like not having the sleek and snappy UX of Mac). Of the three, Apple is my favorite. Still think the company is weirdly incompetent at totally basic things, though. Like all API design. I will never do Apple-specific development for that reason, but I prefer it for general purpose work.
- deleted 4y ago[deleted]
- twoWhlsGud 4y agoYep. How expensive would it be to hire some tech writers? There was a time at the company (okay, it was decades ago) when writers (like Scott Knaster) were considered important-ish employees. The company had a heck of a lot less money back then, so what's the excuse for not doing this now?