How to Develop an App Like Instagram
mlsdev.com
mlsdev.com
Instagram is incredibly polished. Notice how fast it is? As you're selecting an image, they're already uploading it to their servers. That is critical to maintaining and growing their user base. I go to Instagram knowing I can upload a nice looking photo quickly. The images load incredibly fast as well. Its simplicity is deceptively robust.
This is not recreated by a developer billing at $50.00 an hour.
So, if you're looking to have an app built, and you're reading this post, just know it's pretty inaccurate. You get what you pay for.
> Its simplicity is deceptively robust.
I've met some of the Instagram iOS team. Part of the beautiful simplicity comes from the fact that FB can afford to pay ~5-7 iOS engineers top salary to work on improving the app full time. And that's just the iOS app.
And as the product matures the develop-test-deploy cycle gets slower
BUTTTTTTT. They are very clear in the article about calling it an MVP of something like Instagram. It's the difference between making the Twitter-like app in a tutorial and making Twitter.
This is a pretty good example of someone making an estimate for an MVP level contract app. Obviously it's what they do for a living so that's not surprising. I think it's a good reference for anyone else trying to spec something. If you aren't at this level of detail, you don't have enough detail.
The big problem with a spec like this is that the app you will get is not going to be anywhere near the level of quality of an app like Instagram. You have to set customer expectations or you will spend a huge amount of time litigating whether or not the app is 'done'.
This. In my experience of building apps under contract, the concept of the MVP is not very well understood outside of our tech industry echo chamber. We regularly have clients who know the term and "want an MVP" but when it comes down to release act completely contrarily (mostly trying to delay releases for additional features, more polish, etc). Client education and carefully setting expectations are key in this line of work.
This estimate also complete ignores billable time for project management and testing.
Edit: And design, if you want your app to look even remotely different from Instagram. And devops to stand it up in a scalable way. And maintenance / service agreements to keep the thing running...
You don't create software, do you?
As for the $50 rate, it kind of depends. $50 an hour, at a 40 hour workweek year round puts you at roughly $100k a year, pretty reasonable salary I think at an experience level between jr and sr. And in a startup you can even do a bit of equity financing and pay a lower salary, in terms of pure cashflow $50 could even be on the high end in highly bootstrapped startups. But that's if you employ someone.
If you outsource it to a decent dev team, then no way, you always pay a substantial multiple. For example I recall at my job as a student doing administrative work at a big corp, I had a $15 an hour wage and billed the client $120 an hour, no joke. My boss had a $50 an hour salary and billed $400. $150 and up per hour is pretty typical afaik.
Sure there is a difference but it's not in your example, the pre-uploading feature was hardly there in the first app versions and it's not something that some smart iOS dev invents on a whim and bakes into an app, it's a deliberate feature requiring collaboration between several teams.
Most of all, features like that are created because there are (amazing) devs whose sole job is to make the app better, and they've been doing it for what, 6 years now.
Not included is the infrastructure necessary to ship something like Instagram (testing, monitoring, deployment, beta, etc), even if you leave the massive scale of Instagram out of the picture.
Much more significant is that even the relatively rudimentary 2010-era Instagram was the result of thousands of hours of polish and refinement after the initial product was built and released to the public.
There are zero products that go directly from mockups to success. It's relatively easy to knock off something that already exists and is proven to work.
Building a knockoff is a relatively linear process. The challenges have already been solved and the work that needs to be done is clear to all involved.
Creating a new product is significantly less linear and a lot of budget gets burned because of that. The time of engineers, designers, project managers and QA all cost money. Aligning them to the same (non-obvious) vision therefore costs money. There are additional real costs every time the plan changes even slightly (scope creep, customer feedback, founder waffling, etc).
"No battle plan ever survives contact with the enemy" - Helmuth von Moltke
Just hire a 10X programmer for $50/hr.
https://market.ionic.io/starters/photogram-ionic-instagram-c...
http://www.slideshare.net/InfoQ/how-a-small-team-scales-inst...
You're not going to scale to an 80 million pics per day service[0] on a $10,000.00 backend.
[0] Instagram is not an app, but a service.
Sure, there's a point where the scale of Instagram tipped over and they had to hire more than 2 engineers, but that point was 30 million people a day, and even then it was still recognizable as "Instagram" the service and the app.
They don't have to set out to duplicate the billion dollar company from day one in order to achieve their goals. Simply being a knockoff from the early days would be good enough.
Then, since Instagram is a service, you need some sort of operations team to manage and monitor the infrastructure. You will also need some sort of testing (quality assurance, performance and scalability, security...). Then you will need some degree of organization to accomplish this.
Additionally you will need some visibility and minimal critical mass of users to get the ball rolling (aka user acquisition). That is of course, not development, but this is one of the most expensive items, to the point that for some apps, development costs are marginal compared to user acquisition costs.
You might get a software with the Instagram user-facing features, but don't expect to be able to handle the volume of traffic that Instagram does, at the level of security they do. That last part is actually a key aspect of the business model that I couldn't found anywhere in the article.
IMHO MVP means a product that users can use, but not full-blown scalable platform.
You don't even need to write code if you use https://github.com/rethinkdb/horizon, firebase, or similar services.
For client side, you can reuse previously written code for authorization logic and just write user interface based on requirement.
40 hours are too much for such work
For my app we used Auth0 to quickly get login working before we had to present it. It took about total 5 hours to set up and test. Since then we have built our own login system and made sleek looking create/login screens; which in total took about ~15 hours.
How much would that MVP cost me?
(hint: $15 million)
The last few app requests were: Tinder for shopping, QR code generator and scanner, chatroom app etc.
They say hindsight is 20-20, this guy is going at it with a telescope..