top | item 13680826

(no title)

fleshweasel | 9 years ago

It'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.

discuss

order

concinds|9 years ago

I remember a few years ago, at a WWDC session on Xcode, the presenter was talking about version control improvements.

He said something to the extent of "Xcode has a robust version control system" and the crowd laughed. And the presenter got offended, said it "wasn't nice" of the audience to laugh considering how hard-working the Xcode team was.

My recollection is blurry so it would be nice if someone else remembers this too.

But if that's really the attitude within Apple or the Xcode team, don't hold your breath for improvements.

Edit: changed my paraphrase of the presenter. since I remember it a little better now.

crowbahr|9 years ago

Well gee they are working so hard so we shouldn't criticize obviously. Golly all that hard work, so nice that it exempts them from derision for their substandard product.

zuck9|9 years ago

Can someone link to a video of this session, or the title and the year WWDC was held?

j2kun|9 years ago

So... they just don't know it's bad?

IBM|9 years ago

Apple is not a big company. Out of the 116k employees they have 60k are in retail [1]. Another 6k are in AppleCare call centers [2]. So about 50k of them are at corporate. Contrast that with Google which has 72k employees [3] and Microsoft which has 120k employees [4].

Apple's organizational culture is meant to be about small teams. Steve Jobs once said "we're the biggest startup on the planet" [5]. This leads to complaints about various neglected features or products and calls for Apple to hire more employees or spin off divisions so it can have dedicated resources. Just like people will always complain about the quality of service at airlines, Apple watchers will always complain about whatever pet issue they feel isn't getting enough attention. That there are complaints doesn't in and of itself mean that Apple needs to change their organizational culture. These complaints always miss the opportunity cost of the changes they suggest: that Apple is Apple because they are resource constrained.

[1] http://fortune.com/2016/01/28/apple-retail-ahrendts-employee...

[2] https://www.nytimes.com/2016/11/21/technology/how-apple-empo...

[3] https://abc.xyz/investor/pdf/20161231_alphabet_10K.pdf

[4] https://news.microsoft.com/facts-about-microsoft/

[5] https://www.youtube.com/watch?v=f60dheI4ARg

kbenson|9 years ago

Did you seriously just try to convince me that a 50k employee (by your logic) company is not a big company?

Flammy|9 years ago

I'm not sure the best way to measure and compare, but it sure seems like Apple focuses a lot more on a narrow set of products than either Microsoft or Google.

Apple might be vertically integrated to a higher degree than Microsoft and Google, but Apple doesn't have as big of product diversity.

maxxxxx|9 years ago

You don't need many people to improve xcode. I bet 50 people could do miracles if anybody cares.

jccalhoun|9 years ago

It seems like what was once their strength is now becoming a liability. They seem to be spreading themselves too thin and more and more people are complaining about more and more things. Since more customers are unhappy it seems like they either need to hire more people or cut products.

toobigtotry|9 years ago

I've noticed this effect recently - I call it "too big to try."

Once a given institution reaches a certain scale, the apparent limitations on human attention at the top of the hierarchy make it impossible for the organization to contemplate small ventures. Like the parable of Bill Gates finding a hundred-dollar bill on the sidewalk, it's no longer worth the time to stoop to pick up the small stuff.

(Intuitively, this seems related to the absurd inflation in the cost of public works in the US over the last century.)

wpietri|9 years ago

Definitely. To me, it's a symptom of control-oriented organizations, where too much information processing has to take place at the top. As a contrast, support-oriented organizations work to keep most decisions happening lower down.

It's especially frustrating here because the business case here seems pretty simple: go make these developers happy and effective. It's a known audience, they're easy to reach, they're not shy about telling you what they want. I don't think a lot of information needs to get to the top of the hierarchy.

M_Grey|9 years ago

That very wealth is what's insulating them from the long-term reality of the choices they're making. It's a trap!

yourapostasy|9 years ago

Indeed, 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.

coldtea|9 years ago

>That very wealth is what's insulating them from the long-term reality of the choices they're making. It's a trap!

What "long term reality"? They have been doing this when they were near bankrupt and continue to this day, 20 years later, and they are now the richest company on the planet.

Maybe the long term reality is actually success?

wool_gather|9 years ago

The one that's been getting me lately is the split between Xcode 7/Swift 2.2 and 8/3. We have an older project in Swift 2 (yes, it's slated to get changed over, just not yet), and new work on a project in 3. If I try to open one while the other is already open, one of the Xcodes invariably freezes or crashes.

I will say, though, that I've always liked IB (though not storyboards). But then there's the wonderful "Oh, you opened a nib, I should move something around in the XML." -> SCM status changes even though I didn't modify the file.

orbitur|9 years ago

Can you still submit apps with Xcode 7?

In response to your problem, having done the Xcode Old/Xcode New dance every year since 2012, I got into the habit of making sure they are never running concurrently. Things get even worse if you run xcodebuild on the command line while a different UI version is running.

fleshweasel|9 years ago

The file changing just from being looked at is one of the basic reasons that IB is bad. Apple made a grievous mistake in designing UI markup that is intended to be hidden from developers. Un-organizable, un-diffable toxic sludge.

debt|9 years ago

It boils down to budget. The app ecosystem simply isn't a high priority because it makes little to no money relative to Apple's core business. Matter of fact the best thing they did was introduce ads to app search, at least now they're probably making a few more bucks.

They invest most of their resources into hardware and critical software. Everything else clearly is secondary.

It doesnt take much to form this opinion either, just look at the quality of their software overall. Very inconsistent, trending towards mostly stable. Design improves which is good I guess but not what developers need.

They don't make a ton of money from independent developers and it doesn't matter anyway because most of the heavily used apps are created by Apple themselves.

mercer|9 years ago

I'm only just getting into Apple development, and the course is using XCode and the interface builder. Could you tell my why I should avoid it and what approach to take instead? Or is it fine or even preferable to use it in the 'learning phase'?

rhizome|9 years ago

Apple should start asking their software engineering candidates to invert red-black trees in interviews. I hear that makes these kinds of issues unlikely.

na85|9 years ago

Sooner or later people will wake up to the fact that this is their own fault for leveraging a proprietary ecosystem.

You want to play in Apple's walled garden, you take the scraps they give you.

They have no financial incentive to make the experience better for you if you're already a captive developer.

valuearb|9 years ago

Yea, but iOS developers make twice as much as Android developers. Lots of customers love the walled garden and those customers spend a lot more on apps than Android customers do (Android installed base is multiples of iOS, yet revenues are double on iOS).

And one of the reason the bigger spending customers are with Apple is the benefits of the walled garden. It's more secure, and it's updated far faster (or at all). For developers it's a better environment to develop for, consistent screen sizes and hardware features and I know I can write my latest app for the latest iOS and within months of it's release the vast majority of revenue producing customers will be on it. That's a big reason why better apps are written on iOS first, it's easier.