Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I disagree with all of the OP's points, except for one. Yes, Macs are incredibly popular with developers.

1) The reason I have always liked Macs since I was a kid is they basically come with what they need, and its easy to install extra stuff if you need it. Just because many developers like Macs doesn't mean that most Mac owners are developers. Most are just normal people who would wonder what is eating up extra space on their hdd.

2) It is absolutely not a burden to install the dev tools. There's absolutely no need to include gcc or the other dev tools by default. Non-developer folks almost never open the Terminal, much less compile their own software.

3) At most, I have to download the latest version of Xcode every 4-6 months. Yeah, she's a fat beast of a .dmg, but downloading and installing doesn't take up more than a few hours a year. Say that for Visual Studio or Eclipse which aren't as polished in some aspects, crash frequently, or run on platforms that crash frequently. (I'm not saying that VS or Eclipse share all 3 of those properties, and the crashing bit refers to Windows).

4) Its been demonstrated many times that Apple charges these $5 fees for previously free tools and applications because of SOX compliance laws. Apple has been providing their dev resources free for years. They are not hurting for cash and this isn't a money grab. They're at their all-time height of profitability, developer influence, and customer and market reach. Its rather obvious its about SOX.



Per your point #3: I spend a lot of time in both Windows 7/VS2010 AND OSX/XCode (along with a smidgen of time in Ubuntu as well) and crashes are just about a thing of the past in all three environments. That said, Xcode/OSX gives me the spinning beach ball of death at least as much as I get a crash to desktop in W7 and far, far more often than I get a BSOD in W7. The idea that windows crashes a lot is a myth hanging around from before they went to the NT kernel in XP. Granted, it's a myth that was well earned in the Win 3.1/9x days, but still. The reality is all the major OS vendors (I'm including Canonical here) have reduced crashes to maybe a once a week occurrence or better. Hardly an issue anymore.

As for the polish comment, it's really a matter of what you're used to and strictly a matter of opinion, but I find Xcode a nightmare to navigate compared to VS2010. Sure, Xcode is shinier and looks better, but the UX is far superior in VS2010 (again, just my opinion). I'm very much looking forward to a single window interface in Xcode 4.3.

As a developer, the killer aspect of OSX to me is the full blown *nix environment paired with high level commercial apps (like Xcode, photoshop, garage band, etc.). Not to mention I don't have to worry about my display card or wireless card working in OSX (like I still have to do with Linux).


As for the polish comment, it's really a matter of what you're used to and strictly a matter of opinion, but I find Xcode a nightmare to navigate compared to VS2010. Sure, Xcode is shinier and looks better, but the UX is far superior in VS2010 (again, just my opinion). I'm very much looking forward to a single window interface in Xcode 4.3.

Oh dear - you haven't been using the multiple-window layout in Xcode 3, have you? The single window layout is the only way to be productive.

Update: wow - I got downvoted for saying that? Someone must really like the multiwindow layout. If that's you, and you don't want to pay the $5 for version 4, have a look in View->Layout in Xcode 3. Try the single window layout. You'll like it. Really.


I'm definitely going to give it a look. For some reason I thought the single window layout wasn't coming till this version.

The multiwindow layout wouldn't be so awful if OSX were better at windows management && I had more than one monitor to work with on my iMac. As it is, it's a struggle for me.

Oh, and who knows about the downvotes. I thought for sure I'd get nuked for defending VS. Have an upvote.


I didn't downvote you, I can't downvote, but I like the multiwindow layout because then it's very easy to use an external editor in place of the Xcode editor. I liked using MacVim or TextMate when I first got into iOS development.


Xcode 4's single window interface is a huge improvement, IMO, even though I haven't been able to get my old project to package up yet... "schemes" and "run destinations", oh my.

But I know once I figure it out, it will be better.


Quality is in the eye of the beholder. That being said, my Windows 7 workstation crashes at least once a week, as does Visual Studio 2010. I just checked my uptime in my OSX workstation and it has been up for 52 days and I've just had one instance where Xcode crashed. In my eyes (and in my experience), Windows is just not as stable as an OS for development, although it's a lot better than the past crap they've released.

UI wise, I hate VS2010. In my head I cannot fathom why you would say it's UX is better than Xcode, but once again that's personal preference and opinion, which is - of course - respected. I always say: "Use whatever you need to get the job done..."

I do agree completely on what the actual allure of OSX is. My past platform of choice has been Debian, and I always thought it was painful to have to dualboot to be able to do my work (specially when on the move). Enter OSX, which gave me all my unix tools and also runs Photoshop.


