Engineer, Founder, CTO, technology atheist. Award winning mobile app developer.
I've been building mobile experience with market leaders for the past 5 years, failed at building a startup.
I've been developing web and iPhone apps for a while and I usually recommend to first use the provided sharing mechanisms. They provide great flexibility and as well don't require your app to request permissions on external networks. Using the iOS SDK sharing components will also save you precious development time.
The most important part is the content that will be shared. On that side, make sure all the content has a unique URL, and can be properly consumed on all plateforms, desktop and mobile.
Pay a particular attention to the head meta tags of those pages. Open graph and Twitter tags are not optional anymore and help driver a better visibility on the networks your content is being shared onto.
Don't forget to track with an appropriate analytics tool how your users use the sharing module. Then you can evaluate the pertinence of building something custom.
I'd put more effort on pre-launch than on the launch in terms of marketing.
Find your early adopters, distribute a beta, live version of whatever it is. This period is critical to understand what people love about your product. Get some inspiration into any launch strategy. They almost all involved securing segments after segments, niche after niche, and make it repeatable before it's even opened to the general public.
The best way to amplify your launch is to relate and rely on your beta users experiences. Leverage their influence, inspire through the use cases, and how your product improved their life.
Launching is not about the promise your product is awesome, it's about delivering awesomeness.
If you need to, you can do some caching into your own database, that could help instead of accessing the foursquare API each time you need information. Depending on how you DB/application is structured, this is particularly useful if you need to run jobs or need to access the foursquare data in a static way. If you're using a NoSQL database, I encourage you to dump the full venue information in your stored document. If you're using SQL based, store it as a Blob and reference to venue_id.
Does it help?
Prototype, build, ship, rince, repeat!
Wether you go iOS, Android, Web, that doesn't really matter, you don't need a designer to build a great app. All the tools are available there.
You don't need it to be perfect, just to be built.
If you idea is awesome, people will use it. The better the app, the more they'll use it, but for now, like Eric Ries would say, get out of the building!
Go for fabric.io by Twitter, simple delivery, crash analytics etc... Way better than the iOS Beta program
The other solution is to get an iOS Developer Enterprise program (200$/y), you'll have unlimited devices.
In any cases, I recommend fabric.io for crash analytics, and high level user engagement stats
Great call. Sliced right to the point. I didnt know what I did and did not understand about sharing in apps & online and he helped by showing us how to organize our thoughts about it. This Clarity service is amazing.