16 ms·
Dear Apple
- sehr 10y agohttps://developer.apple.com/bug-reporting/ https://developer.apple.com/bug-reporting/ For anyone who signs this, make sure you throw a report at em as well!
- wool_gather 10y agoAnd see also http://fixradarorgtfo.com http://fixradarorgtfo.com
- thedjinn 10y agoThe one thing I'd really like to see is a more stable autocomplete. Having a decently working editor should be prioritised above everything else in my opinion.
- AsyncAwait 10y agoNot only autocomplete, but syntax highlighting as well. SourceKit seems to crash with every moderately complex expression.
- slavapestov 10y agoSourceKit crashes are caused by bugs in the Swift type checker most of the time; it's not SourceKit itself that's at fault usually. We did a lot of work to fix architectural problems in 3.1, especially with generics, and there will be more improvements in 4.0. It's definitely a priority now that the language design has settled down.
- AsyncAwait 10y agoThat's great to hear & thanks for doing an amazing job with Swift. The language itself is great.
- tajddin 10y agoIt would also be an absolute joy if we could actually refactor with Xcode.
- Larrikin 10y agoI immediately downloaded appcode when I found I couldn't rename variables in swift
- valuearb 10y agoThis is one of the only criticisms of Xcode I'd agree with. And it's a minor issue for me.
- AsyncAwait 10y agoIt would, but in the meantime, I find AppCode to be pretty great for that[1]. 1 - https://www.jetbrains.com/objc https://www.jetbrains.com/objc
- matt2000 10y agoI don't think it's considered a problem by the team at Apple, or even by some developers, but I would love a more stable Swift language. The number of changes per version * the number of projects in the world is causing a large amount of work and instability. This is contributing to the low tool quality as well.
- dwaite 10y agoSwift 3 had a purposeful effort to prioritize syntax-impacting changes and API changes as possible with the idea that Swift 4 and beyond would have backward compatibility for Swift 3 code. Swift 4/5 will establish ABI compatibility, so that binary swift libraries will work across compiler versions
- wool_gather 10y agoFinalized ABI has been deferred from Swift 4, if you haven't heard: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170213/032116.html https://lists.swift.org/pipermail/swift-evolution/Week-of-Mo... Another year of breaking changes, hooray!
- AsyncAwait 10y agoABI != API, I think API-wise it should still be minimal breakage.
- matt2000 10y agoYes I know that's what Swift 3 was trying to do, that's what I don't agree with. In my opinion the tradeoffs are just not worth it. Whatever happened to graceful deprecation of older language features an APIs? They invalidated all the related example code online and created a ton of mandatory work for all iOS developers within a 1 year timeframe, that's nuts. In my opinion :)
- LeoNatan25 10y agoWhy are you using a work in progress and unstable language? You should have known from the start that, implicitly, that would require a lot of rewrites. Developing a language, especially as all-encompassing one such as Swift, is a very demanding task; what is the added benefit of having to support deprecated language constructs and APIs? Tools are lacking as it is.
- Clubber 10y agoI've given up on App store development. I wrote a handful of moderately successful apps in the 2009-2012 range, but the market is too crowded and the expectation of free, or near free software isn't profitable for the small team of "just me." They do fascinating work though. Making a living with Microsoft technology at my day job(s) for two decades, Apple stuff was a refreshing change.
- fleshweasel 10y agoIt's absurd to have to beg the wealthiest software company in the world for what should be considered really basic stuff. Xcode is consistently unstable, slow, missing simple essential functionality (like refactoring), and Apple's interface builder is something that most experienced Apple devs know to run for the hills from.
- M_Grey 10y agoThat very wealth is what's insulating them from the long-term reality of the choices they're making. It's a trap!
- yourapostasy 10y agoIndeed, Apple has the high-tech equivalent of "dragon sickness", in a nod to Tolkien. Google has a long road ahead of it, but it looks like they have the right pieces in place where I see small, incremental improvements each year, so maybe they're the tortoise. Milestones on that long road are like migrate away from Dalvik, fix business model / monetization issues with the Android marketplace, switch to vector-based canvas blitting, rationalize API support for different manufacturer-added features, and so on. What would be interesting is if they steal Apple's developer thunder by capitalizing upon open source and their in-house build system, and out-flank Apple's developer mindshare, by creating a developer-oriented ecosystem. Imagine if you could hook up your own Docker container that Google's build infrastructure then taps to build your Android app...but all the open source your app depends upon are in their build infrastructure, with near-instant feedback on build and CI problems of the open source bits operating at a massive scale. App development shifts to a posture where open source frameworks/modules/libraries that already power a lot of software are orders of magnitude more convenient to develop under this ecosystem, and the agility/efficiency of all those Android developers coalescing around common open source components online in a single build and CI ecosystem far outstrips Apple-based developers stuck with XCode and their own person-oriented toolchains. Apple has nothing in the pipeline remotely like that kind of ecosystem. Google would also get big data-based insight into phone app development trends in real-time that Apple could only dream about. Google's phone app development OODA loop would tighten considerably smaller than Apple's. I also wonder if Google and Microsoft could find benefits to team up to replace Dalvik with CLR, and then Microsoft Visual Studio becomes a first-class citizen on Linux for building CLR-based apps on Android.
- afro88 10y agoSigned. But is there some way you can hide the email addresses on the Google Sheet?
- snackai 10y agoJust stop pushing apps for iProducts. When all the major apps stop adding features for a while Apple will focus on getting developers back or customers switch to Android.
- eddieroger 10y agoYup, that. Vote with your keyboards. Apple writes software with the same tools and languages - if they considered this stuff a problem, they'd have fixed it by now. Besides, Apple has mechanisms for feedback, and it's not open letters on GitHub.
- orbitur 10y ago> if they considered this stuff a problem, they'd have fixed it by now It's not good but it's workable. Which Apple accepts as a reason to focus very few resources on dev tools.
- eddieroger 10y agoSure. My point is more if it's good enough for Apple at their scale - I mean, Xcode itself is written in Objective-C with Xcode - and they're willing to work around it, then 25 developers (at time of viewing) in a GDocs sheet and a readme file will probably not be the straw that breaks this camel's back.
- EdHominem 10y agoThey don't really, not ones that they won't delete when they want the problem to go away. Using corporate forums for problems is a losing game. Yes, this letter should probably reference a bug#, but it should not be in the bug itself. And, because it's an open letter, you can go add a bug and make a PR to add it to the letter.
- usaphp 10y agoIt's an unrealistic advice. It's easy to say it when your income is not dependent on these apps. But if you have an app in a marketplace that pays your bills, you can't afford to risk it just because you don't like dev tools...
- chatterbeak 10y agoIs it time to switch back to Metrowerks again? (For years, "nobody" actually used Apple tools to develop for Mac.)
- CppCoder 10y agoSince their tools and software is not improving and each version brings new bugs to enjoy, I am happy to see Microsoft support compilation of other platforms with Visual Studio. The best would be Apple stops their whole desktop lineup and focus on mobile Devices, making everything easily accessible from other platforms. Maybe the way the Macs are updated is a sign in this direction.
- codr4life 10y agoThis is what you get for relying on proprietary software, begging on your knees for crumbles while your supplier is busy pivoting themselves out of relevancy. It's always the same game, and we never learn; as soon as the next new shiny arrives, people get in the same old lines and beg for another round of abuse.
- geophile 10y agoI use XCode for the absolute minimum, and when done with it, go back to AppCode.
- joe_fishfish 10y agoI'm surprised I had to scroll this far down to find mention of AppCode. The ESP edition is even free.
- benologist 10y agoXcode is 14 years old and Swift is a new language with no baggage that really only needs to target iOS and has new APIs for graphics and more. Seems more likely their goal would be a much-more simplified IDE for iPads that anyone can learn that can only publish to iOS. They also stopped making computer monitors and routers last year and haven't updated most of their computers in years. Best reason to host WWDC outside of SF this year is so it won't be a building full of Xcode developers lol!
- wool_gather 10y agoCan we give this HN post a better title? This is atrociously clickbaiting. Granted it just goes to GitHub, but I would like to have at least an _inkling_ of what I'm about to read.
- tedmiston 10y agoDear Apple - Xcode feature requests and bug reports (@dang)
- numbsafari 10y agoYet, oddly, not a single reference to a radar report that people can try to support. Is this a manifesto, or an attempt to get a bunch of Apple developers to put their email addresses on a list as part of someone's marketing campaign for iOS-focused dev tools?
- ryanSrich 10y agoEspecially given the length as well. It's a small, short list of issues that users of XCode/Apple Developer tools have. Why is this #1 on the front page?
- deleted 10y ago[deleted]
- infinisil 10y agoBecause it's by far one of the most annoying issues every developer has with Apple now. It's so frustrating to see the syntax highlighting and auto completion engine crash continuously as you try to figure out what line causes it just so you can rewrite it the more verbose way for the engine not to choke. You may think this has to be a beta version or a newly introduced bug, but no, these issues have been there in the official release for at least 1 1/2 years now. It got better over time, yes, but it's still far from being where it should be.
- majewsky 10y ago
- JustSomeNobody 10y agoThese letters always come off as sounding immature. The open letter, the why I quit, the why I switch letters all do. It is as if you need validation for something.
- concinds 10y agoThat's a losing mindset. I don't think the letter goes far enough. If Apple is doing something you don't like, put pressure on them. A better strategy than OP's would be to go to greater lengths, like labeling Apple "anti-developer" (the same way Trump uses labels against his opponents), but too many here are too scrupulous and rationally-minded to do this. The basic fact is, the tactics you need to use in a philosophical debate and the tactics you need to use to effect change are different, and, to be effective, you need to be a bit radical and a loose-cannon. Activists who insist on being factual, moderate or respectful, lose. That includes political activists, union leaders, as well as anybody that wants to change corporate behavior or policy as is the case here.
- concinds 10y agoTo expand on this: Unions are an old-school idea. But unions won't work to protect iOS developers from Apple. So why doesn't someone build up a brand, blog, or platform as a "developer's advocate"? A Twitter account, speaking on behalf of 100k followers, has leverage influence, and power. They can represent people, organize communities discussing developers' issues, and speak out with a single voice. Why does nobody do this? It's easier for Apple to ignore 100k individuals than for them to ignore 1 organization with 100k followers. The latter will get much wider media coverage. Social media empowered mobs, why not use that for good?
- valuearb 10y agoI develop in Xcode every day, and it's usually the least of my problems. Everything this letter asked for is an I don't care for me.
- AsyncAwait 10y ago
- politician 10y ago@dang Can you add the repo name to Github URLs that point to repos? For example, display the title as "Dear Apple (github.com/dear-apple/dear-apple)". I thought this was a letter from Github to Apple, but was disappointed to discover that it was a letter from some subset of the Apple developer community. I recognize that this is sort of pulling at a thread, but since Github is so widely used, perhaps some sort of exception can be made?
- LeoNatan25 10y agoApple works with their bug reporting system; instead of encouraging people to "sign" "letters" (on Google forms no less) - open a bug report at https://bugreport.apple.com https://bugreport.apple.com, post the bug number and encourage people to duplicate it. This is the only way to move something at Apple.
- chmaynard 10y agoYou're joking, right?
- LeoNatan25 10y agoNo, I am completely serious. This is how things work in big organizations.
- saurik 10y agoAs far as I've been able to tell, Apple engineers use "file a radar" to mean "I'd rather let someone else triage that, or even better yet I'd rather you get lost in the system, so here's a quest for you to go on so I can get back to work", particularly as we all know that at the end of that quest the result will be "marked as duplicate", past which point Apple refuses to give you any more information or even a follow-up. I would honestly rather there just be an e-mail address bugs@apple.com to which I could shoot off random issues I run into, from which I know I'd get no response, than Radar.
- leonatan 10y agoIs it the best tool in the world? No. Is it the only actual tool to communicate bugs and enhancement requests to Apple? Almost. We've all used issue tracking software to add to backlog ("Open a Jira and I'll take a look when I have time"). Doesn't mean it's not being looked at.
- eridius 10y agoThat's a rather insulting comment, and it's completely wrong. Apple engineers tell you to file a radar because if it's not in radar, it won't get done. Period. Radar is the way Apple engineers track work that needs to get done, and if nobody files a radar, it can't be tracked, prioritized, assigned, and completed.
- meesterdude 10y agoWow, it's that bad for developers of their own platform? I do rails development and left OSX for linux a few years ago after finding all the custom song & dance to do things on apple was painful. Not a day goes by I am not grateful for doing that, i am much happier doing web dev on a linux box. But I was under the impression Apple at least took care of the devs who work on their platforms. As someone else has noted: vote with your keyboard. I do ROR web development in part because I am free of many of the constraints other devs must face on custom platforms. If you don't like doing dev with Apple, don't do dev with Apple. Either pick better tooling (if available) or ditch the platform (if possible).
- tlrobinson 10y agoCan you give some examples of advantages of doing ROR development on Linux vs Mac?
- michaelmrose 10y agoI'm not the original commentor but a better package manager has got to be in that list.
- nurettin 10y agoWhy isn't brew good enough?
- AsyncAwait 10y agoHomebrew is rather limited in what it can control, i.e. in Linux almost everything is under the control of your package manager, there's no tracking, updates roll faster if you're on something like Arch and the overall user interface makes more sense. I've also found that homebrew packages sometimes don't contain the necessary header files for development, (i.e. imagemagick), so you're forced to switch to MacPorts just for that and it's altogether more painful than on Linux. It also simply just doesn't feel like a lot of the tools target macOS, there's an outdated bash shipped by default and Apple even broke curl recently[1]. 1 - https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-...
- mmahemoff 10y agoThey should recruit the services of Miss Swift, who received a swift response from Apple when she tried this, albeit not on a Git repository. http://taylorswift.tumblr.com/post/122071902085/to-apple-love-taylor http://taylorswift.tumblr.com/post/122071902085/to-apple-lov...
- hd4 10y agoI made a conscious decision a while back to simply use a Linux distro (Ubuntu) with easily/cheaply-available commodity hardware for programming. Correct me if I'm wrong but other than iOS development, there isn't anything I can't do on Ubuntu with a 2010-ish laptop that I can do with a 2016-ish Macbook.
- sandworm101 10y agoiTunes. Subnautica. That's about it.
- vermooten 10y agoAbleton Live.
- avlasyuk 10y agoBitwig[1] is a decent commercial DAW that works on Linux and is very similar to Ableton. 1. https://www.bitwig.com/en/bitwig-studio.html https://www.bitwig.com/en/bitwig-studio.html Edit: Not sure about the state of Linux VST plugins/emulation though :)
- AsyncAwait 10y agoThere's also Reaper[1], from the guy who made Winamp, that has a Linux version in testing[2]. And in many cases, Ardour[3], may be good enough. 1 - http://reaper.fm http://reaper.fm 2 - http://landoleet.org/dev http://landoleet.org/dev 3 - http://ardour.org http://ardour.org
- nurettin 10y agoIn my personal experience, with everything else being equal, iOS development yields on average 6x more income than Android development. I haven't found a decent alternative, yet.
- hd4 10y ago
- jmkni 10y agoThe best way to build native iOS applications is in Visual Studio with Xamarin IMHO. It pulls in the UI designer from XCode, and you get all of the advantages of Visual Studio which is hands-down just a better IDE than XCode.
- saurik 10y agoYeah :/... I do not understand, nor have any sympathy for, all these people who insist upon using Xcode even though we all know how bad it is... there are so many alternative toolsets you can use, including just vim+git+make, that are just so much more stable and easier to customize to get the optimal testing workflow, that to sit around and smash your head against Xcode over and over again while constantly complaining to Apple, as if that is really going to help, makes no sense at all :/.
- AsyncAwait 10y ago> I do not understand, nor have any sympathy for, all these people who insist upon using Xcode > there are so many alternative toolsets you can use Actually no, if you want the latest, most supported tools, frameworks APIs etc. you have to use Xcode. Most of us don't want to use Xcode, but we also don't want to use C#, (Swift is actually very nice), which IS NOT a native solution.
- ghuntley 10y agoHow does one define `native`? To me, native is using the platform API's exactly - 1:1 - with zero abstractions. With Xamarin you do exactly that, in either csharp or fsharp. When using Xamarin a UIViewcontroller still is a UIViewController, you'll be directly interacting/pinvoking the underlying APIs that you already know and potentially hate :p (cough Android). See http://continuous.codes/ http://continuous.codes/ for an example of what can be done with F# and Xamarin.
- invalidname 10y agoThat is one way to define native. Another is to use the platform native source code and provide access to that. E.g. on Android Xamarin includes an overhead due to constantly passing thru the slow JNI bridge when it needs to communicate with the native UI widgets. It also includes a relatively large overhead because of standard C# libraries that need to be included on iOS/Android. OTOH Codename One ( https://www.codenameone.com/ https://www.codenameone.com/ ) has a very different interpretation of "native". They use their own widget toolkit like QT which makes them "less native" in that regard. But they are native to Android (being Java based) and translate directly to C/Objective-C which means you can literally write OS native code and use native widgets within the hierarchy. I think native is a worthless word in that regard as it doesn't properly convey meaning in these sort of complex situations. Once PhoneGap started billing itself as "native" this all went out of the window...
- cbsmith 10y agoIt's kind of sad seeing developers beg for things they could build themselves if the tool was open source.
- sergiotapia 10y ago74 signatures is hardly a blip. I would've waited for at least 5000 signatures before publishing this.
- vortico 10y agoHow do you get 5000 signatures without publishing it?
- 0xFFFF0000 10y agoNormalization of Deviance - this is a not uncommon problem with organization that grow as big and are successful. I'm curious on ideas on how a company as big as Apple and it's somewhat unfocused relation with the developer community can fix this? Maybe their CEO needs to call out to Developers.
- chris_wot 10y agoI really don't know what Apple gets out of keeping XCode as closed source. Why not open it up?
- sebleon 10y agoThere's always non-zero work involved with open-sourcing stuff. How would Apple benefit from this move?
- chris_wot 10y agoIn much the same way that Mozilla benefited from open sourcing Netscape's source. If they open source the code, then someone could work towards fixing the problems in this letter, for instance.
- tubehouse 10y agoWhile we're at it, maybe we can put pbxproj out of its misery and get a modern project file format and module system
- AsyncAwait 10y agoThere's the Swift Package Manager, it should be part of Xcode sometime soon.
- camdenlock 10y agoOof. This isn't good for Apple, and I say this as a fairly big Apple fan. From my perspective as a programmer, Apple's success has hinged entirely on the quality and innovation of their OS and dev tools. For a long time, both of these have been ahead of the game (since NeXT came to Apple). They lose this advantage, they crumble. Mark my words! Go on, mark them.
- AsyncAwait 10y agoThey did develop Swift fairly recently, which is actually very nice, so it's not like they're doing nothing for developers, but the Xcode team really needs to pick thing up.
- mrunseen 10y agoClick-bait
- vrutberg 10y agoAs a developer who moved from Java and JavaScript (IntelliJ IDEA) to Swift and Xcode about a year ago, the experience has been horrendous. How is it okay for a company as big and serious as Apple to have an IDE and tooling as bad as Xcode? The IDE frequently crashes, there is no refactoring support at all, practically non-existant code completion, syntax highlightning frequently stops working, etc etc.
- accatyyc 10y agoWhat's worse... the refactor functionality for renaming used to be great, but when swift came along it stopped working for Objective-C as well...
- dep_b 10y ago> the refactor functionality for renaming used to be great Objective-C did have some basic tools. But even Eclipse was better? You can always use AppCode, I believe it has the usual JetBrains level of refactoring. I have a copy paid and installed yet I almost never use it.
- manmal 10y agoI can confirm, Appcode is good enough. Annoyingly, they don't manage to get font rendering to be the same as in Xcode, and that's a bigger issue for me than it should.
- wsc981 10y agoI've been using Xcode for many, many years now. In the past (~8+ years ago) I've used Visual Studio. From my perspective Xcode is a really nice IDE. I prefer the lean UI compared to Visual Studio and Xamarin. The only thing that annoys me is that since Swift the syntax colouring and autocompletion breaks multiple times a day. This is a slight annoyance for me, but otherwise I personally think it's a decent IDE. I don't experience the crashes like you do. And I've never really used much refactoring tools in the past, so I guess I don't know what I am missing out on. But you might want to consider AppCode from Jetbrains. Apparently it supports both Objective-C and Swift and it's refactoring support -at least- should be good.
- makecheck 10y agoWhile I have slightly despised Xcode ever since 4.x when they integrated Interface Builder and everything else unnecessarily into one buggy app, it has only been completely broken for me with the latest version. “Something” makes typing s...l...o...w......a...s......h...e...l...l... and I have never figured out what. The editor became utterly unusable no matter the project and I was forced to do every change outside of Xcode. I am very thankful that they at least had the wisdom to expose "xcodebuild", etc. as command-line tools, because I have always set up my primary build to rely only on the commands. (Even when “building” from Xcode, the build that I click runs "make" underneath with xcodebuild.) That way, I never need to be in the GUI and can work around its quirks or bugs that make it unusable, which has paid many dividends.
- sebleon 10y agoAs someone that has dabbled in Android development, I have to say that Xcode is light years ahead of its competitors re: developer friendliness. It's realistic from a complete novice to setup their environment and create a full app in a few hours. Just getting your environment setup for Android can take a whole day or more. I'm surprised by how few of these comments actually touch on the suggestions in this letter. Overall, they seem like small improvements that won't really move the needle on Xcode's effectiveness... Breaking up targets to make 15sec compilation times to <1sec would be nice though Things I do with every project: -Don't use the interface builder, easier to do all UI work programmatically - Use Pods
- mileycyrusXOXO 10y agoThis is an exageration. Setting up a clean install for Android development takes all of two minutes.
- deleted 10y ago[deleted]