I'm in the process of writing my first App that I will publish to the App Store (Xcode 8, iOS 10). I plan on doing most of the code writing without a developer account then buying one when I reach a point where it's required (CloudKit). As I am going out of pocket for this app, I plan to implement social networking features in a later version and I would like to consider the best options that would prevent less maintenance later on. I do not have any experience with using third party libraries and wish to keep my dependencies on third parties minimal. Storing Data My app will feature displaying user-specific data from JSON input. The size of the JSON data is roughly 1.3 MB and contains a list of locations where I will provide the closest location to the users. My initial thought was to download the data every time, but in the spirit of moderating cellular data usage, I decided to store it. Some places say that it's fine to store this data in NSUserDefaults, whereas others say use Core Data for large amounts of data. Since my JSON data is approximately 30400 lines and each object is 13 fields two of which are the coordinates of the location, I'd think the best way is to use Core Data. As new places will not be created often, I plan to download the JSON data on a monthly basis just to ensure the most up to date information is available. There will also be user-specific details some of which will update and should link to a specific time frame. It sounds like a job for a relational database but the amount of data stored will be minimal. In later versions, I plan to take this data and share it securely with a family member or family members, which is where I have the hang up with using Core Data initially. What would be the suggested way to store this data? Proper order for UI, Code, or Data I am not a designer and I'm spinning my gears trying to write the UI in a way that it works Landscape on iPad, Portrait on iPhone, and supports the iPhone 4s with the layout. I would like to get my data in working order along with the minimal code for a very alpha UI so I can test out the download, storage, and data retrieval up and running. Since the app will function differently based on the users current status, I would like to implement data retrieval at a later point in the app. There are 4 possible user states, initial setup, Before, During, and After. I will figure out how to change the initial view controller later, but for now I am only interested in retrieving the data in the Before and After states. Is it acceptable to create a basic mock-up in the Interface Builder that provides enough functionality to navigate through the app to ensure some of the features are working before I focus in on the UI? I know these are pretty basic questions but I want to prevent myself as many headaches as possible when I start working on later versions of the app. I know I wrote a book but I wanted a clear explanation of what I'm trying to do. Feel free to ask me questions if you need clarification.