Apple's Tech site could learn something from the MSDN
I’ve been a long time Windows developer and my recent switch to the Mac has been a joyful and liberating one. To make the transformation complete, I feel obligated to be able to sling code for the Mac as well as I believe I can in Windows. Sure, these things take time, learning the quirks of the OS and the foundation classes, differences in memory management, IDEs, frameworks, etc. The Win32 API let you get away with murder and as sloppy as those COM dll projects were (dll hell anyone?), you could get it to work. Sure the API had some odd interface name to implement that you never would have found in a million years but thanks to the MSDN you could not only get a clear definition of the members of the interface but a simple “out of context” code sample that showed potential use for the problem space.
I can’t tell you how many times I’ve used those examples to go “Oh, that’s how they want me to play ball”. Now, the good people at Apple has documented everything… to a fault. It’s all documentation without context. I’m a person who likes a good example. Frankly, when you’re a complete Noob, you want a little hand holding. For instance, everyone has those nifty transitions from window to window with the Cube animation and stuff like that… I can’t find ONE example of how to do that. I can’t imagine it’s that difficult, but I can’t find shit about it.
I have a Safari extension, SafariStand, that adds a bunch of features to Safari, yet when I look for ONE sample ANYWHERE online of how to even begin that kind of project I’m halted dead in my search. I don’t even want to do anything that crazy, just send a bookmark to del.icio.us when I add the bookmark to my bookmark bar. Seems simple and I’ve got the Obj-C written to do the call but… I don’t even know how to load the code into Safari. Someone did it… so I should be able to. Or Mail.App… there’s like a million plug-ins for that app, I can’t find ONE simple example of how to even call hello world from my code in Mail.app.
So, with this, I say, Apple, we’re coming over. Some of us, the true Windows supporters I leaving the Win32 API to join the Cocoa ranks. Please make with the samples and better more usable documentation. Need inspiration? Click here.
So how to fix it, Apple?
1. In your API sections don’t just talk about the practices in question, show some solid examples in the documentation. From the page itself show us a Cocoa Objective-C, Java and AppleScript example. If you’re going to support all those languages then help us code in them.
2. Stop referring to sample projects that I have to download from a location that may no longer exist. I wish I could remember the link to the sample that was 404. It’s another example that if the code sample had just been on the page, it would have solved all my problems
3. Share best practices from your top developers. Tell us how you built iTunes or Mail.app or hell, a hello world application that shows some of the features off that new developers are interested in learning.
With Apple, they expect you to come to the table an expert. But coming from Windows and only windows, with little Unix and absolutely no Mac programming experience shows the learning curve to be incredibly high. I’m making some breakthroughs but I’d be lying if I didn’t say it’s taken a while to get there. A little help from the Apple documentation would be a great help for transitioning developers from Windows to Mac OS X. That’s just my two cents on it, though, has anyone else tried coming from Windows to Mac OS X as a developer? If so, which path did you take?
articleStats
Here are some silly little facts about this Apple's Tech site could learn something from the MSDN...
article Links
These are the links that appear in this article. They probably don't make sense out of context... but just in case. :)
Click here.
Strange, the ADC reference library (http://developer.apple.com/referencelibrary/index.html) seems to provide a lot of example code as well as detailed references with regards to what is going on. I always turn here as well as the many paperback books for any OSX/Cocoa related programming questions.