I keep on hearing that, even non-Apple, Mac programs are more elegantly made (clean, focused, and with attention to details) than their Windows counterparts. Why is that? Are Mac programmers adhering to some design principles that their counterparts are not? Does the OS X environment encourage better development? or is the premise faulty to begin with?
Part of it is the customer base; you probably buy a Mac because Windows doesn't do what you want, and so the programs have to be different enough. One way to justify using a different machine is to have apps that put in more effort to be really good.<p>But also, it's a matter of copying what you see. When learning to program for the first time, a developer seems to do most of his or her learning on one platform, and copy that style for the most part (both the good <i>and</i> the bad, in everything from the design of GUIs to programming APIs). Regardless of what you think of either company, is there any doubt that Apple is better at coming up with good examples of design, than Microsoft? I consider Windows to be mediocrity breeding mediocrity; while this isn't 100% true, it's true enough for me to hate using the average PC.<p>Diversity is also a good indicator of quality; the more methods a programmer is familiar with, the more likely a program is to be well-designed. As a single platform, Mac OS X is pretty diverse; it comes with lots of tools, and is influenced by many different roots (Unix philosophy; NeXT/IBM with Objective-C/Smalltalk; classic Mac OS GUI elements; etc.).
I would think it's false, even with the surging popularity of Apple computers recently there are still far more people using Windows and far more developers writing Windows applications. With more applications being developed comes a much greater number of unreliable, slow applications with poor user interfaces.<p>Though I wonder if the use of Objective-C, and lack of any safety scissors-esque programming environments like Visual Basic, is helping keep out cruft like Bulk Rename Utility (<a href="http://bulkrenameutility.co.uk/Screenshots.php" rel="nofollow">http://bulkrenameutility.co.uk/Screenshots.php</a>).
I bought my first Mac ever back in September 2010. Prior to this I was a Windows and Linux user, and now routinely use all 3 platforms.<p>My immediate perception was how important design was in Mac software. It's common to see the beauty and simplicity of a UI being used as a major selling point, which is not the case on Windows.<p>Though both Windows and OSX have HIG guidelines, they are routinely ignored by their creators _and_ 3rd party developers. I think the fact that Apple/Microsoft ignore them gives a license for 3rd party developers too also. It was quite a shock to me when the first time I updated my Mac, the close/minimize buttons in iTunes rotated by 90 degrees!<p>I believe part of the reason that people like to have beautiful apps on OSX is that if you are a Mac user, you probably _chose_ to be; whereas Windows is almost the default due to its ubiquity.<p>I agree completely with evanmoran; the developers are the same, but what sells on each platform differs.
I think it's something of a faulty premise - both platforms have UI design guidelines (Ribbon interface, Chrome, etc...) - Apple's are more extensive IMHO, but that's a developer guidance issue and not a platform capability issue.<p>I think the perception of comes from a bunch of legacy Win32 apps that are still lingering around which have the crusty old design.<p>Newer apps made on Windows using WPF (Windows Presentation Foundation) look great - like the Zune client, Visual Studio, Expression Blend, and third party apps like MetroTwit and Paint.NET. WPF uses a mark-up language to build UI elements and is thus more designer-friendly than WinForms and older Windows UI technologies - this fact in combination with the Aero UI leads to more elegant-looking Windows apps imho.<p>Apple has a longer-history of offering designer-friendly tools and UI guidelines to go with it, so that's probably where the perception comes from, but I'd argue it's a dated premise now.
Some Mac developers would argue that Mac development, being marginalized for so long, led to a distinct subculture with an emphasis on artistic values, community, and high production quality.<p>There's a quite lengthy study of this subculture called 'Indie Fever' (<a href="http://www.madebysofa.com/indiefever/" rel="nofollow">http://www.madebysofa.com/indiefever/</a>), which is worth reading, although I'd argue the gold rush environment created by iOS and App Store has weakened this community quite a bit.<p>Unless you go to conferences, you now can most easily see the 'indie Mac developer' aesthetic reflected in snark, like Read The Fucking HIG (<a href="http://readthefuckinghig.tumblr.com/" rel="nofollow">http://readthefuckinghig.tumblr.com/</a>).
This premise is faulty. The programmers are the same, it is simply what sells well and what qualities are emphasized that are different on each platform.
I think Apple's Human Interface Guidelines helps push developers in the right direction:<p><a href="http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html" rel="nofollow">http://developer.apple.com/library/mac/#documentation/UserEx...</a>