I usually don't defend Microsoft, but I don't think your unstable workstation is the fault of Windows 7. Most likely it's a problem with one of the drivers, or maybe even a hardware issue.


Well, my other coworkers (some are windows fans, linux fans, osx fans, and one is a total freeBSD nazi) all agree that out of all our workstations, the Windows machines fail the most. Even the Windows fans acknowledge this. All other operating systems almost every time recover from errors (be them our errors or random errors on the OS side) without much trouble, while the Windows machines generally just blow up and need to be re-started.

Don't get me wrong, I do almost all my programming these days in VS2010 and I think it's a pretty decent piece of software (as is Windows 7), but it crashes more than any IDE I've ever used and the UI is just totally subpar. Windows 7 is a huge step up from Vista an XP, but I find it's nowhere near as stable as XP was. Our situation is not a hardware or driver issue, everyone had their preferences on which machines to buy, so they're all different machines.


Its been demonstrated many times that Apple charges these $5 fees for previously free tools and applications because of SOX compliance laws... Its rather obvious its about SOX.

No, it's not at all. The only "evidence" for that is a bunch of uninformed developers speculating about things they know nothing about.

OTOH, there is quite a bit of evidence that this isn't the case:

1) Why didn't they charge before? They've used the same accounting standards since the iPhone was released, so if they "suddenly" discovered they'd been doing the wrong thing, they can't just fix it going forward. At the very least they would need to make a statement to the stockmarket they had discovered a problem.

2) There are a huge number of companies that have similar accounting practices to Apple and yet manage to give away their tools. RIM & Nokia are two obvious ones.

3) It would be trivial to work around the problem, if there were one (which I don't believe there is). For example, they could spin off developer tools into a wholly owned operating company that would receive income from Apple and release free tools. The accounts would be separate, and this wacky SOX accounting theory would not apply.

Edit: 4) (from further down the thread): Why don't they charge for iTunes?

I don't know why Apple pulled this move, but it's not about SOX compliance.

Edit 2: I think I might be wrong on this: http://news.ycombinator.com/item?id=2311934


Just a law student, but I can buy the SOX thing. Companies have very different approaches to compliance, get advice from different counsel, account for things in different ways, etc.

I feel like there is a Occam's Razor argument in here. What purpose besides SOX could Apple have in not giving away XCode 4? Could be pure greed as others are saying, but when Apple wants to make money they're incredibly good at it. How many people are going to download XCode? Tens of thousands? Apple might stand to make, what $100k off the venture? If they were really trying to monetize XCode why would they price it so they don't make any money off it?


You know what?

I think you might be right and I might be wrong on this.

After reading how Apple pulled this previously (on the iPod Touch upgrade) I now think it's possible they may use SOX as justification for this more.

I still don't think it's good a justification, and I still think Apple could have worked around it if they wanted, but yeah - you are possibly more right that I am.

(I know admitting you are wrong on the internet is unheard of, but Strong opinions, weakly held & all that.. )


They why $5? Why not 1c, or 99c, or make it $99 and include a year's membership?

I said it elsewhere, but I'll say it again here: can you really imagine Steve Jobs agreeing to charge for something he didn't want to charge for because of accounting practices?


can you really imagine Steve Jobs agreeing to charge for something he didn't want to charge for because of accounting practices?

They might have been lying, but Apple has publicly claimed this before:

http://hardware.slashdot.org/story/07/01/16/2127204/Apple-Ch...


This macworld article has the actual quote:

http://www.macworld.com/article/54948/2007/01/80211nfee.html

“The nominal distribution fee for the 802.11n software is required in order for Apple to comply with generally accepted accounting principles for revenue recognition, which generally require that we charge for significant feature enhancements, such as 802.11n, when added to previously purchased products,” said Teresa Brewer, Apple’s Mac hardware public relations manager.


When the have the force of law, and when they've been burned in the past, absolutely.


Given that the guy was personally in the hot seat a few years ago for an option backdating scandal, yes. I can imagine him agreeing to this.


The SOX rules are about products. Developer tools are a service that repays OS sellers in their being used, because without tailoring the tools developers use, they lose influence on the direction that

Lawyers are good at scaring people, but the SOX thing sounds too much of a stretch for something that is not a revenue item. Charging for it will complicate the accounting. I guess they want to simplify the way they run the ADC.


You could always get the dev tools for free* because they always came with some other purchase. That seems like it would cover the "SOX" compliance to me.

Examples: you bought a copy of Mac OS X (the dev tools were in the box), you bought an ADC membership (dev tools are included with your membership). Now, XCode 4 from the App Store is the first time you could get them standalone. And they charge for it.


Updates used to be free as well.


