Has anyone succesfully released an App who didn't know how to program?

Discussion in 'iOS Programming' started by EmptyPockets, Oct 20, 2008.

  1. EmptyPockets macrumors regular

    Jan 15, 2008
    It would be really inspiring to hear a success story of someone starting from scratch (i.e no programming knowledge, never did anything like this before) who successfully released an app or game.

    Seems like a lot of people are trying to do this (me included) but who knows if it ever works out. Maybe we can discuss pit falls of why it didn't work out.

    For people with existing programming knowledge, what would you suggest we do if we don't have the time or money to take a class.

    I'm starting with watching tutorial videos and reading the book "Programming in Objective C" - it assumes no knowledge
  2. robbieduncan Moderator emeritus


    Jul 24, 2002
    From the point of view of an experienced programmer:

    1. Be prepared to get frustrated and annoyed. You will
    2. Be prepared to start at the very beginning: you will not be able to write a 3D game as your first app. You will probably struggle to write a simple to-do list
    3. Learn to use the documentation. It's excellent. Probably at least 80% of the newbie questions on here can be answered using the documentation directly.
    4. Be prepared to give up: many people simply can't program. In general if you are not good at maths, logical problem solving and breaking problems down you will not get anywhere. It's not a matter of effort.
    5. Be prepared for things to fail. Often. You need to be able to try things, understand why they fail and work around the issues
    6. Understand that this will be a long road. It may be many months (or even years0 before you get close to writing the app you currently have in mind
  3. fenrus110 macrumors regular

    Mar 24, 2008
    yes, totally be prepared to be frustrated and fail.

    people go to university to learn programming and many of them drop out or change majors.

    And it is true that sometimes it isn't about effort. Some people just can't do it and don't get it.
  4. wizard macrumors 68040

    May 29, 2003
    From somebody half way in the middle

    A little back ground. Most of my formal training in software was more than twenty years ago and that was not a major nor even realistically a minor. Just a few quarters of morula 2, 6502 & Vax assembly. Remember any of those.

    In any event in the first response above, the first item to be numbered was to be prepared to be frustrated. I bring this up because it was very frustrating for me especially with the first few betas. Even now it can be very frustrating due to issues with the SDK, NDA ( gone), XCODE, documentation and whatever else. The iPhone SDK is certainly not Apples best effort. So frustration and the feeling of being stranded on an island with a half working computer is about right.

    Frankly if you have not had any formal training in programming nor taken a personal interest to date in programming then you really should find a practical class. It is the only way in my estimation to come up to speed quickly and more importantly with guidance to properly develop your skills. You can succeed the DIY way too, don't get me wrong, but it will take more time in my estimation. A little online time or a smart friend might help but that depends on your ability to communicate your issues in a forum clearly. If you read through the various forums you should see such examples of poor communications.

    As a side note poor communications doesn't mean you can't program either. There are all sorts of reasons for poor communications one being differences in languages. The problem here is that Objective C is a language also, thus you need to be able to communicate with it and about it. Then there is computer science concepts in general. Can you adapt and learn quickly in an online environment of short and quick messages

    Another issue would be to much complexity for a beginner. Generally CS students start out writing small program to master concepts. With iPhone even a hello world app requires a bit more effort. More so what is the value of a iPhone hello world app if it does teach you anything at a level you can initially digest. Your succes will depend on you ability to grasp Abstract ideas quickly. If you can do so great but it could take months for somebody with no programming background at all. Again DIY education here is possible, it just that you can't expect to be producing good ObjC code in a months time much less understand all the libraries. Speaking of which, I've hardly touched a number of features in the SDK, which brings us back to complexity. Limit the complexity of your first couple of apps to limit you exposure to new APIs and to allow your self to understand what you are working with well.

    Running into Apple bugs is a pain. Online resources might help you sort this out. In atleast one case this happened to me and was extremely frustrating. This was before the NDA listing but fortunately I was able to locate online verification. A lot of wasted time that was.

    Frankly being stuck with just ObjC and web apps is frustrating. I would love to see Apple support Python. The problem is ObjC is simply over kill many simple apps that could be really useful on iPhone. I guess that doesn't fit with Apples objectives but it is frustrating none the less.

    In any event nothing is lost in trying. Hit a chord with your app and you might not have to worry about that formal education. I don't mean to sound negative above but I believe you need to go into this with open eyes. The right concept can lead to a lot of success, but even a good concept built on buggy software will die quickly.

    Best of luck

  5. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    Let me just first thank everyone for their thoughtful comments and considerate replies. As a beginner programmer, the help provided by the members of this forum is invaluable.

    It looks like I have a tough journey ahead of me but the drive is there and hopefully it will last the year (estimated) that it will take me to get the game I have in mind developed. (and beyond!)

    To consolidate some of my previous posts, here is my basic plan so far.

    1. Read the pdf from Cocoalab called 'Become an Xcoder':
    http://www.cocoalab.com/?q=becomeanxcoder (recommended by spinyanteater) - do practice exercises

    2. Read Programming in Objective-C by Stephen G. Kochan - do practice exercises

    3. Try to develop some free basic apps that seem to be missing (calculator style apps)

    4. Start learning the necessary skills required to develop a 2D game. Here is where I need help, it looks like I will need to learn Quarts> Is that correct?

    5. ?

    6. Profit

    Thanks again,

    Mr. Pockets

    *Side Note: I have taken some programming classes in college but never really got into it. I never really understood the concepts involved in writing a program and eventually switched majors. After just reading the CocoaLab PDF I have a much deeper understanding of those very same concepts. I suppose now that I really care my brain has kicked into overdrive. :)
  6. robbieduncan Moderator emeritus


    Jul 24, 2002
    On the iPhone you are probably going to want OpenGL ES, even for a 2D game. It is possible that you can get by with Quartz, but performance will be much better in OpenGL.

    The choice of API will largely come down to the sort of game. If you are developing a turn-based kind of game with graphics that mostly don't move animate Quartz may be OK, otherwise it's OpenGL...
  7. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    So looks like its going to be OpenGL. I have resources on objective C and generally working in the Cocoa environment but I don't have anything as a grounding in OpenGL. Can anyone post up some resources? Books? is this a language?

    The skills I need to make a graphically motion driven game:
    - Objective C
    - OpenGL ES
    - Am I missing anything? (I know I am...)

  8. robbieduncan Moderator emeritus


    Jul 24, 2002
    I'd forget about games/OpenGL ES right now.

    Worry about getting a basic grounding in programming. Understand the basics of algorithms in the abstract. The learn something about object-oriented programming. Once you know that Objective-C should make sense. Ensure you fully understand the Cocoa memory management rules. Learn the basic Cocoa patterns: delegation is very important.

    Once you've got that you can start looking at getting basic iPhone apps running. Once you can get code up and running on the iPhone you can start thinking about learning OpenGL ES (which is a C-based API, so make sure you learn some C as well as Objective-C).
  9. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    Sounds like a plan. Thanks again for your help.

    How is your app doing in the store? Any upcoming apps?
  10. Nonnus3G macrumors member

    Jul 9, 2008
    1. do you really think calculators are missing in the app store ?
    2. apple docs suck big time, as their dev support, bug report is actually ok
    3. start with simple stuff, really...

    be carefull regarding developing games :
    unless it is some pretty simple stuff
    most graphically advanced games are hardly ever done by single developers
    usually teams of ppl with different areas of expertise

    i have been programing for over 20 years and i must say serious game dev is actually sort of a black magic to me ;)
  11. robbieduncan Moderator emeritus


    Jul 24, 2002
    A handful of downloads every day. Which is what I expected: it's targeted at a tiny market! I've got loads of ideas for apps and very little time to write them. I hope to work on some of them soon!
  12. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    See above comments
  13. robbieduncan Moderator emeritus


    Jul 24, 2002
    I'd say don't offer anything for free. Once you get users used to the price of "free" that's all they'll ever accept. Start as you mean to go on: charge something, even if it's the minimum.
  14. liptonlover macrumors 6502a

    Mar 13, 2008
    I didn't start programming because of the iphone, I started when I was 9 which was 6 years ago now. I haven't had any formal courses or anything, I started learning BASIC from my dad and then a little over a year ago switched to mac, then to iphone when the sdk came out. So pretty much since the iphone came out I've been working seriously on programming. Anyways, longish story short, I'm working on an app that I will put on the app store. It's not 3D, no stunning animations/graphics. Just coding and music by me, graphics by my brother. But I'm pretty sure I have the skill to finish the app, it's just a matter of working now. It really depends on if you have the knack for programming, and how willing you are to work on it. Like I said, I started pretty early and had programming basics out of the way when I moved to iphone. But it was still a lot of work.
  15. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    Looks like a game has never been successfully developed without previous programming experience. That is both inspiring and terrifying (or the post has only been up for a day)

    I "wrote" my first program yesterday in Xcode using the C example from the previously posted "learning Cocoa" link. Input length, width, and radius and you can get the area of a square or circle. Feels good but I realize it gets insanely more difficult.
  16. Niiro13 macrumors 68000

    Feb 12, 2008
    Depends. Before the iPhone SDK, the most I've ever learned in programming is two dimensional arrays in Java. And even then, for a lot of previous code, I had to copy and paste (couldn't remember the code...but understood it).

    Now, I've got applications that are ready for sale (apparently you can't release before the availability date :/) and development that range from simple applications to a bit more complex with writing and reading (which I've never learned before the SDK). As for game, I still am not up to OpenGL yet (as not only is there minimal documentation for it...at least Apple-wise, the OpenGL sample code is too complex (apparently, Apple likes sample code that includes so many complex stuff...until you learn it from a simpler tutorial somewhere else and it's super easy)...but I have managed to finish games with Quartz.
  17. EmptyPockets thread starter macrumors regular

    Jan 15, 2008
    Thats great and very inspiring! You had a touch more experiance than I do to start but from what I understand you had to learn from scratch.

    What are the names of the apps? Lets get you some free exposure

    Do you have any links to the "super easy" tutorials?
  18. MikeBrWade macrumors member

    Oct 21, 2008
    Oh anyone can program it is all in your state of mind. I have been doing it for a while and i have seen people who said they could "never do it" put out some nice software.

    Granted starting with an true object oriented language with signal driven function calls, and a environment that will make you want to beat your head against the wall is probably a bad place to start. Ha, and don't even get me started on the whole "cert" process.

    Look at it this way, if you have a passion for it you will stick with it and you will either be able to do it or not. Either way you will learn a lot in the process. I say go for it ;-)

Share This Page