Wrap-Up from April 12 CocoaHeads
R. Tyler Ballance came to CocoaHeads Silicon Valley on Thursday night to give us a look at the Windows side of software development, sharing some insight on not just the tools and frameworks but also the differences in culture for independent developers.His talk confirmed for me what I suspected ever since reading about Wil Shipley's WWDC student presentation several years ago: the Mac shareware market is much different than the Windows market. Tyler's feeling seems to be that there is no "independent" market on the Windows side, at least not to the degree that we're used to. In fact, he reiterated that there's never been a better time to write Mac software.
On the technology side, it sounds as if the strengths of Microsoft's tools and frameworks really reflect their core business: huge, multilayered organizations with many, many custom in-house apps for internal business processes. Cocoa's strengths lie in delivering ready-to-use desktop apps for individuals and small businesses.
I also talked Tyler into showing BuildFactory briefly, although it took some convincing because it hasn't been under active development. Personally, I think it's an interesting product and maybe just hasn't found its audience yet. Take a look at some of the BuildFactory tutorials and see what you think.
I don't want to put words in Tyler's mouth, so maybe he can sum up his thoughts in a blog post or even in the comments here. In any case, we really appreciate him coming down on such short notice. I think we talked on the phone about 48 hours before the meeting, and he came all the way down from San Francisco to give the presentation.
We saved some time at the end to get answers to some Cocoa questions and briefly explored some topics related getting started with Cocoa and what sort of projects people are currently involved in. Blain showed us a Subversion front-end he's been working on. Major thumbs up to him for having the guts to stand up and show off an in-progess application.
See you all on May 10th.
Update: I forgot to mention we had record headcount again — standing room only at one point. It was great to see so many new faces. Thanks everyone.

Wrap-Up from April 12 CocoaHeads
Posted Apr 14, 2007 — 13 comments below
Posted Apr 14, 2007 — 13 comments below
Andy Lee — Apr 14, 07 3913
I've suspected this too -- thanks for confirming.
Blain — Apr 15, 07 3915
Yes, yes, a thousand times yes. Although it's interesting to note that my wife's XP machine has two notable clusters of PC shareware/freeware: Stuff for The Sims 2 and map and model viewers for World of Warcraft.
I lay the blame at the feet of the different design philosophies of Apple and Microsoft. It's been said in many ways and many times, although one of the most succinct versions comes from the .NET Addict(1), of purpose vs. capability. VB and VC++ APIs, from what I saw long ago, are a case of shoveling all this things to do things, but it's up to you to make them work together coherently and keeping tabs on how they work. It's even apparent in variable names.
One very wonderful thing about Obj-C's wordiness is just that. And the wordiness displays intent and purpose. The predominant variable naming I saw in VC code was the "bad" hungarian notation where the data type was hopelessly entwined into the variable name, obscuring purpose in the name of what values it was capable of.(2)
Things I learned from this:
If nothing else, the statement that "If you're struggling with an Apple technology and it seems to be very unintuitive, you're probably doing it the wrong way." is worlds of good. Getting home and looking again at Core Data examples led to many "OH! Of course!" moments.
Always make sure, before hooking up a computer to a projector, that all livejournal/youtube windows are not just hidden, but closed. Because you WILL have to bring up a web page, and hurriedly need to close them.
A transcript and video is a good idea, so I could learn what I missed while I was frantically trying to get the demo to work before going up. A transcript and video is also a bad idea, because it's bad enough in front of just a room of peers with much more experience than you.(3)
(1)A PC-using yet mac-curious friend of mine pointed out with some amusement that the background graphic for the .NET addict is a close-up of a MacPro.
(2) Only in looking it up now for a link, did I learn there was a "good" hungarian notation, which is more in line with intent and purpose, but still is rather obtuse
(3)Although it would be good to share the whole "If Microsoft is the USSR, does that mean Ballmer is Gorbachev?" meme. But I like Gorby.
StuFF mc — Apr 15, 07 3918
David Phillip Oster — Apr 15, 07 3919
Elliott Harris — Apr 15, 07 3920
Marc J. Driftmeyer — Apr 15, 07 3921
At NeXT our apps weren't huge, but there definitely were many custom in-house apps never sold on the open market that made my job a dream.
My productivity in OS X still doesn't match that of NeXTSTEP/Openstep and those in-house apps.
Scott Stevenson — Apr 15, 07 3922
Good question. It's usually the second Thursday of each month, so that would put it in the middle of WWDC, which actually might be okay. We did CocoaHeads in San Francisco back in January. We could also do it the week before, but I think everyone might be too busy at that point. It would also be nice to get some visiting guests.
Roelof Roos — Apr 15, 07 3925
Glenn — Apr 16, 07 3926
Anything specific holding you back? Just wondering....
Jim Roepcke — Apr 16, 07 3928
Scott Stevenson — Apr 17, 07 3930
Hmmm. Good point. Maybe we can choose a different night.
Eric Wing — Apr 19, 07 3945
Yeah, I looked for Cocoaheads last year at WWDC on Thursday because I thought there was supposed to be one. I couldn't find anything in the sea of people at the bash.
Monday night seems to be the most available. Other nights seem to be filled: BOFs, Scientific posters, late night sessions, late night labs, Design Awards/Stump the Experts, Campus Bash.
Michael Strck — Apr 27, 07 3986