I have a requirement for a basic iPhone application.
Flow of app in simplest terms is like this: -
1. Once app is started the user will be presented with a screen where they can change 3 parameters. Search radius in miles, category and sub category. Each of these will have the previous used values from when they last used the app. Each of these parameters when clicked by the user to change it will then bring up a UIPickerView. I will provide the options available for each parameter as the project proceeds.
2. After the 3 parameters have been chosen, the user then clicks a button which causes the app to send the values of the 3 parameters, plus the current geographical location in long/lat format to a HTTP interface. The interface referred to here will be written by me and will be a simple CGI script that will expect a standard HTTP request and will respond in the same manner - much like a browser submits a form and gets a response.
3. The data that is sent back to the app will then need to be displayed in a scrollable table format with each record of data being displayed on a different row, each record to be displayed in this table will have 3 bits of information to display; name, distance from current location and then a string of text no more than 100 characters long. This screen would also have a back button to go back to the previous screen to enable the user to change the 3 initial parameters.
4. If the user then clicks on one of the rows in the table, a new page will appear showing additional information about their selection; name, distance from current location, an image (called via a HTTP request) and then a full description text of no more than 1,000 characters. This screen would scroll if the content was larger then the viewable screen size. This screen would also have a back button to go back to the previous list.
It would probably be best to call the location info from CoreLocation framework in the background while the user is choosing the initial 3 parameters, this will help get a better location position as there would be more time before the app sends the data to the HTTP server.
I'm not too concerned about the GUI, just basic buttons and labels etc as I can modify these later on.
As I said, a basic app, just need to tie a few existing bits of code together - we are not looking to re-invent the wheel here.