Creating an app similar to Instagram

Discussion in 'iOS Programming' started by ARedRum95, Jun 30, 2016.

  1. ARedRum95 macrumors newbie

    Joined:
    Jun 30, 2016
    #1
    So i'm looking to create an app similar to instagram however I have no idea how to go about it.

    I have tried searching on github for open source code similar to insta but no luck and companies than charge to create an app price around £5000 or more which is out of my league for now.

    Any idea on how to go about this?

    Thanks
     
  2. Dookieman macrumors 6502

    Joined:
    Oct 12, 2009
    #2
    1. Do you have any programming experience?

    2. Social Networking apps are difficult to create due to all the different parts working together (client, backend, database, etc....). There are a few things you could use to help mitigate some of these issues by using an automated backend like Firebase. But if you want to do it right, you'll need a team of guys to help you build this.

    What part is confusing you? The big picture of everything working together?
     
  3. ARedRum95 thread starter macrumors newbie

    Joined:
    Jun 30, 2016
    #3
    Thanks for getting back. I've got experience with php and html but thats about it.

    I'm new to swift so just trying to wrap my head around how everything works together is confusing at the moment.

    In terms of building the app, i've got a partner who has experience with design and marketing and we are currently looking for another cofounder/programmer who will have experience with programming.

    I've thought about using firebase however i've read that these services don't allow you to have total control of your source code, especially when you reach a certain amount of users and want to transfer to another service.
     
  4. Dookieman macrumors 6502

    Joined:
    Oct 12, 2009
    #4
    Well, I recommend that you get really comfortable with Swift and programming in general before you tackle something like a social networking app. It requires a variety of programming specialties all that work together for a seamless experience. There are a lot of moving parts you'll need.

    Here is a rough overview of what you will need.

    Backend:
    Login/Account system.
    Friend Management.
    REST APIs creation to upload/fetch photos/add friends etc...
    Timeline creation

    Database:
    Login information (security high)
    Storing photos for fast retrieval
    Creating relationships between users, friends, photos, and friends photos.

    Client:
    Know how you want to present the images/text in coherent way.
    Extensive knowledge of async networking to interact with APIs.
    Interacting with REST APIs.
    Local data caching to reduce network load and redundant fetching of data.
    Great UI or else its blah....

    You're right that Firebase won't give you total control, but if you build your backend yourself, that's going to add a ton of complexity and time. You will need more than just 1 person who knows how to program. It will require a team of people, all who should have experience in their specialty.

    Not to discourage you, but I would try building something attainable first, like a todo list app first. Then move on to working with already mature APIs, like Twitter, to get familiar with networking.
     
  5. ARedRum95 thread starter macrumors newbie

    Joined:
    Jun 30, 2016
    #5
    Appreciate the info man. I've already made a simple todo list app and a birthday alarm app on xCode which was pretty easy and didn't seem to test my coding skills too much.

    There are tutorials i've found not he internet that offer a course on building an instagram clone with firebase for $40, do you think thats worth it? or would it be better of learning to do it myself?

    Also i've found a source code on github which seems pretty useful however i'm having trouble understanding how to use the files available on github for the code. By use I mean to view the app the code if actually for, edit it the code and tailor it to me needs. I legit can't find anything not he internet about this, so is there a program I can use to make use of the files?

    Thanks once again man
     
  6. Dookieman macrumors 6502

    Joined:
    Oct 12, 2009
    #6
    Again, I feel you are attempting to bite off more than you can chew. I would recommend diving into networking and REST APIs, TableViews, CollectionViews. A Todo list and birthday alarm are good to get familiar with the Xcode and coding in general but not really to the point where you can dive into a social networking app.

    Regarding GitHub, have you downloaded the source code? Can you post a link to what you are referring to? I can take a look and help you get it working on your personal comp.
     
  7. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #7
    IIRC, the Stanford 193 iOS programming did one of these. it's free and very well done. They actually record the in-class lecture and post them on iTunesU.

    I've done many of these and can't remember which one covered this, but Stanford probably has one.

    As far as GitHub goes, there's tons of stuff out there. I just got done bringing SWRevealViewController and SWRevealCell into one of my projects.
    I download the code and run the samples. Then look at what the code is actually doing and find a way to work it into a project. Usually, I have to change their code to work correctly with my project.

    You should look at several samples and how popular they are. Some are better than others. The RSS feed one that I use doesn't have the code for pics. So now I'm stuck having to use another one or writing my own.

    There's a lot of site that group these together for you. Sites like:
    http://www.appance.com/category/ios/idevelop/libraries-components/

    Some books have great tutorials while other are more general. One thing to think about is using something that doesn't have good support or good tutorials.

    I used MagicalRecord and when I read another book on CoreData, the book used it's own helper classes, so the book conflicted with what I was already using. Generally, when you use a book, it'll be for Apple's APIs and using any other might not be supported.

    Another example that shows this problem:

    I have table views that slide in from the side. The cells inside the table have their own slide out for "add edit delete" functions. I now want it to have a "tree view" A tree view show the headers and options to show the cells or hide the cells of the group.

    This functionality comes from a different product, so I have to figure out how to make them work together.

    The danger is that you can spend a lot of time going down a path that may never do the work you want it to do. They not only require great isight to how things work, they likely don't have good documentation on how to get them to work with other programs.

    So you're kinda on your own. Keeping it simple, taking the time to know how the code works, and looking hard at the code you're downloading can save you quite a bit of time.
     
  8. akash.nu macrumors 68000

    akash.nu

    Joined:
    May 26, 2016
    #8
    Instagram is a pretty complex system altogether. If a company has quoted you that price for the whole solution then you're laughing.
     
  9. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #9
    Do you know how many programmers work at Instagram....?

    Lay people usually don't realize just how difficult it is to make an app like Instagram, how much thought & hard work goes into it. Making an app like Instagram would take an experienced programmer months or YEARS of work to do well.

    I doubt you could get an Instagram level app built for anything less than $200,000.

    It really is a sign of just how good an app/program is that people think it's easy & simple to make. People often confuse apps that are easy to use with apps that are easy to build. They are usually diametrically opposed: Apps that are really easy to use are usually the most difficult to build.
     
  10. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #10
    You want to create an app that required several man years of work from experienced professional programmers.

    The idea most likely to succeed is to spend at least a year learning how to program and do software development at an advanced level, and then maybe a couple more years coding your desired app.

    Good luck!
     

Share This Page