20k Budget - Beginning Development For iOS?

Discussion in 'iOS Programming' started by It Is James, Jul 9, 2013.

  1. It Is James macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #1
    Hey everyone,

    I'm sure this has been asked a thousand times here before, so I apologize for another one of these threads. However, I wanted to make a new one to explain my situation specifically and hopefully get answers that are better for me and my situation.

    A bit of background, I'm 17 and work full time as a blogger/affiliate marketer. I recently have saved up about a $20,000 budget towards creating and marketing one or more iOS Applications. Now, although I could hire developers to do this for me, I'd much rather have the programming knowledge to do this myself. Not just for making the apps, but if I do ever expand into a full on company (which could be very well possible, I believe) It'd be a useful skill.

    Anyway, enough of that. I do have a bit of experience with C++ and OOP (although I'm not fluent in C++) but I have very little experience with Objective-C. What resources would you recommend to an absolute beginner - books, courses, programs, etc?

    I also plan on working with Cocoa Touch in the future, I know it'll be a while before I start working with the framework but what resources do you recommend for learning it?

    Thanks all for your help. All of your answers are appreciated.
     
  2. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #2
  3. It Is James thread starter macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #3
    That's been a big decision of mine - whether or not to learn C before learning Objective-C. I've heard some people say that it's highly recommended, and others say it's a waste since C isn't object oriented.

    I still think it'd be good to know (since one day I want to get further into C++ than I am now) but I don't know if it would be completely beneficial towards learning Objective-C.
     
  4. MattInOz macrumors 68030

    MattInOz

    Joined:
    Jan 19, 2006
    Location:
    Sydney
    #4
    You'll need to know lots of C even if you learn Objective-c first.
    So it won't go to waste ever. The difference is really one of personnel understanding and style. I know I found it easier to problem solve in Objective-c first then refine. Finding C procedural style not in tune with my natural way of thinking.
     
  5. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #5
    Lots of iOS APIs and data types are C only, especially core ones for power user devs. So it helps greatly to have the basics of C programming down cold, even if you do all the UI using OOP.

    If you know some C++, word on the street is that it only takes a couple weeks to get used to basic Objective C. So just start reading the tutorials and code samples.
     
  6. It Is James thread starter macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #6
    Thanks everyone, going to start learning C soon. Once I believe I've got it down, what books would you recommend for learning Objective-C?
     
  7. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #7
    You realise that your app idea had better be totally revolutionary?

    Noone has said it in this thread, but it is very rare that an independent
    developer makes the kind of money out of an app that would return on $20,000.
    (although it has happened).
    I suppose it depends on where the $20,000 is going, but that's your business.

    Most independent developers claim to earn little more than it costs to keep up
    their membership in the iOS developer program.
     
  8. It Is James thread starter macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #8
    Right, and I wouldn't expect to. But with this money I'd be gaining more than just an app, I'd be gaining knowledge of a powerful programming language, used in one of the fastest growing markets in the world. If not through my own apps, I could easily make 20 grand back working for someone else. Not working a real job gives me a lot of time to do stuff on my computer! :)

    And as bold of a statement as this may be, I don't believe quality of the applications are as important as people make them out to be. I've seen horrible apps make a ton of money, and amazing apps go completely unnoticed. It's all about how you market the apps. An area which I have a lot of experience in.
     
  9. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #9
    I agree.
    For my next one, I'm confident enough that I'm going to make it a
    console style text UI just to see if I can get away with it.
    Quality is important with regard to functionality though.
    Nobody wants a program to crash, and nobody wants to have to read instructions.

    I'm off work on medical at the moment,
    and have found that I'm now working simultaneously on three programs
    on two platforms. It couldn't happen if I were full time employed right now.

    Best of luck :)

     
  10. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #10
    Absolutely. For anything to be a commercial success on the internet it has to be picked up by blogs/news organizations. If you can't get that, your app isn't going anywhere.

    I can't for the life of me figure out how to get picked up. MacWorld randomly named Battery Status one of their 50 favorite apps on the Mac App Store and never contacted me about it - I only found out when a customer congratulated me.
     
  11. It Is James thread starter macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #11
    I've taken a few iPhone app marketing jobs and getting picked up by blogs may not be as hard as you think.

    Your app is for the Mac App Store, which doesn't seem to have as big of a focus in a lot of blogs but this strategy can be applied anyway.

    I found the best way to get people to cover software that's created is to simply send them an email and ask them. If you're fast you can send at least one a minute to each different blog owner. Make sure to say that you think there audience would benefit from an article about their app. You can find blogs in google by just typing a keyword such as "mac blog" or "mac apps blog" and you can narrow it down to blogs that are easy to reach by adding the words 'contact' or, 'contact us'. I've used this method hundreds of times and it's extremely effective for finding blogs quickly.

    This benefits you in two ways - the small blogs will give you backlinks to your apps sales page. This means that it'll be found in the search engines for more keywords, leading to more people discovering the sales page and increased sales.

    The medium-large sized blogs get your app exposed to their audience, and their article will be found in Google often for the keywords within the article. This also leads to more blogs writing about it without you even asking them to - a lot of inexperienced bloggers tend to copy subjects and paraphrase articles from bigger blogs, in hopes of achieving success.

    Anyway, you should try it out. You may be surprised with the results. :)
     
  12. throAU, Jul 11, 2013
    Last edited: Jul 11, 2013

    throAU macrumors 601

    throAU

    Joined:
    Feb 13, 2012
    Location:
    Perth, Western Australia
    #12
    How I would spend the budget:

    - Mac Mini with 16 GB (it will be plenty)
    - a time machine (you don't want to lose your stuff)
    - an iPad 4, iPad Mini and iPhone 5 and an iPod touch (iphone 4 and previous screen size, if you can't get that any more, an iPhone 4-S). reasons: so you have all screen form factors available and a good spread of hardware to test against.


    that should be what... lets say, $2k.

    With the remaining 18k? Don't blow it on hardware!

    Quit your day job.

    Spend your days (as in, 8 hours per day, as if you were employed in a full time job) learning Objective-C for 3 months (both Mac OS X, and iOS). Use some of your budget money to pay living expenses (if you have them, if you are living at home, even better). This will require discipline. No WOW, no forum whoring, no going out partying, etc. Learning to code is your full time job.

    Once you've got an app designed, hire a graphic artist to do your graphics (for that app) if required. Looking good/slick is important - and if you're coding you don't have time to learn photoshop as well and generally speaking good coders are usually NOT good artists and vice versa. Yes there are exceptions, but they are exceedingly rare. Recognise what you CAN'T do a genuinely good job on, and get others with skills to do it.

    You do NOT need:
    - a mac pro
    - any additional hardware really

    If you DON'T get a killer app at least you'll have both OS X and iOS development skills you can go looking for a job with. You may not make a killing on the app store, but there are more and more companies out there wanting in-house apps developed these days.

    ----------

    C and Objective C are inter-linked.

    Objective-C is still C at it's core, and much of the code within objects you will write is still largely C. Understanding the C underpinnings will help you understand what is going on with memory management (pointers) which will be invaluable in tracking down bugs.

    In short: You will need to know C. But it is not a waste, as Objective-C is merely C with additional bits.
     
  13. It Is James thread starter macrumors member

    Joined:
    Jul 9, 2013
    Location:
    Washington
    #13
    Great post, definitely answered a lot of my questions.

    Luckily, I already own a MacBook Pro, 3 iPhones, and an iPod Touch 3G and 4G, as well as every iPad to date. I don't have a day job to quit since I work online. I've already started learning C and I'm having a lot of fun so far. I have a long way to go, but I also have a lot of time each day to work on developing my knowledge.
     
  14. throAU macrumors 601

    throAU

    Joined:
    Feb 13, 2012
    Location:
    Perth, Western Australia
    #14
    Looks like you're mostly set then.

    However, the reason I chose those specific i-devices was to get the different screen form factors available. So long as you have devices which can do that I'd say you'd be OK.

    It's not strictly a "requirement" to get started but once you have some degree of success you will get bug reports to try and replicate and having the same hardware as a customer will definitely help.

    Additional devices may be useful so you can keep say, the current iOS and the previous (maybe, or just say you require iOS vX)/next release available to test against rather than continually having to downgrade/upgrade your devices.
     
  15. MattInOz macrumors 68030

    MattInOz

    Joined:
    Jan 19, 2006
    Location:
    Sydney
    #15
    Have to say great if you can apply yourself like it's a full time job then great plan. If I had your budget and youth I'd look at something like the Big Nerd Ranch camps. Those guys are so well know in the community that having their training on your CV would be useful as well as the group training time.
     
  16. throAU macrumors 601

    throAU

    Joined:
    Feb 13, 2012
    Location:
    Perth, Western Australia
    #16
    One other thing I'd suggest:

    Don't focus only on iOS development, learn Mac as well. Objective-C used in both and there is a lot of overlap. It will give you a broader base for future employment prospects and the Mac has an app store as well.

    Also, if you're writing cloud-based applications, users may well want the same data on both their i-device and their mac, which means a mac version of the app...

    The other thing I forgot was the Mac/iOS developer program subscription costs - they're $99/yr each. You'll definitely need the iOS program to be able to sign your code and install on a real device.

    If you decide develop seriously for Mac, you'll also want a copy of either VMware Fusion, Parallels or Virtualbox so you can run current/previous/next OS X, but that's probably not required to "learn mac" as a secondary thing while learning iOS.
     
  17. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #17
    I have a different view on apps and them needing to be revolutionary. The devices, the OS, and API change about every year or so. This opens up new opportunities every so often. Some apps die off because they don't change. People get tired of some apps.

    Some are called "flavor of the month" apps. They come out, hit hard, and go away. Other are a great idea, but poorly executed.

    Example was a "todo" app that used color coding and gestures to control the app. This was more of different way of doing the same thing, than anything else. Todo apps are all over the place.

    Dictation opened the tell the todo list what you want, not seen before dictation.

    Specialized apps for specific functions still has a long way to go.

    BlueTooth 4 changed a number of things, being able to control low energy devices from an iOS device.

    Point: Things change, this can change the market.

    Look at PC software. It changed when LANs became popular and again when the Web kicked in.

    Just like new products come out all the time, new uses for hand helds will too.

    The market for apps is VERY young and will continue to evolve for a long time.


    On the issue of programming skills, understand that it changes. It requires a bit of work to keep up on things.

    When I started, ARC (auto ref counting) wasn't there, now it's the standard.

    Point: Programming didn't change this fast before, it requires a pretty fair investment of time.

    Big Nerd Ranch is a great place to start. I'd take the time to make sure all your stuff is updated to the lastest stuff.

    When you look at books and sample code, check the dates. Some are from years ago and won't have as much value. iOS programming books don't have much of a shelf life.

    Also, don't expect over night results, take your time. No need to spend big $$. Books are cheap and you already have great hardware.
     
  18. 0dev macrumors 68040

    0dev

    Joined:
    Dec 22, 2009
    Location:
    127.0.0.1
    #18
    You're so lucky to have a big budget like that at a young age, you'll go far man. I'm 18 and I'm lucky if I make a few quid here and there fixing basic computer problems and doing basic webpages.

    To add to the advice about expanding, once you've already got iOS development down and put out an app or two, look at expanding to Android too. You'll likely need to learn Java for that, but once you've mastered one programming language it's a lot easier to learn others, especially if you know C.

    Best of luck! :D
     
  19. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #19
    It's great for gaining some perspective. When developing for iOS you'll have moments of "Why is this so complicated!" - then you'll go try it on Android and discover that it's 10x as complicated. That's about all it's good for - if you're looking for money or retaining your sanity, I'd suggest staying away from Android development.
     
  20. 0dev macrumors 68040

    0dev

    Joined:
    Dec 22, 2009
    Location:
    127.0.0.1
    #20
    Android Studio makes this easier I believe. But regardless, Android is the biggest smartphone platform in the world, if you want your apps to become successful you should probably develop for Android.
     
  21. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #21
    It's hard to ignore the number on android, they'll change things for the better, they kinda have to...

    If for nothing else, the theory of if apps are that hard to develop for Android, the app market will move elsewhere. I don't know how Windows compares to Android, but clearly Microsoft is trying to find a way in. They've actually had some good ideas and they might just hit the ball one day if they keep swinging.
     
  22. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #22
    No, they won't. That's what their issue, and BlackBerry's, and every company besides Apple's is. You can't have a smash hit phone if you're continually second guessing yourself and releasing multiple phones. I think Samsung has actually figured that out now, which is why the Galaxy S series is the only one you hear about from them anymore. But, for example, why has neither the Z10 nor Q10 rocked the market? Because neither of them are touted as "the best phone ever" (BB would be shooting themselves in one foot or the other if they tried that) thus few people want either.
     
  23. 0dev macrumors 68040

    0dev

    Joined:
    Dec 22, 2009
    Location:
    127.0.0.1
    #23
    No, no they won't. The app market follows the customers.

    BB10 is very easy to develop for, yet compared to iOS or Android it has very few quality apps. Why? Because a company will throw money at the platform with the most customers, not the platform that's most convenient for their developers.
     
  24. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #24
    There's a trade off to be had. If BB's tools made it 50x easier to develop for as Android, then people would support it despite the minuscule market. I haven't looked into developing for BB, but I'd be surprised if it were anywhere near that much easier, as it would suggest an Android app that takes a year to develop would take one week to develop on Android.

    Obviously Apple has managed this trade off well. Android has more customers, but iOS is (in my own experience) about half as difficult to develop for as Android. And it's not a matter of differing amounts of experience: I spent 2 months on Egg Drop and 4 on Quick Clips, giving me 6 months of iOS development experience, and 6 months for a company that only made an Android app.
     
  25. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #25
    You're right! The app market wil follow the customers, but if android dev is so painful, they will at least have a delay. This delay was seen in years past when Apple was the 1st platform an app was released on, then "Android will follow" was very common.

    This isn't nearly as much the case now, so you are right on that point. However, some day Google will awaken from their sleep and make something that is easier to work with.

    One of the problems here is the MS is the one with the most developer background. They've been creating IDEs and languages for many years for way more developers than what Apple had back then.

    MS dropped the ball like I've never seen before. They are "Larry, Curley & Moe" all wrapped into one.

    However, once they come around or at least make a good stab, others should improve their developer tools and make it easier to develop on their platform.

    Notice how just a few years back developers were treated as 2nd class people, they are now being wooed by MS/BB and others to develop apps one their platform.

    They'll wake up someday and see the app are actually important, not just the number of apps, but the quality of apps, and these apps will come from quality developers.

    I did Java years ago and Android before iOS, I wasn't impressed with Java or Android.
     

Share This Page