PDA

View Full Version : MacRumors Monthly Cocoa Challenge?




GorillaPaws
Apr 16, 2009, 12:45 AM
Do you guys think it would be a good/fun idea to do a monthly contest to see who can make the best Cocoa app that solves a particular problem each month? Participants would post a release build (so non-programmers can have fun trying out all the junk we make), in addition to the source. We could then vote on the next month's challenge and then rinse/repeat. Maybe we could even get the moderators to agree to assign the winner a custom title of "Reigning Cocoa Champion" (or some such thing) for the month.

I would think that any such competition would need to somehow limit the scope of the projects to keep it as accessible/low key as possible (cap the number of lines of code perhaps?). Also, it might be cool if each project featured a specific toolkit/technology to encourage people to broaden their horizons (e.g. this month's solution must incorporate core animation, or next month it might be core audio, or distributed objects etc.)

Seeing how different people approach the same challenge would be very valuable/rewarding. I think we would need to make it a point to try to keep things as lighthearted and fun as possible. Maybe we could allow for team submissions as well so people could help each other out? I'm just throwing out ideas, what do you guys think?



GorillaPaws
Apr 16, 2009, 11:44 AM
Iím a bit surprised nobodyís had anything to say about this (either good or bad). Maybe some examples of the kinds of projects I was thinking of would help?

Challenge: Create a simple 4-function calculator with the WORST user interface you can conceive of. Participants should utilize Core Animation in their app in some way. The more HIG you can break the more points you get.

Challenge: Create an encryption/decryption, random number generator or random password generator (we could choose which would be the most fun) designed with a model architecture in the spirit of a Rube Goldberg machine (http://en.wikipedia.org/wiki/Rube_Goldberg_Machine). The interface would be in 2 windows, one that is as simple/clean as possible, and a second that tracks/displays all of the behind-the-scenes craziness going on.

Iím sure you guys can dream up better/funnier challenges than that, but I just wanted to provide a few examples of the kind of thing I had in mind. Anyone think this would be fun?

Catfish_Man
Apr 16, 2009, 12:04 PM
This seems like a good idea to me.

lazydog
Apr 16, 2009, 02:27 PM
Nice idea!

b e n

Eraserhead
Apr 16, 2009, 02:33 PM
Challenge: Create a simple 4-function calculator with the WORST user interface you can conceive of. Participants should utilize Core Animation in their app in some way. The more HIG you can break the more points you get.

Can you get Core Animation to get the buttons to run away from the mouse :p?

Got Josh?
Apr 16, 2009, 05:11 PM
great idea imho!

davidwarren
Apr 16, 2009, 05:13 PM
I have no idea how to program, but if I did, I would probably say that sounds like a lot of work....

xyzeugene
Apr 17, 2009, 10:51 AM
Great way to learn how to program code...

I have no idea how to program, but if I did, I would probably say that sounds like a lot of work....

dantherevelator
Apr 17, 2009, 10:57 AM
Great idea. I'm in.

GorillaPaws
Apr 17, 2009, 11:21 AM
Maybe we could even get the moderators to agree to assign the winner a custom title of "Reigning Cocoa Champion" (or some such thing) for the month.

So I looked into this a bit, and it seems that there would be software issues with implementing this. I was told that those badge things might be a possibility at some point down the road if we can generate enough momentum/interest in this contest. Obviously making more work for the Macrumors admins is never a good thing so I think any rewards system would have to be self-implemented--certainly for the time being. I'd be willing to donate a $20 iTunes gift card to help kick things off if you guys think that might help (although realistically I doubt that such a small prize would really entice anyone on the fence--the only real reason someone would want to enter is to learn new things, challenge themselves and to have some fun in the process). Nobody can deny that wining prizes isn't fun though.

I'm still having a hard time gauging interest in this idea. It at least seems like several of you are interested. How many interested participants do you think we would need to get to make this worth while. Also I'd love to hear suggestions for challenges--the two I mentioned were pretty dumb/silly and it would make sense to have some that were less frivolous too. I would appreciate any feedback you guys might want to offer (good or bad).

Saladinos
Apr 17, 2009, 12:08 PM
hmmm

kainjow
Apr 17, 2009, 12:19 PM
This is what ironcoder (http://ironcoder.org/blog/) is all about but it looks like they haven't updated since 07.

GorillaPaws
Apr 17, 2009, 12:59 PM
hmmm

I wish you hadn't edited away your post, you had some good ideas there, namely the idea of having one month of active development and another for evaluating/planing. I think the biggest difference between your suggestion and ironcoder vs. my proposal is the target audience. Those seem geared towards making a final product that an end-user might want to use, whereas my idea is more about making quick prototype apps without all of the polish that an end-user would expect. Of course we could still release alpha builds for people to play around with and enjoy, but the expectations are much lower for everyone (i.e. no undo support, spell checking, archiving, preferences etc.).

I was thinking the structure would take a "one-dimensional" approach and be very targeted at solving a particular problem, use a particular API etc. By doing this, it lowers the barrier of entry and hopefully increase participation by us less-experienced/knowledgeable Cocoa programmers-in-training who don't feel like we can put together much resembling a complete (bug-free) app for the public to scrutinize. This isn't to say that what you were suggesting wouldn't also be successful, just that a smaller scale challenge would probably be easier to get going on Macrumors.

Do you guys think running it every-other month would make it easier for people to work the time into their schedules?

Saladinos
Apr 17, 2009, 03:10 PM
I wish you hadn't edited away your post, you had some good ideas there, namely the idea of having one month of active development and another for evaluating/planing. I think the biggest difference between your suggestion and ironcoder vs. my proposal is the target audience. Those seem geared towards making a final product that an end-user might want to use, whereas my idea is more about making quick prototype apps without all of the polish that an end-user would expect. Of course we could still release alpha builds for people to play around with and enjoy, but the expectations are much lower for everyone (i.e. no undo support, spell checking, archiving, preferences etc.).

I was thinking the structure would take a "one-dimensional" approach and be very targeted at solving a particular problem, use a particular API etc. By doing this, it lowers the barrier of entry and hopefully increase participation by us less-experienced/knowledgeable Cocoa programmers-in-training who don't feel like we can put together much resembling a complete (bug-free) app for the public to scrutinize. This isn't to say that what you were suggesting wouldn't also be successful, just that a smaller scale challenge would probably be easier to get going on Macrumors.

Do you guys think running it every-other month would make it easier for people to work the time into their schedules?

I had an idea to create a site that does something similar. I've written up a document about what the site is going to be about, and I'm submitting it to Apple to see if they'll sponsor the site. It's worth a shot.

lazydog
Apr 17, 2009, 03:45 PM
I don't want to throw a spanner in the subject because I really like the idea of a MacRumors monthly programming challenge, but I'm not sure if it should be restricted to Objective-C/Cocoa. I think you would get a lot more people participating if it was open to any language and if the challenges were very easy and small in scope. This would change the nature of the challenges but that might be a good thing anyway as there would be more scope for thinking up original ideas, and for people to learn and share new ideas. Over on the Digital Photography forum they run a weekly competition. The general idea is that the winner of one week gets to pick the subject for the following week and also has the responsibility of judging the entries and selecting the winner. I think it works quite well... even though I've never won myself - perhaps my photography is as bad as my programming!

b e n

dantherevelator
Apr 17, 2009, 04:01 PM
For my part, I'd be most interested in a contest that was focused on ObjC and Cocoa, but considering that the success of the contest may hinge on reaching some kind of critical mass of participants, it might indeed be better to open it up to different languages.

It could be very instructive to see solutions to a given challenge implemented in ObjC, Ruby, Java, etc...