Only minor updates. Major updates were always bundled with new OS versions. If memory serves, Xcode 3 shipped with Leopard, Xcode 2 with Tiger, etc.


While I can't explain Apple's inconsistency, here's a little bit of "evidence" (admittedly second-hand) from someone who I would not consider to be "uninformed":

http://www.reddit.com/r/programming/comments/g0o01/xcode_4_i...


All your points go off at a tangent to the original article.

1). Author doesn't claim that most Mac owners are developers. He attributes "a large part" of Apple's success to recommendations that began with developer mindshare.

2). It's not a burden to use the dev tools if you plan to use the dev tools, but it's a burden to install something on the scale of Xcode if some other tool you want to run just depends on the basic gcc toolchain.

3). For the author's points, you're not comparing Xcode installation to installing visual studio, you're comparing it to '[package manager] install gcc'.

4). Article author's preferred solution is not to stop charging, but to have a separate gcc package.

It boils down to the author thinking Macs would be more developer-friendly if more essential build tools (as opposed to developer tools, if you will) were bundled with the OS. It's an interesting point.


But they are bundled with the OS. They're just not installed by default.

Personally, I have a Mac, and I installed XCode for gcc. I've never used XCode itself. I did not consider it a burden; I did it once, over two years ago, as a part of setting up my MacBook. I have not thought about it since. Optimizing something that I do once everytime I get a new computer is of marginal value.


I don't understand. What does an accounting compliance law have to do with charging for previously free tools? And how were they able to release free tools in the years after 2002? What makes 2011 so special that they are compelled by law to start charging $5?


Previous major upgrades to XCode released with new versions of OSX and required that newer version to install/run. OSX 10.7 (Lion) has not released yet, so upgrading from 3.6 to 4.0 (Major upgrade) is not considered a maintenance release by Apple's accounting department. Paying members of the Apple Developer network subscribe ($99 per year) and one of the benefits is access to Beta releases of OS and tools. XCode 4.0 was available to members of the Developer network prior to this official release, and after the release, non-subscribers are given access through the App Store. Apple is in no way preventing anyone from developing for Mac at this point since XCode 3.6.5 is still available for download and installation by any users of OSX 10.6 (Snow Leopard), and as evidenced by the availability of the iOS 4.3 SDK for XCode 3.6, they are not forcing anyone to upgrade to the new IDE just to develop for their various platforms.


Ok, but where in this scenario do the SOX compliance laws compel them to charge money for a "major upgrade"?


The problem is Sarbanes-Oxley requires compliance with certain accounting practices (to be set by regulators; these are not spelled out in the act). I'm not an accountant, but as I understand the problem arises in this situation:

2005: Company X sells product Y to person Z for $1000. Company's books show $1000 in revenue. 2006: Company X gives Z a free significant upgrade to product Y and records no revenue.

The argument could be made that what really happened was that the company actually made two sales to Z; one in 2005 and one in 2006 and that the revenue of $1000 should properly be split across the two years.

Not having such a rule apparently allows various accounting shenanigans in which totally unrelated things are treated as "free upgrades" to something else and revenue can be booked in whatever year you want.

So there are two important things here for all this to be an issue: 1) The initial purchase must have cost money. If you get something for free and then get a free upgrade to it, there's no problem. 2) The magnitude of the upgrade must be such that one could be accused of slipping an unrelated product in as a "free upgrade".

So for example security updates to safari would fail test #2 above. Major updates to iTunes may fail test #1, since iTunes is generally available for free to everyone (even if you don't buy a Mac or MacOS).

It's possible that something makes Apple's accountants feel that XCode is part of the OS in a way that means that when you pay for the OS you're also paying for XCode. And that XCode 4 is enough of a change from XCode 3 that if it were free it would fall afoul of the accounting stuff above.

Again, I'm not an accountant, so I could be getting all this totally wrong...


So, what you are actually saying, is that this is the cheapest major upgrade to XCode that's ever been released?


OS X ships with XCode. Apple has never released a major XCode upgrade in-between OS releases until now.


What about iTunes? Why don't they have to charge for iTunes?


Because the whole "SOX accounting theory" is made up by people who don't know what they are talking about.

In its defense it was initially put forward as speculation ("what about this theory"), but now is being taken as fact.


It's the theory for xcode based on Apple claiming it was the reason to charge iPod Touch users for iOS 2 or 3 (I forget which). IIRC.


If you know what you are talking about then you'll be able to tell us the reason why it can't be true.


SOX became the trendy IT excuse for anything.

As an example from a few years ago, when I hired a contract developer, the company required a "Contractor Request Form". Fine. There's payroll to setup and so on. But then one day the form was renamed to be the "Contractor SOX Compliance Request Form".

