8 ms·
The iOS and macOS apps have been the biggest point of stress and frustration when building EteSync[1]. The API is buggy as hell and very limited (if at all avai
by tasn 6y ago
The iOS and macOS apps have been the biggest point of stress and frustration when building EteSync[1]. The API is buggy as hell and very limited (if at all available) and the review process is arbitrary and can cause updates to be rejected. You can never know if your workarounds will be accepted or rejected. Sometimes they can even get rejected in future app updates.
The EteSync experience is subpar on Apple devices, and there's almost nothing we can do about it. We already spent countless of hours trying to fix things, but Apple just make it impossible. We have more ideas on how to fix things, and we will keep on trying, but it's beyond me why would anyone willingly use an Apple product.
Edit (adding one more point): that's one of the more annoying parts about Apple being the gatekeeper to 40% of the US population and in effect, to 100% of businesses (because one bad Apple in the org is enough to spoil the whole bunch). As a developer, you are just stuck with no way out.
[1] https://www.etesync.com https://www.etesync.com
- deleted 6y ago[deleted]
- plg- 6y ago> it's beyond me why would anyone willingly use an Apple product Final users don't see this mess.
- tasn 6y agoThat's a fair point, I was picturing developers (who are Apple users) in my head when I wrote this.
- ubercow13 6y agoBut it seems they do, eg. rachelbythebay stopped using Wireguard because of the mess.
- pilif 6y agoshe stopped using Wireguard (and ranted about it) rather than stopped using Apple's products (which are ultimately responsible for the failures she complained about in Wireguard)
- danShumway 6y agoRight. And Rachelbythebay is way more technically inclined than most users; if she wasn't able to correctly apply the blame to Apple, then normal users are definitely not going to be able to do that. Developers need to be more up-front about why these issues exist, we need an education push. For all the criticism about how Fortnight framed its issues on iOS (and some of that criticism was warranted), coming out of the gate strong with a consistent message that Apple was to blame was likely the only way to get any 'normal' user to even consider that there were multiple issues and viewpoints at play. There's no such thing as subtlety or nuance when you're trying to talk to that demographic about why their phone/desktop doesn't do the thing they want it to do. In the long term, I don't know. On one hand, these issues do affect final users, but communicating with final Mac users is difficult. But on the other hand, Wireguard isn't going away, it's a clearly better protocol. So right now, final Mac users assume it's the devs' fault. But are they going to assume that when literally everyone around them has decent VPN clients and their Mac experience is just miserable? Mac users aren't completely isolated from the Linux/Windows world, at some point they're going to realize the pattern if all of the software on their platform is just worse.
- JumpCrisscross 6y ago> if she wasn't able to correctly apply the blame to Apple, then normal users are definitely not going to be able to do that This isn’t a moral judgement. I apply the blame to Apple. But I also choose to keep using their product. Their products are less dispensable to me than another VPN protocol.
- acct776 6y agoPeople have been choosing usability over security forever - don't be ashamed.
- danShumway 6y ago> But I also choose to keep using their product. I think the issue is less people who understand the tradeoffs and decide that the Mac platform is still worth using -- it's people who do not understand that there is a tradeoff at all, or who think that the root cause of all of this is just the developers being lazy. If you're aware of the reason why Wireguard can't do updates while it's running, and you say, "that's fine, I still want to use it on Mac", that's a very different reaction than saying, "the devs don't know what they're doing." I suspect that average nontechnical users are currently in the latter category rather than the former, but I could be wrong.
- literallycancer 6y agoIt's funny because the reason anyone cares about this whole episode is that some people felt the need to play a white knight in the developer's mailbox. The smarter people will quit the Apple platform, and the dumber ones will quit the software whose creators refuse to put up with the Apple bullshit (plus some that try to put up with it but Apple arbitrarily fails their review anyway).
- esclerofilo 6y agoYou're mixing up intelligence with morality, or something similar to morality. Just because some interfaces are bad and the company is anti-competitive doesn't mean using it is a dumb choice, you have to weigh up the pros and cons. Perhaps it's an axiom that the open alternative is better in the long run, but that's too long a run to really care.
- adamc 6y agoIt's gradually becoming a ghetto. They do somethings well, and at one time it was a much better experience than Windows, but I don't think I would say that today. When I replace my Macbook Air, it will probably be with a Windows or Linux device.
- m-p-3 6y agoUntil the give the app a poor rating, when ultimately the root cause is the arbitrary reviewer's decisions making a fix harder to make than it should. It's not the user's fault, bit it's the developer taking all the heat while it's business-as-usual for the reviewer.
- realusername 6y agoI also had enough, I now consider the Apple ecosystem a legacy platform, similar as Internet Explorer in the web world. I still do port my software but as a "best effort" scenario, nothing guaranteed basically, their ecosystem is too much out of touch with proper development practices to be able to guarantee anything, and I do warn people that I cannot guarantee much as well. I'm sure there's going to be some people annoyed just by reading that but if you dabbled just a bit into their ecosystem, you'll certainly know why I have this opinion.
- tenacious_tuna 6y agoHiya! Former mac native developer here, moving to a new company. My new corp gave me the option of a thinkpad running windows or a Mac, and I chose the mac just so I could have a sane terminal experience, UNIX-like tools, etc. I would vastly prefer to use Linux, but unfortunately that's just not an option for a company-issued machine at this juncture--and in my experience it's easier to spin up a VM on a Mac than a Windows box. Being a Mac native dev, I'm very acutely aware of the pain other devs go through with Apple and their APIs, but unfortunately Macs remain a better platform to write code on in my personal experience.
- fluidcruft 6y agoMy experience is that Windows Subsystem for Linux has been amazing on Windows and just keeps getting better. I've also never noticed any difference in spinning up VMs. But anyway I get keeping with familiar tools but, I just disagree that MacOS is a better or even "sane" terminal platform. All the ancient GNU tools Mac ships and BSD-style "but Posix!" pedantry drives me up the wall.
- tenacious_tuna 6y agoFair enough! I have run into an annoying number of issues that were because the flags for `cp` varied from mac to other *nix systems, which was very annoying to debug.
- turtlebits 6y agoI have not used a current version WSL, but it was terrible when I tried it. Could not find files saved in the WSL terminal in explorer (I understand that is a limitation). The was so much unknown going on in the "integration" that I wished I just used a VM and took the perf hit instead of digging to figure out where Windows was mounting the FS and figuring out permissions. I have no desire to look at WSL ever again. I experienced the same thing with on F# on mac a year or so ago, the dotnet CLI tool was effectively broken and official onboarding docs didn't work. I tried revisiting when they announced F# 5 late last year, but same thing, docs don't work/broken on Mac. Turned me off for F# development and leaves me a bad impression on anything Microsoft releases.
- uncledave 6y agoYes and that's not vendor specific for sure. I occasionally look after a fairly large Windows WPF application which is half integrated with Microsoft Word and there are hundreds of lines of code dedicated to quite horrible workarounds for issues caused by API changes and weird ass behaviour. There are a lot of if statements for different Word versions as well. For example: when saving a file "safely" (i.e. without weird ass side effects such as locking or document metadata corruption), if your word version is 7, 8, 9 or 10 you must use SaveAs2000 API call. If your word version is 11, 12 you must use SaveAs API call. If your word version is any other one then you need to use SaveAs2. This is entirely not documented past telling you that you are told not to call half of them and most of the reasons behind using them were discovered by taking the VSTO libraries to bits. At the end of the day, the objective is to make sure the end user never sees the hell you had to go through and entirely takes your efforts for granted. They don't care and efforts to appeal to them are frowned upon, even if we whine and complain about it in our own circles.
- ubermonkey 6y ago"it's beyond me why would anyone willingly use an Apple product" With respect, then, you aren't making much of an effort to understand.
- tasn 6y agoI have an iPhone and macOS for development. I clocked a lot of hours on them over the years. I admit, I was sometimes jealous of mac hardware, for example the new M1, magsafe, and etc (though not the terrible keyboards). Though I was never jealous of an iPhone's hardware. I was never ever jealous of the software. I always found it buggy and user-hostile. The line you quoted was specifically about the user-hostility. You are using a machine that you can't control and actively fights you. It's mind boggling to me that developers agree to use such a system. Is this such an unreasonable opinion?
- matwood 6y agoI've used both platform, and I find iOS user friendly and easy to use. I also found iOS easier to develop for than Android, though admittedly it's been a few years since I've developed on either. Opinions are funny like that.
- m45t3r 6y agoI think it depends on what you're doing. Are you developing native apps with one or two person teams? iOS seems easier to start. Are you developing multi platform apps with teams of hundreds of engineers? Well, Android is much much better. Just to give an example, it is quite easy to build Android apps in a CI, while iOS is a pain (specially because there is no way to build an iOS app in anything other than a Mac). Also, most bugs specific to a platform happens in iOS (they happen in Android too, but my experience is maybe 10 bugs in iOS for 1 in Android).
- ubermonkey 6y agoMy Macs and my iOS devices are neither hostile nor obstructive to me. Again, if you are confused by this, you aren't trying hard to understand. I control my Mac just fine. I've built tools from source; I run whatever I want; I can automate tasks I find tedious using the same shell tools available on Linux, and I still have access to MS Office (and no, open/FOSS "alternatives" don't work sufficiently well for me) and other COTS tools I depend on. The Mac is absolutely the right platform for me, and I don't find it limiting or broken or hostile AT ALL. And neither do millions of other folks. I also work regularly with Windows, and have a higher-end Dell XPS on my desk for that purpose. Windows is so profoundly broken and un-discoverable and inconsistent (not to mention unstable over time) that I cannot fathom choosing to use it over anything else -- and it's the only OTHER platform where I could get access to some of the tools I rely on. Linux isn't there, and hacks to try to make things like Win software run there imply a level of tedious fiddling that I'm 100% retired from. >Is this such an unreasonable opinion? I guess it depends on whether you consider an unstudied, single-POV opinion reasonable.
- fbelzile 6y agoThis sums up my experience developing on macOS as well. Apple forces you to use broken API's and then you have to find workarounds to make your app usable. Someone should start an Apple developer support group on appledevsupport.group or something and get users to upvote broken API's (and broken terms of service: like mentioning donations are accepted in a free app!) that need fixing. Getting enough developers in one place to embarrass them might be the only way to make Apple care. Filing onerous radar reports to help Apple is not my job.
- qppo 6y agoI don't think I've ever run into a "broken" API on MacOS. But I haven't seen a "well documented" one either. There's a lot of arcane knowledge in targeting MacOS.
- saagarjha 6y agoI've run into broken API without even trying…core things in like AppKit and Foundation, even. Many of them get fixed, but I find it difficult to believe that you've never run into buggy API on the platform.