I suspect this exercise was only so that some bean counter could show the outrageous costs of "SOX compliance".


You make a great point; there appear to be some contradictions in their accounting policies. The "App Store" didn't come with OS X, but was free. iTunes and Safari get major updates all the time, yet remain free upgrades. On iOS, you have iBooks, Remote, Find My iPhone, Apple Store, MobileMe Disk, and MobileMe Gallery, all free.

We're not sure what the litmus test is for their accounting practices. We're not even sure if Xcode falls into that category (e.g. maybe they're charging $5 for it now because they want to). It would be nice if Apple shared their accounting algorithm as that would clarify things.


Business Decisions != Accounting practices

Can you seriously imagine Steve Jobs being told they he has to charge for something he doesn't want to because of accounting practices?!


Good question. My guess is it depends on what components Apple officially accounts for as being parts of OSX. Keep in mind Apple was under investigation by the SEC for many years so they are probably following the rules extra carefully. After the SOX rules were changed last year (IIRC) Apple immediately changed some of their accounting practices to provide free iOS updates for the iPod Touch so I tend to believe them.


Perhaps because they can claim iTunes, because of the iTunes Store isn't an end-product so much as a platform upon which people make purchases. They can account for the revenue from the greater iTunes app through each purchase you make in the store. Same goes with the App Store.

Not sure how they deal with people who never purchase anything, but perhaps they don't have to be 100% thorough about it.


The following was said about Apple charging to unlock 802.11n in MacBooks.

Why don't they give it away for free, say with Software Update? Because of the Sarbanes-Oxley Act (which was passed in the wake of the Enron scandal). iLounge quotes an Apple representative: "It's about accounting. Because of the Act, the company believes that if it sells a product, then later adds a feature to that product, it can be held liable for improper accounting if it recognizes revenue from the product at the time of sale, given that it hasn't finished delivering the product at that point."


> Its rather obvious its about SOX.

To you, but obviously not to a lot of us. Please explain.


Yeah, I hear the "it's about SOX" comment a lot, and I hear the "it's about greed" comment a lot, neither of which make any sense to me... I'd love to get a real explanation.


The sox comment has been explained in numerous places. Basically because Xcode comes with a purchase of a new Mac or OSX it's considered to be part of the value delivered with that purchase. If they update it later, it is regarded as delivering additional value to the original purchase. I.e. Some of the money you paid originally is accounted as having paid for the upgrade. This means that the original transaction wasn't complete until they delivered the upgrade. This means that Apple can't record all of the 'incomplete' transaction on their balance sheet as revenue. They could work around this by holding back a percentage to cover later updates but this would be stupidly complicated and they'd still have the problem of not being able to declare it complete until they were certain of never shipping any new update. Much easier to just charge a nominal fee.

Obviously this seems like a Byzantine regulation, but it's not aimed at Apple - it's intended to stop certain kinds of fraud involving counting money received as revenue even though there is still a lot to deliver.

As for 'it's about greed' - well they do make a lot of money and that leads people to accuse them of greed. It's just a subjective judgement.


I don't buy the idea that SOX prevents 'loss leaders.'


Who said it did?


If XCode can't be 'given away' then I would say that SOX is preventing loss leaders, because that is essentially what XCode is. They are giving away the developer tools in an effort to attract developers to their platform. At the most basic level, it's not much different than advertising 'free after rebate' items in order to attract customers into your store.


But they did't give it away. It was part of the Mac people paid for. They are perfectly entitled to give stuff away. What they can't do is retroactively claim that part of what they sold you before was free.




Say that for Visual Studio or Eclipse which aren't as polished in some aspects, crash frequently, or run on platforms that crash frequently. (I'm not saying that VS or Eclipse share all 3 of those properties, and the crashing bit refers to Windows).

I've never used Xcode, but I do use Visual Studio everyday, on Windows 7. In the 5+ years I've been using Visual Studio I've been very happy with it as an IDE. Prior to 2008 there were definitely some quirks and stability issues, but as of 2010, I very rarely encounter any issues. I have lots of unix experience, and I can honestly say that Visual Studio is an excellent piece of software, and a pleasure to write software with.

As for your point about Windows crashing, I've never once seen Windows 7 blue screen or become unresponsive to the point where I had to reboot a machine. Disliking Microsoft and Windows are fine, but without some real evidence that Windows 7 is less stable than OSX, or any other OS I think this is a baseless claim.


You've used Windows 7 for 5+ years.


He said he's been using Visual Studio for 5+ years, not Windows 7.


Hmm I am pretty sure that was what it said when I commented. But I might be wrong




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: